作业四__面向对象需求建模(第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)如果交易使用了支票,那么售货员需要核实支票。
  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、读者带书离开。 异常事件流:无 补充说明:无 活动图:
相关文档
最新文档