首页 > 技术文章 > 201871010102-常龙龙 个人博客 实验三作业互评

xiaobeike 2021-04-20 18:21 原文

项目 内容
课程班级博客链接 https://edu.cnblogs.com/campus/xbsf/2018CST?filter=all
这个作业要求链接 https://www.cnblogs.com/nwnu-daizh/p/14660499.html
我的课程学习目标 1. 运行其他小组实验三的项目,并进行评价

2. 对比他人的软件项目,总结反思自己的不足,并加以修正

3. 继续熟练github的相关操作

4. 掌握博客园创建团队的方法

5. 学会团队合作,加深组件交流
这个作业在哪些方面帮助我实现学习目标 1. 了解了新技术开发软件项目的过程

2. 熟练markdown编辑器的使用方法

3. 深深感悟到自己的不足,需要在今后多加努力

4.明白了团队合作开发对软件项目的帮助

5. 理解了一个团队中目标统一的重要性
团队博客地址 https://www.cnblogs.com/chihuotuan/p/14680423.html

博客正文

任务1:浏览班级博客园中提交《实验三 软件工程结对项目》作业,任选一个你认为完成质量较高的小组项目成果,继续以实验三结对学习方式完成以下任务,具体要求如下:

(1)对博文作业进行阅读,并结合评分要求进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究,给出这个结对小组在进度计划方面可以提高的具体建议。将以上评论内容发布到博客评论区。

*已评

点评链接 :https://www.cnblogs.com/chms/p/14653764.html


点评截图 :

(2)克隆任务3项目源码到本地机器,阅读并运行代码,找出项目代码的5个以上bug,参照《现代软件工程—构建之法》4.4.3节核查表复审项目代码并记录。

存在的bug

  • 将数据存储到数据库时没有一个提示,用户无法明确知道是否存储成功
  • 页面没有实现将求解的结果存储到文件中的功能
  • 没有添加路由导航守卫,用户只要在地址栏输入已知的地址就能跳转到相应的界面
  • 没有实现代码测评功能
  • 输入框旁边没有提示,新用户不知如何输入正确的信息

代码核查表

复审原则 内容
概要部分
代码符合需求和规格说明么? 代码符合需求
缺少相应的规范说明,参照《码出高效—阿里巴巴开发手册》的代码规范来看,代码是符合规范说明的
代码设计是否考虑周全? 考虑周全
代码可读性如何? 可以顺利读下去
代码容易维护么? 比较容易维护
代码的每一行都执行并检查过了吗? 是的,都可以执行
设计规范部分
设计是否遵从已知的设计模式或项目中常用的模式? 遵从
有没有硬编码或字符串/数字等存在? 没有
代码有没有依赖于某一平台,是否会影响将来的移植? 没有,不会影响移植,任何平台都可以
开发者新写的代码能否用已有的Library/SDK/Framework中的功能实现? 可以用
存在,有些代码是可以调用的
有没有无用的代码可以清除? 没有
代码规范部分
修改的部分符合代码标准和风格吗? 符合,都按照代码标准修改的
具体代码部分
有没有对错误进行处理?对于调用的外部函数,是否检查了返回值或处理了异常? 当出现错误时返回空值
参数传递有无错误,字符串的长度是字节的长度还是字符(可能是单/双字节)的长度是以0开始计数还是以1开始计数? 没有
边界条件是如何处理的? switch语句的default分支是如何处理的?循环有没有可能出现死循环? 没有出现死循环
有没有使用断言( Assert)来保证我们认为不变的条件真的得到满足? 没有
数据结构中有没有用不到的元素? 没有
效能
代码的效能(Performance)如何?最坏的情况是怎样的? 达到了具体任务的要求
代码中,特别是循环中是否有明显可优化的部分(string的操作是否能用StringBuilder来优化)? 没有,已经比较优化了
对于系统和网络的调用是否会超时?如何处理? 目前没有出现超时的现象。
可读性
代码可读性如何?有没有足够的注释? 代码注释较少
可测试性
代码是否需要更新或创建新的单元测试? 可以继续开发,测试数据库的复杂性操作

(3)阅读《现代软件工程—构建之法》第12章内容,完成以下分析任务:

A 体验任务3实现软件功能,简要描述软件的使用过程,上传使用软件的照片;

实现的功能

  • 将数据集中的数据存储到数据库
  • 对某一组数据绘制重量-价值散点图
  • 对一组D{0-1}KP数据按项集第三项的价值:重量比进行非递增排序
  • 对一组D{0-1}KP进行求解

软件使用过程

  • 1.先将项目运行起来,在浏览器输入localhost:8099/database进入软件项目
  • 2.在数据库存储页面点击存储按钮将文件中的数据存储到数据库中
  • 3.在绘制散点图页面输入文件名和组数,点击提交按钮绘制散点图
  • 4.在数据排序页面输入文件名、组数和算法名称,点击提交按钮显示求解结果
  • 5.在算法求解页面输入文件名和组数,点击提交按钮显示排序结果

使用软件的照片

  • 1.启动后台
  • 2.数据库存储
  • 3.绘制散点图
  • 4.数据排序
  • 5.算法求解

B 总结任务3要求的功能软件解决了吗?软件在数据量/界面/功能上各有什么优缺点?对该软件产品功能有什么改进意见?

任务3要求的功能未全部实现,没有遗传算法,没有代码测评,没有保存文件
软件评价
优点 缺点
数据量 数据量取决于数据集文件中数据的多少,无明显优点 无明显缺点
界面 界面美观,易操作,具有良好的人机交互界面 在输入信息时没有提示,新用户不知道该输入什么
功能 功能设计人性化,实现了基本的功能 有些功能没有实现
该软件可以继续深入开发,完善未完成的其他功能,如果能再添加对数据库数据的展示以及增删改查就更加完美

C 从职业、学历、年龄、专业、爱好、收入等方面概括任务3所研发软件产品的典型用户群特征,他们表面需求,潜在需求是什么?

职业 学历 年龄 专业 爱好 收入 表面需求 潜在需求
学生和从事软件开发的人 一般为大专及以上 18-35 计算机专业和数学专业 爱好计算机编程、网站开发、偏爱算法研究 8000-15000 了解该软件项目的功能,使用网站界面显示算法结果 需要良好的人机交互界面以及掌握前后端的技术将算法更好地展示

(4)经过(1)—(3)的工作,你们一定有充分的理由给评价作业选择一个结论: a) 非常不推荐 b) 不推荐 c) 一般 d) 好,不错 e) 非常推荐

好,不错

(5)结合(1)—(3)的评论体会,迭代改进本小组实验三任务3

我的体会和项目迭代说明

该小组很好的完成了实验3的项目,虽然有一些功能未实现,但也很值得我们学习借鉴。通过和结对伙伴以及参考其他组的实验3项目,我们决定继续改进我们的项目,添加对数据库中数据的展示和查询操作,以此来完善我们的项目。以下是我们对于实验3项目的迭代结果:

  • 1.file_data表数据的展示和查询
  • 2.volume表数据的展示和查询

迭代后的实验3GitHub后台接口仓库地址:https://github.com/beike666/bag_serve_better

迭代后的实验3GitHub前台页面仓库地址:https://github.com/beike666/bag_client

推荐阅读