? 严格区分阶段,每个阶段因果关系紧密相连,只适合需求明确的项目
缺点:软件需求完整性、正确性难确定;严格串行化,很长时间才能看到结果;瀑布模型要求每个阶段一次性完全解决该阶段工作,不现实。
适合需求不明确的项目
原型模型两个阶段:1、原型开发阶段 2、目标软件开发阶段
抛弃型原型与演化型原型
增量型:一块一块有增加
迭代型:一轮一轮在变好
优点:易扩展、易重用、降低成本、安排任务更灵活。
确定:构件设计要求经验丰富的架构师、设计不好的构件难重用、强调重用可能牺牲其他指标(如性能)、第三方构件质量难控制。
CBSE体现了购买而不是重新构造的哲学
CBSE的特征:
- 可组装性:所有外部交互必须通过公开定义的接口进行
- 可部署性:构件总是二进制式的,能作为一个独立实体在平台上运行
- 文档化:用户根据文档来判断构件是否满足需求
- 独立性:可以在无其他特殊构件的情况下进行组装和部署
- 标准化:符合某种标准化的构件模型
构件的组装:
- 顺序组装:按顺序调用已经存在的构件,可以用两个已经存在的构件来创造一个新的构件
- 层次组装:被调用构件的“提供”接口必须和调用构件的“请求”接口兼容
- 叠加组装:多个构件合并形成新构件,新构件整合原构件的功能,对外提供新接口
主流程采用瀑布模型,在流程引入大量的构件