一、软件开发方法
1.软件开发生命周期
- 软件定义
- 软件开发
- 软件运行与维护
2.软件开发模型
基本概念:软件过程是制造软件产品的一组活动及结果,这些活动主要由开发人员完成,软件活动主要如下:
1.软件描述
2.软件开发
3.软件有效性验证
4.软件进化
软件模型如下:
-
瀑布模型,又称生命周期模型,其特点如下:
1.因果关系紧密相连
2.软件需求分析的准确性很难确定
3.需要很长时间才能得到初始版本 -
原型模型,又称快速原型,主要有以下阶段:
1.原型开发阶段
2.目标软件开发阶段
原型模型的使用应注意:
1.用户对系统模糊不清,无法准确回答目标系统的需求
2.要有一定的开发环境和工具支持
3.对原型的多次修改,应收敛到目标范围内,否则可能会失败
4.对大型软件来说,原型可能非常复杂而难以快速形成 -
螺旋模型,是瀑布模型和原型模型的结合,主要有以下阶段:
1.目标设定
2.风险分析
3.开发和有效性验证
4.评审 -
基于可重用构件的模型
-
基于面向对象的模型
-
基于四代技术的模型,特征如下:
1.是非过程化语言,目的在于高效、直接的实现各种系统
2.与数据库的关系密切,能够对大型数据库进行高效处理
敏捷方法
其特点如下:
- 是“适应性”而非“预设性”的
- 是“面向人的”而非“面向过程”的
其核心思想如下: - 敏捷方法是适应型,而非可预测型
- 以人为本,而非以过程
- 迭代增量式的开发过程
RUP
即最佳开发经验总结和软件开发过程
生命周期如下
- 业务建模
- 需求
- 分析与设计
- 实现
- 测试
- 部署
- 配置与变更管理
- 环境
RUP把软件开发生命周期分为多个循环,每个循环依次由4个连续的阶段组成,4个阶段如下: - 初始阶段
- 细化阶段
- 构造阶段
- 移交阶段
其核心概念有如下几个 - 角色
- 活动
- 制品
-工作流
其特点如下: - 用例驱动
- 以体系结构为中心
- 迭代与增量
二、设计方法
1.结构化分析与设计
其定义为:结构程序设计是程序设计技术,它采用自顶向下逐步求精的设计方法和但入口单出口的控制构件
2.面向对象的分析设计
三、逆向工程与重构工程
1.恢复信息的级别
逆向工程导出的信息可分为4个抽象层次:
- 实现级:包括程序的抽象语法树。符号表等信息
- 结构级:包括反映程序分量之间相互依赖关系的信息,例如调用图,结构图
- 功能级:包括反映程序段功能及程序之间关系的信息
- 领域级:包括反映程序分量或程序诸实体与应用领域概念之间对应关系的信息
2.恢复信息的方法
- 用户指导下的搜索与变换
- 变换式方法
- 基于领域知识的,主要用于恢复功能级和领域级信息
- 铅板恢复法
网友评论