项目 | 内容 |
---|---|
课程班级博客链接 | 2018计师1班(师范班) |
这个作业要求链接 | 作业要求 |
团队名称 | 鲤鱼跃龙门 |
团队的课程学习目标 | 1.建立团队目标,培养团队意识 2.在团队队长的组织下尽可能将团队每位组员的能力最大化 3.各组员在交流过程中尽可能地提出最优方案 |
这个作业在哪些方面帮助团队实现学习目标 | 1.各组员之间相互配合提高了项目完成效率 2.组员之间的交流为项目的实现提供了更多的可能性 |
团队博客链接 | 鲤鱼跃龙门 |
-
一、实验目的与要求
- (1)实验三作业互评。
- (2)组建软件项目研发团队。
-
二、实验内容与步骤
-
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
-
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
- 评论博客链接
GitHub项目评论链接
评论内容为:
- 评论博客链接
-
- (2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
说明 | 内 容 |
---|---|
1.概要说明 | 代码能符合需求和规格说明么? |
代码设计是否有周全的考虑? | 代码设计很周全 |
代码可读性如何? | 可读性较好 |
代码容易维护么? | |
代码的每一行都执行并检查过了吗? | 已检查 |
2.设计规范部分 | 设计是否遵从已知的设计模式或项目中常用的模式? |
有没有硬编码或字符串/数字等存在? | 没有 |
代码有没有依赖于某一平台,是否会影响将来的移植? | 代码在pycharm上运行,但不依赖平台 |
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现? | 存在类似功能可以调用 |
有没有无用的代码可以清除? | 没有 |
3.代码规范部分 | 修改的部分符合代码标准和风格么? |
4.具体代码部分 | 有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? |
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数? | 无 |
边界条件是如何处理的?Switch语句的Default是如何处理的?循环有没有可能出现死循环? | 未发现死循环 |
有没有使用断言(Assert)来保证我们认为不变的条件真的满足? | 没有 |
对资源的利用,是在哪里申请,在哪里释放的?有没有可能导致资源泄露?有没有可能优化? | 没有资源泄露 |
数据结构中是否有无用的元素? | 没有 |
5.效能 | 代码的效能(Performance)如何?最坏的情况是怎样的? |
代码中,特别是循环中是否有明显可优化的部分? | 没有 |
对于系统和网络调用是否会超时?如何处理? | 不会超时 |
6.可读性 | 代码可读性如何? |
有没有足够的注释? | 有充足的注释 |
7.可测试性 | 可测试 |
-
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
- A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
-
1.交互界面
-
2、散点图
-
3、动态规划
-
4、回溯法
-
5、遗传算法
-
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
- 软件功能:从上述测试过程中可以看出来这个小组在项目设计中完成了人机交互界面、散点图的绘制、动态规划以及回溯算法和遗传算法这几个方面,对于任务3要求的软件功能基本全部实现,而且每一项功能都能正确且快速地运行。
-
优点:功能完善,在数据储存方面建立了完善的数据库可以存储大量数据。
-
缺点:人机交互界在美观上过于简单,在文件保存时没有命名功能,少量文件是我们可能还能辨认出来但是当设计大量文件时我们就无法正确且快速的辨认文件。
-
产品功能意见:增加在文件保存时可以命名这一功能,可以在进入页面时设计页面登陆选项。
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
- (1)职业:学习计算机专业的学生和编程人员或者计算机相关方面的老师
(2)学历:本科以上
(3)年龄:18随以上
(4)专业:计算机相关专业或者与编程有关的其它学科
(5)爱好:对计算机深入研究或者编程爱好者
(6)收入:月薪8000+
-
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐
- 经过上述测试和分析我对这篇博客作业的态度是e)非常推荐,首先在编程语言上使用了方便简洁的python语言,其次高效且准确的完成了各项任务的要求,从各方面都可以看出来这一组的同学非常优秀,非常值得推荐。
-
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
- (1)在数据处理这方面我们取得了借鉴并加以改进;
(2)在发现对方小组人机交互界面问题的同时我们也改进了自己小组的交互界面。
- (1)在数据处理这方面我们取得了借鉴并加以改进;
-