作业四__面向对象需求建模(第9-11章)

合集下载

软件工程电子课件第9章 面向对象设计

软件工程电子课件第9章 面向对象设计

11
9.2 启发规则
3.设计简单的类
应该尽量设计小而简单的类,以便于开发和管理。当类比较 庞大的时候,要记住它的所有服务是非常困难的。为保持类的 简单,应该注意以下几点。 ➢ (1)避免包含过多的属性
属性过多通常表明这个类过分复杂了,它所完成的功能可能太多了。
➢ (2)有明确的定义
为了使类的定义明确,分配给每个类的任务应该简单,最好能用一 两个简单语句描述它的任务。
➢ (1)交互耦合
如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。 为使交互耦合尽可能松散,应该遵守下述准则。
• ◇ 尽量降低消息连接的复杂程度。应该尽量减少消息中包含的参数个数,降低参数的复 杂程度。
• ◇ 减少对象发送(或接收)的消息数。Βιβλιοθήκη 2021/1/176
9.1 面向对象设计的准则
使用面向对象方法开发软件时,在分析与设计之间并没有明确的分界线, 对于问题域子系统来说,情况更是如此。
通过面向对象分析所得出的问题域精确模型,为设计问题域子系统奠定 了良好的基础,建立了完整的框架
使用面向对象方法学开发软件,能够保持问题域组织框架的稳定性,从 而便于追踪分析、设计和编程的结果。在设计与实现过程中所做的细 节修改(如增加具体类,增加属性或服务),并不影响开发结果的稳 定性,因为系统的总体框架是基于问题域的。
➢ (2)类内聚
设计类的原则是,一个类应该只有一个用途,它的属性和服务应 该是高内聚的。类的属性和服务应该全都是完成该类对象的任务所必 需的,其中不包含无用的属性或服务。
➢ (3)一般/特殊内聚
设计出的一般/特殊结构,应该符合多数人的概念,更准确地说, 这种结构应该是对相应的领域知识的正确抽取。

面向对象的需求建模方法

面向对象的需求建模方法

45
1.4 基于OMT方法的需求建模步骤
4.
定义类和对象中的操作 定义类和对象中操作的原则如下: (1)基本的属性操作; (2)事件的处理操作; (3)完成数据流图中处理框对应的操作; (4)利用继承机制优化服务集合,减少冗余 服务。
46
21
1.3 OMT方法的图形描述工具
扩充的状态转换图简例
22
1.3 OMT方法的图形描述工具
扩充的状态转换图示例
23
1.3 OMT方法的图形描述工具
序列图
序列图主要用于表达对象与对象之间可能发生 的所有事件,以及按事件发生时间的先后顺序列 出所有事件的一种图形工具。
24
1.3 OMT方法的图形描述工具
ATM系统的异常情况场景
37
1.4 基于OMT方法的需求建模步骤
2.
设计用户界面 在设计用户界面时,用户界面的细节并不太重要,重要 的是在这种界面下的信息交换方式。
ATM初步的用户界面
38
1.4 基于OMT方法的需求建模步骤
3.
建立序列图 构造序列图时,首先应认真分析每个场景的内容,从中提取 所有外部事件信息及异常事件和出错条件的信息。传递信息的对 象的动作也可作为事件。事件形成对象与对象之间的交互行为。 确定了每类事件的发送对象和按受对象之后,就可以利用序 列图将事件序列以及事件与对象间的关系清晰和形象地表示出来。 每个场景对应一张序列图。
10
1.2 面向对象的需求分析
问题分析
问题分析的主要任务是收集并确认用户的需求信息,对实际 问题进行功能分析和过程分析,从中抽象出问题中的基本概念、 属性和操作,然后用泛化、组成和关联结构描述概念实体间的 静态关系。最后,将概念实体标识为问题域中的对象类,以及 定义对象类之间的静态结构关系和信息连接关系。最终建立关 于对象的分析模型。

面向对象的建模方法

面向对象的建模方法

面向对象的建模方法面向对象的建模方法是一种用于软件系统设计的方法论,它把现实世界映射到软件系统中的对象和类的概念上,通过抽象、封装、继承和多态等概念,实现对现实世界中事物的建模。

面向对象的建模方法包括需求分析、领域建模、设计模式等环节,本文将详细介绍这些环节的步骤和重要性。

首先,需求分析是面向对象建模的第一步。

它主要目的是了解用户的需求和软件系统的功能。

在需求分析阶段,开发团队需要与用户进行深入沟通,明确系统的功能、性能和界面等方面的需求。

在这个阶段,可以使用用例图、活动图、领域模型等工具来表示和记录需求。

需求分析的重要性在于确保软件系统能够满足用户的期望,并且为后续的建模和设计提供必要的依据。

接下来是领域建模。

领域建模是通过分析和理解现实世界的各个领域,抽象出问题领域中的概念和关系,并将其映射到软件系统中。

在领域建模中,可以使用类图、对象图等工具来描述问题领域中的概念、属性和关系。

领域建模的目的是建立一个清晰的问题领域模型,通常使用领域专家的知识和建模技术,可以更好地理解问题的要求和限制。

在面向对象的建模方法中,设计模式也是一个非常重要的环节。

设计模式是一种解决软件设计中常见问题的可复用方案,它提供了一种在特定情况下的最佳实践,可以提高软件的质量和可维护性。

常用的设计模式包括单例模式、工厂模式、观察者模式等。

设计模式的目的是通过将系统分解为独立的对象,每个对象负责一个特定的职责,从而提高系统的灵活性和可扩展性。

此外,还有一些其他的面向对象的建模方法值得考虑。

例如,UML(统一建模语言)是一种广泛使用的建模语言,可以用来描述软件系统的结构和行为。

UML 提供了一套图形符号和规范,可以用于可视化和交流系统设计。

此外,敏捷建模也是一种常用的面向对象的建模方法,它强调团队合作、迭代开发和软件质量的快速反馈。

总结起来,面向对象的建模方法是一种通过抽象、封装、继承和多态等概念,将现实世界映射到软件系统中的方法论。

UML基础与Rose建模实用教程课后习题及答案解析

UML基础与Rose建模实用教程课后习题及答案解析

UML基础与Rose建模实用教程课后习题及答案第1章面向对象概述1.填空题(1)软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机结合起来形成的软件构造模型,它可以用来描述现实世界中的一个对象。

(2)类是具有相同属性和操作的一组对象的组合,即抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全部对象提供了统一的抽象描述。

(3)面向对象程序的基本特征是竝、封装、继承和多态。

2.选择题(1)可以认为对象是ABC 。

(A)某种可被人感知的事物(B)思维、感觉或动作所能作用的物质(C)思维、感觉或动作所能作用的精神体(D)不能被思维、感觉或动作作用的精神体(2)类的定义要包含以下的要素ABD °(A)类的属性(B)类所要执行的操作(C)类的编号(D)属性的类型(3)面向对象程序的基本特征不包括_卫_。

(A)封装(B)多样性(C)抽象(D)继承(4)下列关于类与对象的关系的说法不正确的是」(A)有些对象是不能彼抽象成类的(B)类给出了属于该类的全部对象的抽象定义(C)类是对象集合的再抽象(D)类用来在内存中开辟一个数据区,并存储新对象的属性3.简答题(1)什么是对象?试着列举三个现实中的例子。

对象是某种可被人感知的事物,也可是思维、感觉或动作所能作用的物质或精神体,例如桌子•椅子•汽车等。

(2)什么是抽象?抽象是对现实世界信息的简化。

能够通过抽象将需要的事物进行简化、将事物特征进行概括、将抽象模型组织为层次结构.使软件重用得以保证。

(3)什么是封装?它有哪些好处?封装就是把对象的状态和行为绑在一起的机制,使对象形成一个独立的整体,并且尽可能地隐藏对象的内部细节。

封装有两个含义;一是把对象的全部状态和行为结合在一起,形成一个不可分割的整体。

对象的私有属性只能够山对象的行为来修改和读取。

一•是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。

通过公共访问控制器来限制对象的私有属性,使用封装具有以下好处:避免对封装数据的未授权访问、帮助保护数据的完整性、申类的私有方法必须修改时,限制了在整个应用程序内的影响。

作业四___面向对象需求建模(第9-11章)

作业四___面向对象需求建模(第9-11章)

作业四面向对象需求建模(第9-11章)4-1、根据以下描述,使用面向对象的分析方法,分析有那些主要对象和这些对象的主要属性、方法,画出对象图。

一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多仅能放置50罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。

顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。

顾客按键后饮料由出物口掉出,并自动结算及找钱。

顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消交易收回硬币。

4-2、请画出一个用户使用银行ATM的状态转换图。

从用户将卡插入卡槽开始,到用户取卡结束(如果用户忘记,ATM应报警),用户可以完成以下几个步骤:登录(卡片进入ATM机后,如果不是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退出取卡选择。

4-3、某公安报警系统在一些公安重要保护单位(银行、学校等)安装了报警装置,其工作过程如下:一旦发生意外事故,故事发生单位只需按报警按钮,系统立即向公安局发出警报信息、自动显示出报警单位的地址、电话号码等。

110警车立即出动前往出事地点。

值班人员可以接通事故单位的电话、问清情况,需要时再增派公安人员到现场处理。

根据以上情况进行分析,确定本系统有哪些用例、对象,画出用例图、类图及顺序图。

用例:按报警按钮、前往出事地点、接通事故单位的电话、问清情况对象:故事发生单位、值班人员、警察 用例图:值班人员警察类图:顺序图:4-4、小李新接了一个项目:设计一个简单的学生选课系统,系统能注册符合要求的同学,同学注册以后就能进行选课,选课过程如下:先选课名,然后根据课程的上课老师、时间、地点和人数限制来决定是否成功选课;老师也可以根据情况提供新的课程说明或修改过去课程的说明;教务处的老师统一管理注册的情况,可以有删除、修改学生、老师和课程的权限。

(完整版)面向对象分析与设计练习题含答案

(完整版)面向对象分析与设计练习题含答案

面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题2 分,共20 分)/* 上个世纪80年代开始至今还盛行的以Smalltalk,C++等为代表的面向对象软件开发方法(00)*/1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。

A. Simula67语言(20世纪70年代的Simula-67是第一个面向对象的语言)B. Smalltalk语言(80年代初的Smalltalk语言)C. Java语言(对流行的语言进行面向对象的扩充得到的语言或C++)D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。

A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。

A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。

A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。

A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6.(D)是从用户使用系统的角度描述系统功能的图形表达方法。

A. 类图B. 对象图C. 序列图D. 用例图7. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。

A.对象图 B. 组件图 C. 类图 D. 配置图**8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。

第4章__面向对象需求分析

第4章__面向对象需求分析

• 在确定事件轨迹后,所有事件可以汇总成输入对象的事件 集和从对象输出的事件集。事件流图就是用于标记所有流入和 流出某对象的事件。

例:打印机对象—行为模型示例。
• 状态转换图表示了打印机的状态转换。图中的每个箭头代 表了从对象的一个状态到另一个状态的转变,箭头上标记的是 触发转变的事件。有时需要增加保护条件来满足对象的变迁, 例如,上图中打印机在故障状态时,故障修复事件只有在打印 队列不破坏的情况下才能使打印机进入打印状态,否则即使修 复也只能进入就绪状态。
工人
1..*
经理 管理
(1)关联
•限定关联 • 限定关联通常用在一对多或多对多的关联关系中,可以把 模型中的重数从一对多变成一对一,或从多对多简化成多对一。 在类图中把限定词放在关联关系末端的一个小方框内。 • 例如,某操作系统中一个目录下有许多文件,一个文件仅 属于一个目录,在一个目录内文件名确定了惟一一个文件。利 用限定词“文件名”表示了目录与文件之间的关系,可见,利 用限定词把一对多关系简化成了一对一关系。
(1)关联
•关联类 • 为了说明关联的性质可能需要一些附加信息。可以引入 一个关联类来记录这些信息。关联类也有属性、操作和其他 关联。
个人
0..*
授权
0..*
个人
授权 优先权 特权
用户和工作站的授权关联的关联类
3.对象-关系图
• (2)聚集
• 聚集也称为聚合,是关联的特例。聚集表示一类对象与 另一类对象之间的关系,是整体与部分的关系。
• 一.面向对象分析模型的组成结构 • 二.面向对象分析模型描述工具 • 三.面向对象分析的基本过程
• 四. 面向对象分析方法
• 五. 小结
一.面向对象分析模型的组成结构

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

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

等。并使用建模活动图的五个步骤,逐步为用例建模活动图。
<<include>> OvertimeProcess
Librarian
Return Book <<include>>
DisplayLoans
图 4-33 还书用例
用户
系统
输入图书信息
显示过期信息 确定归还
查找该图书的借阅关系
查看是否有过 期的借阅关系
2.请求打印文件 17.出钞请求
5.控制打印
3.1.队列是否为空 3.2.添加到队列 4.返回打印文件
1.打印文件
Computer
PrintServer
Printer
Queue
3.根据 ATM 机上取款工作流的顺序图,为其建立通信图模型。
1.插入IC卡
读卡机
5.输入密码 10.输入取款请求 14.输入取款金额
Instructor
Tutor
1
1
Student
UnderGraduate
Graduate
Teacher
Professor
1 1
1 n
TeacherAssistant
2.根据用例图和系统需求描述创建类图。本练习将根据如下所示的系统需求和如图 3-63 所 示的用例图建模一个类图。
系统需求描述: (1)系统允许管理员通过从磁盘加载存货数据来运行存货清单报告。 (2)管理员通过从磁盘加载存货数据、向磁盘保存存货数据来更新存货清单。 (3)售货员做销售记录。 (4)电话操作员是处理电话订单的特殊售货员。 (5)任何类型的销售都需要更新存货清单。 (6)如果交易使用了信用卡,那么售货员需要核实信用卡。 (7)如果交易使用了支票,那么售货员需要核实支票。

软件工程导论课件之第11章面向对象设计

软件工程导论课件之第11章面向对象设计
据抽象。 3. 信息隐藏 n 在面向对象方法中,信息隐藏通过对象的封装
性实现。
软件工程导论课件之第11章面向对象 设计
4. 弱耦合 n 耦合指不同对象之间相互关联的紧密程度。 n 一般说来,对象之间的耦合可分为两大类:
q 交互耦合
n 如果对象之间的耦合通过消息连接来实现,则这种耦合 就是交互耦合。
要划分“主题”。
软件工程导论课件之第11章面向对象 设计
4. 使用简单的协议 n 一般说来,消息中的参数不要超过3个。当然,
不超过3个的限制也不是绝对的。 5. 使用简单的服务 n 一般说来,应该尽量避免使用复杂的服务。 n 如果一个服务中包含了过多的源程序语句,或
者语句嵌套层次太多,或者使用了复杂的 CASE语句,则应该仔细检查这个服务,设法 分解或简化它,考虑用一般-特殊结构代替。
软件工程导论课件之第11章面向对象 设计
6. 可重用 n 软件重用是提高软件开发生产率和目标系统质
量的重要途径。 n 重用基本上从设计阶段开始。 n 重用有两方面的含义:
q 一是尽量使用已有的类(包括开发环境提供的类库, 及以往开发类似系统时创建的类),
q 二是如果确实需要创建新类,则在设计这些新类的 协议时,应该考虑将来的可重复使用性。
1. 调整需求 n 有两种情况会导致修改通过面向对象分析所确
定的系统需求:
q 一是用户需求或外部环境发生了变化; q 二是分析员对问题域理解不透彻或缺乏领域专家帮
助。
n 无论出现上述哪种情况,通常都只需简单地修 改面向对象分析结果,然后再把这些修改反映 到问题域子系统中。
软件工程导论课件之第11章面向对象 设计
软件工程导论课件之第11章面向对象 设计
11.3.2 类构件

UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)

UML面向对象建模基础答案(徐峰、陈暄-中国水利水电出版社)
6. UML是一种方法论吗?并简要说明理由。
UML不是方法论。它仅仅是一种描述模型的标准语言,虽然渗透了许多方法论的基础概念,但是却没有在标准中给出完整的方法指南。
7. 请简要说明UML和面向软件开发之间的关系。
UML和面向对象软件开发之间有很强的关联关系,甚至可以说是面向对象软件开发催生了UML。但是由于在UML的标准化和发展过程,有机地吸纳了业务建模、工作流建模、数据库建模等领域的标准规范,形成了一个适用性很强的标准。
4. 请说明蓝图和草图的区别,并简单描述其适用的场景。
蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。
对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中
8. 标记值的作用是什么?它的表示法和约束的表示法有什么异同?在UML模型中如何区分它们?
标记值是用来为事物添加新特性的。约束的表示法和标记值法类似,都是使用花括号括起来的串来表示,不过它是不能够放在元素中的,而是放在相关的元素附近。
9. 构造型的作用是什么?如果我们采用一个自定义的图标来表示它,那么可能遇到的主要问题是什么?
UML面向对象建模基础(徐峰、陈暄)
第1章 UML概述
1. 请指出UML的三个主要的特性。
1)UML是一种语言
2)UML是用来建模的
3)UML是统一的标准
2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。
1)电路图:电子产品设计、生产、维修

电大软件工程本科形成性考核册及答案

电大软件工程本科形成性考核册及答案

软件工程(本)作业1 Array(第1~4章)一、选择题:1.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(C)。

A.软件工程B.软件周期C.软件危机D.软件产生2.瀑布模型本质上是一种(A )模型。

A.线性顺序B.顺序迭代C.线性迭代D.早期产品3.瀑布模型存在的问题是(B )。

A.用户容易参与开发 B.缺乏灵活性C.用户与开发者易沟通 D.适用可变需求4.螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。

A.增量模型B.专家系统C.喷泉模型D.变换模型5.原型化方法是用户和设计者之间执行的一种交互构成,适用于(A)系统。

A.需求不确定性高的 B.需求确定的C.管理信息 D.实时6.下列有关软件工程的标准,属于国际标准的是(D )A.GBB.DINC.ISOD.IEEE7.结构化方法是一种基于(D)的方法。

A.数据结构B.程序结构C.算法D.数据流8.软件可行性研究实质上是要进行一次( A)需求分析、设计过程。

A、简化、压缩的B、详细的C、彻底的D、深入的9.可行性研究的目的是(D)A、分析开发系统的必要性B、确定系统建设的方案C、分析系统风险D、确定是否值得开发系统10.设年利率为i,现存入p元,不计复利,n年后可得钱数为(C)。

A、P×(1+i*n)B、P× (i+1)*nC、p×(1+i)nD、p×(i+n)11.可行性研究是在(A)之前A、系统开发B、测试C、试运行D、集成测试12.可行性研究需要的时间长短取决于系统的规模,一般来说,可行性研究的成本只是预期总成本的(C)。

A、1%B、20%C、8%D、50%13.我国正式颁布实施的(B)对计算机病毒的定义具有法律性、权威性。

A.《计算机软件保护条例》B.《中华人民共和国计算机信息系统安全保护条例》C.《中华人民共和国著作权法》D.《计算机病毒防治管理办法》14.效率是一个性能要求,因此应当在(B)阶段规定?A、可行性分析B、需求分析C、概要设计D、详细设计15.需求规格说明书的作用不包括(D)A、软件验收的依据B、用户与开发人员对软件要做什么的共同理解C、软件可行性研究的依据D、软件设计的依据16.数据字典是用来定义(D)中的各个成份的具体含义的。

UML面向对象需求分析与建模教程 第9章设计 样章

UML面向对象需求分析与建模教程 第9章设计 样章

UML面向对象需求分析与建模教程9.1设计介绍思考-----传统软件工程中管理系统是如何进行设计的?优缺点?-----思考OOD方法面向对象的设计方法(OOD)是面向对象方法中一个中间过渡环节。

其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。

在OOD的设计过程中,要展开的主要有如下几项工作。

图9-1 RUP中的设计过程(一)对象定义规格的求精过程对于OOA所抽象出来的对象、类以及汇集的分析文档,OOD需要有一个根据设计要求整理和求精的过程,使之更能符合OOP的需要。

面向对象设计是以面向对象分析阶段产生的分析模型作为输入,通过对分析模型中所有对象的分析,细化对象的属性和操作,指定对象属性的详细类型,补全对象之间的关系,通过不断细化把分析模型转化成描述如何解决问题、如何实现软件系统的更详细的对象模型。

此后,面向对象设计工作也需要根据面向对象分析阶段产生的动态模型,在更贴近具体实现的层面详细描述系统中所有对象的交互关系,产生最终的、可直接用于代码编写的动态模型。

利用面向对象设计的结果,实现阶段的程序员可以很容易地完成编码和测试工作。

(二)数据模型和数据库设计数据模型的设计需要确定类、对象属性的内容、消息连接的方式、系统访问、数据模型的方法等。

最后每个对象实例的数据都必须落实到面向对象的库结构模型中。

案例----如果开发一个网络商城,希望实现性价比的功能,那在数据库中应该存贮哪些相关的数据?----案例(三)优化OOD的优化设计过程是从另一个角度对分析结果和处理业务过程的整理归纳,优化包括对象和结构的优化、抽象、集成。

9.2 对象设计1.模块化面向对象开发方法很自然地支持了把系统分解成模块的设计原则:对象就是模块。

它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。

2.抽象面向对象方法不仅支持过程抽象,而且支持数据抽象。

3.信息隐藏在面向对象方法中,信息隐藏通过对象的封装性来实现。

面向对象建模-课件PPT

面向对象建模-课件PPT
– 多视点方法
4
1.1建立分析模型
• 三种模型
需求获取信息 业务模型
每本书 都有至少一个
作者
问题世界
分析模型
书 (1, n)
(0, n) 作者
写作
Book #ISBN
Title Varchar(100) …...
1 1..n
Wrote #ISBN #ID #NUM …...
计算世界
计算模型
Author
部分可以映射到计算实体 • 计算实体:对象 • 层次关系:聚合(组合)、继承、关联 • 组合接口:一个对象暴露的接口
13
1. 面向对象分析 ——面向对象建模
• 面向对象建模:一种用于辨识系统环境中的对象及这些对 象之间关系的技术
– OMT (James Rumbaugh) – Booch方法(Grady Booch) UML – OOSE (Ivar Jacobson)
– Coad-Yourdon – Shlaer-Mellor – Fusion
14
• UML的三位主要奠基人,被 称为“三友”(three amigos ),Unified
– G.Booch 布奇 Booch方法
– J.Rumbaugh 兰博 OMT方法
– I.Jacobson 雅格布森 OOSE
统的一个表示,这个表示以精确一致的方式描述系统,使得系统 的使用更加容易” – 建模方法
• 抽象 • 分解 • 投影
3
1.1建立分析模型
• 抽象(Abstraction)
– 一方面要求人们只关注重要的信息,忽略次要的内容
• 通过强调本质的特征,就减少了问题的复杂性
– 另一方面也要求人们将认知保留在适当的层次,屏蔽更深层次的 细节

《UML面向对象建模基础》课后答案

《UML面向对象建模基础》课后答案

第1章UML概述1. 请指出UML的三个主要的特性。

1)UML是一种语言2)UML是用来建模的3)UML是统一的标准2. 请指出三种以上现实生活中的常用模型,并说明它们分别在各自的领域中发挥了什么样的作用。

1)电路图:电子产品设计、生产、维修2)园区沙盘:直观、立体化地展示园区的景观、布局3)地图:导航、指路等3. 请简要说明建模的意义和建模的原则。

建议能够帮助我们按照实际情况或按我们需要的样式对系统进行可视化;提供一种详细说明系统的结构或行为的方法;给出一个指导系统构造的模板;对我们所做出的决策进行文档化在建模时应遵循以下原则:选择要创建什么模型对如何动手解决问题和如何形成解决方案有着意义深远的影响;每一种模型可以在不同的精度级别上表示;最好的模型是与现实相联系的;单个模型是不充分的。

对每个重要的系统最好用一组几乎独立的模型去处理4. 请说明蓝图和草图的区别,并简单描述其适用的场景。

蓝图一般是指采用CASE工具绘制的、正式的、规范的UML模型;而草图则通常是指手工绘制的、规范度较低的在纸张的UML模型。

对于局部的、重要性不高的、共享范围较小的UML模型,直接将草图扫描到电脑存档即可;对于全局的、重要性高的、高度共享的,在草图的基础上用CASE工具绘制成为正式的蓝图,并将其纳入统一的模型管理中5. 说明UML适用的建模领域,以及其作用和主要的参与人员。

⏹业务建模,用来加强对业务领域的了解,以领域专家为主,需求分析人员是主力,系统分析员、架构师可参与。

⏹需求模型,用来加强需求了解,便于技术决策,以需求分析人员为主,系统分析员是主力,领域专家提供指导,架构师和资深开发人员参与。

⏹设计模型:包括高层设计模型和详细设计模型。

高层设计模型以架构师为主,系统分析员从需求方面提供支持,资深开发人员从技术实现方面提供支持。

详细设计模型则以资深开发人员为主,架构师提供指导。

⏹实现模型:架构师、资深开发人员(设计人员);以资深开发人员(设计人员)为主,架构师提供总体指导。

UML建模技术作业自编习题集(含答案)

UML建模技术作业自编习题集(含答案)

UML建模技术作业自编习题集目 录第一章上升到面向对象 (1)第二章可视化建模技术 (4)第三章业务建模 (5)第四章用例建模 (7)第五章用例分析 (9)第六章面向对象的设计原则 (13)第七章面向对象的设计模式 (17)第八章架构设计 (18)第九章构件设计 (21)第十章从模型到代码 (25)第一章 上升到面向对象1、结构化思维与对象化思维有什么本质的不同?体现了怎样的思维差异?对象思想有何优势?2、如何表达设计思想:代码?图形?3、根据所在学院,以学生角度,应该哪些设计类与对象?举例说明面向对象技术的五个原则4、阅读课件第1章PPT中的课外作业:面向对象术语清单●抽象类Abstract Class●对象不能从中实例化的类●抽象Abstraction●某项目(如类或操作)的基本特征●聚合Aggregation●表示两个类或组件之间是“is part of”关系●聚合层次Aggregation Hierarchy●通过聚合关系联系的一组类●关联Association●对象和其它对象发生联系●属性Attribute●类知道的东西(数据/信息)●类Class●相似对象的软件抽象,创建对象的模版●内聚Cohesion●封装单元(如组件或类)的相关程度●协作Collaboration●类协作来完成它们的职责●构件Component●可以独立开发、分发以及与其他组件一起构建较大单元的内聚功能单元●组合Composition●更强类型的聚合,其中“整体”完全负责它的各组成部分,每“部分”对象仅和一个“整体”对象相联系●具体类Concrete Class●可以进行对象实例化的类●耦合Coupling●两个项目的依赖程度●封装Encapsulation●把相关的概念(例如类或组件)归组到一个项目●信息隐藏Information Hiding●限制外部对属性的访问●继承Inheritance●表示“is a”和“is like”关系●继承层次Inheritance Hierarchy●表示继承相联系的一组类●实例Instance●对象是类的一个实例●实例化Instantiate●从类中实例化对象●接口Interface●定义内聚行为集的一个或多个操作特征标记的集合●消息Message●是信息请求或执行一个动作的请求●传递消息Messaging●为了协作,类互相发送与接收消息●方法Method●类完成的事情(与结构化编程中函数类似)●多重继承Multiple Inheritance●类直接从一个以上的类继承●对象Object●一个实体,包括物理实体、概念实体、软件实体●对象空间Object Space●主存,加上网络上所有可供使用的存储空间●覆盖Override●有时在子类中你需要覆盖(重定义)属性与方法●模式Pattern●考虑到相关因素时通用问题的可复用方案●持久性Persistence●对象怎样永久被保存的问题●持久对象Persistent Object●一个保存到永久存储的对象●多态Polymorphism●以不同方式响应同一消息的不同对象,使对象可以不必知道相互的类型而交互●单一继承Single Inheritance●一个类直接从唯一一个类继承●构造型Stereotype●表示一种建模元素的通用用法●子类SubClass●如果类B继承自类A,则B是A的子类(派生类)●父类SuperClass●如果类B继承自类A,则A是B的子类(基类)●临时对象Transitory Object●一个没有被保存到永久存储的对象第二章 可视化建模技术1、根据所给参考教程《UML建模技术——实验指导书 & Rose使用指南》实验一,熟练掌握Rational Rose建模工具软件的绘图基本技能,主要作为课后上机实验内容;2、举例说明描绘软件现实业务存在的模型?为什么要建模?总结UML在软件工程中的作用以及使用UML建模的必要性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

读入该书的代码。当读者归还一本图书时,并不需要查看他的借 书卡,仅需读入该书的代码。客户可以在图书馆内任一台 PC 机 上检索馆藏图书目录。当检索图书目录时,客户应该首先指明检 索方法(按作者姓名或按书名或按关键词)。 图书馆馆员应建立图书目录,以提供图书检索的便利,一条书目 可有多本相同 ISBN 号的图书,每一本图书只能对应一个书目。 读者在借书时,系统应记录借书日期,并记录约定的还书日期, 以督促读者按时归还。一个读者可借阅多本图书,一本图书每次 只能被一个读者借阅。 图书将馆员办理入出库,图书入出库时,应记录图书状态变更, 如:存库、外借,并记录变更日期,一个馆员可办理多本图书入 出库,但一本图书的某次入出库办理,必须有确定的管理员经手。 用例图:
4-3 、某公安报警系统在一些公安重要保护单位(银行、学校等)安 装了报警装置,其工作过程如下:一旦发生意外事故,故事发生 单位只需按报警按钮,系统立即向公安局发出警报信息、自动显 示出报警单位的地址、电话号码等。110 警车立即出动前往出事 地点。值班人员可以接通事故单位的电话、问清情况,需要时再 增派公安人员到现场处理。 根据以上情况进行分析,确定本系统有哪些用例、对象,画出用 例图、类图及顺序图。 用例:按报警按钮、前往出事地点、接通事故单位的电话、问清
读者
manger
主要用例场景描述 用例编号:001 用例名称:借阅图书 简要说明:读者凭借书证,到图书馆借阅图书 参与者:读者 前置条件:图书馆正常开放 后置条件:如果读者借阅成功,则该读者可借数量减少;如果读 者未成功借到图书,则该读者可借数量保持不变。 基本事件流: 1、读者进入图书馆; 2、读者查找图书; 3、读者出示借书证; 4、图书管理员进行借书证有效检查; 5、图书管理员检查读者可借图书数,如果可借,借出图书; 6、读者拿走图书; 7、该读者可借图书数量减少。 其他事件流: 1、读者借书证无 效
student
老师 管理员
4-5、请用面向对象方法分析设计下述的图书馆自动化系统需求 模型(用例图、主要用例场景描述及活动图)、领域建模(对象 类图及对象类的 CRC 卡片)。 设计一个软件以支持一座公共图书馆的运行。该系统有一些工作 站用于处理读者事务。这些工作站由图书馆馆员操作。当读者借 书时,首先读入客户的借书卡。然后,由工作站的条形码阅读器
作业四__面向对象需求建模(第 9-11 章)
作业四面向对象需求建模(第 9-11 章) 4-1、根据以下描述,使用面向对象的分析方法,分析有那些主 要对象和这些对象的主要属性、方法,画出对象图。 一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由 厂商根据销售状况自动调配,并可随时重新设置售价,但售货机 最多仅能放置 50 罐饮料,其按钮设计在各种饮料样本的下方, 若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料 已销售完毕,则售完灯会亮。 顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等 顾客按键选择。顾客按键后饮料由出物口掉出,并自动结算及找 钱。顾客可在按下选择键前任何一个时刻,可以拉动退币杆取消 交易收回硬币。
4-2、请画出一个用户使用银行 ATM 的状态转换图。从用户将卡 插入卡槽开始,到用户取卡结束(如果用户忘记,ATM 应报警), 用户可以完成以下几个步骤:登录(卡片进入 ATM 机后,如果不 是可读卡,退卡;如是,等待用户输入密码,三次错,吞卡,正 确后进入主菜单),取钱(进入取钱菜单,输入金额,如果帐户 余额不足,提示余额,并要求用户重新输入,如果帐上钱够,吐 钱币,并询问是否打印凭证,最后返回主菜单),主菜单提供退 出取卡选择。Fra bibliotek类图:
情况 对象:故事发生单位、值班人员、警察 用例图:
事故单位
值班人员
警察 类图:
顺序图: 4-4、小李新接了一个项目:设计一个简单的学生选课系统,系
统能注册符合要求的同学,同学注册以后就能进行选课,选课过 程如下:先选课名,然后根据课程的上课老师、时间、地点和人 数限制来决定是否成功选课;老师也可以根据情况提供新的课程 说明或修改过去课程的说明;教务处的老师统一管理注册的情 况,可以有删除、修改学生、老师和课程的权限。请用面向对象 方法设计出对象模型(对象类图,标出多重性、角色、限定词和 关系:泛化、聚集、关联)、动态模型(学生成功注册后选课的 顺序图)、功能模型(用例图)三大模型。
1.1、系统弹出借书证无效警告信息; 1.2、图书管理员归还借 书证; 1.3、读者离开。 2、读者可借数等于 0 2.1、系统弹出可借数量为 0 警告信息; 2.2、图书管理员归还借书证; 2.3、读者离开。 异常事件流:无 补充说明:无 用例编号:002 用例名称:归还图书 简要说明:读者凭借书证,到图书馆归还图书 参与者:读者 前置条件:图书馆正常开放 后置条件:如果读者归还图书成功,则该读者可借数量增加;如 果读者没按照规定期限归还图书或图书有所损坏,则该读者得支 付罚款,且该读者可借数量增加。 基本事件流: 读者进入图书馆; 读者出示借书证; 读者归还图书; 4、图书管理员对图书进行检查,如果超过归还期限或图书有所
损坏,读者支付罚款,并由管理员收取; 5、图书管理员录入该读者归还图书信息; 6、该读者可借图书数量增加。 其他事件流: 1、该图书丢失 1.1、系统提示该图书价格; 1.2、读者支付丢失图书书款; 1.3、读者可借数量增加; 1.4、读者离开。 读者所带罚款不够支付所应交罚款 2.1、系统提示所交罚款不够警告; 2.2、读者归还书籍失败; 2.3、图书管理员归还借书证; 2.4、读者带书离开。 异常事件流:无 补充说明:无 活动图:
相关文档
最新文档