第2章+类与对象图
T4_类图及对象图
类的关系——泛化
泛化的表示
表示
类的关系——泛化
例子
类的关系
下面几个模型图中,( )能够正确地表示出“一个雇员 最多有一个经理,经理可以管理多个雇员,也可以不管理 一个雇员”这样的意思
类的关系
下面对类之间关系的描述,( )是正确的。
A B C D 聚集关系中的部分只属于一个整体; 组合关系中的部分可能属于整体; 关联是表示对象之间的关系; 泛化是表示对象之间的关系。
下面说法错误的是: A B C D 泛化表示一般和特殊的关系 用例之间存在泛化关系 参与者之间存在泛化关系 参与者和用例之间存在泛化关系
回顾
下面说法错误的是: A B C D 参与者是与所建立系统交互的人或物 参与者可以是人,也可以是其他系统 参与者是系统的一部分,是用例图的重要组成部分 参与者之间存在泛化关系
类的关系——聚集和组合
计算机由CPU、内存、软盘、硬盘、显示器、键盘、鼠标 组成,用类图表示这种关系。
类的关系——聚集和组合
举出一个具有聚合关系的类图的例子。
类的关系——泛化
泛化的含义
泛化(generalization):表示事物之间的一般与特殊的关系。 也可以称为继承关系。 泛化关系除了表示类与类之间的关系之外,还可以表示参与者、 用例、包、构件、接口等建模元素之间的关系。
类的定义——类的操作
指出下面操作名的含义
+setName(String:name) +getName():String +creatbook()
类的定义——类的类型
边界类
边界类位于系统与外界的交界处,承担系统与外界的信息功能。
边界类处在用例图中,参与者与用例的关联处,可以根据用例图发现 边界类。
学生管理系统用例图、类图、对象图的绘制(UML)
参与者1--系统管理员:参与Biblioteka 2--教师:参与者3—学生:
类图与对象图的绘制
有一个学生管理系统,其中有参与者三人,分别为系统管理员、教师和学生,需求如下:
(1)系统管理员登录系统后,通过身份验证,能够对学生的基本信息进行管理,包括录入学生基本信息、修改学生基本信息、查询学生基本信息、删除学生基本信息,并且可以找回自己的密码。
(2)教师在日常管理中可以登录系统,如果忘记了自己的密码,则可以找回。可以通过系统查询、修改和删除学生的考试成绩。当考试结束后,教师有权将学生成绩录入系统。
类图与对象图习题
2
大量名纳%义税以对人上万外游以元经纳离大挂,营税于家靠2,人查征0共经1并单询管5着同营年向位分范这探为1报被2-析围一87讨主告挂流月户、之系。, 靠域实,下外列 挂人综现小户。问 靠交上合税规原调以题一人通缴治款模则查X对、(运道管X理2企.走X.2.县X车输护理6实业X等 体1访X万0为辆县业岸费施2(县级 布师合的元2全例所对是工。户方三交: 置专治方;部,有交国是程 ,案)通X与业理法我为截人通X民学. 客设监运、措.论的。.县准道至)输经9校1运计测输教施文(一任并、交考路2,运济实3范业育设0五、务对纳通户工证作对1将业的现围税以计5)高目调税业,种号者年国车税传社与收及.林提校标查.人主货:.6内辆收统会7月时征为研草出行与的户要运X(培的登政行功底段管衡究X措教了政规情数以运一训一记策业时能,.基量。.施学现管模况题增自输).单念些在执,间的1共本一高设目在理.进加1主4设位.也高被.行浅实(:前6有情所校6计标一的行:,户经计:在校(挂情谈施四X提登况高在.活些基一以但。营原.X发的一.靠况新营)。记 校实9X摘把动高本般X远据和则生行四)人和形改监鉴自的X 是现要思,校概性低统挂.针着政、治.(X征式增测定2.交X否教:想配行念分1于7计靠河、巨管水理货X管级下后世(内单通治具学小和合政析地,经为县政大理土任运情领高,纪二容位一输理备和流行高管内,税2营例共策的具保务企况导校如以)0方:、运论竞科域教动校理容提1移为浅有,变有持.业4开安行何后总法X.强业学争研.年综育统的 出交主谈交6X这提化一监)展排政加,体与化纳(习力两交日…活一学弊 加前,小通两高,定测名了,各管强随布频理税二,的项通期…动到生端国强移我流运个政大的.下专扎项理交着局.次论人).帮全一重运:县、全更,外税交分域输1中治学借,题实任的通社.能0X治.助面个要输X.交两军好并知收的局综企(心敏校鉴以X8调1工务创运会X力理下武重职6(企1通项和地在名征户管合业一任锐园意-被研作的新输履2提目,装要能目三业运重公完以教管数理,治04)务性的义挂以。作,同路业飞职19高标在自指是 )现输大安成上育工,4户企理监,和陈。靠X调为严时径的速、。,.我全己标建 帮工税.行教现基学作,X业实.测内鉴旧 人研一格, 税发…我6始队的。立县录助程款业政育役学础家的(其9施目抓别的 主名按不 收展…大0终官头本在X一工措3税治等部目之乌建三中方的、管能行关7要消照断摘管X,中量坚兵脑论行、3作施收上一队标申议)一案.河实理力政键.采建防部提要理我队阅.持的,文政项实设征的系政。,斯1建般设为践、。管词取设监队高 ?国政0读讲学共提,管目践计管坚列治新着基与(设计例执外在理:数、督的自 笔高治和话习同高对理区 .情任定工形重提二规.浅法树改模高.据坚执条身随者校指学精者努党高的8概姓 况期性作式阐出)模谈为形革式校(持法令政着带的导习神强力性校基况名通调情以和。会下述学监.小民象强已行四.全干条治社教员.了,下修行础.:过研况来思下议,了校6测.节、,警经政).面部例觉会三育2公3加积学,养政之X任),想面上高要0看二。坚扎和很管河1协,和悟的、事X安工极习我,管上职6障我上是来校有,、身持实两难理年调只各,不总业现部环参者以进理,以四通的我,行三养小份严开学管;述可有项自断也将1节加胜对一的也畜来个过纯任深政要1殖流证格展一理创职持自规觉发9在本看讲的工步基就牧的方认洁职刻管素、成域号执、做好新报续身章学展发人,党观作坚本说业学面真性以领理,1个本综:法部两当路告2发业制习和生任产性念高定概行习0看学。来会的即指高X的队项今径、展务度政进…期 3品、,度理念政值锻X,习 的质创行标8,重正快;规1、知管治步…以0 加守把负想进管2的炼仍党 主总量新政之0人要规大节举1模建构识理,来2工党加责信行理号1和然的二要书路管头一自才意化教奏措8设建水和论人的粗规强的念简令.工存十、记高径理,6;任技义建育的 、全社平约,们%履放、学精,单以作…在八强系低和同全中术,设中校 。产们省会过束认的职,严习神进概及实肉困大化,列举比县队不坚、的园 业养肉主硬部真生情我缺党,一述新.践牛难、学特讲已增牛3指足持精所师 化育牛义,队贯活况吨知乏纪强团…,发,期产和全习向话经长存导。执细学生虽为之养和才,彻方述识品反化结…布我曾业问军,各精成3栏员 的法化、日然方恩殖谐能紧执式0职占、牌腐素和实尽.经情题和提位神6以开5各为管所常X向发的基社适紧行和如6全4教带倡质施职教况,公高领5X%来发位民理得,言:地会应围党观4下县期的给动廉作领尽,5过调主安自导通,区老、工推头,一县的当绕:肉以肉我;教为中《责达的我查要现身汇过在消师服作所动,为是的深前灭路 类来牛做从育长队建的到问与表役知报政支防,务获肉同我父目刻消火线 产关养人市等期支筑完了候老思现部识如队大我人三,牛比们母标内防救、一量心殖尊的场活坚部设成省和师考在队储下和队代的民严生增个上,涵工援方、的支呈敬道环动持一计了级崇, :政备大表心的三产长无了父把,作和加1持现的理节,班防上肉生高脑 从治和3队市中思实持3愧生母发更的执.强我5出各,看使一人火4牛观的海养工 党长%务委充想专.续于动给展加需勤政市3蓬位让,我项务规基、敬中殖作,%委述近的、满得题发真党的了肉清要训治教勃老我市深工实范;地价意浮环会能出的职年思市感到展学、一我牛醒,练育的师在受场刻作求》肉县值!现节议力栏领述来想人慨进。习无课们产地才事发,实益范认来真G牛“,观向出看精 肉导廉,大一 党…,生业认能B展同际无围识抓出要提,今他神 牛报5X学端、思步 纪…听命作识更坚发0势志工穷较到。栏X求高坚天们发和任产0告一正市绪提积一政市后和为到好定展1县头们作。窄加我3肉自持受熟展习期值 做思政又高4极、纪2很血调强的正立,:中人强深9牛0身人到悉方
电子商务系统分析与设计第二章课后习题
第2章统一建模语言(UML)一、单选1.UML是一种对软件密集型系统的制品进行可视化、详述、构造及()的语言。
A.需求化B.模型化C.简单化D.文档化2.协作包括结构部分和()部分。
A.过程 B.接口 C.行为 D.交互3.接口的符号有()种表示方式。
A.4B.3C.2D.14.事件的种类中有消息、调用、时间推移和()。
A.初态B.终态C.状态D.状态改变5.下列()不属于结构元素。
A.类 B.组件 C.接口 D.包6.()是软件需求分析到最终实现的第一步。
A.类图 B.对象图 C.用例图 D.顺序图7.下列属于交互作用图的组成元素是()。
A.对象 B.协作 C.接口 D.用联8.下列关系是UML的关系为()。
A.关联关系 B.扩充关系 C.包含关系 D.补充关系9.顺序图的垂直轴表示()。
A.对象 B.时间 C.消息 D.类10.()是一个流图,描述了从活动到活动的流。
A.顺序图 B.协作图 C.活动图 D.状态图二、多选1.下列属于UML中的视图有()。
A.用例视图B.设计视图C.过程视图D.行为视图2.下列不属于UML的结构元素的有()。
A.类 B.包 C.注释 D.节点3.接口可以参与()关系。
A.类属B.关联C.依赖D.实现4.UML的词汇表由()构成。
A.元素B.关系C.图D.文档5.UML的行为元素包括()。
A.主动类 B.协作 C.状态机 D.交互6.用例图由()组成。
A.参与者 B.参与者的关系 C.用例 D.用例间的关系7.下列哪些属于类元()。
A.数据类型 B.接口 C.信号 D.节点8.类的类型有很多种,具体包括()。
A.主动类 B.实体类 C.边界类 D.控制类9.交互图可以分为()几种。
A.活动图 B.顺序图 C.配置图 D.协作图10.活动图的应用表现在以下哪些方面()。
A.对系统的上下文建模 B.对简单的协作建模 C.对工作流建模 D.对操作过程建模三、判断1.UML是可视化的编程语言。
2统一建模语言UML
出现的方式
多态性
(section 2.3.2)
capturing use of single action word to represent different things,
depending on context根据上下文,捕获单一行为词表示的不同内 容
Adapted from Software Design: From Programming to Architecture by Eric J. Braude (Wiley 2003), with permission.
图
2.1面向对象开发方法
面向对象的目标: 为实现现实世界和设计中的结构单元间提供直接映射。 基本概念: 类,对象,聚集,消息,客户 面向对象方法的优势: 面向对象的特点:继承,多态,接口,封装 简化开发过程 支持软件复用 改善软件结构
面和向对象以前
Real world concepts
第二章 统一建模语言UML
主要内容
面向对象的设计开发方法 面向对象的目标 面向对象的概念 面向对象的特点 面向对象方法的优势
UML概述
UML的产生发展 UML的基本组成
UML建机制
UML静态建模 类图,对象图,包图,构件图,组合结构图,部署图 UML动态建模 活动图,顺序图,通信图,交互图,时序图,状态图,用例
继承
相对于结构化编程中 的模块重用,面向对 象中的继承体系显得 更灵活,对代码的控 制手段更多,从而推 动了代码复用的程度, 但却加大了学习掌握 的难度。
电子邮件创建示例的需求 Page 1 of 4
1. 概要: Produces e-mail text for various types of customers.给不同类型的用户撰写 电子邮件
UML第二章作业答案
1.UML如何表示类?类图标中可以指明哪些信息?类是描述一类对象的特征和行为,类图包含一组、接口及他们之间的关联、依赖和泛化的关系。
它不仅显示了信息的结构,同时还描述了系统对象的的行为。
2.什么是类的多重性(关联的基数)?多重性怎么表示?多重性是对象之间关联的一个重要方面,它说明了在关联中的一个类的对象可以对应另一个类的多个对象。
主要包含一组上下限数,用来指出可被允许生成的实例(instance)数量,即最多可以生成多少数目(上限),最少不得低于多少数目(下限)。
关联的两端以"下限..上限"的格式标示出多重性,如图2-12中的1..*。
星号(*)代表无指定上限,下限最低为0。
如果上下限数相同,标示出一个数目就可以了3.两者对象之间能够以多种方式关联吗?关联两边的"employee"和“employer”标示了两者之间的关系,而数字表示两者的关系的限制,是关联两者之间的多重性。
通常有“*”(表示所有,不限),“1”(表示有且仅有一个),“0...”(表示0个或者多个),“0,1”(表示0个或者一个),“n...m”(表示n到m个都可以),“m...*”(表示至少m个)。
在关联中有一种叫“限定关联”,还有一种谓之自身关联。
另外,对象之间的关联就没那么复杂,只是将类的关联实例化而已4.什么是约束?为什么要对类图附加注释?约束用来约束MUL成员的语义。
约束用举例在大括号内的条件来表示({contrraint}),可以直接放在图中,类图除了在设计新系统方面的用途外,它们还能用来记录一个存在系统(称它为“遗产”)的对象现在如何交互5.聚集和组成之间有什么区别?聚合关系完全是概念上的,只是区分了整体与组成部分,没有改变整体与其组成部分之间的关联导航的含义,也没有将整体与部分的生命周期联系起来。
而组合是聚合的变种,整体与部分之间有很强的所有关系,也就是说,在组合关系中,一个对象一次只是一个组合的一部分,而在简单的聚合关系中,一个部分可以被好几个整体共享。
UML中数据流图,用例图,类图,对象图,角色图,活动图,序列图详细讲述保存供参考
UML中数据流图,⽤例图,类图,对象图,⾓⾊图,活动图,序列图详细讲述保存供参考这个⽂章,是我在急需的情况下在园⼦⾥搜索到的,原创作者是:DO-websoftware,为了⾃⼰看⽅便,所以复制到我的空间,希望原创者不要介意哦~~~~很详细的介绍,对我的帮助很⼤,谢谢哦。
类图,对象图,⾓⾊图:⼀、UML中基本的图范畴:在 UML 2 中有⼆种基本的图范畴:结构图和⾏为图。
每个 UML 图都属于这⼆个图范畴。
结构图的⽬的是显⽰建模系统的静态结构。
它们包括类,组件和(或)对象图。
另⼀⽅⾯,⾏为图显⽰系统中的对象的动态⾏为,包括如对象的⽅法,协作和活动之类的内容。
⾏为图的实例是活动图,⽤例图和序列图。
⼆、UML中的类图:1.类图的表⽰:类的 UML 表⽰是⼀个长⽅形,垂直地分为三个区,如图 1 所⽰。
顶部区域显⽰类的名字。
中间的区域列出类的属性。
底部的区域列出类的操作。
在⼀个类图上画⼀个类元素时,你必须要有顶端的区域,下⾯的⼆个区域是可选择的(当图描述仅仅⽤于显⽰分类器间关系的⾼层细节时,下⾯的两个区域是不必要的)。
描述:顶部区域显⽰类的名字。
中间的区域列出类的属性。
底部的区域列出类的操作。
当在⼀个类图上画⼀个类元素时,你必须要有顶端的区域,下⾯的⼆个区域是可选择的(当图描述仅仅⽤于显⽰分类器间关系的⾼层细节时,下⾯的两个区域是不必要的)。
·类名:如果是抽象类,则采⽤斜体·类属性列表:name : attribute type 如 flightNumber : Integer,这是最常见的表达形式name : attribute type = default value 如 balance : Dollars = 0,这是带有默认值的表达形式·类⽅法列表:name(parameter list) : type of value returned注意:在业务类图中,属性类型通常与单位相符,这对于图的可能读者是有意义的(例如,分钟,美元,等等)。
UML基础与Rose建模实用教程课后习题及答案(无第四章)
UML基础与Rose建模实用教程课后习题及答案第1章面向对象概述1. 填空题(1)软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。
(2)类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。
(3)面向对象程序的基本特征是抽象、封装、继承和多态。
2. 选择题(1)可以认为对象是ABC。
(A)某种可被人感知的事物(B)思维、感觉或动作所能作用的物质(C)思维、感觉或动作所能作用的精神体(D)不能被思维、感觉或动作作用的精神体(2)类的定义要包含以下的要素ABD。
(A)类的属性(B)类所要执行的操作(C)类的编号(D)属性的类型(3)面向对象程序的基本特征不包括B。
(A)封装(B)多样性(C)抽象(D)继承(4)下列关于类与对象的关系的说法不正确的是A。
(A)有些对象是不能被抽象成类的(B)类给出了属于该类的全部对象的抽象定义(C)类是对象集合的再抽象(D)类用来在内存中开辟一个数据区,并存储新对象的属性3. 简答题(1)什么是对象?试着列举三个现实中的例子。
对象是某种可被人感知的事物,也可是思维\感觉或动作所能作用的物质或精神体,例如桌子.椅子.汽车等。
(2)什么是抽象?抽象是对现实世界信息的简化。
能够通过抽象将需要的事物进行简化、将事物特征进行概括、将抽象模型组织为层次结构、使软件重用得以保证。
(3)什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。
封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。
对象的私有属性只能够由对象的行为来修改和读取。
二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。
通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、当类的私有方法必须修改时,限制了在整个应用程序内的影响。
UML基础与Rose建模实用教程(第三版)
第11 章包图
1 1 .5 本章小结
习题十 一
习题十一
1. 填空题 2. 选择题 3. 简答题 4. 练习题
第12 章构件图与部署图
1 2 .1 构件图与部署 图的基本概念
1 2 .2 使用R o s e 创建 构件图与部署图
1 2 .3 本章小结
习题十 二
12.1构件图与部署图的基本概念
1. 构件 2. 构件图的基本概念 3. 部署图的基本概念
1.填空题
2. 选择题 3. 简答题 4. 练习题
第9 章状态图
9 .1 状态图的
1
基本概念
2
9 .2 状态图的 组成
3
9 .3 组成状态
4 9 .4 使用R o s e
创建状态图
5 9 .5 使用R o s e
创建状态图示 例
第9 章状态图
9 .6 本章小结
习题 九
9.1状态图的基本概念
1. 状态图的定义 2. 状态图的作用
7.5使用Rose创建序列图示例
1. 确定工作流程 2. 确定对象 3. 确定消息和条件 4. 绘制序列图总图
习 4. 练习题
第8 章协作图
8.2协作图的组成
8.1协作图的基本 概念
8.3使用Rose创建 协作图
第8 章协作图
8.5本章小结
8.4使用Rose创建 协作图示例
习题八
8.1协作图的基本概念
1. 协作图的定义 2. 协作图的作用
8.2协作图的组成
1. 对象 2. 消息 3. 链
8.3使用Rose创建协作图
1. 创建对象 2. 创建消息 3. 创建链
8.4使用Rose创建协作图示例
电子商务课后习题答案
第一章:一、企业商务活动的基本特征?a)从事商品交换的活动。
b)涉及商品的交换、买卖和再分配,包含商品物理上的位移过程。
二、电子商务与传统的EDP、MIS、DSS有什么异同?a)电子商务系统是在网络基础上,利用现代IT 支持企业电子商务活动的计算机信息系统。
b)EDP主要涉及到与企业生产相关的事务;c)MIS 主要服务于企业的管理层面,它在EDP之上通过生产数据的收集、转换和加工,成企业的信息管理、统计、分析、控制,辅助企业的管理活动;d)DSS 主要针对企业决策过程中面临的一些半结构化或者非结构化的问题,利用现代数学、管理科学和信息科学的技术方法,通过推理、模拟等手段,在不完备或者不确定的条件下,对最终面对的决策问题提供决策的参考依据。
三、电子商务系统的发展过程分哪个阶段?各有什么特点?第一阶段:电子商务系统的酝酿阶段(20世纪60 年代~20世纪90 年代)特点:企业全面利用现代信息技术,建立企业内部的生产及管理系统。
第二阶段:电子商务系统的雏形阶段(1991 年~1996 年)特点:a.本阶段的信息系统一般都是基于WWW服务器进行开发。
b.企业还是主要将Internet和Web地位与一个新的商务活动空间。
c.系统结构比较简单第三阶段:电子商务系统的发展阶段(1997 年~现在)特点:a系统与企业内部的信息系统形成一个整体。
B电子商务系统的逻辑结构呈现出清晰的层次结构。
cCA 中心、支付网关的建立使在线交易具备了安全的环境。
四、电子商务系统的生命周期具有哪些特点?a)电子商务系统作为一类信息系统,其生命周期也包括系统规划、系统分析、系统设计、系统实施、运行维护管理与评估这样几个阶段。
b)电子商务系统的生命周期有一个重要的特点,即系统的规划阶段非常重要,这一阶段要在战略层次考虑到企业的商务模式如何变化。
五、电子商务系统有哪些开发方式?各有什么特点?自主开发:电子商务系统由企业内部自有的信息主管部门或者技术人员为主建造。
第章面向对象分析与设计类图和对象图
学校工作总结本学期,我校工作在全体师生的大力支持下,按照学校工作计划及行事历工作安排,紧紧围绕提高教育教学质量的工作思路,不断强化学校内部管理,着力推进教师队伍建设,进一步提高学校办学水平,提升学校办学品位,取得了显著的成绩。
现将我校一学期来的工作总结如下:一、德育工作本学期我校德育工作围绕学校工作中心,精心安排了“文明守纪”、“良好习惯养成”、“光辉的旗帜”、“争先创优”等主题教育月活动,从培养学生的行为规范,狠抓养成教育入手,注重务实,探索途径,加强针对性、实效性和全面性,真正把德育工作落到实处。
1.强化学生养成教育,培养学生良好习惯。
本学期,我校德育工作十分注重学生的常规管理,尤其重视对学生的养成教育。
一是利用班队会、红领巾广播站、国旗下演讲对学生进行品德熏陶。
二是以文明监督岗为阵地,继续强化了“文明班集体”的创建评比活动,通过卫生、纪律、两操等各项常规的评比,增强了学生的竞争意识,同时也规范了学生的行为。
三是继续加大值周检查的力度,要求值周领导、教师、学生按时到岗,在校门口检查、督促学生有秩序出入校园,从而使学生的行为规范时时有人抓,处处有人管,形成了良好的局面。
2.抓好班主任队伍建设,营造全员育人氛围。
班主任是学校德育工作最重要的力量,为了抓好班主任队伍建设,提高班主任素质水平,学校在第十二周组织开展了班主任工作讲座,在学期末举行了班主任工作交流,在活动中探索行之有效的工作方法,总结经验,交流心得,使班级管理工作更上新台阶。
3.充分发挥主题班队会的教育功能。
主题班队会,是对学生进行德育教育的一种特殊而卓见成效的方式之一。
为了充分发挥主题班队会的教育意义,第十三周,四(3)中队举行了“祖国美,家乡好”主题队会观摩活动,有效规范了我校主题中队会程序,强化了主题队会对学生的思想教育作用。
二、学校管理工作1.建立健全规章制度。
学期初,学校制定了出明确的目标计划及管理措施,做到了目标明确、工作具体,有效地增强了全体教师参与学校管理的主人翁意识,充分调动了全体教师的工作积极性,保障了教育教学工作的顺利开展。
UML各章习题
UML各章习题第1、2章面向对象与UML1.简述统一建模语言(UML)统一建模语言(UML)是一种绘制软件蓝图的标准语言。
可以用UML对密集型软件系统的制品进行可视化详述和文档化。
UML是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言(1分)。
它融入了软件工程领域的新思想、新方法和新技术。
它的作用域不限于支持面向对象的分析与设计(1分),还支持从需求分析开始的软件开发的全过程(1分)。
UML的作用是用图的形式从静态和动态方面来全面描述将要开发的系统(2分)。
2. 简述面向对象分析方法(OOA)的5个基本步骤 1)、识别对象,识别对象包括标识潜在的对象和筛选对象两步(1分) 2)、识别对象的属性(1分) 3)、识别对象的行为(1分) 4)、识别对象所属的类(1分) 5)、定义主题词(1分)3、什么是高内聚度?高内聚度是对一个类中的各个职责之间相关程度和集中程度的度量。
一个具有高度相关职责的类并且这个类所能完成的工作量不是特别巨大,那么它就具有高内聚度。
包括两个含义:一、不要给一个类分派太多的职责,在履行职责时尽量将部分职责分派给有能力完成的其它类去完成。
二、不相关的职责不要分派给同一个类。
4、什么是对象间的可见性?答:可见性(Visibility)指的是一个对象能够“看到” 或者引用另一个对象的能力。
5、领域建模的步骤有哪些?答案:列出候选的概念类;画出领域模型图;加入概念类间的关联;加入概念类的属性。
6、什么是软件生命周期?软件生命周期(SDLC,Systems Development Life Cycle)是软件的产生直到报废或停止使用的生命周期,周期内包括问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级到废弃等阶段。
这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量。
类图和对象图
应用系统根据关键字对数据集作查询,常用到受限关联。引 入限定符的一个目的就是把多重性从n降到1或0..1,则查询 结果是单个对象,效率高。 如果引入限定符后,另一端的多重性仍为n,则意义不大。
关联
关联的种类 (1) 自返关联 (2) 二元关联 (3) N元关联
+display(): Location +hide() #create() -attachXWindow(xwing: XwindowPtr)
类之间的关系
常见的类之间的关系包括: 关联、聚集、组合、泛化、 依赖、实现.
关联
关联(association)表示类与类之间的关系
链(link)表示的是对象与对象之间的关系,链是关联的实例。 一个关联可以有两个或多个关联端(association end),每个关 联端连接到一个类。 关联可以是单向的uni-directional 或 双向的bi-directional
0..n
关联
关联角色的多重性(multiplicity)
多重性表示可以有多少个对象参与该关联 非负整数的子集表示 0 表示没有实例的关联,一般不用 0..1 0..n
一个教师可开设1到3门课程,一门课程可以有1到多个教师
1 即1..1
3..6 1..n
teacher的 多重性 course的 多重性
关联
关联名
关联名
Company
Employ
Person
用于明确表达关联的含义。客户?雇员?老板? 可有可无 动词短语 斜体
导航性(方向性)
从一个类(对象)可以访问到另一个,反过来却不行,
UML类图对象图两者之间的异同
隐藏属性部分或操作部分,并不代表没有 属性或操作,只是因为没有显示出来。
Titles
1、名称(Name)
类的名称是每个类中所必须有的元素,用 于同其他类相区分。类的名称应该尽可能 的明确,以免造成歧义。
认为符号*表示“无穷大” 一个其下界和上界都是相同数字的范围可以简写为一个
数字,例如数字范围1..1可用单个数字1来表示
可用一个由数字范围和单个数字组成的列表来表示多 重性。例如0, 3..*表示一个给定的实体是可选的、 但如果发生就必须至少发生三次以上
Person *
1 C om pany
W orksfor
类图
类图(Class Diagram)是描述类、接口以及 它们之间关系的图,用来显示系统中各个类 的静态结构。
虽然一个类图仅仅显示的是系统中的类,但 是存在一个变量,确定了显示各个类的真实 对象实例的位置,就是对象图。
类图包含三个元素:类、接口、类与类之间 的关系。
一、类
类是面向对象系统组织结构的核心。是对一 组具有相同属性、操作、关系和语义的对象 的描述。
(2)属性名
根据定义,类的属性首先是类的一部分,而 且每个属性都必须有一个名字以区别于类中 的其他属性。通常情况下属性名由描述所属 类的特性的名词或名词短语组成。按照UML 的约定,单字属性名要小写。如果属性名包 含了多个单词,这些单词要合并,且除了第 一个单词外其余单词的首字母要大写。
(3)类型
防止漏掉取值或被非法的值破坏系统的完整 性;为用户提供易用性。
(5)属性字符串 用来指定关于属性的其他信息,任何希望添
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
组合
◆ 组合是聚合的一种特殊形态,表征整体侧类的对象强烈拥有部分侧类 的对象。
■ 整体侧类的实例的生命周期和部分侧类的实例的生命周期基本一致。 整体侧对象生成,部分侧对象也随即生成;整体侧对象消失,部分侧对象也随即消 失。 ■ 组合关系用实心菱形框来表示。 ■ 组合关系的两端也可指明多重度关系,与聚合关系不同的是,组合关系的整体侧的 多重度一定为1。
逮捕记录 -逮捕年月日 警察 * * 罪犯1ຫໍສະໝຸດ .*0..*实现 阶段
逮捕记录 -逮捕年月日 * 0..* 警察 1
*1..*
1
罪犯
• 关联本身也有特性,通过关联类(association class)可以进一步描述关联的属性、操作,以 及其它信息。关联类通过一条虚线与关联连接。 • 例:关联类的例子。
图形 {abstract}
+画图()
圆 -半径 +求半径()
多边形
-半径
圆 +求半径()
多边形
聚合
◆ 表示两个类之间的整体与部分(part-of)的关系。
■ 用空心菱形框来连接。 ■ 两个类之间首先要具有关联关系,其次还要具有整体与部分的关系。 ■ 在聚合关系的两端也可加上多重度关系。
商品清单
商品
人 +取得名字() : string -设定名字(in 名字 : string = “OO ”) : void
+取得名字() -设定名字()
人
可视性
◆ 一个类的属性或者操作,能不能被其他类进行访问,称为可视性。在 类图中可为类的属性和操作指定其可视性。 ◆ UML规定了4种可视性:
■ 【+】(public)……所有的类都可以访问 ■ 【-】(private) ……只有自己可以访问 ■ 【#】(protected) ……只有自己及其子类可以访问 ■ 【~】(package) ……只有自己和同一包内的类可以访问
◆ 正确表示类之间的关系,才能正确表示系统的结构模型 。 ◆ 类之间常见的关系有以下几种
■ ■ ■ ■ 关联 依赖 (实现) 聚合,组合 泛化
关联
◆ 关联表示的是类之间的一种相对永久的结构性关系。 ◆ 用实线来连接两个有关联关系的类 。实线两端的类称为关联端。 ◆ 类之间的关联还包含如下要素:
■ ■ ■ ■ 关联名 关联端名 多重度 关联方向
角色 类
类A -属性名 +操作名() * 1 -角色A -角色B 类B -属性名 +操作名()
关联 泛化 多重度
聚合
类C -属性名 +操作名()
类D -属性名 +操作名()
类的表示方法
◆ 类是用划分为3个区域的矩形框来表示的。
- 上面的区域:类名 - 中间的区域:属性 每行一个,该区域可省略。省略并不代表没有。 - 下面的区域:操作 每行一个,该区域可省略。省略并不代表没有。
向每个对象发送消 息进行调用
出租车 -定员 : int = 4 -驾驶员姓名 +创建() +分配车辆()
创建
调用方
生成实例对象
类之间的关系
◆ 类除了具有属性和操作之外,类之间还具有一定的关系。
- 系统行为是通过类的实例对象之间的协调动作来是实现的。为了实现对象之间的协 调动作,类之间就需要一定的关系。
public class Contract { private Double salary; }
//Source file: F:\\code\\Person.java
public class Person { private String personName; protected Company employer; }
类A -属性 +操作() 属 性 继 承 类C 操 作 继 承
类B
图形 +画图()
颜色
关系 继承
圆 -半径 +求半径()
多边形
抽象类
◆ 只表示概念的定义,总结子类的共通特性,不能生成实例对象的类。
■ 必须具有子类。 ■ 类名用斜体字来表示。也可以用在类名下用特性{abstact}来标识。
图形
+画图()
第2章 类图和对象图 (Class diagram & Object diagram)
学习目标
◆ 学习完本章节,要求达到以下状态:
- 能够说明类图和对象图的区别 - 能够说明类图和对象图的表示方法和使用方法 - 能够看懂类图,并理解类和类之间的各种关系 - 能够说明各个类在系统中所承担的不同角色 - 能够理解接口类,抽象类的概念 - 能够借助于对象图来理解类图中类之间的多重度关系
员工列表 1 1..* 员工 -员工ID
录像带 1 1..* 电视节目 -时间 -频道
员工列表
员工ID 1 1
员工
录像带
时间 频道 1 1
电视节目 -时间 -频道
-员工ID
关联方向
◆ 在设计阶段,可以根据需要明确关联的方向性
■ 关联的两个类互相之间都会去向对方发送消息的情况下,称为双向关联。 关联端两端都要用箭头明示。
类名 类名 属性名 操作名 -属性1 -属性2 +操作1() +操做2()
◆ 表示类有以下几种方法:
●显示属性和操作 的区域 ●不显示操作 的区域 ●不显示属性 的区域 ●不显示属性和操作 的区域
类名 -属性1 -属性2 +操作1() +操做2()
类名 -属性1 -属性2
类名 +操作1() +操做2()
类名
注:也可通过【包名:类名】方式来表示类名,明确该类属于哪个包。
类的属性
◆ 在构成类的信息中,将知识性的静态信息称为属性。
- 类生成的所有对象都拥有类中定义的属性。 - 每个对象拥有独自的属性值。 ◆ 属性的表示方式如下: 属性名 : 类型表示 = 初始值
人 -年龄 : int = 0 -名字 : char
关联名
◆为了明确关联的意义时,可以给关联起一名字。也可省略。
◆ 关联名一般都是动词。
◆ 关联名具有方向,一般是在关联名后跟黑三角来表示关联名的方向。
关联名
考生
报考志愿 ►
大学
“考生”类和“大学”类是通过“报考志愿”关联起来的。而且“报考志愿”关联是由“考生”发起“大学”接受的关联。
• 例:单向关联所生成的Java代码:(可以选择 是否生成类的缺省构造方法)
◆ 写在关联端处。
考生
考生
志愿学校
大学
多重度
◆ 表示相关联的类的实例对象之间的对应关系。
■ 关联的一端的类的一个实例对象,与之有关系的另外一端的类的实例对象的数目
◆ 多重度写在关联端处,有以下几种情况
■ 必须是1 ■ 0或者1 ■ 0以上 ■ 1以上 ■ 指定区间 1 0. .1 0. . * 或 * 1..* 1 . . 10
书 * 1 作者
■ 关联的两个类之间,只能由一端向另外一端的类发消息,而反过来不行时,称为单 向关联。 接受消息一方的关联端用箭头表示,不能接受消息一方的关联端用“X”进行表示。
书 出版社
■ 关联的某一端的关联方向尚未明确的情况下,可不标明方向性。 (在UML1.x中,不明示关联方向的情况等同于UML2.0中的单向关联“X”)
public class A { public B theB; /** * @roseuid 3DAFBF0F01FC */ public A() {
public class B { /** * @roseuid 3DAFBF0F01A2 */ public B() { } }
}
}
关联端名
◆ 表示关联的一端相对于另一端的特征,功能和立场。
◆ 两个类之间具有多个不同意义的关联。
■ 每个关联都画一条关联线。 ■ 可以通过附加关联名或者关联端名来进行区分。
-出发站 公交路线 -途经站 公交站
-终点站
关联类
◆ 拥有类之间的关联信息的类称为关联类。
■ ■ ■ ■ ■ 类之间的关联多重度为“多:多”的时候,为了方便管理关联信息而使用。 在代码实现阶段,要把概念意义上的关联类转化为实体类来进行实现。 同普通类一样,可定义属性,操作和关系。 当相关联的两个类的对象一旦确定,该关联类的对象也能唯一确定。 关联类和关联线之间用虚线相连接。。
关联类
• 所生成Java代码示例:(说明:在设置代码生成属性 时,设置为不生成类的缺省构造方法)
//Source file: F:\\code\\Company.java public class Company { private String companyName; public Person employee[]; } //Source file: F:\\code\\Contract.java
笔记本电脑
书 * 1 出版社
递归关联
◆ 一个类和自身具有某种关联时,称为递归关联。
■ 同一个类的多个对象之间具有某种关系时,称为递归关联。同一个类的同一个对象 之间具有某种关系时,不称为递归关联。
0..1 部门
-上级部门 -下级部门
0..*
一个部门拥有0个或多个下属部门。 一个部门拥有0个或1个上级部门。
多重关联
约车记录
教练
*
*
学员
关联类
教练
*
*
学员
*
教练用车
*
教练用车
泛化
◆ 泛化表征的是类之间的继承关系。
■ 用空心三角连接,被继承的类称为超类(或父类),继承之后形成的新类称为子类。 ■ 子类和超类之间是“is a”的关系。 ■ 子类继承超类的所有性质,包括属性,操作和超类与别的类的之间的关系。 ■ 子类可定义超类没有的新属性,新操作和新关系,还可重置超类中定义的某些操作。