第八周作业

计划和估计

 在《构建之法》一书的第八章中(P160)就讲到了计划和估计。

估计:以当前了解的情况和掌握的资源,要花费多少的人力物力时间才能实现某事。

软件时间的估计是多个估计值的乘除法——估计的需求,估计的需求复杂度,估计的技术难度,估计的人员能力。

常用的估计方法有以下几种(仅从书中查阅的):

  1. 参考前人的经验;
  2. 快速原型法——先让一个人写一个简单的应用,给项目估计提供更好的数据支持。

整个软件项目的时间估计也可以从下面的两个方面来看:

  1. 自底向上:团队成员各自估计底层模块和单个功能(及单元测试)所需时间,再加上集成及基本测试的时间,就是大概的开发时间(此时不考虑各个模块之间的相互依赖性);
  2. 回溯:团队从整个项目最终交付之日往回倒推。

在我们的这个项目中采用的是多种估计方法相结合,然后得出的一个项目开发期限:

开发时间 开发内容
第一周 完成“软件工程知识树”立项说明书、需求分析说明书
第二周 完成“软件工程知识树”概要设计说明书
第三周 完成“软件工程知识树”数据库设计、详细设计说明书
第四周 完成“软件工程知识树”编码、测试文档

1.采用回溯的方法:“软件工程知识树”这一个网站项目的提出是在第三周左右,而我们构建之法的课程在第八周结课,所以我们需要在第八周之前将项目弄完,所以就有了上面时间上的估计;

2.采用参考前面的经验:在以前人机交互、基于pc端的验证码、基于Android的开发课程设计中做过类似的团队项目,开发所用时间差不多,流程也差不多,所以有了上面的开发时间内容估计也进行了参考;

3.基于人员的考虑:上面的开发内容之间是十分的紧凑的,虽然要做的网站不是特别庞大,但是工作量也不小,因为我们团队有12人,每个人的技术水平都不一样,理解能力也不一样,中间必定会出现一些问题,这需要时间来进行调整;

4.基于变更的考虑:变更在整个项目中都是存在的,除了项目文档的规范说明在变更,项目里面的一些内容也在变更,比如说,在用户的模块中添加一个动态功能,这就需要对数据库、详细设计说明书都要进行修改。

原文地址:https://www.cnblogs.com/wling0/p/5425320.html