项目 | 内容 |
---|---|
课程班级博客链接 | 班级博客 |
这个作业要求链接 | 作业要求 |
团队名称 | 玛卡巴卡小分队 |
团队的课程学习目标 | 1. 建设团队文化,申请开通团队博客; 2. 完成所有实验任务; 3. 选择一人作为团队组长,了解团队各个成员的目标。 |
这个作业在哪些方面帮助团队实现学习目标 | 1. 建设相关群聊,开通博客园团队博客; 2. 想一个有特色、有内涵的团队名称,了解团队各个成员擅长的技术。 |
团队博客链接 | 团队博客 |
1. 实验目的与要求
(1)实验三作业互评。
被评链接:https://www.cnblogs.com/zuochao/p/14656067.html#4855317
被评作业的Github项目仓库链接:https://github.com/xuzuochao/D-0-1-KP-
(2)组建软件项目研发团队。
2. 实验内容
任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:
(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。
(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。
1.概要部分
(1)代码能符合需求和规格说明么?能,可以读取部分文件的数据
(2)代码设计是否有周全的考虑?目前看没有
(3)代码容易维护么?耦合度比较高,较难维护
(4)代码的每一行都执行并检查过了吗?是的,都可以执行,但是初次运行可能需要安装部分包
2.设计规范部分
(1)设计是否遵从已知的设计模式或项目中常用的模式?是的
(2)代码有没有依赖于某一平台,是否会影响将来的移植(如Win32到Win64)?没有,使用的python中的跨平台包。
(3)开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现?在本项目中是否存在类似的功能可以调用而不用全部重新实现?
存在,有些代码是可以调用的
(4)有没有无用的代码可以清除?暂时没有发现无用代码
3.代码规范部分
(1)修改的部分符合代码标准和风格么?符合,全都按照代码标准修改的
4.具体代码部分
(1)有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常?对错误都进行了处理,没有异常
(2)参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度,是以0开始计数还是以1开始计数?是字节的长度,以1开始计数的
(3)循环有没有可能出现死循环?目前测试并没有可能出现死循环的地方
(4)有没有可能导致资源泄露(内存、文件、各种GUI资源、数据库访问的连接,等等)?有没有可能优化?不会导致内存泄露,对于数据库访问部分,并没有测试成功,所以无法回答
5.效能
(1)代码的效能(Performance)如何?达到了具体任务要求的程度,但是部分代码效率不高
(2)代码中,特别是循环中是否有明显可优化的部分(C++中反复创建类,C#中 string 的操作是否能用StringBuilder 来优化)?对于本项目,并没有找到循环中的明显可优化部分。
(3)对于系统和网络调用是否会超时?如何处理?对于大数据集无法在有限时间内完成
6.可读性
代码可读性如何?有没有足够的注释?可以读取,注释都是最新的,但是命名逻辑性不强
7.可测试性
代码是否需要更新或创建新的单元测试?暂时不需要
(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:
A. 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;
此软件使用python进行编写,需要安装部分数据处理库,因此一开始无法运行,在经过调试后成功运行。
B. 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?
大部分功能都实现了,但是有些实现的不完善,还有一部分无反应,不懂什么情况。
软件在界面上做的很好,但是处理数据的文件采用的命令行,不太人性化,应该是没有整合在一起的缘故,功能上很多功能只实现了一部分,但是可以看出来做的很认真。我认为可以在软件的事先规划上多做功夫,这个应该是接口定义不好,逻辑有些混乱了。同时散点图并没有显示出来,不知道是什么原因,可能是我的数据集位置不对。希望下次可以把使用说明做的完善一些。
C. 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?
表面需求就是可以读取数据并处理,同时还要存储到数据库中,但是潜在需求是一次存储数据,永久使用,不必每次使用都需要先从txt文件中读取数据。
(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐。
我给的评价是c,因为部分功能并没有很完善。
(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3。
工作量太大,仅完成部分改进,其余待做。