瀑布模型(SDLC)
特点:
1、严格区分阶段,每个阶段因果关系紧密相连
2、只适合需求明确的项目
需求分析之后会产出软件需求规格说明书SRS
但是这个模型失败概率到95%,有以下缺陷:
它只适合需求明确的项目
(一)软件需求完整性,正确性难确定
(二)严格串行化,很长时间才会出结果
(三)瀑布模型要求每个阶段一次性完全解决该工作,这不现实。
(四)一旦中间改,整个模型都要改
原型模型
特点:适合需求不明确的项目
原型模型有两个阶段:
1、原型开发阶段(摸清要求)
2、目标软件开发阶段
原型的思想是构造一个简易的系统,由这个简易系统来获取需求(类似于先做个demo或者原理图,不用做具体的细致要求,只是用于给用户体验)
所以原型的思想:就是开发个简易系统来帮忙理解,利于介入到后续阶段。
原型模型有两种结果:抛弃型原型与演化型原型。
原型及其相关模型
快速原型模型就是属于抛弃型原型
增量模型(不断与核心拓展)
V模型
特点:
1、测试贯穿于始终
2、测试分阶段,测试计划提前,为了低成本解决问题。
把测试提前,反作用推动开发
迭代与增量
迭代: 从框架统一的进行开发各个功能 (功能优化、迭代更新)
增量: 一个一个功能来开发,一个个功能区设计 (功能上新)
螺旋模型
螺旋模型(以快速原型为基础+瀑布模型) 考虑了风险问题
螺旋模型有风险分析的介入,再来进行开发和有效性的验证。
该模型不适合开发一些成本较低,轻量级模型
构件组装模型
优点:易扩展、易重用、降低成本、安排任务更灵活。
缺点:构建设计要求经验丰富的架构师、设计不好的构件难重用、强调重用可能牺牲其它指标(如性能)、第三方构件质量难控制,
基本思想就是: 先把构建构出来,然后把这些构件按照标准的接口组装成系统
基于构件的软件工程(CBSE)
CBSE体现了 购买而不是重新构造 的哲学
CBSE的构件应该具备的特征:
1、可组装性:所有外部交互必须通过公开定义的接口进行。(接口的标准化)
2、可部署性:构件总是二进制形式的,能作为一个独立实体在平台上运行
3、文档化:用户根据文档来判断构件是否满足需求
4、独立性:可以在无其他特殊构件的情况下进行组装和部署
5、标准化:符合某种标准化的构件模型
构件的组装:
1、顺序组装:按顺序调用已经存在的构件,可以用两个已经存在的构件来构造一个新的构件
2、层次组装:被调用构件的“提供”接口必须和调用构件的“请求”接口兼容
3、叠加组装:多个构件合并形成新构件,新构件整合原构件的功能,对外提供新的接口
快速应用开发模型(RAD)
统一过程(UP)
统一过程叫做软件开发过程模型
中间三个红字是该模型的重点
架构在细化部分已经完成
C
B、D
注意注意!商业建模就是业务建模,这是绝对有在9个核心工作流的。