1、瀑布模型
逐步推进软件规划、需求分析、软件设计、程序编码、软件测试、运营维护流程,发现问题后返回上一阶段进行修正。
这个模式出来后被广泛使用,在实际开发中渐渐消失,几乎被淘汰。 由于他有严重的缺陷,这个缺陷可能会导致项目失败、成本过高和延期。 瀑布模型适用于需求明确的项目、结构化中的方法。
2、快速成型模型
由瀑布模型和构筑化开发模型构成的模型(业务建模、数据建模、过程建模、APP生成、测试和输送)因为能够迅速构筑APP系统而被广泛利用
3、原型
用户对系统的期望可以通过简单的系统演示向用户展示,也可以向用户展示开发的系统是什么样的。 东西做好后,用户发现很多问题,提出问题,通过检疫系统的方式,成本比较低,只适用于需求阶段
4、进化模型
进化原型最终得到完整的系统
5、增量型
从原型的思想和瀑布模型的思想中得到增量模型,用户有多种需求,可以先制作核心部分,供用户使用修改,然后开发下一个功能,一步一步完成系统,按功能开发,以功能的重要性排序
6、螺旋模型
以原型为中心,将一个项目分为几个小项目,每个项目以瀑布模型为中心,在瀑布模型之前进行风险评估。 缺点是在大项目中风险害羞大炮的重大损失不能及时确定,过多的迭代会增加成本
7、部件组装模型(CBSD ) )。
考虑将各模块构建为部件,组装各部件得到应用系统,大大提高了软件开发的可重用性,大大缩短了开发时间,降低了软件开发成本,提高了软件的可靠性。 步骤:
需求分析和定义-软件体系结构设计-构建组件库-获取和管理组件-构建APP软件-测试和发布
8、喷泉模型
面向对象模型,正因为他是面向对象的模型,所以没有迭代和间隙,多个阶段同时进行,需要很多开发人员,不利于项目管理,严格管理文档,增加审查的难度
9、v型号
非常接近瀑布模型。 在v模型中,测试更为重要,测试环节更为细分。 要求和验收测试有对应关系,可以在要求分析阶段编写验收测试和系统测试报告。 这样可以事先发现问题,避免瀑布模型在最后测试阶段发现问题后修改要求的问题。 概要设计阶段同时进行集成测试,集成测试主要是测试模块之间的联系,事先发现模块划分问题,详细设计阶段同步单元测试,v模型是强调测试的模型。
需求分析-概要设计-详细设计-编码- V模型-单元测试-集成测试-系统测试-验收测试
十、统一进程(UP )。
目前应用比较广泛的模型,了解模型的特征、模型阶段、模型的核心人物,统一过程有三个特征:通过用例驱动、需求分析挖掘用例,整个开发过程用用例连接各个阶段。
初始阶段:确定项目的范围和边界,识别系统的重要用例(2-8定理,80%的人使用20%的系统功能),给出系统的候选架构,估算项目费用和时间,项目列表。
阶段细分:分析系统问题领域,建立软件基础架构基础,淘汰风险最高的因素
构建阶段:组装和测试组件,开发剩下的组件
交货阶段:进行测试,制作发行版本,制作文件,确认新系统,培训产品调整。 最终上述统一过程也不是一次性完成系统,而是需要逐步完善
敏捷开发方法:
是比较年轻的开发方法,一开始没有开发方法,但发现开发的软件质量很难管理,开发模式、开发方法发展并逐渐规范化后,重量模型(注重工艺和文档)的开发效果不好,不需要的文档,
敏捷开发包括自适应开发、晶体方法、特征驱动开发、遍历和有限编程XP。
放弃基本(短平速的会议)不必要的会议,缩短会议的控制时间)、小型版本的发行、少文档、重视合作、顾客的直接参与、测试的自动化、适应计划的调整、配对编程、测试驱动的开发、持续
极限编程的四种价值观:交流、简单、反馈、勇气
极限编程的五大原则:快速反馈、简单假设、渐进式修改、倡导变更、优质工作
极限编程的12个最佳实践:小版本、简单的设计、测试先行、成对编程、代码所有制的计入、每周40小时的工作、现场客户、编码标准