一、系统开发方法,包括如下方法:
-
1.结构化方法【别名:生命周期法】
- 由结构化
分析、结构化设计、结构化程序设计三部分组成。 - 精髓是:项目自顶向下、逐步求精和模块设计。
- 特点:
- 开发目标清晰化 【遵循“用户第一”原则】
- 开发工作阶段化 【每个阶段工作内容明确,注重开发过程控制】
- 开发文档规范化
- 设计方法结构化
- 缺点:
- 开发周期长
- 难以适应需求变化
- 很少考虑数据结构
- 由结构化
-
2.面向对象方法
-
概念:客观世界是由各种对象组成的,任何事物都是hi对象。也就是面向对象开发中说的
万物皆对象。 -
阶段:系统分析、系统设计、和系统实现三个阶段之间已经没有
缝隙 -
特点:
- 使系统的描述及信息模型的表示与客观试题相对应,符合人们的思维习惯。
- 有利于系统开发过程中用户与开发人员的交流和沟通,缩短开发周期。
结构化方法和面向对象方法系统开发领域相互存在,不可以代替
-
使用范围:
- 普遍适用于各类信息系统的开发
结构化方法进行自顶向下的整体划分,面向对象方法【简称:OO方法】进行自底向上开发
-
特征:
- 继承性
- 分为单继承和多继承
- 封装性
- 把数据和基于数据的操作封装成一个整体对象。访问只能通过外部提供的
接口进行访问。
- 把数据和基于数据的操作封装成一个整体对象。访问只能通过外部提供的
- 多态性
- 多个类中可以定义同一个操作或者属性名,并且每一个类中中都允许有不同的实现。
- 继承性
-
其他知识点:
-
对象特点:
- 计算机语言描述:对象是由一组
属性和对这组属性进行的操作构成的。 - 由
数据和操作构成的封装体. - 三个基本要素:对象
标识、对象状态、对象行为。
- 计算机语言描述:对象是由一组
-
类特点:
- 将实体的
属性【数据】``和操作【函数】封装在一起。
- 将实体的
-
区别:
- 每一个对象都是某一个类的实例
- 每一个类在某一时刻都有零或更多的实例
- 类是静态的,对象是动态的
- 类是生成对象的模板。
-
关系:
对象是类的示例,类是对象的模板 -
需要了解的扩展知识点:
名称 说明 接口 类与类之间或者说对象之间操作的规范和说明 消息 对象之间的交互,通过消息往目标对象发送操作请求 组件 软件系统可替换的物理组成部分, 封装了模块功能的实现。组件的特点应该是内聚的。具有相对稳定的公开接口。
-
-
-
原型化方法
- 指模拟某种产品的原始模型。
- 原型法的开发过程:
- 确定用户基本需求->设计系统初始原型->试用和评价原型->用户不满意->修改和完善原型->用户满意->整理原型、提供文档。
- 确定用户基本需求->设计系统初始原型->试用和评价原型->用户满意->整理原型、提供设计文档。
- 原理:
- 系统开发初期必须明确系统的功能要求,确定系统的边界。
- 根据用户初步需求,利用系统开发工具,快速地建立一个系统模型展示给用户。在这个基础上与用户交了,最终实现用户需求的信息系统快速开发的方法。
- 分类:
- 是否实现功能:
- 水平原型
- 行为原型【探索预期系统的一些特定行为,达到细化需求的目的】
- 功能的导航【功能导航,并未真实实现功能】
- 主要用的界面上
- 垂直原型
- 结构化原型【实现部分功能】
- 用在复杂算法实现上
- 水平原型
- 最终结果:
- 抛弃式原型
- 用在解决需求不确定性、不完整性、模糊不定
- 演化式原型
- 为开发增量式产品提供基础,逐步把原型演化成最终系统
- 必须易于升级和优化的场合,特别适用于Web项目
- 抛弃式原型
- 特点:
- 使系统开发周期缩短、成本和风险降低、速度加快,获得较高的综合开发效益
- 以用户为中心来开发系统,用户参与程度大大提高,开发的系统也更容易符合用户的需求,因而增加了用户的满意度,提高了系统开发的成功率。
- 因为有用户参与了系统开发的全过程,对系统功能和结构容易理解,有利于系统的转交、系统运行与维护
- 优点:
- 主要在于能更有效地确认用户需求
- 用于需求不明确的系统开发
- 对于分析层面难度大、技术层面难度不大的系统,适合与原型法开发
- 而对于技术层面的困难远大于其分析层面的系统。不适合用原型法
- 是否实现功能:
-
面向服务的方法
-
定义:应用构建在类和对象之上,随后发展起来的建模技术,会把相关对象按照
业务功能分组,这样一来就形成了构件的概念。跨构件的功能调用使用接口形式暴露出来。 把接口的定义与时间进行解耦,就催生了服务和面向服务(SO)的开发方法 -
各类开发方法对比: |开发方法 |主要优点|主要缺点|适用范围| |---|---|---|---| |结构化|逐层分解、逐步求精的原则,强调完整和顺序|开发周期长,难适应需求变化,很少考虑数据结构|大型复杂不适用 |面向对象|更好的复用性,缩短开发周期|必须依靠一定的OO技术,大型项目的开发上具有一定的局限性|普遍适用 |原型化|开发周期短,增加了用户满意度,利于移交和维护,成本和风险低|开发环境要求高,管理水平高。|需求不明确、技术层面难度大的不适用 |面向服务|更高的重用度,松耦合|概念导入末尾期,标准尚未统一案例和工程实践刚起步|快速响应需求与环境变化高复用性、高操作性