• 作业三——结对编程


    成员:031302337 her blog   031302340 my blog

    一、功能分析

    就这个步骤,张老师已经在随笔当中描述得很清晰了,即两步:

    1. 将初始排课表导入系统数据库;
    2. 将系统数据库的排课数据 显示在web或APP的界面中。

    二、实现思路

    我们小组选择的是APP,具体的步骤如下:

    • step1.解析excel表格

    解析excel参考了网上的代码,链接如下:reference。下载了jxl.jar,并导入,代码部分只修改了文件的存储路径,同时添加了一个字符串show来,方便在logcat中查看到解析的效果。如下是解析后的logcat以及手机APP中TextView所显示的部分。

    --------------------------------------------------------分界线--------------------------------------------------------------------

    • step2.使用PowerDesigner设计数据库,直接生成s3db格式的SQLite数据库

    这次我们设计的数据库比较简单,仅包含了开课计划书这一张表格,具体步骤如下:

    1. 建立physical data model,由于我们选用SQLite数据库,所以我们的DBMS要选用ODBC3.0。

    2. 拉出表格

    3. 设置表格属性

    4. 生成表格

    5. 生成数据库,此处要生成SQLite数据库,需要先安装驱动,再按下图所示选择

    6. 生成Execute SQL Query

    7. 直接从网上下载了SQLite Administrator,运行上述SQL语言,即可生成数据库

    • step3.使用SQLite数据库,将解析完成的表格内容插入数据库

    这个部分的内容我们没有完成,此前对Android一点学习都没有,直接看了几个关于SQLite的视频,以及参考了相关函数。在Android studio运行后,只显示了部分,中文部分也出现了乱码。

    • step4.将excel表格和已建立完成的数据库导入手机,查询数据库中的记录并显示在手机APP界面

    由于step3的搁置,step4也无法读取显示数据库的内容,我们单纯完成了界面的布局,如下:

    三、PSP

    340的PSP

    PSP2.1 Personal Software Process Stages Time
    Planning 计划 2
    · Estimate · 估计这个任务需要多少时间 2
    Development 开发 90
    · Analysis · 需求分析 (包括学习新技术) 30
    · Design Spec · 生成设计文档 10
    · Design Review · 设计复审 (和队友审核设计文档) 2
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1
    · Design · 具体设计 5
    · Coding · 具体编码 30
    · Code Review · 代码复审 5
    · Test · 测试(自我测试,修改代码,提交修改) 7
    Reporting 报告 8
    Test Report · 测试报告 1
    Size Measurement · 计算工作量 2
    Postmortem 事后总结 2
    Process Improvement Plan 并提出过程改进计划 3
    合计 100

    337的PSP

    PSP2.1 Personal Software Process Stages Time
    Planning 计划 2
    · Estimate · 估计这个任务需要多少时间 2
    Development 开发 90
    · Analysis · 需求分析 (包括学习新技术) 32
    · Design Spec · 生成设计文档 10
    · Design Review · 设计复审 (和队友审核设计文档) 2
    · Coding Standard · 代码规范 (为目前的开发制定合适的规范) 2
    · Design · 具体设计 4
    · Coding · 具体编码 25
    · Code Review · 代码复审 7
    · Test · 测试(自我测试,修改代码,提交修改) 8
    Reporting 报告 8
    Test Report · 测试报告 1
    Size Measurement · 计算工作量 2
    Postmortem 事后总结 2
    Process Improvement Plan 并提出过程改进计划 3
    合计 100

    四、Github源码链接

    our github: click here

    五、Github的commit日志

    分工:这次的任务,队友负责了第一部分,即将表格导入数据库;我负责第二部分,将数据库中的数据显示在页面上。在解析excel的部分我们共同参与查找代码,读代码和修改代码。除去inital的第1次,我们一共提交了3次,分别是第一版解析excel,第二版连接数据库和第三版页面布局。commit的日志如下:

    六、结对照片

    下图为共同学习解析excel代码:

    下图为讨论页面布局的代码:

    七、结对项目总结及体会

    结对项目的两次作业我们都写了总结,先附上上一次的心得地址:mine;hers

    me:340 my blog

    1. 总的来说,这次的结对过程是一个艰苦的过程,因为我和队友都不是代码能力很强的人,也都是刚刚开始接触安卓,所以,实现起这个功能来显得非常吃力。但是,在完成结对之后,感觉自己还是有一些小小的收获,虽然做出来的东西并不完整,但是我们坚持了下来,并没有在其他人一直劝说web简单的时候放弃。至少在我们坚持的过程,知道了怎么解析表格,怎么实现一个简单的界面。而且,在这个过程也体会到了想法要和队友一致,如果出现分歧,很难将项目做好。
    2. 使用powerdesigner设计数据库的过程可以说占了我们有1/5的时间,因为在最开始时候不太清楚该使用哪些驱动帮助实现数据库的设计,明明是按照教程安装的驱动却实现不了,最后翻了很多教程,觉得应该是驱动版本问题才将问题解决。每每接触一个新的软件学会使用它总会有很多教程上看不到的出错点。但是当问题解决后,在回头看那些教程就会觉得熟悉明了。这大概也是软工时间带给我们的额外的收获。
    3. 编程的这一块,我是做UI的主程序员,因为要去学习新的东西,在这一块花了很多时间。一开始并不知道从哪里下手,问其他同学之后,看了安卓里的几个组件:textview,button,edit等。但是并不知道怎么下手,还好被问的同学比较耐心的给我解答。最后才将自己的界面做出来。这个过程其实也是自己去学,去问的一个过程,自己单纯的看书会有很多细节的地方不知道,经过询问才会注意到,所以在学习的过程中,要大胆的去问。

    partner:337 Her blog
    在这次结对编程中,每天都有一些体会和心得,有好的情绪和自我激励,当然也有无数负能量和无力感,总结起来如下:

    • 任务永远比你想象的难:其实比自己想象的难最主要的原因还是技能有限。小组两个人在Android开发这块都几乎为零,每走一步都遇到了很多问题,这种时候常常觉得很无力。当然也庆幸有许多有经验的同学帮助,希望之后我们两人都能从基础开始,学习探索,不被这次的挫败感打倒。
    • 时间永远不够用:当代人的共性——拖延症。但是在软工实践这件事上,我想拖延是最致命的。这次的软工占用了很大一部分时间。一方面基础薄弱,另一方面效率不够高。希望在接下来的组队编程中着重提高效率。
    • 合理规划时间:这次软工被大家吐槽最多的就是占用了大家的大部分时间。的确,大家愿意为软工花时间,这无可厚非。因为我们可以马上看到反馈,获得成就感。但我认为这并不科学。就我自己而言,也因为这次软工作业,搁置了其他科目的学习。此后,我会科学规划自己的时间,可以有偏重,但不选择牺牲。
  • 相关阅读:
    《MySQL入门很简单》练习7.4
    《MySQL入门很简单》练习6.9
    《MySQL入门很简单》练习6.6
    《MySQL入门很简单》练习6.5
    "mysql"不是内部或外部命令,也不是可运行的程序或批处理文件
    TControl与Windows消息
    TObject与消息分发
    长串
    使用TSplitter控件调整其他控件大小简便方法
    Cocos2d-x缓存机制(一)
  • 原文地址:https://www.cnblogs.com/Arbor/p/4850293.html
Copyright © 2020-2023  润新知