软件开发方法

一、软件开发生命周期

1 需求规格说明书包括系统名称、功能描述、接口、基本数据结构、性能、设计需求、开发标准、验收原则等。

2、概要设计定义功能模块及功能模块之间的关系,详细色剂研究模块内部,包括算法与数据结构、数据分布、数据组织、模块之间的信息接口和用户界面等设计。

3、测试分为单元测试、集成测试、确认测试和系统测试

二、软件开发模型

1、瀑布模型严格按照软件生命周期的各阶段顺序执行,有利于人员的组织管理,但明显存在使用缺陷:用户并不能清晰定义及描述其需求、初始版本的呈现周期较长。

2、原型模型的原理即提前通过可视化的方式呈现需求,因此原型获取有三种途径:

  • 利用模拟软件系统的人机界面和人机交互方式
  • 真正开发一个原型
  • 寻求一个或几个类似的软件

3、螺旋模型是在快速原型 的基础上扩展的,支持大型软件开发,适用于面向规格说明、面向过程和面向对象的软件开发方法,通常将软件开发切割为多个周期,每个周期由4个 阶段组成:

  • 目标设定
  • 风险分析
  • 开发和有效验证
  • 评审

 4、基于四代技术的模型,只侧重于支持软件的设计和实现阶段,并不支持全过程,其主要特征有:

  • 非过程化语言:可通过生成器代替编程语言。
  • 与数据密切相关

三、敏捷方法

特点:

  • 强调适应性。而非预设性。
  • 强调面向人的 而非面向过程的

核心思想:

  • 敏捷方法是适应性的而非可预测性的。
  • 敏捷方法是以人为本,而非以过程为本
  • 迭代增量式的开发过程

敏捷方式的主要内容:

  • 沟通:设计者、开发者之间
  • 简单:满足当前需求,代码简单化。
  • 反馈
  • 勇气

12条过程实践原则:

  • 简单设计
  • 测试驱动
  • 代码重构
  • 结对编程
  • 持续集成
  • 现场客户
  • 发行版小型化
  • 系统隐喻
  • 代码集体所有制
  • 规划策略
  • 规范代码
  • 40小时工作制 

四、RUP

rup的9个核心工作流: 

  • 业务建模、需求、分析与设计、实现、测试、部署、配置与管理、项目管理与环境

rup的四个阶段:

  • 初始、细化、构造和移交 

rup的特点

  • 用例驱动
  • 以体系结构为中心 :体系结构的设计与代码设计无关。不依赖于程序语言。  体系结构层次的设计问题包括系统的总体和全局控制、通信协议、同步、数据存取、给设计元素分配特定功能、设计元素的组织、物理分布、系统的伸缩性和性能。
  • 迭代与增量

4+1视图模型中,不同的人员对于视图的关注点重点不同

软件开发方法_第1张图片 

RUP是一个通用的过程模板,包括开发指南、开发过程产物及过程中的角色说明,可用于各类项目,因体系庞大,需要针对具体实例进行适当裁剪。

RUP裁剪步骤

确定开发过程涉及的工作流

确定工作流的产出

确定4阶段间的演进

确定每个阶段的迭代计划

规划工作流内部结构

五、软件系统工具

软件开发工具的衡量因素:功能、易用性、稳健性、硬件要求和性能、服务和支持。

软件开发工具包括需求分析工具、设计工具、编码与排错工具、测试工具

软件开发方法_第2张图片

 软件开发方法_第3张图片

 

你可能感兴趣的:(单元测试)