面向对象分析与设计 侯爱民 chapter03
OOAD_Lec03_面向对象分析一3

Object Oriented Analysis & Design面向对象分析与设计Lecture_03 面向对象分析(一)⏹4、面向对象分析方法(二)分析模型法⏹通过“废品回收机”案例⏹理解边界类、实体类、控制类⏹帮助同学们掌握利用分析模型法,构建概念模型复习:面向对象分析的三种方法⏹1)Conceptual model (Larman)概念模型,又称“名词法”⏹Produce a “light” class diagram⏹2)Analysis model with stereotypes (Jacobson)分析模型⏹Boundaries, entities, control⏹3)CRC cards (Beck, Cunningham) CRC法,类/职责/协作⏹Index cards and role playing⏹A good analyst knows more than one strategy and even may mix strategies in order to identify the objects and relationships for the design phase.一个好的分析师掌握多种技术,知道如何混合使用各种技术,目标只有一个:发现对象、定义对象之间的关系。
4.1 分析模型定义⏹分析模型法Analysis model with stereotypes⏹是由Jacobson提出的⏹用于描述系统规格说明⏹一个健壮、稳定的模型,必须与实现环境无关⏹实现环境的任何变化,不会影响到系统的逻辑结构⏹分析模型能够关注到系统的信息、行为、展示(输入/出)等特性behaviourinformationpresentation4.2 特性:Behaviour -Information -Presentation The model is defined in information -behaviour -presentation space.ControlOn information –behaviour plane and incline to information axis On information –behaviour plane but incline towardsbehaviour axis On the presentation axisNewClass <<boundary>>NewClass3<<control>>NewClass2<<entity>>Entity Boundary / Interfacebehaviourinformation presentation4.4 分析模型的语义⏹An entity object models information that showsthe state of a system.This information is oftenused to record the effects of operations andtherefore is related to the behaviours of thesystem.⏹A boundary/interface object models inputs andoutputs and operations that process them.⏹A control object models functionality/operationsregarding to validate and decide whether toprocess and pass information from the interfaceobject to the entity object or the way around.4.4 分析模型的使用⏹Identifying interface objects⏹functions directly related to actors⏹Identifying entity objects⏹information used in an use case and functionsof processing the information⏹Identifying control objects⏹functions that link interface objects and entityobjects4.5 分析模型案例:废品回收机⏹Identifying interface objects⏹Printer, Customer Panel⏹Identifying entity objects⏹Long term information: Crate, Bottle, Can⏹Superclass: Deposit item⏹Short term information: Receipt basis⏹Identifying control objects⏹Deposit item receiver4.6 废品回收机:接口对象(边界类)Customer panel Receipt printerReceipt basis Deposit itemsCan Bottle CrateDeposit item receiverCustomer panel Receipt printer Receipt basis Deposit itemsCan Bottle Crate分析模型小结⏹The main task is identifying the objects ⏹Also: Relationships between objects⏹Three strategies:⏹Conceptual Model (concepts as objects)⏹CRC cards (index cards as objects)⏹Analysis Model (Stereotypes as objects)⏹Next step: Design ---→⏹“小试”设计⏹体会一下分析、设计的全过程本讲结束。
面向对象分析与设计-课程设计教学大纲

《面向对象分析与设计》课程设计大纲课程编号:4061966课程类别:必修学时:1周课程性质:实践教学学分:1适用专业:软件工程、软件工程+背景专业开课教研室:软件工程本大纲主笔人:丁琼本大纲审核人:魏永丰一、课程设计的目的和任务课设目的:为增强每位同学对软件开发工作流程的了解和掌握,培养实际组织实施软件系统分析与设计工作的能力,安排本课程设计。
课设任务:用面向对象的方法分析和设计一个系统的部分。
建立系统的用例图、类图(、顺序图、活动图和状态图,进行界面设计及数据库设计课程如果没有涉及可省略)。
要求整个工作流程,分步骤有计划组织实施,各步骤中要按作业要求的检查项目提交正式的书面文档。
二、教学基本内容本设计为面向对象分析与设计课程设计,内容应系统的功能需求、建立需求模型、系统分析、系统设计等环节。
三、教学要求具体的教学要求体现在课程设计任务书中。
本大纲只给出课程设计要求的主要步骤:(1)准备阶段:由指导教师根据设计任务编写设计任务书。
任务书一般包含课题概况、设计要求、设计任务、时间分配等内容。
设计任务书应在课程设计之前发给学生;(2)总体方案选择阶段:学生收到任务书后熟悉课题、明确设计要求及任务,查找资料,论证、确定本设计的总体方案;(3)系统的分析(4)系统的设计(根据教学内容可省略)(5)课程设计报告的书写。
本次课程设计在校内完成,主要方式是以实践设计为主。
四、学时分配本次实习安排在第5学期,共计1周。
学时分配如下:五、课程设计报告要求课程设计的报告要求有:(1)前言(包括课程设计目的及内容)(2)系统的功能需求;(3)建立需求模型;(4)系统分析;(5)系统设计;(根据课程内容调整)(6)设计体会与小结;(7)参考文献;六、成绩考核学生在课程设计中,必须每天按照设计任务书的要求按时完成设计。
在课程设计结束后写出设计报告。
设计成绩由指导设计教师根据学生的设计成果(含软件和说明书),综合学生在课程设计过程中的表现,按“优、良、中、及格、不及格”5级分制综合评定。
面向对象分析与设计

1.1软件开发过程1.2 面向对象技术面向对象(Object-oriented)技术是一种新型程序设计方法,或者说它是一种新的程序设计范型,其基本思想是使用对象、类、封装、继承、聚合、关联、消息、多态等基本概念来构造系统的软件开发方法。
它充分体现了分解、抽象、模块化、信息隐蔽等思想,可以有效地提高软件生产率、缩短软件开发时间、提高软件质量,是控制软件复杂性的有效途径。
(1)传统结构化方法与面向对象方法比较?传统的结构化方法着眼于一个信息系统需要什么样的方法和处理过程。
以过程抽象来对待系统的需求,其主要思想就是对问题进行功能分解,如果分解后得到的功能过大,那么再对这些功能进行分解,直到最后分解得到的功能能比较方便地处理和理解为止。
它从算法的角度进行建模,所有的软件都用过程或者函数作为其主要构造块,所以,具有模型脆弱、难以适应需求的变动、维护较困难等特点。
与传统的结构化方法相比,面向对象方法在描述和理解问题域时采用截然不同的方法。
其基本思想是,对问题域进行自然分割,以更接近人类思维方式建立问题域模型,从而使设计出的软件尽可能直观地描述现实世界,具有更好的可维护性,能适应用户需求的变化。
面向对象技术优点:首先,用面向对象技术开发的系统比较稳定,较小的需求变化不会导致大的系统结构的改变。
其次,用面向对象技术开发的系统易于理解。
结构化方法和面向对象方法对现实世界采用了不同的映射方法。
在结构化方法中,现实世界被映射为功能的集合;在面向对象方法中,现实世界中的实体及其相互关系被映射为对象及对象间的关系,实体之间的相互作用被映射为对象间的消息发送,以及其他类似的各种映射关系。
第三,采用面向对象技术开发的系统具有更好的适应性,能更好地适应用户需求的变化,有助于改造大型软件系统。
第四,用面向对象技术开发的系统具有更高的可靠性,有助于软件的维护与复用。
第五,面向对象技术有助于提高软件的质量和生产率。
(2)面向对象的基本原则抽象、封装、委托、分类、继承1.3 面向对象基本概念对象:对象(object)是系统中用来描述客观事物的一个实体,它是构造系统的一个基本单位。
面向对象的分析与设计课程教学大纲

面向对象的分析与设计课程教学大纲课程名称:面向对象的分析与设计英文名称:Object Oriented Analyses and Design课程编号:x学时数:48其中实验(实训)学时数:16 课外学时数:0学分数: 3.0适用专业:软件工程一、课程的性质、目的和任务本课程是为软件工程专业的专业课程。
本课程的目的是使学生理解面向对象的基本思想,熟练掌握面向对象的系统分析与设计方法中的基本概念、基本理论和基本方法,重点讲授面向对象分析(OOA)与面向对象设计(OOD)方面的概念、方法和技术。
重点培养学生进行系统分析和系统设计的能力。
本课程的主要内容包括面向对象分析与设计的基本概念和基本方法,统一建模语言基础、面向对象分析过程以及面向对象设计过程,其内容贯穿了软件开发过程中的问题定义、可行性分析、需求分析、系统分析和系统设计等开发活动的全过程,并为出各阶段的开发活动提供了模型范例和文档书写格式。
二、课程教学内容的基本要求、重点和难点第一部分面向对象方法概述1 面向对象的软件建模概述(2学时)讲授面向对象的软件建模的基本思想、主要概念及基本原则、面向对象方法的主要优点、面向对象方法的发展史及现状简介。
统一建模语言UML 简介。
重点:面向对象的软件建模的基本思想、主要概念及基本原则。
难点:面向对象概念框架。
第二部分面向对象分析2 什么是面向对象分析 (2学时)介绍面向对象分析的基本概念和基本方法,面向对象分析面临的主要问题及面向对象分析综述。
重点:对面向对象分析概念过程方法的理解。
3 建立需求模型—用例图 (4学时)讲授需求模型(用例图)的基本概念及构建方法。
这也是本课程的难点之一。
介绍需求模型的构成包括系统边界、参与者、用例、用例与参与者之间的关系、用例之间的关系、用例的获取、用例模板、用例图等。
重点:用例模型的构成和建模方法难点:用例模型的建模方法4 建立基本结构模型—类图 (4学时)讲授对象与类的概念与表示法,理解对象与类的关系及识别方法,审查、筛选、类的抽象与调整识别主动对象;类的命名,类的属性与操作;类的继承、关联、聚合、依赖和接口。
面向对象分析与设计-侯爱民-chapter03

扩展(extend)
use case之间的关 系
表示符号
<<include>> <<extend>>
3.4.4 用例的3种关系的比较
▪ 总结: ▪ 关系是模型元素之间具体的语义联系。 ▪ 关系可以分为:关联,泛化,依赖,实现
等几。
3.4.4 用例的3种关系的比较
▪ 关联关系: ▪ 关联是两个或多个类元之间的关系。 ▪ 描述了类元的实例之间的联系。 ▪ 类元是一种建模元素,常见的类元包括:
第3章 用例和用例图
▪3.1 用例 ▪3.2 参与者 ▪3.3 脚本 ▪3.4 用例间的关系 ▪3.5 用例图 ▪3.6 用例的描述 ▪3.7 寻找用例的方法
3.1 用例
▪ 画好用例图是从软件需求到最终实现的第 一步。
▪ 在UML中,用例图用于对系统、子系统、 或类的行为的可视化。
▪ 是从用户的角度来描述的软件产品外部特 性,即用户使用软件产品时所看到的操作 功能。
▪ 也就是说,基本用例是依赖于包含用例的。
3.4.2 用例间的包含关系
▪ 一般而言,把几个用例的公共步骤分离出 来,形成一个单独的用例(即为包含用 例)。
User
<<include>> ChangePersonDetails
<<include>>
ViewPersonDetails
SearchPerson
款”操作。
3.1 用例
▪ 案例——储户使用ATM机取款: ▪ 注:以下为系统的具体实现。 ▪ 1、储户(一个参与者)插入一张银行卡
(一个实体,对象,类)到ATM机中。 ▪ 2、ATM机中的软件(系统)读卡中信息
面向对象分析与设计

面向对象分析与设计本书是有关面向对象的分析和设计方法的综合论文。
这本书分为三个部分。
第一部分是基础部分,讨论了面向对象方法的基本概念和主要概念,总结了不同的分析和设计方法,并介绍了统一建模语言(UML)和本书中提出的方法。
第二部分是分析部分,详细介绍了面向对象分析的全过程。
它围绕需求模型(用例图),基本模型(类图),辅助模型(包图,序列图,活动图和其他UML模型图)和模型规范深入讨论了面向对象的分析,并给出了详细的过程指导和工程策略详细介绍了相关的UML内容。
第三部分是设计部分,介绍了如何基于面向对象的分析模型,根据具体的实现条件设计面向对象的系统,包括问题域,人机交互,控制驱动程序和数据接口的设计。
最后,它介绍了如何实施基于组件的系统部署。
面向对象的分析和设计(第3版)是UML的创始人Grady Booch 的代表作品之一。
本书中介绍的概念基于扎实的理论基础。
同时,“面向对象的分析和设计(第3版)”是一本实用的书,旨在满足软件工程从业人员(例如建筑师和软件开发人员)的实际需求。
面向对象的分析和设计(第3版)通过大量示例说明了不同领域的基本概念,方法和成功的应用程序。
本书分为两个部分:理论和应用。
在理论部分,深入分析了面向对象的分析和设计(OOAD)的概念和方法。
应用程序部分列出了不同领域中的五种不同类型的应用程序,并描述了如何从初始阶段到移交阶段将OOAD理论和方法应用于项目。
应用领域包括系统架构,数据采集,密码分析,控制系统和Web开发。
它还对重要问题提供了一些有效的建议,包括分类,实施策略和具有成本效益的项目管理。
书中的表示法采用了最新的UML 2.0,因此面向对象的分析和设计(第3版)是学习UML 2.0的一本罕见的参考书。
基于长期的丰富经验,面向对象的分析和设计(第3版)的作者提出了一种改进的对象开发方法,以解决系统和软件开发人员面临的复杂问题。
它非常适合实际系统和软件的开发人员,系统分析师,架构师和项目经理。
面向对象分析与设计(卓越计划)教案(面向对象分析与设计)2.2 课程教案

课程名称:《面向对象分析与设计》 2015-1016学年 第_一 学期 授课教师 孔磊 日期 2015 年 月 日教 学 内 容 项目分解第一次课程为导论性质课程,介绍课程基本情况和课程基本思想方法,使学生在总体上对课程有个初步认知。
具体教学内容:1.传统开发方法中存在的问题 1)在二十世纪六十年代以前:2)起于二十世纪七十年代的功能分解法:3)随着20世纪70年代软件危机的愈加严重,产生了数据流法(结构化分析法)4)二十世纪八十年代大多数公司使用信息建模方法开发软件,用实体的数据集合作为构造块,以数据结构为中心5)随着二十世纪八十年代人工智能系统的发展,产生了基于规则的系统2.面向对象的基本思想面向对象方法的解决问题的思路是从现实世界中的客观对象(如人和事物)入手,尽量运用人类的自然思维方式来构造软件系统,这与传统的结构化方法从功能入手和信息工程化方法从信息入手是不一样的。
在面向对象方法中,把一切都看成是对象。
3.面向对象中的主要概念及基本原则面向对象中的主要概念:对象、属性、操作、类、继承、聚合、关联、永久对象,对象还分为主动对象和消息,泛化分为有多态性和无多态性的。
面向对象中的基本原则:信息隐蔽或封装、消息传递、后期连接、委托、类/对象和关系等。
4.面向对象方法的发展史及现状简介 1)雏形阶段 2)完善阶段 3)繁荣阶段 4)当前的状况知识模块/授课学时面向对象方法概论/ 2学时 教学内容:课程导论面向对象方法概论 知识重点:1、面向对象的基本思想2、面向对象的主要概念3、面向对象的基本原则 教学目标:了解传统开发方法中存在的问题,掌握面向对象的基本思想,掌握面向对象的主要概念及基本原则,了解面向对象方法的发展史及现状。
教学过程:教学内容学时分配课程导论1.传统开发方法中存在的问题2.面向对象的基本思想1学时 3.面向对象中的主要概念及基本原则 4.面向对象方法的发展史及现状简介 1学时教学小结:首先介绍课程基本情况,课程学习目标,课程体系关系,然后介绍传统开发方法中存在的问题,详细讲述面向对象的基本思想,主要概念及基本原则,最后介绍面向对象方法的发展史及现状简介。
面向对象分析与设计

面向对象分析与设计第三章UML是一种建模语言,用于对软件系统制品进行规约。
可视化构造和文档化,也可以用于业务建模以及其他非软件系统的建模。
因此他只是一种建模语言,而不是一种建模方法UML用于建立系统的分析模型和设计模型,而不是用于编程UML的主题部分并不是一种形式化语言,它只是部分的采用了形式化语言的定义方式,而且也不是严格的形式化第四章抽象是面向对象方法中使用最为广泛的原则:1:系统中的对象是对现实世界中事物的抽象2:类是对象的抽象3:一般类是对特殊类的抽象4:属性是事物静态特征的抽象5:操作是事物动态特征的抽象粒度控制:人在面对一个复杂的问题时,不可能在同一时刻纵观全局,又能洞察秋毫。
因此需要控制自己的视野;考虑全局时,注重其大的组成部分;暂时不去详细考察每一部分的具体细节;考虑某个部分的细节时暂时撇开其余部分和宏观上的问题,这就是粒度控制。
行为分析:采用如下行为分析原则,以控制行为的复杂性:以对象为单位描述系统中的各种行为;通过消息描述对象之间的行为依赖关系认识行为的起因,区分主动行为和被动行为认识系统的并发行为用况图:把用况、参与者以及它们之间的关系用一些图形符号进行可视化表示,便得到用况图(use case diagram)用况图是直接描述需求的,因此它是一个需求模型模型图中表达不尽的信息,需要以文字和表格等方式做进一步描述,这就是模型规约。
OOA与OOD的关系:不同的目标、内容和抽象层次:通过OOA和OOD所得到的系统模型分别成为OOA模型和OOD 模型,它们都是对系统的抽象描述,但是属于不同的抽象层次。
OOA的主要内容是研究问题域和系统责任,运用面向对象的观点发现问题域中与系统责任有关的对象,认识对象的内部特征和各类对象之间的关系,目标是建立一个直接映射问题域,符合用户需求的OOA模型。
OOD的主要内容是以OOA为基础,针对选定的实现平台进行系统设计,目标是产生一个能够在选定的软硬件平台上实现的OOD模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 用例
用例图中的建模元素: 用例 参与者 关系 参与者之间的关系 参与者与用例的关系 用例之间的关系
3.1 用例
用例(use case)的定义: 定义1:用例是对一个活动者(actor)使用系 统的一项功能时所进行的交互过程的一个 文字描述序列。 定义2:用例是系统、子系统或类和外部的 参与者 (actor) 交互的动作序列的说明,包 括可选的动作序列和会出现异常的动作序 列。
依赖关系: 依赖是两个元素或元素集之间的关系。 被依赖的元素称为目标元素,依赖元素称 为源元素。 当目标元素改变时,源元素也要做相应的 改变。 包含关系和扩展关系都属于依赖关系。
3.4.4 用例的3种关系的比较
考虑因素: 如果需要重复处理两个或多个用例时,可 以考虑使用包含关系。 当处理正常行为的变型,而且只是偶尔描 述时,可以考虑使用泛化关系。 当描述正常行为的变型,而且希望采用更 多的控制方式时,可以在基本用例中设置 扩展点,使用扩展关系。
3.4.4 用例的3种关系的比较
3.4 用例间的关系
用例与参与者的关系:关联关系。
用例之间的关系:泛化关系,包含关系, 扩展关系。
参与者之间的关系:继承(泛化)关系。
3.4.1 用例间的泛化关系
泛化代表一般与特殊的关系,与继承关系 类似。 在泛化关系中,子用例继承了父用例的行 为和含义,也可以增加新的行为和含义, 或覆盖父用例中的行为和含义。
12、系统修改后台数据库中的储户资金表(一个 动作)。
13、完成本次取款操作。转相应的后续处理。
3.1 用例
总结:
用例描述活动者与系统交互中的对话。 例如,活动者向系统发出请求做某项数据处理, 并向系统输入初始数据。系统响应活动者的请求, 进行所要求的处理,把结果返回给活动者。 这种对话表达了活动者与系统的交互过程,它可 以用一系列的步骤来描述。这些步骤构成一个 “场景”。而“场景”的集合就是用例。
3.1 用例
用例分析实际操作:
参与者有哪些? 用例有哪些? 分析读者“借书”用例。(指具体的交互 过程)
3.1 用例
用例用一个椭圆表示。 用例名用动宾结构或主谓结构命名。 例1:在字处理程序中,“置正文为黑体” 是一个用例。
置正文为黑体 较简单的用例
创建索引 较复杂的用例
3.3 脚本
脚本指贯穿用例的一条单一路径,用来显 示用例中的某种特殊情况。 脚本是用例的实例。 脚本与用例的关系,好比对象与类的关系。 每个用例都有一系列的脚本,其中包括一 个主要脚本,以及多个次要脚本。 次要脚本描述了执行路径中的异常情况或 可选择的情况。
3.3 脚本
例4:在“订货”用例中,可能会有以下一 些脚本。 一个是订货进行顺利的脚本。 一个是相关货源不足的脚本。 一个是涉及购货者的信用卡被拒的脚本。 “订货”用例在代码实现阶段,会对应一 个流程框图。该框图会有几个分支判断, 相应地会产生几个分支路径。每个路径就 是一个脚本。
3.1 用例
静态建模机制包括: 类图,对象图,构件图,部署图。 动态建模机制包括: 用例图,顺序图,协作图,状态图,活动 图。
3.1 用例
对于功能性需求,可以用用例表示出来。 对于非功能性需求(如术语表),很难用 用例表示出来。往往采用附加补充文档的 形式。 编写需求分析,应当根据特定的需求大纲 来写。
第3章 用例和用例图
3.1 3.2 3.3 3.4 3.5 3.6 3.7 用例 参与者 脚本 用例间的关系 用例图 用例的描述 寻找用例的方法
3.1 用例
画好用例图是从软件需求到最终实现的第 一步。 在 UML中,用例图用于对系统、子系统、 或类的行为的可视化。 是从用户的角度来描述的软件产品外部特 性,即用户使用软件产品时所看到的操作 功能。 至于怎么实现的,用户不需关心,也没必 要关系。
3.1 用例
案例——储户使用ATM机取款:
5、系统将卡中信息和输入的密码到后台数 据库中进行核对(一个动作)。后台数据 库中的一张用户信息表就是一个实体类, 每个记录就是一个实例化的对象。 6、核对不成功,系统就弹出“密码输入错 误”窗口(一个边界类)。转步骤3。
3.1 用例
案例——储户使用ATM机取款:
3.1 用例
定义3:用例是对一个系统或一个应用的一 种单一的使用方式所作的描述,是关于单 个活动者在与系统对话中所执行的处理行 为的陈述序列。
定义4:用例是用来描述参与者使用系统完 成某个事件时的事情发生顺序。
3.1 用例
案例——储户使用ATM机取款: 注:以下为需求分析时获得的知识。没有 考虑将来的系统如何实现“取款”操作。 1、参与者:储户 2、用例:取款 3、用例所包含的交互过程: 3.1、读取储户输入的账户信息和密码信息。
Search PersΒιβλιοθήκη nSearch Teacher
Search Student
3.4.2 用例间的包含关系
在包含关系中,一个用例(基本用例)的 行为包含了另一个用例(包含用例)的行 为。基本用例将包含用例的行为作为自身 行为的一部分。 使用带箭头的虚线表示包含关系,从基本 用例指向包含用例。
use case之间的关 系
<<extend>>
3.4.4 用例的3种关系的比较
总结:
关系是模型元素之间具体的语义联系。 关系可以分为:关联,泛化,依赖,实现 等几种。
3.4.4 用例的3种关系的比较
关联关系:
关联是两个或多个类元之间的关系。 描述了类元的实例之间的联系。 类元是一种建模元素,常见的类元包括: 类,参与者,组件,数据类型,接口, 结点,信号,子系统,用例
Login realization Login
协作用虚线 椭圆表示
Login realization (with security)
3.2 参与者
参与者是指系统以外的、需要使用系统 或与系统交互的东西,包括人、设备、 外部系统等。
例3:在一个银行业务系统中,可能会有以 下一些参与者。
客户,管理人员,厂商,mail系统
3.1 用例
用例分析实际操作:
图书馆管理系统。 用户的需求信息如下: 读者的借书、还书、书籍预订、借阅信息 的查询。 图书馆管理员的书籍借出处理、书籍归还 处理、预订信息处理。
3.1 用例
用例分析实际操作:
系统管理员的系统维护。包括:增加、删 除、更新书目;增加、删除书籍;增加、 删除、更新读者账户信息;增加、删除、 更新图书馆管理员账户信息;书目信息查 询;书籍信息查询;借阅信息查询,读者 信息查询,图书馆管理员信息查询。
也就是说,基本用例是依赖于包含用例的。
3.4.2 用例间的包含关系
一般而言,把几个用例的公共步骤分离出 来,形成一个单独的用例(即为包含用 例)。
<<include>> ChangePersonDetails <<include>> ViewPersonDetails User <<include>> SearchPerson
3.4.3 用例间的扩展关系
扩展关系为处理异常或构建灵活系统框架提供一 种有效方法。 使用带箭头的虚线表示扩展关系,从扩展用例指 向基本用例。
Buy Merchandise
Customer
<<extend>>
<<include>>
Browse Web Site
Add Order to Warehouse System
参与者、用例间的关系类型
关系类型 关联(association) 泛化 (generalization) 包含(include) 说明 actor和use case 之间的关系 actor之间或 use case之间的关系 use case之间的关 系 表示符号
<<include>>
扩展(extend)
为以后逐层细化具体 的实现用例作铺垫
3.1 用例
例2:在一个银行业务系统中,可能会有以 下一些用例。
浏览帐户余额,列出交易内容,划拨资金, 支付帐款,登录,退出系统,编辑配置文 件,买进证券,卖出证券 这些用例,每一个都说明了银行业务系统 中的一项功能。
3.1 用例
用例特点: 从使用系统的角度描述系统中的信息,即 站在系统外部察看系统功能,而不考虑系 统内部对该功能的具体实现方式。 描述了用户提出的一些可见需求,对应一 个个具体的用户目标。 是对系统行为的动态描述,属于UML的动 态建模部分。
3.2 参与者
参与者的3种表现形式
人形图 标表示 参与者 是人 带版型标 记的类图 标表示参 与者是外 部系统 <<Actor>> Actor1
Actor1
Actor1 Icon形式
Label形式
Decoration形式
3.2 参与者
参与者之间的继承(泛化)关系
顾客(一般 化的参与者)
商业顾客 (特殊化的 参与者)
3.1 用例
案例——储户使用ATM机取款: 3.2、验证储户的身份。 3.3、不合法,则退出“取款”操作。 3.4、合法,则读取储户输入的欲取金额。 3.5、验证金额的有效性。 3.6、无效,则退出“取款”操作。 3.7、有效,则吐出等额的货币,退出“取 款”操作。
3.1 用例
3.4.4 用例的3种关系的比较
判断标准:
“is a”:泛化关系和扩展关系表示的是用 例之间的”is a”关系。 “has a”:包含关系表示的是用例之间 的”has a”关系。