201871030139-于泽浩 实验四 团队作业1:软件研发团队组建
201871030139-于泽浩 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 2018级卓越班 |
这个作业要求链接 | 实验四 软件研发团队组建 |
团队名称 | 玛卡巴卡小分队 |
团队的课程学习目标 | (1)实验三作业互评,学习对方的优点,反思自己有没有对方所犯的缺点。 (2)组建软件项目研发团队,合理分工为团队项目研发做准备。 |
这个作业在哪些方面帮助团队实现学习目标 | (1)作业互评,不仅学习了不同于自己的作业的编码工具和技术也通过对比发现并反思了自己作业的优缺点。 (2)组建软件研发团队的过程,组建过程是寻找小组合作伙伴的过程,此过程既了解了其他人所擅长的技术,也增强了团队融合和人际交流。 |
团队博客链接 | 玛卡巴卡小分队——博客链接 |
任务1:小组作业互评,完成以下任务,具体要求如下:
-
博文作业评论
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
-
克隆源码、运行、记录
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
-
代码bug
-
bug_1
处理数据前必须先选中,否则点击按钮就会报错;
-
bug_2
服务器出现崩溃现象;
-
bug_3
运行数据量过大时,出现未响应状态;
-
bug_4
服务器端可以看到客户端用户的密码;
-
bug_5
软件没有做多线程处理;
-
-
复审项目代码核查表
----------概要部分---------- 代码是否符合需求和规范说明 符合规范 代码设计是否考虑周全 考虑周全 代码可读性如何 清晰易读 代码容易维护吗 容易维护 代码的每一行都执行并检查过了吗 否 ----------设计规范部分---------- 设计是否遵循从已知的设计模式或项目中常用的设计模式 是 有没有硬编码或字符串/数字等存在 有 代码是否依赖于某一平台,是否会影响将来的移植 代码由C#编写,可能会影响移植 有没有无用的代码可以清除 有 ----------代码规范部分---------- 修改的部分符合代码标准和风格么 符合 ----------具体代码部分---------- 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 有处理 参数传递有无错误,字符串的长度是字节的长度还是字符的长度,是从0开始计数还是从1开始计数 无错误,字符的长度,从0开始计数 边界条件是如何处理的?switch语句和default分支是如何处理的?循环有没有可能出现死循环? 通过前提分析推导边界条件 有没有使用断言(Assert)来保证我们认为不变的条件真的得到满足? 否 对资源的利用,是在哪里申请,在哪里释放的?有无可能存在资源泄露?有没有优化的空间? 自动申请释放,不会存在资源泄露,有优化的空间 数据结构中有没有用不到的元素? 有 ----------效能---------- 代码的效能(Performance)如何?最坏的情况是怎么样的? 效能一般,数据量过大可能会需要很长的运行时间而得不到结果 代码中,特别是循环中是否有明显可优化的部分? 无 对于系统和网络的调用是否会超时?如何处理? 存在超时,需要重新调用 代码可读性如何?有没有足够的注释? 结构清晰、注释很少 ----------可测试性---------- 代码是否需要更新或创建新的单元测试 否
-
-
阅读《现代软件工程—构建之法》第12章内容分析以下任务
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
-
在使用软件前需要先安装net5(如下如所示):
-
通过参考小组博文内容,登录注册,使用软件,根据实验内容要求完成实验二任务要求如下:
(1)测试样例
(2)存入文件
(3)测试散点图
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
- 功能:任务3要求功能都已解决;
- 数据量:软件对于数据量很大时运行会产生程序崩溃事件;
- 界面:软件界面虽然简单易理解,但颜色过于单一,不是很美观;
- 功能:软件功能齐全,可以很好的完成实验要求;
- 功能改进意见:首先,虽然软件功能齐全但是所有功能在一个界面上显的比较多比较乱,建议可以将功能可以分在像不同的下拉列表中;其次,和其他很多小组一样,其散点图显示时会重新打开一个窗口,希望可以在本页面上显示。
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
- 职业:在校大学生、公司实习生、编程爱好者等;
- 学历:本科以上;
- 年龄:18岁~30岁;
- 专业:计算机科学与技术、软件工程、数学与应用数学等;
- 爱好:计算机编程、算法设计、数据分析;
- 收入:8000+;
- 表面需求:实现检测D{0-1}KP 实例数据集算法的检测,分析研究相关算法;
- 潜在需求:通过研究本次算法,复习大一至今所学内容,并重点是学会学习新知识,提高自我学习能力,如:遗产算法的学习。
-
-
经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
结论:e) 非常推荐
理由:通过综合分析,可以知道该作业的实现需要强大的编码能力,由此可见此团队两个人的技术实力;而分析测试之后发现他们写的测试平台看似简单却功能齐全、条例清晰、操作便捷、简单大方等等。他们的很多优点都是值得我们去学习和思考的,所以在通过结合自身实力后我觉得他们的作业是值得非常推荐的,是我们学习的榜样!
-
结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
(1)改进后的仓库链接:https://github.com/xwt721/SoftwareProject。
(2)美化界面。
(3)将散点图功能写入软件。
任务2:团队组建
见团队博客:玛卡巴卡小分队
- 附图如下:
任务3:完成《实验四 团队作业1:软件研发团队组建》博文作业
见团队博客:玛卡巴卡小分队
- 附图如下:
总结
- “相互检查、相互学习、相互促进”这是本次实验最深的感悟。随着作业要求的不断变化,实验由一个人变成了两个人如今到了四个人,团队在不断扩大。而学习的过程也在不断的升级,我们在这个过程中反复研究着自己和他人的实验,学习着他人的优点,反思着自己的缺点,不断共同进步。