1、简单题
-
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
-
从项目特点、风险特征、人力资源利用角度思考
-
瀑布模型:
-
简述:将项目划分为一层一层,将开发流程划分为提出想法、分析、设计、开发和测试等模块,一级一级移动,如果出现问题则一层一层向上反馈
-
优势:定义了软件开发基本流程与活动,明确了需求和流程。预先估算好人员安排,降低了开发难度。
-
劣势:过于依赖线性顺序,前期需求不足或者出现问题会导致后面工作寸步难行。或者前期项目工作量与人员分配预估不足会导致开发延期和项目不可控。
-
螺旋模型:
-
简述:螺旋模型针对大型软件开发,引入了明确的风险管理机制。是风险驱动的迭代模型。
-
优势:每次迭代灵活,将项目划分为多个较小的分段,使得开发和控制较为容易。同时与使用者的反馈和测试可以确保项目在正确的发开道路上。
-
劣势:开发周期较长,需要用户多次反馈,同时对管理人员要求较高。
-
增量模型:
-
简述:对系统最核心的需求进行分析、设计、实现与测试,按照优先级先后实现。
-
优势:人员分配灵活,可以根据反馈信息侧重将资源分配给优先级最高的业务,能够有效管理技术风险。
-
劣势:各个加入的组件需要兼容已有的系统部分。由于需求的变化多样可能导致对整体开发失去整体性。
-
-
-
简述统一过程三大特点,与面向对象的方法有什么关系?
- 三大特点:
- 用户为中心(描述用户使用产品的故事)
- 架构为重心(软件产品分解的领域最佳实践)
- 风险驱动(早期暴露风险)
- 统一过程是一个面向对象的软件开发方法,将软件开发过程要素和软件工程要素整合在同一的软件工程框架中。
- 三大特点:
-
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 初始阶段:大体上的构想、业务案例、范围和模糊评估
- 里程碑:重要的文档包括构想、安利、范围和评估的完成。
- 细化阶段:以精化的构想、核心架构的迭代实现、高风险的解决,确定大多数需求以及进行更为实际的评估。
- 里程碑:有重要决策或者评估产生
- 构想阶段:对遗留下来的风险较低和比较简单的元素进行迭代实现,准备部署。
- 里程碑:最终产品的稳定可执行子集。
- 移交阶段:进行beta测试和部署。
- 里程碑:最终产品发布
-
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 因为软件统一过程将软件开发过程划分为4个阶段,通过阶段划分使得企业能够按照固定的节奏来进行生产,每个项目组可以周期性地产出交付物,因此可以固定周期地发布软件产品。
- 好处:有利于及时交付产品给客户,对潜在违约风险进行规避,同时可以使得开发流程管理更加顺利,减少人力资源管理难度,避免不必要的加班赶工。