1.软件开发模型
- 瀑布模型:该模型给出了软件生存周期各阶段的固定的顺序,上一阶段完成后才能进行下一阶段。这种模型缺乏灵活性,无法通过开发活动来澄清本来不够明确的需求。
- 演化模型:在获取一组基本的需求后,通过快速分析构造出该软件的一个初始可运行版本,然后根据用户在使用原型的过程中提出的意见和建议对原型进行改进。该模型主要用于用户对软件需求缺乏准确认识的情况。
- 螺旋模型:将瀑布模型和演化模型结合就成了螺旋模型。包括了4个方面的活动:制定计划、风险分析、实施工程、客户评估。
- 喷泉模型:主要用于描述面向对象的开发过程。该模型具有迭代和无间隙的特点。迭代意味着模型中的开发活动常常需要重复多次,在迭代中不断完善软件系统。无间隙是指在开发活动之间不存在明显的边界。允许开发活动交叉、迭代地进行。
注:增量式开发的优势如下:
- 能够在较短的时间内向用户提交一些有用的工作产品。
- 用户有较充足的时间学习和适应新的产品。
- 提高软件的可维护性。
2.进度管理
- Gantt(甘特)图:Gantt图能清晰地描述每个任务从何时开始,到何时结束以及各个任务之间的并行性。但它不能反映出个任务之间的依赖关系,难以确定整个项目的关键所在,也不能反映计划中有潜力的部分。
- PERT图:PERT图不仅给出了每个任务的开始时间、结束时间和完成该任务所需的时间,还给出了任务之间的关系,即哪些任务完成后才能开始另一项任务,以及如期完成整个工程的关键路径。但是PERT图不能反映 任务之间的并行关系。