项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST |
这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14660499.html |
团队名称 | 永远的Ace |
团队课程学习目标 | 1.掌握如何更好地组建团队,合作发挥每个人的优势; 2.通过沟通合作组建团队; |
这个作业在哪些方面帮助团队实现学习目标 | 1.通过理论学习,组建团队进行沟通合作,最大化地发挥个人优势,更好地推动团队协作; 2.建立企业微信群进行沟通,并开通团队博客; 3.发现每个人的闪光点,明确我们团队的优势。 |
团队博客链接 | https://www.cnblogs.com/yongyuandeAce/ |
任务一:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
- 对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
- 克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
复审项目 | 复审问题 | 复审结果 |
---|---|---|
概要部分 | 代码能符合需求和规格说明么? 代码设计是否有周全的考虑? 代码可读性如何? 代码容易维护么? 代码的每一行都执行并检查过了吗 |
代码未实现遗传算法调用,博文中未找到规格说明文档 较为周全 较好 维护性较好 已完成 |
设计部分 | 设计是否遵从已知的设计模式或项目中常用的模式? 有没有硬编码或字符串/数字等存在? 代码有没有依赖于某一平台,是否会影响将来的移植? 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 在本项目中是否存在类似的功能可以调用而不用全部重新实现? 有没有无用的代码可以清除? |
遵循 存在文件名字符串存在 无依赖 无 排序功能 无 |
代码规范 | 修改的部分符合代码标准和风格么? | 符合 |
具体编码 | 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? 边界条件是如何处理的? Switch语句的Default是如何处理的? 循环有没有可能出现死循环?有没有使用断言(Assert)来保证我们认为不变的条件真的满足? 对资源的利用,是在哪里申请,在哪里释放的? 有没有可能导致资源泄露?有没有可能优化? 数据结构中是否有无用的元素? |
代码中无容错处理 没有检查返回值 未发现异常 没有使用switch语句 循 没有死循环 无断言存在 读取文件资源,无释放 无 |
效能 | 代码的效能(Performance)如何?最坏的情况是怎样的?代码中,特别是循环中是否有明显可优化的部分? 对于系统和网络调用是否会超时?如何处理? |
算法未实现,无法测试效能 在散点图中没有无代码优化 |
可测试性 | 代码是否需要更新或创建新的单元测试? | 不需要 |
-
代码中的bug
1、算法求解解向量、遗传算法求解未实现
2、代码测评不支持错误提示
3、遗传算法没有保存日志文件
4、代码在提交等待的过程当中无时间显示,且由于算法设计求解数据有限
5、散点图数据区间过大时如果出现坐标较小的数据时显示的位置可能会超出坐标轴的范围
6、对于较少的数据求解时返回值为0s -
阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
A:软件使用照片
排序功能截图:
文件保存截图:
B:该系统较好的实现了任务三的各项功能,但还存在一些问题,现对该系统优缺点做出如下总结,并给出改进意见:
优点:
界面设计美观大方,具有良好的用户体验。
用户可添加自己的数据,较灵活
功能较完善
缺点:
当数据量较大时,回溯算法处理时间过长,没有任何提示会导致用户认为是否系统卡顿,此处应该给予用户提示。
测评时如果用户提交的算法发生错误,该系统没有提示错误信息。
求解时没有保存解向量。
测评模块遗传算法未实现。
软件功能改进意见:
1.在用户等待过程当中,时间过长时给出提示
2.能够显示用户算法的测评信息
3.实现对用户代码性能的测评
C:概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
用户群体特征:
从职业、学历、年龄、专业、爱好、收入等维度分析,发现使用该软件的用户群体为程序员、计算机教师、计算机专业的学生、计算机爱好者。
表面需求:
利用该系统求解D{0-1}KP问题。
潜在需求:
希望通过该系统的训练,能够提高用户解决相关问题的能力,并且熟练掌握回溯,动态规划,遗传算法等常用算法,提高过户利用计算机求解问题的能力。
经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
对于本次选用的测评平台,我们一致认为给出d,如果能够将提出的改进意见加以完成,可以考虑给出e