项目 | 内容 |
---|---|
课程班级博客链接 | https://edu.cnblogs.com/campus/xbsf/2018CST/ |
作业要求链接 | https://www.cnblogs.com/nwnu-daizh/p/14660499.html |
团队名称 | 缔造 |
团队的课程学习目标 | 1、完成团队建设;2、与团队成员相互熟悉,互相磨合; 3、成员进行明确分工,明确自己承担的角色。 |
这个作业在哪些方面帮助团队实现学习目标 | 1.通过阅读《构建之法》让我了解了什么是团队,团队应该如何进行开展工作 2.通过阅读完成质量较高的项目小组的代码,了解其思想,进行代码复审,进而提高自身能力 |
团队博客链接 | https://www.cnblogs.com/dizao/ |
(1)实验三作业互评。
(2)组建软件项目研发团队。
二、实验内容与步骤
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
评论博客链接:https://www.cnblogs.com/xiaobeike/p/14630491.html
评论截图:
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
1.克隆到本地机:
、
2.运行代码(部分截图):
1
2
3
4
3.运行全部适合,无法找出bug。
4.核查表复审项目代码记录:
说明 内容
概要部分
代码符合需求和规格说明么? 基本符合,但部分功能完成度较差。
代码设计是否考虑周全? 考虑周全
代码可读性如何? 采用模块化编程,代码可读性好。
代码容易维护么? 对于不同的功能模块,分别存储在不同的类中,维护较为容易。
代码的每一行都执行并检查过了吗? 是的
设计规范部分
设计是否遵从已知的设计模式或项目中常用的模式? 采用了抽象工厂设计模式(对象创建型模式)
有没有硬编码或字符串/数字等存在? 没有,采用的都是符合命名规范的变量名
代码有没有依赖于某一平台,是否会影响将来的移植? 没有
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 能调用
有没有无用的代码可以清除? 没有
代码规范部分
修改的部分符合代码标准和风格吗? 符合规范
具体代码部分
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 没有处理异常值
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度是以0开始计数还是以1开始计数? 没有
边界条件是如何处理的? switch语句的default分支是如何处理的?循环有没有可能出现死循环? 采用哨兵处理边界;没有使用switch语句;循环不会出现死循环。
有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? 程序较为简单,所以没有使用断言。
数据结构中有没有用不到的元素? 有
效能
代码的效能(Performance)如何?最坏的情况是怎样的? 运行效率较低。
代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中 string的操作是否能用StringBuilder来优化)? 无
对于系统和网络的调用是否会超时?如何处理? 没有对网络的调用
可读性
代码可读性如何?有没有足够的注释? 关键语句都有注释,可读性高
可测试性
代码是否需要更新或创建新的单元测试? 不需要
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
第一步:链接数据库,
第二部:启动程序,
第三步:上传数据,
第四步:使用算法解决问题。
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
每一个功能软都解决了;数据量上,可以处理大数据;界面美观实用;功能齐全;该要的都有了。
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
用户群特征 | |
---|---|
职业 | 学生 |
学历 | 本科 |
年龄 | 18-25 |
专业 | 计算机/数学专业 |
爱好 | 编程/数学计算 |
收入 | 0 |
表面需求 | 获取一些算法的代码进行研究 |
潜在需求 | 用编程语言实现动态规划等算法,研究其代码,掌握许多算法,提升自己的编程能力。 |
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
综上所述给本博客 e。
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
暂时无修改的地方。
分类: 软件工程课程
实验心得:
本次作业虽然是一次团队作业,但任务1是与结对小组共同合作完成的,任务2是与小组成员共同讨论共同完成的。在结对中,完成实验的效率是是1+1>2,在组建小组后,发现大家会给不同的建议,比如在团队特色部分,每个人都有自己不同的想法,我们先是每个人给出自己的想法,再结合每个人的想法最后获得的是我们团队的特色。虽然人多容易达到意见不统一,但团结起来力量大,众人拾柴火焰高,相信在未来我们团队会做的更好。