事后诸葛亮分析报告

发布时间 2023-12-13 16:04:58作者: Chen泽瀚

1、作业概述

这个作业属于哪个课程 软件工程-计科21级12班-计算机学院-广东工业大学
这个作业要求在哪里 团队作业6——复审与事后分析-计科21级12班
这个作业的目标 事后诸葛亮分析报告

GitHub团队仓库: jiajia-chicken

团队成员:

成员 学号
林桂旭 3121004830
刘升嘉 3121004833
谭艺豪 3121004837
陈泽瀚 3121004818
梁昊东 3121005000

一、设想与目标

1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?

  • 合同管理系统旨在解决企业合同管理过程中的繁琐问题,典型用户包括企业的合同管理员以及合作企业和客户。

2、用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?

  • 基本一致,目标基本实现

3、有什么经验教训? 如果历史重来一遍, 我们会做什么改进?

  • 对用户需求应该更加实际,解决重要功能、基础功能在先。
  • 团队之间协作要更加同步。

二、计划

1、是否有充足的时间来做计划?

  • 有,减去计划中繁琐及无用的部分,提高实际效率

2、团队在计划阶段是如何解决成员对于计划的不同意见的?

  • 取其精华,去其糟粕。

3、 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?

  • 全完成

4、有没有发现你做了一些事后看来没必要或没多大价值的事?

  • 有,太多博客园,消耗开发时间。且太多不需要的步骤。很多可以口头解决。

5、是否每一项任务都有清楚定义和衡量的交付件?

  • 有,项目的任务细分为每个模块和每个version,模块从选择、数据集、训练、优化、测试多个方面,都有具体的计划和分配,所以每次交付都是确保质量的交付

6、是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?

  • 基本上按照计划进行。没有值得记忆的意外,没有可记录风险。

7、在计划中有没有留下缓冲区,缓冲区有作用么?

  • 当然,写博客园以及改进项目的不足。

8、将来的计划会做什么修改?

  • 将来的计划会在任务的时间设定上做修改,因为已经进入了考试月,所以需要设置更多的缓冲区,但是如果越过缓冲区还是没完成任务,就放弃

9、我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

  • 优化人员配置,增加博客园写手???
  • 后端开发需要增测试时间

三、资源

1、我们有足够的资源来完成各项任务么?

  • 没有,博客园真多???,其他都有足够资源。

2、各项任务所需的时间和其他资源是如何估计的,精度如何?

  • 开发经验缺少,都是靠开发人员的经验预估开发时间,将任务细分,精度不是特别高

3、测试的时间、人力和软件/硬件资源是否足够?对于那些不需要编程的资源(美工设计/文案)是否低估难度?

  • 足够

4、你有没有感到你做的事情可以让别人来做(更有效率)?

  • 没有,各司其职即可。

5、有什么经验教训?如果历史重来一遍,我们会做什么改进?

  • 有,目前无需改进

四、变更管理

1、每个相关的员工都及时知道了变更的消息?

2、我们采用了什么办法决定“推迟”和“必须实现”的功能?

  • 队员反馈,队长决定

3、项目的出口条件(Exit Criteria - 什么叫“做好了”) 有清晰的定义么?

    • 测试中发现的BUG得到解决。
    • 不同服务器都可使用
    • 核心功能正常。

4、对于可能的变更是否能指定应急计划?

5、员工是否能有效地处理意料之外的工作请求?

6、我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

  • 任务和更改的及时通知是非常重要的,如果重来一遍,会提前确保任务不需要修改,避免临时的加改对项目开发进度的拖延

五、设计/实现

1、设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?

  • 在开始的时候,大家一起完成。是

2、设计工作有没有碰到模棱两可的情况,团队是如何解决的?

  • 有,商量解决

3、团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?

  • 是,有效

4、什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?

  • 前后端交互bug较多,经验不足。没发现重要的bug

5、代码复审(Code Review)是如何进行的,是否严格执行了代码规范?

  • 各自管好自己。是

6、我们学到了什么? 如果历史重来一遍, 我们会做什么改进?

  • 及时反馈问题

六、测试/发布

1、团队是否有一个测试计划?为什么没有?

2、是否进行了正式的验收测试?

3、团队是否有测试工具来帮助测试?

4、团队是如何测量并跟踪软件的效能(Performance)的?压力测试(Stress Test)呢? 从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?

  • 软件的效能,主要从识别的准确度,回复的准确度以及回复的速度跟踪测量。压力测试使用jmeter进行测试,模拟大量用户从终端同时登录和同时与服务器发送消息,测试系统正常运行的极限。从结果看,这些测试工作的作用并不明显,因为目前使用我们软件的用户量远不及压力测试的数量,应从实际出发,测试并加快响应速度,而不是一味的折磨服务器5、在发布的过程中发现了哪些意外问题?

6、我们学到了什么? 如果重来一遍, 我们会做什么改进?

  • 测试也是开发中的一大环。

七、总结

1、你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?

  • 四档。

2、你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?

  • 创造

3、你觉得团队在这个里程碑相比前一个里程碑有什么改进?

  • 效率提高

4、你觉得目前最需要改进的一个方面是什么?

  • 团队间的协作

5、对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例

  • 保持每日会议以及每日总结

6、代码管理的质量具体应该如何提高? 代码复审和代码规范的质量应该如何提高?

  • 保留一定的注释,遵守相同的代码规范,确保不同任务的成员之间不同任务的代码可以看懂,增强代码的易读性

7、整个程序的架构如何具体提高? 如何通过重构等方法提高质量,如何衡量质量的提高?

架构需要对整个项目都有比较深入的理解,从算法模型,到前后端框架

每次完成issue和每日任务的时候,将新模块加入到程序中,就重构一次,确保一日一重构

质量的提高可以从程序运行的代码覆盖率,以及用户的使用体验衡量

8、其它软件工具的应用,应该如何提高?

  • 阅读使用文档

9、项目管理有哪些具体的提高?

  • 按照计划走

10、项目文档的质量如何提高?

  • 专人编写

11、对于人的领导和管理, 有什么具体可以改进的地方?

  • 增加博客园写手和后端工作时间

团队贡献分

名字 角色 团队贡献分 可验证的贡献
林桂旭 前端开发、测试 20 测试、代码
刘升嘉 后端开发 20 测试、代码
梁昊东 项目经理、测试 20 测试、需求分析
谭艺豪 前端开发 20 代码
陈泽瀚 后端开发 20 博客园,代码