201971010106-陈玉英 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越工程师班 |
这个作业链接 | 实验四 团队作业1:软件研发团队组建 |
团队名称 | 繁星 |
团队的课程学习目标 | (1)实验三作业互评;(2)组建软件项目研发团队。 |
这个作业在哪些方面帮助团队实现学习目标 | (1)通过浏览其他博主的博客,吸取博主的优秀之处;(2)继续团队的磨合,增加了团队合作能力。 |
团队博客链接 | 繁星 |
任务一:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务
项目 | 内容 |
---|---|
评论作业博客链接 | 20197101010125-李涛 |
评论作业Github仓库链接 | 仓库链接 |
1.对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。
2.克隆任务3项目源码到本地机器,阅读并运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
(1)运行结果如下:
(2)代码核查表:
概要部分 | |
代码符合需求和规格说明么? | 代码基本符合需求和规格说明 |
代码设计是否考虑周全? | 代码设计有周全的考虑 |
代码可读性如何? | 代码可读性还不错 |
代码容易维护么? | 代码容易维护 |
代码的每一行都执行并检查过了吗? | 代码的每一行都执行并检查过了 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 代码遵从已知的设计模式或项目中常用的模式 |
代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)? | 代码没有依赖于某一平台,不会影响将来的移植 |
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 在本项目中是否存在类似的功能可以调用? |
代码基本能用已有的Library/SDK/Framework中的功能实现 |
有没有无用的代码可以清除? | 没有无用的代码可以清除 |
修改的部分代码符合标准和风格吗? | 符合标准和风格 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 对所出现的错误进行了修改,对于调用的外部函数检查了返回值并且处理了异常 |
参数传递有无错误,字符串的长度是字节还是字符的长度? 是以0开始计数还是以1开始计数? |
参数传递无误,字符串的长度是字节的长度,是以0开始计数的 |
边界条件是如何处理的?switch语句的default分支是如何处理的?循环有没有可能出现死循环? | switch语句的default分支返回false,没有出现死循环。 |
有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足? | 无。 |
对资源的利用是在哪里申请的, 在哪里释放的?有没有可能导致资源泄露?有没有优化的空间? | 都在内存中完成,很有可能泄露 |
数据结构中有没有用不到的元素? | 无,整体比较简洁 |
效能 | |
代码的效能(Performance)如何?最坏的情况如何? | 达到了具体任务的要求。 |
代码中,特别是循环中是否有明显可优化的部分? | 有 |
对于系统和网络调用是否会超时?如何处理? | 未出现超时现象 |
可读性 | |
代码可读性如何?有没有足够的注释? | 可读性较强,有足够的注释 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 可以接着开发,增加更多的功能 |
3.阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
- A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
软件的使用过程:运行软件后,进入首页面,首界面有两个功能,一个是算法选择,里面包含四种算法的选择,另一个是其他,里面包含绘制散点图和排序,这两个功能选择是分开的。当选择算法功能,将对读入的数据进行计算,然后将最优解和时间保存在结果部分;如果选择其他里面的绘制散点图,将得到一张以价值重量为横轴、价值为纵轴的数据散点图。
(1)首页面:
(2)功能界面:
1) 以beibao0.in数据作为测试,采用动态规划算法,运行结果如下:
2)以价值重量为横轴、价值为纵轴的数据散点图如下:
- B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
项目 内容 任务3要求的功能软件解决了吗? 软件产品基本解决了功能需求,但是无法承受过大的数据量。 优点 每个功能都很详细的标明,用户需要什么功能可以选择。 缺点 同一类功能零散的放在页面上,导致页面不整洁,不美观,并且页面之间的跳转并不流畅。 改进方法 可以为按钮增添监听事件onclick,以实现多个页面之间的跳转。 - C. 从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
4.经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:
a) 非常不推荐
b) 不推荐
c) 一般
d) 好,不错 √
e) 非常推荐
5.结合(1)—(3)的评论体会,迭代改进本小组实验三的任务3。
1)仓库链接:Github的仓库
2)页面跳转。
任务二:团队组建
团队博客已提交博客园,请点击下方:
团队博客
任务三:完成《实验四 团队作业1:软件研发团队组建》博文作业
-
完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间
任务内容 计划完成时间(min) 实际完成时间(min) 任务 60 60 任务分配 20 15 团队创建 30 35 团队信息了解 60 60 构建之法 120 100 任务1 80 90 任务2 60 80 任务3 60 50 -
完成本次作业的感受和体会:
此次项目,再次体验到了团队的力量,分工合作让项目进展时间缩短,团队交流让思维广阔,通过查看团队成员的软件工程项目以后明显发现了我的不足,而且在比较过程中也发现了我没有想到的点,这样不仅可以及时互相帮助纠正错误,还可以在软件开发过程中尽量避免这种错误再次出现,保证项目的质量。