目录
软件系统的开发方法有
- 结构化方法
- 原型法
- 面向对象方法
- 面向服务方法
1.结构化方法
1.特点
结构化方法的特点
- 面向数据流
- 用户至上
- 自顶向下,逐步分解求精
- 严格强调分区工作阶段,每个阶段有产出和成果
- 系统开发过程强调整体性和全局性
- 系统开发工程化,文档资料标准化
2.缺点
缺点是一旦开发完成,流程是固化的,如果需要修改一个小功能,那么可能工作量会很大。
2.原型法
原型法分为抛弃式原型和演化式原型。
- 抛弃式原型:重新构造系统
- 演化式原型:逐步改进和优化原型,将原型进化成最终系统
1.特点
适用于需求阶段,适合需求不明确的开发
3.面向对象方法
其思想是把事物看成对象,事物的行为看成对象的方法,对象抽象成类,然后用类与类之间的关系描述整个系统。
1.特点
- 分析,设计,实现三个阶段界限不明确
- 复用性好
2.面向对象的基本概念
- 对象:类的实体
- 类:对象的抽象,把对象的共性抽取出来,有实体类,边界类,控制类。实体类就是数据类,边界类就是与外部系统交互的类,控制类就是衔接控制其他类的类。
- 接口:特殊的类,只有定义没有实现的类
- 抽象:对象抽象成类,提取共性
- 封装:把相关的数据封装在一起,特征是不能直接操作,通过特定的接口操作,例如get,set方法操作。
- 继承与泛化:子类继承父类的特性就是继承,多个类有共性,把共性提取出来形成一个上层的类来继承,就是泛化,例如猫,狗泛化就是动物。
- 多态:做同样的操作但是表现出不同的形态。java中的重载和重写都可以实现多态。
- 模式与复用:提出模式就是为了复用,模式是方法经验的总结,是解决问题的一种套路,模式根据抽象级别,架构模式,设计模式,惯用法。
4.面向服务方法
功能服务标准化,系统有很多标准服务件组合起来。
5.结构化方法和面向对象方法的联系与区别?
联系:2种方法都是为了设计符合用户需求的软件,都使用了抽象和分解的方法,把复杂的问题分解成小问题然后求解。
区别:2者分析问题的视角不同,结构化方法是以数据为最基本的实体,着眼于处理数据的流程,基于过程考虑数据通过软件时的变化。面向对象方法是以对象为中心,数据是对象的私有属性,把对象抽象成类,然后用类与类之间的关系描述系统。
结构化方法耦合高,可复用差
面向对象方法高内聚,低耦合