这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/software-engineering-2017-1/homework/10863 |
团队名称 | 白雪公主与七个爷爷 |
这个作业的目标 | 事后诸葛亮 |
作业正文 | 见下文 |
其他参考文献 | 无 |
一、设想和目标
1.1、我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
我们的软件主要是为了让用户能够管理每日事件,使用番茄计时练习专注度,用打卡功能养成好习惯。我认为定义的挺清晰。对典型用户和典型场景在需求分析中有描述。
1.2、我们达到目标了么?
没有达到目标。只完成了前端界面,实际功能基本没有实现,也并没有按交付时间交付,非常失败。
二、计划
2.1、是否有充足的时间来做计划?
有,但大家并没有利用好时间进行计划,也不知道如何计划,导致项目实现遇到很多困难。
2.2、团队在计划阶段是如何解决组员们对于计划的不同意见的?
遇到不同意见,会通过面对面讨论进行解决,无法面对面交谈,会使得意见交流变的困难。
2.3、你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
原计划的工作只完成了一半,因为项目计划安排在期末,期末又有一大波的课程设计、考试等等事情,再加上小组内大多数人都不擅长后端,导致只完成了前端界面,归根结底,就是我们的安排不周到。
2.4、有没有发现你做了一些事后看来没必要或没多大价值的事?
当然有,项目前期进行需求分析时,弄了许多不必要也难实现的功能,导致后面绘制流程图等时多花了许多不必要的时间,在实际实现项目时,又倒回去将前面已完成文档的不需要部分全部删去,耗费了大量时间,我认为,这也是项目未完成的根本原因。
2.5、是否每一项任务都有清楚定义和衡量的交付件?
大部分没有,因为并没有一个很明确的实现目标。
2.6、是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
没有按计划进行,因为新工具和技术的学习时间超出预计,期末的众多课程设计和实验报告也超出预料,考试时间和放假时间也比预想中要早,项目实现的困难性也超出了预想。
2.7、在计划中有没有留下缓冲区,缓冲区有作用么?
没有,我想是有作用的,
2.8、将来的计划会做什么修改?
先把相关技术学习好,分工一定要明确,计划要清晰准确。
三、资源
3.1、我们有足够的资源来完成各项任务么?
没有存货,为了完成任务,在网上搜索了很多相关资源,好在网络上资源充足。
3.2、各项任务所需的时间和其他资源是如何估计的,精度如何?
刚开始估计的精度很差,到了后期,大家变得更加忙碌,更没有时间在意精度问题了。
3.3、对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
没有低估难度,一直觉得文案难度很高,美工设计方面倒还好,跟预想中难度一致。
3.4、你有没有感到你做的事情可以让别人来做(更有效率)?
有,比如博客园编写可以让代码编写能力较弱,但是细心认真的人进行编写,这样可以让开发人员更专心于代码编写。
四、变更管理
4.1、每个相关的组员都及时知道了变更的消息?
因为采取群消息形式发送信息,所以组员可能没有及时知道信息。
4.2、我们采用了什么办法决定“推迟”和“必须实现”的功能?
不知道称作什么方法,就是根据重要性判断,比如前端界面实现是最重要的,之后要实现番茄计时、打卡、待办事项等,个人信息、修改信息等就可以推迟实现。
4.3、项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
前端界面”做好了“的定义即,完全做出原型设计时的界面。后端还没有开始,大概就是实现该有的功能即可。
4.4、对于可能的变更是否能制定应急计划?
没有。
4.5、组员是否能够有效地处理意料之外的工作请求
出现意料之外的情况,总有靠谱的组员顶上。
五、设计/实现
5.1、设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
界面设计工作在前期进行,由肖璐瑶,周佳欣,曾扬威负责完成。开始时间略微晚了一点,人选不知道算不算的上合适,但也没有更好的人选了。
5.2、设计工作有没有碰到模棱两可的情况,团队是如何解决的?
有,某些界面设计的有些问题,但没有及时沟通修改,导致项目实现过程中出现问题。
5.3、团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么?
没有,组员对这些都不太了解,加上时间不充裕,没有时间去学习相关知识,所以并没有使用。
5.4、什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
暂无。
5.5、代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
暂无。
六、测试/发布
6.1、团队是否有一个测试计划?为什么没有?
有,但并没有实行。因为项目还没有实现。
6.2、是否进行了正式的验收测试?
无,等项目完成再进行验收测试。
6.3、团队是否有测试工具来帮助测试?
暂无。
七、团队的角色,管理,合作
1. 团队的每个角色是如何确定的,是不是人尽其才?
本打算根据每个人擅长的技术进行确定,但由于成员掌握技能不足以完成各自任务,得靠技术稍强一点的成员进行帮助,所以并没有明确分工。
2. 团队成员之间有互相帮助么?
有,团队中基础稍好的成员会对基础较差的成员提供很多帮助
3. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
在小组内进行讨论,选择更可行的解决方法。