文档库 最新最全的文档下载
当前位置:文档库 › 第8章 面向对象分析

第8章 面向对象分析

第8章 面向对象分析
第8章 面向对象分析

第8章面向对象分析

8.1比较面向对象的分析方法和面向数据流的分析方法,阐述它们各自的特点。

面向对象的分析方法使用用例模型来表示用户的功能需求,用例模型相当于功能模型,在对用例模型进行细化的过程中,也伴随着对功能的分解。但面向对象的分析方法并不是以功能分解为核心,在获取并分析用户的功能需求之后,重点以类和对象为核心,建立对象模型,交互模型也是围绕对象模型进行的。面向数据流的分析方法是从建立顶层数据流图(环境图)开始,之后逐层对加工进行分解。面向数据流的分析方法是以功能分解为核心的。8.2 面向对象分析需要建立的三个模型是什么?

面向对象分析需要建立的3个模型是:由用例和场景表示的功能模型(用例模型);用类和对象表示的静态模型(对象模型);由状态图和顺序图表示的动态模型(交互模型)。8.3 用例建模的主要步骤是什么?

用例建模的主要步骤如下:

(1)确定业务参与者──可以是与系统有交互的外部硬件、软件、组织、人等。

(2)确定业务需求用例──参与者需要系统提供的完整功能。

(3)创建用例图──标识参与者与用例之间、用例与用例之间的关系。

8.4 用例模型中的外部参与者(actors)指的是什么?如何确定外部参与者?

用例模型中的外部参与这指的是与系统有交互的外部硬件、软件、组织、人等。

可以通过下面的资料来确定系统的参与者:

●标识系统范围和边界的环境图;

●现有系统(如果有的话)的文档和用户手册;

●项目会议和研讨会的记录;

●现有的需求文档、工作手册等。

另外,还可以通过提出以下问题,明确系统的参与者:

●谁或者什么为系统提供输入?

●谁或者什么接收系统的输出?

●需要与其他系统连接的接口吗?

●是否存在在预定的时间自动触发的事件?

●谁将维护系统中的信息?

8.5用例与用例之间的关系主要有哪两种?其区别是什么?

用例之间的关系主要有《包含》(也称《使用》)和《扩展》。

《包含》表示一个用例所执行的功能中总是包括被包含用例的功能;《扩展》是指一个用例的执行可能需要由其他用例的功能来扩展,《扩展》联系可用于对期望或可选的行为建模,但其主要用途是使基本用例的功能不依赖于扩展用例。

8.6 对于复杂的系统,其对象模型应该由哪五个层次组成?

对于复杂的系统,对象模型应该由下述5个层次组成:主题层(也称为范畴层)、类-对象层、结构层、属性层和服务层,如图所示。

对象模型的五个层次

8.7 解释关联类的作用,在什么时候需要使用关联类?

关联类的作用是描述关联的属性。

在关联关系比较简单的情况下,关联关系的语义用关联关系的名字来概括。但在某些情

况下,需要对关联关系的语义做详细的定义、存储和访问,为此可以建立关联类(association

class)。

8.8 按照以下描述,画出UML类图:

一本教材由许多章组成,每一章包含许多节、小结和习题组成,章和节都具有标题和

序号属性。

UML类图如下:

8.9 考虑一个计算机超市,出售硬件、外设和软件。分析谁是这个系统的参与者?这个系统有哪些主要用例?画出用例图。

系统的参与者:系统管理员(administrator),售货员(salesperson),客户(customer)。

主要用例

用例图如下:

8.10 假设要开发一个学生选课系统,要求根据学生的专业班级自动将其必修课填入课表,并列出所有可选的课程供学生挑选,保证时间不冲突。为学生选课系统建立需求模型。 (1) 用例模型

参与者:数据录入人员(DataEnterPerson );教务处(AcdemicAdministration );学生(Student )。

用例图:

(2) 对象模型

主要类包括:专业/学位(Degree ),教学计划(Studyprogram ),课程(Course ),教学任务(CourseTask ),总课程表(SchoolTimetable ),学生(Student ),选课名单(StudentList ),学生课程表(CourseTimetable )。

(3) 动态模型

在选课系统中,CourseTask类的对象具有比较明显的状态特征,其状态有:初始状态、可选状态、人满状态、关闭状态。

CourseTask对象的状态图

第10章面向对象讲解

第10章面向对象分析 10.1面向对象分析的基本过程 不论采用哪种软件工程方法开发软件,需求分析的主要工作都是:理解需求、表达需求和验证需求,下面的图概括地表示了参照当前系统建立目标系统的过程。 图:参照当前系统建立目标系统 面向对象分析(Object-Oriented Analysis,简称OOA)的关键就是识别出对象与类,并分析它们之间的关系,最终建立对象模型、动态模型和功能模型。

10.1.1 概述 系统分析员要善于学习、勇于实践,更重要的是一切从实际出发。 [[注注]]“OOA 就是抽取和整理用户需求并建立问题域精精确确模模型型的过程。”(P231)——这在一开始能做到吗?——扯蛋 10.1.2 3个子模型与5个层次 面向对象建模需建立包含系统的三个要素:1)静态结构(对象模型)、2)交互次序(动态模型)、3)数据交换(功能模型)。 建立系统模型的过程是一个迭代(iterations )式的自顶向下的求精过程。对于一个大型复杂系统来说对对象象模模型型一般由下述5个层次组成:

图10.2 复杂问题的对象模型的5个层次 其中主题层是指从一个更高(高于“类”)的抽象层次来描述对象模型(即从一个相当高的层次上描述总体模型),通过划分“主题”把一个复杂系统的对象模型分解成几个不同的概念范畴。 其实上述5个层次就是OOA中建立对象模型的5项主要工作:找出类和对象,识别结构(类或对象之间的关系),识别主题、定义属性、定义服务。我们知道动态模型和功能模型中都包含了对象模型中的操作,因此人们在定义每个类中的服务前,往往先建立起动态模型和功能模型,这样说来OOA大体上可按下列顺序进行: (1)确定类和对象 (2)确定关联 (3)划分主题 (4)定义属性 (5)确定继承关系 (6)建立动态模型

UML面向对象分析与设计教程课后习题答案(胡荷芬-高斐)填空题部

UML面向对象分析与设计教程课后习题答案(胡荷芬-高斐)填空题部 填空题第一章 (1)统一建模语言UML是绘制软件蓝图的标准工具语言,可以对软件系统产品进行说明、可视化、构造和编制文档。 (2)UML在实际软件项目中,可以用于构造各种类型系统的业务模型和软件模型。 (3)软件的开发模式有瀑布模型、喷泉模型、基于构件的开发模型和XP方法。 (4)面向对象程序的三大要素是多态、封装和继承。(抽象) (5)瀑布模型的缺点是缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。 第二章 (1) 在UML中,静态视图包含有两种视图,分别是类图和对象图。 (2) 规格说明,修饰,拓展划分是UML常用的通用机制。 (3) 够造型,标记型,约束是UML常用的扩展机制。 (4) 用例视图描述了系统的参与者与系统进行交互的功能,是参与者所能观察和使用到的系统功能的模型图。 (5) 状态图是通过对象的各种状态来建立模型来描述对象的随时间变化的动态行为,并 且它是独立的对象为中心进行描述。 第三章

(1)Rational Rose默认支持的目标语言主要包括 Java、Visual Basic等。 (C++,C#) (2) 部署视图显示的是系统的实际部署情况,它是为了便于理解系统如何在一组处理解节点上的物理分布,而在分析和设计中使用的架构视图。 (3)使用Rational Rose 生成代码的步骤包括选择待转换的目标模型、检查Java语言的语法错误、设置代码生成属性、生成代码。 (4)在用例视图中包括了系统中的所有参与者、用例和用例图,必要时还可以在其中添加顺序图、协作图、活动图和类图等。 (5) 构件视图用来描述系统中的各个实现模块以及它们之间的依赖关系包含模型代码库、执行文件、运行库和其他构件等信息。 第四章 (1)对象图的目的在于描述系统中参与交互的各个对象在同一时刻是如何运行的。 (2)链是两个或多个对象之间的独立连接,是关联的实例。 (3)在UML的图形表示中,类是由名字、属性和方法三个部分组成的。 (4)依赖关系使用一个从客户指南提供者的虚箭头来进行表示。 (5)在接口中包含一系列操作但是不包含属性,并且它没有对外界可见的关联。 第五章

UML面向对象分析与设计教程课后习题标准答案(胡荷芬-高斐)简答题部分

UML面向对象分析与设计教程课后习题答案(胡荷芬-高斐)简答题部分

————————————————————————————————作者:————————————————————————————————日期:

简答题 第一章 1.面向对象设计的基本特征有哪些?这些特征对软件设计有何帮助? 封装性继承性多态性 在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码. 2.类与对象的区别是什么? 类是抽象的,不具体的。就像有些东西可以归为一类,比如说狗,猫,猪。它们都是动物,我们就可以归为一类。 而猫,狗就是动物类中的一个对象。 3.什么是软件生命周期?生命周期包括几个阶段? 软件的生命周期,亦称软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体的任务, 然后按规定顺序依次完成各阶段 的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。 分为:一般分为定义,开发,维护三大阶段, 定义阶段有可行性论证和开发计划,需求分析, 开发阶段有概要设计,详细设计和编码,维护阶段有测试,运行维护 4.面向对象与uml的关系? umL是统一建模图,用于便于描述类之间的关系等,是用来帮助你更好进行面向对象的设计。 5.面向对象设计与传统软件相比,有何优点? 更有针对性更容易让客户满意减少修改提高效率 第二章 1.uml模型元素有哪些? UML中模型元素太多了,比如用例图中的元素有用例,角色,扩展关系,包含关系,类图中的元素有类,接口,关联等等,每一种框图都有各自独有的元素 2.简述uml通用机制组成以及它的作用? 一、修饰。 在使用UML语言建模时,可以将图形修饰附加到UML图中的模型元素上。比如,当一个元素代表某种类型的时候,它的名称可以用粗体字形类显示;当同一元素表示该类型的实例时,该元素的名称用一条下划线修饰。 二、注释。 UML语言中用一条虚线将注释连接到它为之解释的或细化的元素上。 三、通用划分。 UML语言对其模型元素规定了两种类型的通用划分:型-实例(值)和接口-实现。 1、型-实例(Type-Instance):描述一个通用描述符与单个元素项之间的对应关系。实例元素使用与通用描述符相同的表示图形,但是名字的表示与通用描述符不同:实例元素名字带有下划线,而且后面还要加上冒号和通用描述符的名字。 2、接口-实现:接口声明了一个规定了服务的约定,接口的实现负责执行接口的全部语义定

UML面向对象分析与设计教程课后习题答案简答题部分

简答题 第一章 1.面向对象设计的基本特征有哪些这些特征对软件设计有何帮助 封装性继承性多态性 在由封装,继承,多态所组成的环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性的程序.经过仔细设计的类层次结构是重用代码的基础.封装能让程序员不必修改公有接口的代码即可实现程序的移植.多态能使程序员开发出简洁,易懂,易修改的代码. 2.类与对象的区别是什么 类是抽象的,不具体的。就像有些东西可以归为一类,比如说狗,猫,猪。它们都是动物,我们就可以归为一类。 而猫,狗就是动物类中的一个对象。 3.什么是软件生命周期生命周期包括几个阶段 软件的生命周期,亦称软件的生存周期。它是按开发软件的规模和复杂程度,从时间上把软件开发的整个过程(从计划开发开始到软件报废为止的整个历史阶段)进行分解,形成相对独立的几个阶段,每个阶段又分解成几个具体的任务, 然后按规定顺序依次完成各阶段 的任务并规定一套标准的文档作为各个阶段的开发成果,最后生产出高质量的软件。 分为:一般分为定义,开发,维护三大阶段, 定义阶段有可行性论证和开发计划,需求分析, 开发阶段有概要设计,详细设计和编码,维护阶段有测试,运行维护 4.面向对象与uml的关系 umL是统一建模图,用于便于描述类之间的关系等,是用来帮助你更好进行面向对象的设计。 5.面向对象设计与传统软件相比,有何优点 更有针对性更容易让客户满意减少修改提高效率 第二章 模型元素有哪些 UML中模型元素太多了,比如用例图中的元素有用例,角色,扩展关系,包含关系,类图中的元素有类,接口,关联等等,每一种框图都有各自独有的元素 2.简述uml通用机制组成以及它的作用 一、修饰。 在使用UML语言建模时,可以将图形修饰附加到UML图中的模型元素上。比如,当一个元素代表某种类型的时候,它的名称可以用粗体字形类显示;当同一元素表示该类型的实例时,该元素的名称用一条下划线修饰。 二、注释。 UML语言中用一条虚线将注释连接到它为之解释的或细化的元素上。 三、通用划分。 UML语言对其模型元素规定了两种类型的通用划分:型-实例(值)和接口-实现。 1、型-实例(Type-Instance):描述一个通用描述符与单个元素项之间的对应关系。实例元素使用与通用描述符相同的表示图形,但是名字的表示与通用描述符不同:实例元素名字带有下划线,而且后面还要加上冒号和通用描述符的名字。 2、接口-实现:接口声明了一个规定了服务的约定,接口的实现负责执行接口的全部语义定义并实现该项服务。

第10章 面向对象的分析

第10章面向对象的分析 一、填空题(30小题) 1、( )最直接地体现系统责任并实现用户需求的成分。 答案:对象的服务 2、如果在一个服务中包括了多项可独立定义的功能,则它( ),应尝试把它分解为多个服务。 答案:低内聚的 3、主动对象是至少有一个服务不需要接收消息就能( )的对象。 答案:主动执行 4、对象的服务可分为( )。 答案:外部服务和内部服务 5、对象具有封装性,实现了( )的组合。 答案:数据和操作 6、将语言规则应用到软件系统分析的处理称为( )。 答案:基于语言的信息分析(Linguistic_basedInformationAnalysis,LIA)。 7、适当是指( )。 答案:一个合格的程序员看了之后能够正确地理解其要求 8、分析员通过( )来发现和定义对象的每个服务。 答案:分析对象的行为 9、类属性的定义是( )。 答案:是描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值都是相同的 10、对象具有很强的( )能力和( )功能。 答案:表达、描述 11、( )是对整个对象的状态/行为关系的图示。 答案:状态转换图 12、( )以帮助分析对象的行为。 答案:构画出一个状态转换图 13、系统的需求包括4个不同的层次:( )、( )、( )和( )。答案:业务需求、用户需求、功能需求、非功能性需求 14、服务流程图:( )。 答案:对于功能比较复杂的服务,要给出一个服务流程图,表明该服务是怎样执行的 15、状态转换图是( )的重要工具。 答案:启发分析员认识对象服务 16、对于每个整体一部分分关系,( )中要增加一个属性来表明它的部分对象。 答案:整体对象 17、若类A继承类B,类B继承类C,则( )。 答案:A也继承了C的全部属性与服务

第10章面向对象的分析

第10xx 面向对象的分析 一、填空题( 30 小题) 1、( )最直接地体现系统责任并实现用户需求的成分。 答案:对象的服务 2、如果在一个服务中包括了多项可独立定义的功能,则它( ),应尝试把它分解为多个服务。 答案:低内聚的 3、主动对象是至少有一个服务不需要接收消息就能( )的对象。 答案:主动执行 4、对象的服务可分为( )。 答案:外部服务和内部服务 5、对象具有封装性,实现了( )的组合。 答案:数据和操作 6、将语言规则应用到软件系统分析的处理称为( )。 答案:基于语言的信息分析(Linguistic_basedInformationAnalysis,LIA。) 7、适当是指( )。 答案:一个合格的程序员看了之后能够正确地理解其要求 8、分析员通过( )来发现和定义对象的每个服务。 答案:分析对象的行为 9、类属性的定义是( )。

答案:是描述类的所有对象的共同特征的一个数据项,对于任何对象实例,它的属性值都是相同的 10、对象具有很强的( )能力和( )功能。 答案:表达、描述 11、( )是对整个对象的状态/行为关系的图示。 答案:状态转换图 12、( )以帮助分析对象的行为。 答案:构画出一个状态转换图 13、系统的需求包括 4 个不同的层次:( )、( )、 ( )和( )。 答案:业务需求、用户需求、功能需求、非功能性需求 14、服务流程图:( )。 答案:对于功能比较复杂的服务,要给出一个服务流程图,表明该服务是怎样执行的 15、状态转换图是( )的重要工具。 答案:启发分析员认识对象服务 16、对于每个整体一部分分关系,( )中要增加一个属性来表明它的部分对象。 答案:整体对象 17、若类A继承类B,类B继承类C则( )。 答案:A也继承了C的全部属性与服务 18、如果A是B的一部分,B是C的一部分,则( )。 答案:A也是C的一部分

第10章 面向对象的方法

第10章例题分析与解答 https://www.wendangku.net/doc/4113837270.html,作者:不详来源:2006年9月4日发表评论进入社区 一、填空题 1.面向对象方法认为系统是由应用域的______组成。 2.对象具有状态,描述对象的状态用它的______。 3.对象的抽象是______。 4.类之间有两种结构关系,它们是分类关系和______关系。 5.面向对象程序设计语言与其他程序设计语言的最主要差别是它具有______。 6.动态模型描述了系统的______。 二、选择题 1.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( )关系。 A.组装 B.整体成员 C.has a D.一般具体 2.面向对象分析阶段建立的三个模型中,核心的模型是( )模型。 A.功能 B.动态 C.对象 D.分析 3.对象模型的描述工具是( )。 A.状态图 B.数据流图 C.对象图 D.结构图 4.在有多重继承的类层次结构中,它的类层次结构是( )层次结构。 A.树型 B.网状型 C.环型 D.星型

5.描述类中对象的行为,反映了状态与事件关系的是( )。 A.对象图 B.状态图 C.流程图 D.结构图 6.在确定属性时,所有( )是候选的属性。 A.动词 B.名词 C.修饰性名词词组 D.词组 三、应用题 1.建立窗口系统的对象模型。问题陈述如下: 窗口分为对话窗、图形窗、滚动窗三种;对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。 2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。 答案: 一、填空题 1.对象 2.属性值 3.类 4.组装 5.继承性 6.动态行为

相关文档
相关文档 最新文档