201871010128-杨丽霞 实验四 团队作业1:软件研发团队组建(个人博客)
| 项目 | 内容 | 
|---|---|
| 课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST | 
| 这个作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14660499.html | 
| 团队名称 | The Superego | 
| 团队的学习目标 | (1)实验三作业互评,撰写个人博客 (2)组建软件项目研发团队,确定团队名称、口号,了解团队成员个人特性 (3)确定项目开发流程,明确成员分工 | 
| 这个作业在哪些方面帮助团队实现学习目标 | (1)通过互评优秀作业,让我了解到自身与他人的差异,同时在撰写博客和编程方面受到一定启发 (2)通过读《现代软件工程—构建之法》了解了项目研发团队组建的关键要素 (3)克隆任务3项目源码可以让我更好地掌握结对编程与借鉴别人的编程思路 (4) 找项目代码的bug,让我体会到代码复审环节的重要性 | 
| 团队博客链接 | https://www.cnblogs.com/qwe0420/ | 
任务内容:
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
被评论的博客连接:https://www.cnblogs.com/xiaobeike/p/14630491.html
被评论作业的Github项目仓库链接:https://github.com/beike666/bag_client

(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
| 复审原则 | 内容 | 
|---|---|
| 代码符合需求和规格说明么? | 符合 | 
| 缺少相应的规范说明,参照《码出高效—阿里巴巴开发手册》的代码规范来看,代码是符合规范说明的 | 是 | 
| 代码设计是否考虑周全? | 是 | 
| 代码可读性如何? | 良好 | 
| 代码容易维护么? | 比较容易维护 | 
| 代码的每一行都执行并检查过了吗? | 是 | 
| 设计是否遵从已知的设计模式或项目中常用的模式? | 遵从 | 
| 有没有硬编码或字符串/数字等存在? | 没有 | 
| 代码有没有依赖于某一平台,是否会影响将来的移植? | 不会影响移植,任何平台都可以 | 
| 开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? | 可以用 | 
| 存在,有些代码是可以调用的 | 存在 | 
| 有没有无用的代码可以清除? | 没有 | 
| 代码规范部分 | 符合代码规范 | 
| 修改的部分符合代码标准和风格吗? | 符合 | 
| 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 使用回溯求解大数据时会出现内存溢出的异常 | 
| 参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度是以0开始计数还是以1开始计数? | 没有 | 
| 边界条件是如何处理的? switch语句的default分支是如何处理的?循环有没有可能出现死循环? | 没有出现死循环 | 
| 有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? | 没有 | 
| 数据结构中有没有用不到的元素? | 没有 | 
| 代码的效能(Performance)如何?最坏的情况是怎样的? | 达到了具体任务的要求 | 
| 代码中,特别是循环中是否有明显可优化的部分(string的操作是否能用StringBuilder来优化)? | 没有 | 
| 对于系统和网络的调用是否会超时?如何处理? | 不会 | 
| 可读性 | 可读性良好 | 
| 代码可读性如何?有没有足够的注释? | 可以顺利阅读 | 
| 有足够的注释 | 有注释,可以读懂 | 
| 可测试性 | 测试性良好 | 
| 代码是否需要更新或创建新的单元测试? | 可以继续开发 | 

克隆后运行截图:

该项目不足之处:
1.使用回溯求解大数据时会出现内存溢出的异常
2.遗传算法没有保存日志文件
3.散点图数据区间过大则会超出坐标轴范围
4.在动态规划和回溯算法中,没有给出解向量
5.SoringBoot 测试FrameworkApplicationTests无法启用
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
1.数据库存储

2.数据信息

3.删除后的数据表

4.回溯算法求最优解

5.动态规划算法求最优解

B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
任务3要求的功能软件(数据写入数据库、绘制散点图、对数据项集排序、求解0/1背包问题最优解、将求解结果写入文件)都解决了
优点:设计的软件界面清晰美观,可读性强,存储最优解时有提示框,使用效果良好
缺点:散点图数据区间过大则会超出坐标轴范围,代码文件类型单一,算法求解没有展示解向量
改进意见:界面布局不是特别美观,可以考虑重新设计整体布局,增强用户感体验感,设计算法解决使用回溯法求解大数据时会出现内存溢出异常问题
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
| 职业 | 学生以及软件开发人员 | 
|---|---|
| 学历 | 本科及以上 | 
| 年龄 | 18到40左右 | 
| 专业 | 计算机专业 | 
| 爱好 | 爱好代码编程方面,以及喜欢偏向于计算机方面的东西 | 
| 收入 | 6000以上 | 
| 表面需求 | 满足用户需求,设计算法实现基本功能要求 | 
| 潜在需求 | 软件项目开发 | 
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
d)好,不错,通过对该组同学作业的阅读以及对其软件的使用,体会到该软件使用体验良好。
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号