第八章 面向对象的系统开发方法
- 格式:docx
- 大小:15.86 KB
- 文档页数:3
第八章面向对象的设计方法本章采用基于UML的面向对象设计方法的将分析模型转换为设计模型。
如第五章所述,面向对象的分析模型主要由顶层架构图、用例与用例图、领域概念模型构成;设计模型则包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等。
为完成这一转换过程,设计人员必须处理以下任务:(1)针对分析模型中的用例,设计实现方案。
实现方案用UML交互图表示。
(2)设计技术支撑设施。
在大型软件项目中,往往需要一些技术支撑设施来帮助业务需求层面的类或子系统完成其功能。
这些设施本身并非业务需求的一部分,但却为多种业务需求的实现提供公共服务。
例如,数据的持久存储服务、安全控制服务和远程访问服务等。
在面向对象设计中,需要研究这些技术支撑设施的实现方式以及它们与业务需求层面的类及子系统之间的关系。
(3)设计用户界面。
(4)针对分析模型中的领域概念模型以及第(2)、(3)两个步骤引进的新类,完整、精确地确定每个类的属性和操作,并完整地标示类之间的关系。
此外,为了实现软件重用和强内聚、松耦合等软件设计原则,还可以对前面形成的类图进行各种微调,最终形成足以构成面向对象程序设计的基础和依据的详尽类图。
面向对象的软件设计过程如图8-1-1所示。
图8-1-1 面向对象的软件设计过程第一节设计用例实现方案UML 的交互图(顺序图、协作图)适于用例实现方案的表示。
因此,本节首先介绍交互图的语言机制,然后探讨用例实现方案的设计方法。
该设计方法包含如下3个步骤:(1)提取边界类、实体类和控制类;(2)构造交互图;(3)根据交互图精华类图。
一、顺序图顺序图用来描述对象之间动态的交互关系,着重表现对象间消息传递的时间顺序。
在顺序图中,参与交互的对象位于顶端的水平轴上,垂直轴表示时间,时间推移的方向是自上而下的。
顺序图中的对象一般以“对象名:类名”的方式标识,但也可以仅采用缩写形式“对象名”或者“:类名”。
第8章面向对象的系统开发方法【本章导读】本章将介绍面向对象的系统开发方法,供读者理解和学习面向对象系统开发过程与方法。
本章首先介绍了面向对象方法和统一建模语言基础知识;其次,介绍面向对象系统开发的过程、模型与技术;接着,结合高校公修课选课系统的例子,进行业务事件分析、建立用例模型、类图和交互图,实现面向对象的系统建模与设计。
【本章要点】●面向对象方法与统一建模语言概述●面向对象系统开发过程、模型与技术●业务事件分析原理与方法●用例建模●类图的构建●交互模型的构建面向对象方法(OOM,Object-Oriented Method)是由面向对象程序设计(OOP,Object Oriented Programming)方法发展起来的。
1967年挪威计算中心的Kisten Nygaard和Ole Johan Dahl开发了Simula67语言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,它被认为是第一个面向对象语言。
真正的面向对象程序设计还是由Alan Keyz主持设计的Smalltalk语言奠定基础的,“面向对象”词语也是在Smalltalk语言中最先提出的。
20世纪70年代初,Palo Alto研究中心的Alan Kay所在的研究小组开发出Smalltalk语言,“面向对象”词语也是在Smalltalk语言中最先提出的,,如:C+ +,Object-C,CLOS,Eiffel等。
20世纪80年代起,人们基于以往巳提出的有关信息隐蔽和抽象数据类型等概念,以及由Modula2、Ada和Smalltalk等语言所奠定的基础,再加上客观需求的推动,进行了大量的理论研究和实践探索,不同类型的面向对象语言(如:Object-C、Eiffel、Smalltalk-80、CLOS、Object-Pascal、C++、等)发展起来。
Sun Microsystems公司于1995年推出面向对象的程序设计语言Java,伴随着互联网的迅猛发展,Java逐渐成为重要的网络编程语言。
面向对象的系统开发方法
一、单项选择题
1. 面向对象技术中,对已有实例稍作修改生成新实例的机制被称为(c )。
a. 委托 b. 代理 c. 继承 d. 封装
2. UML是一种面向对象的统一建模语言。它包含若干种图,其中,用例图展示了外部actor与
系统所提供的用例之间的连接,UML中的外部actor是指( d)。
a. 人员 b. 单位 c. 人员或单位 d. 人员或外部系统
3. UML中用例可以用( c)图来描述。
a. 类 b. 状态 c. 活动 d. 协作
4. 协作图描述了协作的(a )之间的交互和链接,它画成对象图的形式。
a. 对象 b. 类 c. 用例 d. 状态
5. 在使用UML建模时,若需要描述跨越多个用例的单个对象行为,用( d)最合适。
a. 协作图 b. 序列图 c.活动图 d. 状态图
二、名词解释
1 对象
2 消息
3 类
4 面向对象
5 统一建模语言(UML)
三、问答题
1 与传统开发方法相比,面向对象的系统开发方法主要解决了哪些问题?
2 试述消息的目的及消息的运作原理。
3 试简述UML的主要内容
4 为什么面向对象系统开发过程需要如此多的图形工具来支持?
第九章答案
一、单项选择题答案
1. c 2. d 3.c 4.a 5. d
二、名词解释
1 对象是由一组数据合适驾驭这些数据上的一组操作封装而成的基本实体。
2 类是由内部状态和外部行为相似的对象构成的集合。
3 消息是对象之间的通信载体,用来请求对象执行某个处理或回答某些消息的要求。
4 面向对象=数据抽象+数据抽象类型+继承机制,既是一种认识世界的认知方法,又是一种
解决问题的思维方式。
5统一建模语言(UML)是一种可视化的建模语言,采用标准的表示方法支持面向对象的系
统开发过程。
三、问答题答案
1 解决了两大问题:首先是传统的系统模型之中除了分离的信息和功能模型,行为模型显得
越来越需要建立,而现有的工具无法检查和验证信息和功能模型联合起来的一致性和精确度。其
次是如何分析平滑地过渡到设计的问题。
2 消息是对象之间的一种通信机制,目的在于帮助一个类或对象执行责任。一个类/对象通
过消息向另一方提出执行另一方特定服务的请求并且获得反馈或者返回。
3 UML包括一些可以相互组合图表的图元素,以及组合这些元素的法规。各种图元素是UML
展示某个系统的多个视图,这些图描述了系统的组成结构及功能结构,UML还提供组织和扩展这
些图的方法。多个视图组成一个模型(model),系统的UML模型有点像建筑物按比例缩小并经
修饰后的建筑模型。从组成结构角度看,UML包括类土、对象图、用例图、顺序土、状态图、活
动图、协作图、组件图和包图等若干种图元素。
4 主要原因在于,系统开发过程中不同阶段、不同开发人员的认识不尽相同,如果没有易于
理解的表示法系统,开发过程就存在很大风险。每一种UML图都提供一种组成特殊视图的方式,
允许开发人员从多个视点考察一个系统,满足其在开发过程中不同阶段的需要。值得注意的是,
并不是每个UML模型都必须包含所有的图,大多数UML模型只包含上面所有图的子集。