410 likes | 652 Views
纲要. 面向对象开发方法. 面向对象的基本概念 经典的面向对象方法 UML Rational Rose 介绍 RUP. 面向对象的基本概念. 面向对象语言 面向对象思想的起源 1867 年的 Simula 计算机仿真语言 最早的通用面向对象语言是 20 世纪 80 年代的 Smalltalk 目前最流行的面向对象语言是 C++ , JAVA 由于 Smalltalk 、 C++ 的推出,使面向对象程序设计语言趋于成熟,从而形成了一种全新的面向对象编程( Object-Oriented Programming , OOP )的程序设计方法。. 面向对象的基本概念.
E N D
纲要 面向对象开发方法 • 面向对象的基本概念 • 经典的面向对象方法 • UML • Rational Rose介绍 • RUP
面向对象的基本概念 • 面向对象语言 • 面向对象思想的起源1867年的Simula计算机仿真语言 • 最早的通用面向对象语言是20世纪80年代的Smalltalk • 目前最流行的面向对象语言是C++,JAVA • 由于Smalltalk、C++的推出,使面向对象程序设计语言趋于成熟,从而形成了一种全新的面向对象编程(Object-Oriented Programming,OOP)的程序设计方法。
面向对象的基本概念 • 面向对象的开发方法 • 产生背景 • 信息系统开发不仅仅是程序设计,还包括系统分析,系统设计,系统运行与维护。 • OOP思路是从对象(人、地方、事情)入手,而不是像结构化方法从功能或数据入手,因此需要相应的面向对象的分析和设计方法。 • 因此20年代末期开始出现面向对象的分析(Object-Oriented Analysis,OOA)、面向对象的设计(Object-Oriented Design,OOD)等涉及系统开发其他环节的方法和技术。 • OOA,OOD,与OOP结合在一起形成了一种新的开发方法模型------面向对象(Object-Oriented,OO)方法 • 面向对象方法的优越性 • 与人类思维方式一致 • 可重用性好 • 易于维护
面向对象的基本概念 • 基本概念 • 对象(object) • 类(class) • 消息(message) • 接口(interface) • 继承性(inheritance) • 封装性(encapsulation) • 多态性(polymorphism)
经典面向对象方法 • OOA/OOD • 提出者:Coad和Yourdon • OOA • 标识对象 • 标识结构 • 标识主题 • 定义属性 • 定义方法 • OOD • 问题域部分设计 • 人机交互部分设计 • 任务管理部分设计 • 数据管理部分设计
经典面向对象方法 • OOSE(面向对象软件工程) • 提出者:I.Jacobson • 特点: • 将面向对象思想贯穿到软件工程中 • 采用用例驱动 • 能较好的描述需求,适用于商务处理方面的应用开发 • 五个模型: • 需求模型(RM) • 分析模型(AM) • 设计模型(DM) • 实现模型(IM) • 测试模型(TM)
经典面向对象方法 • 对象模型技术OMT (Object Model Technology) • 提出者:Rumbaugh • 主要思想是建立三种模型: • 描述系统结构的对象模型 • 描述系统控制结构的动态模型 • 描述系统功能的功能模型
经典面向对象方法 • Booch方法 系统开发工作分为两个过程: • 微观过程:建立开发框架 • 确定类和对象 • 确定类和对象的语义 • 确定类和对象的层次 • 规范化类和对象的关系 • 宏观过程:控制微观过程的活动 • 建立核心需要(概念化) • 建立行为模型(分析) • 创建体系结构(设计) • 细化和完善实现模型(进化) • 管理提交以后的模型(维护)
UML • 开发方法=建模语言+开发过程 • 建模语言 (Modeling Language) • 表述设计方法的表示法 • 主要是图形化的 • 开发过程 (Development Process) • 对开发中所采取步骤的指导 • 将建模语言置于特定语境(开发环境)之中
UML • UML+RUP=最佳软件开发方法
UML • 面向对象建模 • 面向对象分析与设计从建模开始,建模语言是研究重点。 • 建模语言是对建模过程的描述. • 统一建模语言(Unified Modeling Language,UML)
UML 2.0 OMG 认可, Nov 1997 UML 1.1 最后提交给 OMG, Sep‘97 第一次提交给OMG, Jan ´97 UML 1.0 UML 团体 公共 反馈 UML 0.9 Web - June ´96 Unified Method 0.8 OOPSLA ´95 OOSE 其他方法 UML UML2.0(2001) 1.3(1999),1.4(2000) Booch 方法 OMT
UML 为面向对象软件设计提供统一的、标准的、可视化的建模语言 Grady Booch Ivar Jacobson James Rumbaugh
UML • UML优势特点 • 融合了BOOCH,OMT,OOSE方法中的基本概念; • 广泛征求意见,集众家之长; • UML是标准的建模语言,而不是标准的开发过程,不同组织和不同应用领域,采取不同开发过程。 • UML作用 • 利用执行者(actor)和用例(use case)来描述系统的边界和它的主要功能 • 通过各种交互图形来描述use case的实现 • 用类图来描述系统的静态结构和特性 • 用状态转换图来描述对象的动态特性 • 通过构件图和部署图来描述系统物理特性的体系结构 • 通过自定义类型,扩展系统功能
UML 结构事物 行为事物 分组事物 注释事物 类 接口 协作 用例 活动类 构件 节点 事 物 模 型 元 素 关 系 依赖 关联 泛化 实现 UML 交互 状态机 规 则 用例图 类图 对象图 包图 协作图 状态图 活动图 顺序图 构件图 部署图 图 公 共 机 制
UML • 元素
UML • 类 • 每个类都必须有一个名字,以同其它类区分. • 可能包含路径的名称,用以表示该类存在的地方 • Business rules::Customer • (“Customer” 类存在于 “Business rules” 包中.) • 属性(Attributes) 描述一个类的实例可以拥有的一组值 • 操作是一个服务的实现,该服务可以由类的任何对象请求以影响其行为 Name Attributes Operations
UML • 关系 • 依赖关系 泛化关系 • 关联关系 汽车 订单 1 1 1 1..* 发动机 条目 组合 聚集 • 实现关系
UML • 类图(class diagram) • 展示系统中类的静态结构 • 对象图(object diagram) • 类图的一种实例化图
Customer Account Management Purchase Books Internet Customer Product Catalog Search UML • 用例图(use case diagram) • 用途 • 对系统前后关联建模 • 捕获需求,对系统需求建模
UML • 顺序图(sequence diagram) • 用途 • 按时间顺序对控制流建模,展示对象之间的动态交互关系,着重体现对象间消息传递的时间顺序。
UML • 协作图(collaboration diagram) • 用途:描述相互合作关系的对象间的交互关系和链接关系
UML • 状态图(state diagram) • 用途:描述一类对象具有的所有可能转态及转移关系
UML • 活动图(activity diagram) • 用途展示系统中的各种活动的执行次序
UML • 构件图(component diagram) • 用途 • 对源代码建模 • 对可执行体发布建模 • 对物理数据库建模 • 对可适应的系统建模 Web SystemFramework Business Facade
UML • 部署图(deployment diagram) • 用途 • 对嵌入式系统建模 • 对客户/服务器系统建模 • 对完全分布式系统建模 DataAccess Bank Server Real Estate Server Database Server Database TCP/IP Home PC TCP/IP
Rational Rose介绍 • Rational Rose • ROSE是美国Rational公司的面向对象建模工具,利用这个工具,我们可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB、Oracle等语言和系统的代码。 • ROSE的界面分为三个部分——Browser窗口、Diagram窗口和Document窗口。Browser窗口用来浏览、创建、删除和修改模型中的模型元素;Diagram窗口用来显示和创作模型的各种图;而Document窗口则是用来显示和书写各个模型元素的文档注释。 • 特点: • 支持UML模型 • 支持多种开发语言 • 代码自动生成 • 模型的集成管理 • 团队开发 • 数据库表的生成
Rational Rose介绍 工具栏 Diagram窗口 Browser窗口 Specification对话框 Document窗口 工具箱
Rational Rose介绍 • Rational Rose四层视图 • Use Case View • 定义系统的边界:关注系统的外部功能的描述 • Logical View • 定义系统的实现逻辑:为实现Use_Case图描述的功能,系统应做的处理的逻辑描述,此时的描述原则上与实现平台无关 • 描述系统的结构和接口关系,相当于逻辑电路图 • Component View • 定义系统的物理实现,生成代码。 • 相当于印刷电路板的布线图 • Deployment View • 描述系统的网络分布
Rational Rose介绍 • Use Case view图的类型包括 • 用例图 • 顺序图 • 协作图 • 活动图
Rational Rose介绍 • Logical view中图的类型包括 • 类图 • 状态图
Rational Rose介绍 • Component view的图的类型包括 • 组件图
Rational Rose介绍 • Deployment view的图的类型包括 • 配置图
Rational Rose介绍 顺序图 用例图 活动图 协作图
Rational Rose介绍 类图 状态图 部署图 组件图
RUP诞生 • RUP诞生
RUP简介 RUP的3大核心技术特点 • RUP的3大核心技术特点 • 用例(Use Case)/需求驱动的 • 以构架(Architecture)为中心的 • 迭代(Iterative)和增量的(Incremental) 开发方式
案例 面向对象开发方法 仓库管理系统的分析与设计