201871010107-公海瑜 实验四 团队作业1:软件研发团队组建
项目 | 内容 |
---|---|
课程班级博客链接 | 班级博客 |
这个作业要求链接 | 作业要求 |
团队名称 | The Superego |
团队的课程学习目标 | 1.实验三作业互评。 2.组建软件项目研发团队。 3.阅读《现代软件工程—构建之法》,组建团队并熟悉软件开发流程 |
这个作业在哪些方面帮助团队实现学习目标 | 1.通过阅读《现代软件工程—构建之法》内容,学会了如何组建团队并进行软件项目开发。 2.通过克隆阅读完成质量较高的小组项目源码到本地,发现自己的不足,对对方团队的博文和核心思想加以学习,提高自己,完成互评。 |
团队博客链接链接 | 团队博客 |
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
被评论作业博客链接
评论内容截图:
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
克隆对方任务源码到本地机器,阅读并运行代码 截图:
-
我发现的项目代码的bug:
- 自己运行项目代码,有很多错误,需要改,没有编写者的帮助用户很难成功运行。
- 没有实现遗传算法的算法求解。
- 界面没有固定。在不同浏览器下,界面不同。
- 项目代码中的代码不全,项目代码缺少数据库的数据部分,不能正常运行。
- 用户体验感不好。
- 自己运行项目代码,有很多错误,需要改,没有编写者的帮助用户很难成功运行。
-
代码复审的核查表:
复审内容 | 复审结果 |
---|---|
概要部分 | |
代码能符合需求和规格说明么? | 符合 |
代码设计是否有周全的考虑? | 是 |
代码可读性如何? | 可读性较好 |
代码容易维护么? | 容易维护 |
代码的每一行都执行并检查过了吗? | 部分代码执行有问题 |
设计规范部分 | |
设计是否遵从已知的设计模式或项目中常用的模式? | 是 |
有没有硬编码或字符串/数字等存在? | 没有 |
代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)? | 无 |
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 没有 |
有没有无用的代码可以清除? | 没有 |
代码规范部分 | |
修改的部分符合代码标准和风格? | 符合 |
具体代码部分 | |
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? | 没有 |
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? | 没有 |
边界条件是如何处理的?Switch语句的Default是如何处理的?循环有没有可能出现死循环? | 未使用switch语句,循环不会出现死循环 |
有没有使用断言(Assert)来保证我们认为不变的条件真的满足? | 未使用 |
对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露(内存、文件、各种GUI资源、数据库访问的连接,等等)?有没有可能优化? | 有可能导致泄露 |
数据结构中是否有无用的元素? | 有 |
效能 | |
代码的效能(Performance)如何?最坏的情况是怎样的? | 运行效率不高 |
代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中 string 的操作是否能用StringBuilder 来优化)? | 有 |
对于系统和网络调用是否会超时?如何处理? | 没有对网络的调用 |
可读性 | |
代码可读性如何?有没有足够的注释? | 可读性可以,关键语句都有注释 |
可测试性 | |
代码是否需要更新或创建新的单元测试? | 不需要 |
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
根据博主博客内容及代码运行后,认为此软件完成度较高,功能较完善。但是用户使用感体验较差,希望进一步改善,优化用户体验,可以在团队内部分别扮演开发者和用户,互相提意见进行改善。
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
类别 | 用户特征 |
---|---|
职业 | 学生 |
学历 | 本科 |
年龄 | 18-23岁 |
爱好 | 阅读、游戏 |
收入 | 未知 |
专业 | 各种 |
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
d)好,不错
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
实验总结:
通过这次实验,阅读了《现代软件工程—构建之法》,对软件开发流程及团队建设有了一定的了解并进行了相关实践。通过评论他人博客作业,阅读他们的博客及代码,对自己有了一个很好的提高。通过阅读别人的博文,可以发现自己的不足并及时改正,也能发现对方存在的问题,对于他人的内容,我们可以取其精华,去其糟粕,充分吸收别人优秀的知识,这是一个很好的学习和自省的过程。此外,对于建设团队,通过阅读文章,让我了解了什么是团队,在团队建设过程中,要综合考虑各方的水平,有效地分布任务,才能达到更高的效率。在团队中,我需要更好地学习,端正态度,做到不拖累别人,也能完成自己的任务。