201971010237-尚洁 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2019级卓越工程师班 |
这个作业要求链接 | 实验四 团队作业1:软件研发团队组建 |
团队名称 | 奋起上进组 |
团队的课程学习目标 | 1、组件软件项目研发团队 2、 明确团队的学习任务 3、团队成员共同协作,尽自己所能完成任务 |
这个作业在哪些方面帮助我实现学习目标 | (1)促进团队进步,团队成员间互相激励 (2)增加团队凝聚力 (3)分工协作,尽可能发挥团队优势,提高任务完成度 |
团队博客链接 | https://www.cnblogs.com/rjgc79513/p/16128594.html |
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务
- 对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
被评论作业的博客链接:201971010259-张圆圆 实验三 结对项目—《{0-1}KP 实例数据集算法实验平台》项目报告- 博文结构:
博主的博文结构清晰,排版美观,善用思维导图,内容撰写全面。 - 博文内容:
本篇博客内容丰富,有具体的设计,以及编码、测试、修改代码(完善功能)、提交代码、提交博文、事后总结等过程,内容非常充实。 - 博文结构与PSP中“任务内容”列的关系:
博文结构与PSP中“任务内容”列基本对应。博主在博文中增加了目录,用来对博文进行一定的补充。这样安排个人觉得非常好,使得博文重点突出,其次项目的需求分析和功能分析非常扎实。 - PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究:
分析PSP可以发现博主的“计划共完成需要的时间”与“实际完成需要的时间”两列数据差距不太大,主要差距在编码的过程中。大概是博主的开发经验比较充足,前期准备工作基础扎实,准备细心,实现功能较多,所以编码时间较久。 - 这个结对小组在进度计划方面可以提高的具体建议:
在与队友协同编码时,可以多交流,双方达成一致,了解对方思想后,编码效率可能会更高,双方给对方能够提供的帮助也更多点。
- 博文结构:
- 克隆任务3项目源码到本地机器,阅读并运行代码,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
-
克隆任务3项目源码到本地机器阅读并运行:
被评论作业的Github项目仓库链接:仓库
-
核查表复审项目代码并记录
-
项目 | 内容 |
---|---|
概要部分 | |
代码符合需求和规格说明么? | 是 |
代码设计是否考虑周全? | 是 |
代码可读性如何? | 较好 |
代码容易维护么? | 易维护 |
代码的每一行都执行并检查过了吗? | 是 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 是 |
有没有硬编码或字符串/数字等存在? | 有 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 对移植影响较小 |
开发者新写的代码是否用已有的Library/SDK/Framework中的功能实现? | 是 |
在本项目中是否存在类似的功能可以通过调用而不用全部重新实现? | 是 |
有没有无用的代码可以清除? | 无 |
代码规范部分 | |
修改的部分符合代码标准和风格么? | 符合 |
具体代码部分 | |
参数传递有无错误,字符串的长度是字节的长度还是字符的长度,是从0开始计数还是从1开始计数 | 无错误;字符的长度;从0开始 |
边界条件是如何处理的?switch语句和default分支是如何处理的?循环有没有可能出现死循环? | 前提分析推导边界条件;不同分支具有不同的界面;无 |
有没有使用断言来保证我们认为不变的条件真的得到满足? | 没有 |
对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄露?有没有优化的空间? | 有;不存在;有 |
数据结构中有没有用不到的元素? | 无 |
效能 | |
代码的效能如何?最坏的情况是怎么样的? | 效能较好 |
代码中,特别是循环中是否有明显可优化的部分? | 有 |
对于系统和网络的调用是否会超时?如何处理? | 否 |
可读性 | |
代码可读性如何?有没有足够的注释? | 可读性较好;有足够注释 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 是 |
-
阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
点击运行,进行注册并登录
点击右上角小图标可选择背包数据:
选择数据后,可选择功能:使用回溯算法、贪心算法、动态规划法和遗传算法进行计算背包最大价值并显示运行时间,也可选择绘制图形和计算价值重量比。
如使用回溯算法结果如下:
散点图绘制:
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
任务3要求的功能软件解决了;
优点:(1)数据量:可以处理较大范围的数据
(2)界面:简洁清晰
(3)功能:实现的很全面
缺点:界面上选择背包数据的小图标未作说明,第一次使用时难以找到选择背包数据的功能按钮。C. 从学历、年龄、专业、爱好、收入等方面概括实验三任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求都是什么?
(1)职业:在校大学生、公司实习生、编程爱好者等;
(2)学历:本科及以上;
(3)年龄:18-30岁;
(4)专业:计算机科学与技术、软件工程、数学与应用数学等;
(5)爱好:计算机编程、算法设计、数据分析;
(6)收入:8000+;
(7)表面需求:实现检测D{0-1}KP 实例数据集算法的检测,分析研究相关算法;
(8)潜在需求:通过研究本次算法,复习大一至今所学内容,并重点是学会学习新知识,提高自我学习能力,如:遗产算法的学习。 -
经过(1)-(3)的工作,你们一定有充分的理由给评价作业选择一个结论:a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
经过上述的测试与分析,该小组在博文的撰写与软件的实现上体现出了较高的完成度,令人佩服,值得我们学习。
故给出:d) 好,不错 的结论 -
结合(1)—(3)的评论体会,迭代改进本小组实验三的任务3。
修改了界面:
Github提交如下:
任务2:团队组建
任务已全部完成,团队博文
任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业
- 完成《实验四 团队作业1:软件研发团队组建》各项任务实际花费的时间
任务内容 | 计划共完成的时间(min) | 实际完成时间(min) |
---|---|---|
团队初步组建 | 20 | 15 |
成员了解及确认组长 | 20 | 15 |
团队建成 | 30 | 20 |
实验流程规划 | 40 | 50 |
创建企业微信群 | 6 | 3 |
开通团队博客 | 60 | 80 |
报告撰写 | 300 | 290 |
博客互评 | 10 | 20 |
运行结对方实验三项目 | 90 | 100 |
阅读《构建之法》 | 70 | 60 |
博客园内容分工 | 30 | 40 |
博客园编写 | 60 | 65 |
反思及总结 | 20 | 15 |
- 总结
在本次作业中这次作业是在上次的作业基础上完成的,选择了一组比较好的组的代码去运行,发现她们做的程序无论是页面美化方面还是功能选择方面都非常优秀,值得我去学习。在编程中,与队友相互讨论,可以更快地解决问题,达到能力上的互补。