软件开发模型及方法

系统架构师-软件开发模型及方法

文章目录

  • 系统架构师-软件开发模型及方法
  • 概述
  • 软件开发生命周期
    • 基础过程
    • 支持过程
    • 组织过程
  • 软件开发模型
    • 瀑布模型(SDLC)
    • 原型模型系列
    • 增量与螺旋模型
    • V模型
    • 构建模型
  • 软件开发方法
    • 结构化方法
    • 面向对象方法
  • 统一过程
  • 敏捷开发
  • 逆向工程
  • 参考资料


概述

软件开发模型及方法主要为了面都用户不同需求,系统从分析开发到交付整个生命周期的方法论,其目的是为了可以完成软件产品的交付,提高用户满意度。

软件开发生命周期

软件开发生命周期,根据国家标准《GB/T 8566-2007 信息技术》可以分为基本过程、支持过程、组织过程。每个内容有

基础过程

获取过程、供应过程、开发过程、运作过程、维护过程

支持过程

文档编制过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审核过程、问题解决过程、易用性过程

组织过程

管理过程、基础设施过程、改进过程、人力资源过程、配置管理过程、重用大纲过程、领域工程过程

软件开发模型

软件开发模型,面对不同的用户需求场景,对需求分析,系统设计,开发,测试,交付等的相关组织形式。主要分为瀑布模型,原型模型,演化模型,增量模型,螺旋模型等

瀑布模型(SDLC)

在需求明确的情况下,对整个系统进行需求分析,软件设计,程序编码,软件测试,交付。但是现实生活中往往需要出现需求变更,无法满足需求免却。且过度依赖需求,而且反馈不及时造成系统偏差大的问题。

原型模型系列

使用原型模型可以先在需求分析阶段,制作原型,与用户沟通,及时在设计阶段避免需求偏差。原型模型会利用原型演化许多模型,都是基于原型模型演化的。可以演化出,演化模型,增量模型,螺旋模型。
软件开发模型及方法_第1张图片

增量与螺旋模型

增量模型采用随时间的线性序列,每一个线性序列产生一个可交付的产品,慢慢的迭代以达到最终的要求。
螺旋模型分为四个阶段即:制定计划、风险分析、实施工程以及客户评估。以原型为基础,加上瀑布模型重复沿着以上几个步骤进行开发。
软件开发模型及方法_第2张图片

V模型

V模型是以测试驱动的模型,测试贯穿的整个始终
软件开发模型及方法_第3张图片

构建模型

构件组装模型指的是在整个应用开发的过程中,把各个功能模块抽取出来组成一个个可复用的构件,以便于重复使用。类似于积木一样,把整个构件整合起来,形成一个个的应用系统。其流程图如下:
软件开发模型及方法_第4张图片

软件开发方法

软件开发方法与软件架构有关,根据不同的场景使用合适的软件开发方法。软件开发方法主要有结构化方法,面向对象方法。

结构化方法

即面向过程的开发方法。其基本思想是“自上而下,逐步求精”,把一个复杂的系统拆分,化繁为简,形成一个个的构件。其讲究的是用户至上,系统开发过程工程化、文档化、以及标准化。严格的区分来工作阶段,每个阶段都有明确的任务和应得额成果。(使用结构化方法做需求分析时需要提供需求文档不同于面向对象)

面向对象方法

面向对象的开发方法是自底而上的,主要表现为和现实事物结合起来,把世间万物抽象出来,形成一个个的抽象对象。相比结构化法有更好的复用性,分析、设计、实现三个阶段界限不明确,其关键点在于建立一个全面的、合理的、统一的模型。

统一过程

统一过程又称为UP、或RUP,是基于构件的。统一过程是一个通用的过程框架,可以用于各种各样的软件项目。
特点:用例驱动、以基本架构为中心、迭代和增量。
基于UP的软件过程是一个迭代的过程,他有四个阶段,分别是:
a、初始阶段:为系统建立业务模型并确定项目的边界;
b、细化阶段:分析问题领域,建立健全的架构基础 。主要是要完成系统的架构。
c、构件阶段:开发剩余的构件和应用程序功能,形成产品并且进行详细的测试
d、交互阶段:主要任务是进行β测试(用户环境,用户做的测试)
软件开发模型及方法_第5张图片
软件开发模型及方法_第6张图片

敏捷开发

适用于中小型项目,理论上是不适用大型项目。但是在实际开发中,往往我们会把大型项目拆分为多个小型项目,然后使用敏捷开发方法。
软件开发模型及方法_第7张图片

逆向工程

逆向工程讲的是把整个过程逆转过来,一般的用在已有系统的大版本迭代以及重做场景中。
软件开发模型及方法_第8张图片

参考资料

软件开发方法

你可能感兴趣的:(系统架构,其他)