面向对象方法的出现和发展
面向对象方法简称OO方法,由面向对象分析OOA、面向对象设计OOD和面向对象程序设计OOP构成
面向对象相关概念
- 对象:一些属性及操作行为的封装体
- 类:一组几乎相同对象的描述
- 属性:以静态数据组成,用以描述类和对象所固有的特性
- 抽象:人们认识客观世界中复杂性的一种基本方法
- 封装:信息隐藏
- 方法:驻留在对象中的过程
- 继承:对象继承它所在类的结果
- 消息与多态:不同对象接收到同一消息可产生不同的结果也是多态的一种体现;多态使具有不同内部结构的对象可以共享相同的外部接口
面向对象方法与传统方法
面向对象方法解决了信息系统工程中两个主要问题:软件维护的复杂性和提高生产效率
面向对象方法的基本过程
- 标识和定义对象和类
- 组织类间的关系
- 在类层中构造框架
- 建立可重用的类库和应用程序框架
面向对象的系统分析设计方法
- Booch方法
该方法包括四步骤:确定对象和划分类、确定类和对象的含义、确定类和对象间的关系、说明类和对象的界面和实现 - OMT方法
该方法开发过程分三步骤:需求描述、系统设计、对象设计 - Coad/Yourdon方法
该方法系统分析分四步骤:问题领域的设计、人机接口的设计、任务管理的设计、数据管理的设计 - OOSE方法
组件思想
组件是一个可重用的软件构件,一个预先构建的封装的代码模块、与其他组件或硬编码一道很快的生成定制的应用程序
UML应用
- 信息系统,存储、加工、传送和提交信息给用户
- 技术系统,操纵和控制技术部件如电话通信、军队系统或工业过程
- 嵌入式实时系统,单个硬件嵌入到一些其他硬件中
- 分布系统,多台机器分布设置组成网
- 系统软件
- 商务系统
UML与系统开发
- 需求分析:使用Use-Case获取客户需求
- 分析:分析阶段中涉及基本抽象和问题领域中的机制
- 设计:分析结果要从技术上得到解决方案
- 编程:设计阶段获得的类变换成面向对象编程语言的程序代码
- 测试:单元测试、集成测试、系统测试和验收测试
UML基本内容
-
视图;不同角度来观察建模的系统
- 用例视图;系统外部使用者对系统的需求来描述该系统工程所应具备和完成的功能
- 逻辑视图;描述系统内实现的逻辑功能
- 组件视图;从系统实现角度描述模型对象间关系
- 配置视图;系统的物理配置
-
图表:描述视图内容的图
- 用例图;外部项目与系统提供的使用事件之间的联系
- 类图;系统的静态结构
- 对象图;系统的静态结构
- 状态图;类中对象可能具有的状态
- 顺序图;对象间的动态协作
- 协作图;对象的动态协助关系
- 活动图;系统活动的流程
- 组件图;组件代码的物理结构
- 配置图;系统中软件硬件的物理结构
-
模型元素:图表中所用概念符号
-
基本机制
- 注释:表示模型元素中无法表示的信息
- 修饰:语义加到模型元素
- 说明:增加无法正式在图中表示的元素实例的附加说明
Rational Rose可视化建模的特点
- 支持UML的建模
- 采用基于组件的开发
- 支持多语言开发
- 支持双向工程
- 全面团队支持
- 简单易用
- 提供可视化的差异比较以及合并工具
- 提供框架向导
- 提供扩展接口
- 基本报告生成
- COBRA/IDL生成
- 数据库模式生成
- 微软存储库集成
- 实现oracle 8逆向和正向工程
- 支持Forte附加项