UML练习题1

时间:2019-05-13 18:18:55下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《UML练习题1》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《UML练习题1》。

第一篇:UML练习题1

1.UML的系统分析进一步要确立的三个系统模型是(对象静态模型)、对象动态模型和系统功能模型。

2.UML的的客户需求分析、系统分析和系统设计阶段产生的模型,其描述图符(完全相同)。

3.类和对象都有属性,它们的差别是:类描述了属性的类型,而对象的属性必须有(具体值)。

4.UML系统分析阶段产生的包图描述了系统的(系统体系层次结构)。

1.在UML软件开发过程系统分析阶段产生的对象模型有三种模型。它们是:对象的静态 模型、对象的 动态模型和对象的 系统功能 模型。2.在UML的对象类图中,类之间的关系有 泛化、实现、聚集、依赖和关联 5种。

3.共享聚集的“部分”对象可以是任意“整体”对象的一部分,表示事物的整体/部分关系较弱的情况,“整体”端的重数应该是n。4.在UML软件开发过程的需求分析和系统分析阶段,建立对象类模型的步骤分为 寻找确定对象类、定义类的接口、定义类之间的关系、建立对象类图 和 建立系统包图。

5.组合聚集是指“整体”拥有它的“部分”,它具有强的物主身份,表示事物的整体/部分关系较强的情况。“部分”生存在“整体”中,不可分离,它们与“整体”一起存在或消亡。“整体”的重数必须是1。

1.封装是指把对象的(属性和操作)结合在一起,组成一个独立的对象。

2.封装是一种(信息隐蔽)技术,目的是使对象的生产者和使用者分离,使对象的定义和实现分开。

3.面向对象方法中的(继承)机制使子类可以自动地拥有(复制)父类全部属性和操作。

4.使得在多个类中能够定义同一个操作或属性名,并在每一个类中有不同的实现的一种方法是(接口)。

5.UML的软件以(类)为中心,以系统体系结构为主线,采用循环、迭代、渐增的方式进行开发。

6.UML的(静态)模型图由类图、对象图、包图、构件图和配置图组成。

7.UML的(动态)模型图由活动图、顺序图、状态图和合作图组成。

8.UML的最终产物就是最后提交的可执行的软件系统和(相应的软件文档资料)。

9.在UML的需求分析建模中,(用例)模型图必须与用户反复交流并加以确认。

1.软件开发模型有 瀑布模型、螺旋模型 和增量模型 等3种主要模型。2.UML分析和设计模型由三类模型图表示。三类模型图是:模型图和 3.UML开发过程是一种二维结构软件开发过程,软件项目开发过程流包括的核心工作内容是: 分析、设计、实现、测试 和 配置 4.UML视图和构建视图。

5.UML中有10种基本图可以完整地描述出所建造的系统,这10种图是 类图、用力 图、协作 图、顺序 图、状态 图、活动图、构件 图、部署 图、包 图和对象 图。

1.可行性研究分析包括经济可行性分析、技术可行性分析和(法律可行性分析。

2.UML的客户需求分析模型包括(用例)模型、类图、对象图和活动图组成。

3.UML客户需求分析使用的CRC卡上“责任”一栏的内容主要描述类的(属性)和操作。

4.UML客户需求分析产生的用例模型描述了系统的(功能要求)。

5.在UML的需求分析建模中,用例模型必须与(用户)反复交流并加以确认。

6.在UML的需求分析建模中,对用例模型中的用例进行细化说明应使用(活动图。7.活动图中分劈和同步接合图符是用来描述(多进程的并发处理行为。

1.软件项目的可行性研究分析中,技术可行性研究包括 经济、技术、法律 3部分组成。2.在UML软件开发过程的需求分析阶段,建立用例模型的步骤分为确定系统的边界和范围、确定系统的执行者和用例、对用例进行描述、定义用例之间的关系 和审核用例模型。

3.用例图中以实线方框表示系统的范围和边界,在系统边界内描述的是 用例,在边界外描述的是执行者。

4.用例模型中的执行者可以是 人 也可以是 外部系统。

5.用例模型中的用例之间的关联有关联、关联、关联和关联。

第二篇:UML实验报告

一:需求分析

在我国十年前ATM(自动取款机)还是一个很新鲜的事物,现在在城市的大街小巷随处可见。我们在日常生活中也经常和ATM打交道。本章我们将以简化的ATM系统为例将前面几章中学到的用例图、类图、顺序图、状态图、活动图及协作图知识运用到此例中。二:银行ATM机系统UML建模设计 1.用例图

参与者“银行储户”和ATM机。简化后的ATM机仅有取款、存款及其余功能。其余功能不做详细说明。

银行储户在ATM机上完成取款、存款及其他业务。2.类图

整个银行系统包括了帐户库、银行储户库及ATM系统。

许多单个的帐户组成了帐户库。帐户具有帐户类型、帐户号、余额三个属性,均为private,其类型分别为char,int,double。六个操作分别为setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance为protected其余均为public。

setType设置帐户类型,返回类型为void,参数类型为char,输入帐户类型。getType获取帐户类型,返回类型为char,无参数。

setAccountNumbe设置帐户号,返回类型为void,参数类型为int,输入帐户号。getAccountNumbe获取帐户号,返回类型为int,无参数。

caculateBalance计算余额,返回类型为void,参数为double,第一个参数为输入存取款数额,第二个参数为存款余额,既为输入也为输出。getBalance获取帐户余额,返回类型为double,无参数。

许多银行储户组成了储户库。ATM系统包含了许多ATM机。银行储户及ATM机两个类包含哪些属性,哪些操作,它们的可见性及操作的返回类型、参数个数、参数类型从类图上都一目了然。更多的属性及操作都可以一一加上,使这个类图更详细更完整,从而使参与项目的每个成员都能无歧义的明了整个设计的类的结构。同样对于一个真正的银行系统,这个类图过于简单。比如帐户类型我们可以先定义一个abstract class,它包含一个帐户最基本的属性及操作。而有些操作先定义为abstract,如余额的计算。然后再继承这个abstract class,我们可以有saving account 和checking account等等。不同的帐户有不同的余额计算方法,我们可以加上具体的算法。对于不同的帐户可能还有一些它特有的操作,我们也可以加上,比如saving account在存款达到多少时可以享受机票打折的优惠。通过类图不仅可以使设计者明确的表达自己的设计意图,也能帮组自己整理思路,充实及优化自己的设计。

3.顺序图

描述顾客在ATM机上取款时信息的流动情况。以时间为顺序。因为是示例图,所以整个过程是没有出现任何故障时的流程,并且只画到了取款结束。通过这个图,我们可以看出消息是如何在系统中不同对象之间进行交互。

通过流程图我们可以很清楚地看到系统是如何工作的,系统各部分之间的信息及控制是如何发送的,整个流程是否合理。流程图对我们的设计起到了很好的帮助作用。注意在本图没有一个生命线终端有一个“X”,这是因为这个流程中还未遇到有对象生命结束。当有对象生命结束时需在对应的生命线终端画“X”,表明这个对象在这时被销毁。

首先银行储户将ATM卡插入读卡机,读卡机将信息传给客户管理,客户管理提出查询密码,显示部分将输入密码请求显示出来….银行储户读卡机显示输入设备客户管理点钞机事务管理1: 插入ATM卡2: 接受ATM卡3: 查询密码4: 显示输入密码请求5: 输入密码6: 密码传递7: 请求确认密码的合法性8: 确认密码的合法性9: 询问服务类别10: 显示输入服务类别请求11: 输入取款请求12: 取消请求13: 询问取款数额14: 显示输入数额请求15: 输入取款数额16: 传递取款数额17: 询问取款数额确认18: 显示确认数额请求19: 输入确认20: 传递确认信息21: 数额合法性确认请求22: 确认数额的合法性23: 计算储户余额24: 出钞请求25: 出钞26: 取钞27: 传递余额并询问是否需要其它服务28: 显示储户余额并显示其它服务

第三篇:UML实验报告[推荐]

UML实验报告

班 级:软件0841

姓 名:张文成 学 号:081842173

实验内容:

用例建模、分析建模、设计建模(1)、设计建模(2)

实验一:用例建模

[实验目的] 〃掌握客户需求分析的方法和步骤

〃了解以用例驱动的软件开发方法 〃识别并编写用例

〃掌握用Rose 进行用例建模的具体方法和步骤

[实验内容] 要求学生根据周围的实际情况,自选一个小型应用项目,分析业务需求,识别并编写用例、绘制用例图以理解系统需求。亦可采用教师指定的“企业综合信息管理系统”中的“进销存管理子系统”

[实验原理和步骤] 建模原理:

(1)需求获取。以任务和客户为中心,通过会议、面谈等手段对客户需求进行调研,获得系统目标、范围和功能要求的初步说明。(2)用例分析。确定用例,同时采用分层思想,对用例的层次级别进行划分(高层用例、子系统级、用户目标级)

(3)用例描述。分层绘制用例图,撰写用例的文字描述(采用单栏格式)。

步骤:

(1)需求获取。自选题目,与相关客户、领域专家等反复商讨,获得系统目标、范围和功能要求的初步说明。(也可采用教师指定的题目:“企业综合信息管理系统”中的“进销存管理子系统”,但要仔细研读“企业现状”、“系统目标、范围和功能要求”等文字说明)。(2)用例分析。确定系统范围和边界、确定参与者、确定用例。(3)用例描述。分层绘制用例图、描述用例。

画图原理:

采用Rose 软件进行用例建模必须建立在完好的系统用例分析基础之上.只有做好系统用例分析,系统用例建模才能这到预期的效果。步骤:

(1)分层绘制用例图,每层采用“包”进行管理。

(2)以“企业综合信息管理系统”-> “进销存管理”子系统-> “销售管理”-> “合同管理”->“收款单处理”为主线,完成附录2 中的操作过程(亦可选择“企业综合信息管理系统”-> “进销存管理”子系统-> “库存管理”-> “原材料出库”->“领料单处理”主线)

[ 实验结果]

实验2 分析建模

[ 实验目的](1)理解面向对象系统分析和对象类建模(概念建模)的概念(2)了解和掌握面向对象系统分析的方法和步骤(3)了解和掌握寻找待开发系统中类(概念)的方法和技巧(4)掌握使用ROSE 绘制概念模型的方法

[ 实验内容] 在用例分析的基础上,选择第一个迭代周期打算开发的用例,建立相关的概念模型。

[ 实验原理和步骤] 建模原理:

(1)使用概念目录列表(见下图)和非正式分析法(识别出问题域的文本描述中的名词短语,然后将其作为概念或属性的候选对象。)相结合的方法识别概念。因此,待开发用例的文字描述中,名词可能成为概念或属性的候选对象;表示行为的动词词组有可能成为事务型或过程型对象;形容词词组有可能对应抽象的名词型概念。

采用的技术基本上就是:ER 图+纯行为+OO 的聚合、泛化。(2)最终关联的数量介于“需要知道”型关联与【“需要知道”型关联+“需要理解”型(从通用关联列表中派生出 的,见下图)】之间。

步骤:

(1)识别关键用例作为第一个迭代周期的开发目标(一般是在用例图中被依赖得比较多的用例)。可以选“企业综合信息管理系统”-> “进销存管理”子系统-> “库存管理”-> “原材料出库”->“领料单处理”主线中的“领料单处理”用例;也可以选“企业综合信息管理系统”-> “进销存管理”子系统-> “销售管理”-> “合同管理”->“收款单处理”主线中的“增加销售合同”或“收款单处理”用例。(其实,选“库存管理”主线更合适;当然,如果要实现产销一体化,以销售订单指导生产和采购,并实现零库存目标,那么一切工作就以销售管理为中心。即便如此,首选“增加合同”用例也更为合适。)

(2)识别概念和重要属性。

(3)建立概念间的关联。

画图原理:

(1)可以采用“逻辑视图”下的类图描述概念模型,只不过每个类中只有类名和属性,没有方法。在概念建模 阶段也没有必要确定属性的类型和访问属性。

(2)概念间的关联可以采用一般关联(无方向实线),当然,对于聚合和泛化,应采用相应的连线(组合:实心菱形+实线;聚合:空心菱形+实线;泛化:空三角形+实线)

步骤:

(0)前提条件:第一个迭代周期可以选“企业综合信息管理系统”

-> “进销存管理”子系统-> “库存管理”->“原材料出库”->“领料单处理”主线中的“领料单处理”用例;也可以选“企业综合信息管理系统”->“进销存管理”子系统-> “销售管理”-> “合同管理”->“收款单处理”主线中的“增加销售合同”或“收款单处理”用例。做好与此用例相关的概念模型

(1)建立相关的概念模型的基础上,在“逻辑视图”下的类图中描述概念模型,可以直接在类图main 中绘制,也可采用类似用例图中用过的分包机制

(2)绘制概念和重要属性。(3)绘制概念间的关联。

[ 实验结果]

[ 实验总结] ① 对重点实验结果进行分析;

② 实验中的问题和提高:对自己的分析或设计进行评价,指出合理和不足之处,提出改进的方案。

③ 收获与体会:筛选概念的要点;区分概念与属性的要点;关联取舍的要点;画图时如何防止关联重名。

实验3 设计建模(1)

[ 实验日期]2011年5月20日 [ 实验目的](1)理解顺序图的基本概念

(2)了解和掌握软件工程中用例逻辑时序的分析方法(3)掌握使用ROSE 创建顺序图的方法

[ 实验内容] 在用例模型和概念模型的基础上,对首选的用例进行事件分解,识别出系统事件(系统操作),(并写出契约的后置条件);为每个系统事件画顺序图,为对象分配职责。

[ 实验原理和步骤] 原理:

(1)在系统顺序图中,所有的系统都被当成黑盒子看待,顺序图的重点是参与者发起的跨越系统边界的事件。

(2)系统事件是由某参与者发起的指向系统的输入事件。一个事件的发生能够触发一个响应操作的执行。

(3)请仔细研究下图,考察它是如何从左边的“购买商品”用例的文字描述中分解出3 个系统事件的。

(4)参照用例模型和概念模型,为每个系统操作估计后置条件。(实例创建、形成关联、属性修改)(5)按照设计模式为对象分配职责。

步骤:

(1)分析首选用例的文字描述,按事件进行分解,识别出系统事件。(下面以“企业综合信息管理系统”-> “进销存管理”子系统-> “销售管理”-> “合同管理”->“收款单处理”主线中的“收款单处理”用例为例)。

我们暂不考虑批处理。第一个核对,因为要将“货款金额填写到合同中”。后置条件显然有“销售合同”的属性修改。此合同显然已经存在,不需要创建,但需要根据合同编号find,然后形成关联。第二个核对需要根据合同明细到仓库的“存货明细”(概念模型中还没有)中去查。此核对发生前虽然敲了一下键盘,但随后并没有新的消息穿越系统边界,因此这仍然是同一个系统事件。先考虑成功场景,应该向库存系统发提货单(概念模型中还没有)就结束了。后续的削减库存(核销)、预警显然不是销售管理员的职权,并且真正的核销必须由仓库的发货人执行,才能保证货帐一致。并且“生产厂家”与“邮购公司”的运作方式不同,后者是自己的员工取货并邮寄,而前者还有可能是来人来车取货,这时仓库收到取货单后并不能立即自动处理(开发货单),必须等取货人到达才能处理。

根据题意,本项目应该是“生产厂家”模式。这又存在一个问题,如

果在开出提货单后不修改库存,可能影响并发用户和后续付款单的处理。所以有必要设计一个“临时存货明细”(概念模型中还没有)(不是真实的“存货明细”)供修改,何时按存货明细”进行刷新应该是库存管理系统的事(比如每天夜里刷新,但因为雨雪天气,取货 人迟迟不提货,是提货单作废(相当于退回销售系统,付款单变为未处理)还是就强行刷新(此时有冲突危险)?)失败场景。向“生产调度部门”发送“产品生产申请单”。如果是专门为此单进行生产,那么还应该有库存系统发来的“产品入库通知处理”用例来调用本用例进行发货。本题显然一概根据付款单运作,因此如果失败,就不处 理付款单,但按日期把它排在待处理付款单的前面。从前面的分析来看,就一个系统事件,我们就命名为“付款单处理(pb:付款单)”(2)为每个系统事件估计后置条件。(以上已做了部分分析)(3)按设计模式进行设计。

首先考虑控制者,领域控制者选参与者角色,即“销售人员”。为了避免使用FORM,窗口等表示层对象,我们人造一 个类”应用协调者”向控制者发送消息。

[ 实验结果]

① 对重点实验结果进行分析;

② 实验中的问题和提高:对自己的分析或设计进行评价,指出合理和不足之处,提出改进的方案。

③ 收获与体会:事件分解的要点;控制者选择的要点;绘制顺序图的要点。

[ 实验总结] ① 对重点实验结果进行分析;

② 实验中的问题和提高:对自己的分析或设计进行评价,指出合理和不足之处,提出改进的方案。

③ 收获与体会:事件分解的要点;控制者选择的要点;绘制顺序图的要点。

实验4 设计建模(2)

[ 实验日期] 2011年5月27日 [ 实验目的](1)理解面向对象类之间关联关系的概念(2)了解和掌握分析类之间的关联关系的方法

(3)了解和掌握待开发系统中类之间关联关系的分析方法(4)完善设计类图,掌握使用ROSE 对关联进行建模的过程

[ 实验内容] 根据设计建模(1)中的交互分析,进一步设计关联和对象可见性(补

上遗漏的关联),完善设计类图。

[ 实验原理和步骤] 建模原理:

(1)关联关系描绘了给定类的对象个体之间的语义连接,是类与类之间的连接。关联可以分为一般关联、聚合关 联、组合关联和依赖关联等。

(2)一般关联包括一对类的二元关联及多个类之间的多元关联。

(3)聚合(Aggregation)表示整体和部分之间较强的关联关系,聚合关系的多重性大于1,则称为共享聚合。

(4)组合(Composition)关系表示整体和部分之间有比聚合关系更强的关系,它们之间是一对一的关系,即同生死共存亡,组合关系不能共享。

(5)依赖关系是一种使用关系,表现为一个对象仅仅调用了另一个对象的服务。可以使用下列的指导方针列出暂时性的关系:

(1)存在两个或两个以上的类相互之间就可能有关联。(2)类的操怍(成员函数)的参数列表里出现其他类的对象。(3)一个类包含另一个类的对象(对象成员)。(4)根据一般常识可能会出现的关联。步骤:

(1)分析已建立的设计类图和交互图,进一步设计关联和

对象可见性(补上遗漏的关联)。(下面以“企业综合 信息管理系统”-> “进销存管理”子系统-> “销售管理”-> “合同管理”->“收款单处理”主线中 的“收款单处理”用例为例)。

在销售管理子系统中,定义的各个类之间一般都有关系发生。销售人员和客户(大客户)共同签署销售合同,销售合同中涉及到多种可以销售的产品,合同经公司经理审查并签字后该合同才能生效,付款单需要客户付款,销售人员签发催款单向客户催缴欠款,销售人员制定销售计划,销售人员要检查督促执行期合同按合同执行、履 约,履约后的合同转到履约合同数据库存档备查等等。例如:

(a)销售人员与客户:一般关联,多对多

(b)销售合同与合同明细,销售计划与计划明细:组合。(c)付款单与客户:依赖关系。《如果付款单类中有“统计付款金额(客户类客户对象)”操作的话,付款 单类就依赖客户类》(2)完善设计类图 画图原理:

(1)关联关系描绘了给定类的对象个体之间的语义连接,是类与类之间的连接。关联可以分为一般关联、聚合关 联、组合关联和依赖关联等。

(2)一般关联包括一对类的二元关联及多个类之间的多元关联。

(3)聚合(Aggregation)表示整体和部分之间较强的关联关系,聚合关系的多重性大于1,则称为共享聚合。

(4)组合(Composition)关系表示整体和部分之间有比聚合关系更强的关系,它们之间是一对一的关系,即同生死共存亡,组合关系不能共享。

(5)依赖关系是一种使用关系,表现为一个对象仅仅调用了另一个对象的服务。步骤:

(1)在关联和对象可见性分析的基础上,补充一般关联、组合,泛化、依赖

(a)一般关联关系要注意关联的命名以及哪个是role A 哪个是role B。

(b)一般关联选中role B detail 中的aggregate,就变成聚合;再选中by value 就变成组合。(c)依赖画虚线箭头。(2)完善设计类图

[实验结果] ① 对重点实验结果进行分析;

② 实验中的问题和提高:对自己的分析或设计进行评价,指出合理和不足之处,提出改进的方案。

③ 收获与体会:分析依赖关系的要点,绘制关联的要点。通过实验了解UML的建模的步骤和方法,了解用例图和类图等的画法,了解系统的分析和建模方法。增加动手和思维能力,使自己更加的了解软件系统前期开发的软件定义和分析方法。

第四篇:UML实验二

实验2 用例图

一、实验目的

1.学会分析系统中的参与者和用例 2.掌握用例图的绘制方法 3.掌握需求分析阶段的用例建模

二、实验器材

1.计算机一台; 2.StarUML工具软件。

三、实验内容

1.画出ATM系统的用例图 2.完成ATM系统用例的事件流描述 3.完成网络教学系统的用例建模 4.完成学生课程注册系统的用例建模

四、ATM系统的用例建摸

1.分析

ATM自动取款机:客户可以取钱,存钱,查询余额,转帐,修改密码。通过分析可找出如下几个参与者:(1)ATM(2)客户

通过分析得到如下用例:

(1)存款(2)取款(3)查询余额(4)转帐(5)修改密码(6)打印收据 2.绘图步骤:

下面介绍在StarUML中创建用例图的过程:

(1)在“Use Case View”中双击Main图,双击图标,出现图1,为编辑用例图做准备。

图1(2)在用例视图中,从工具栏中选择Actor图标,在右边的绘图区中添加一个新元素,并取名客户表明新增一个参与者,如图2所示。

图2(3)同样的方法添加参与者“ATM”,如图3所示。

图3(4)在工具栏上选择用例的图标,依次添加存款、取款、查询余额、转帐、修改密码、打印收据,如图4所示。

图4(5)添加参与者和用例间的关联关系,如图5所示。

图5 依照个人理解,增加一些功能或修改该用例图。(增加的功能或修改的用例图放在此处)

参照如下的取款用例的事件流描述,给出ATM系统的其它用例的事件流描述。

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)储户按确认键,输入取款金额。

5)ATM把帐号和取款金额传递给银行系统,取回帐户余额。6)ATM输出现金,并显示帐户余额。7)ATM记录事务到日志文件。

(ATM系统的其它用例的事件流描述放在此处)登录用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,ATM系统检验密码。4)储户进入ATM系统 存款用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)储户选择存款事务 5)储户添加存款金额 6)ATM系统验证钞票

7)ATM系统显示储户存款金额 8)储户确定储户存款金额

9)ATM把帐号和存款金额传递给银行系统,更新账户金额 10)ATM记录事务到日志文件。查询余额用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)储户选择查询事务

5)ATM系统显示账户余额 转账的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)选择转账事务 5)储户输入转账账号

6)ATM系统验证转账账号 7)储户输入转账金额

8)ATM系统验证输入金额是否符合输入要求 9)ATM系统验证储户账户余额 10)ATM系统显示储户转账账户及转账金额 11)ATM记录事务到日志文件。修改密码用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)选择修改密码事务

5)储户输入旧密码,ATM系统验证账户旧密码 6)储户输入2次新密码,确认输入密码 7)ATM系统更新储户的密码为新密码 8)储户修改密码成功 查询历史记录用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)选择查询历史事务记录用例

5)ATM系统查询并显示相关的信息 打印数据用例的事件流:

1)通过读卡机,储户插入ATM卡

2)ATM系统从卡上读取银行ID、帐号、并验证帐号。3)储户键入密码,系统检验密码。4)ATM系统核实操作 5)系统提示是否打印数据 6)储户确认打印数据 7)返回主界面

五、根据下属需求,分析参与者和用例,并建立网络教学系统的用例图,给出各用例的事件流描述。

网络教学系统的功能需求主要包括以下几个方面:

① 学生可以登录网站浏览信息、查找信息和下载文件。

② 教师可以登录网站输入课程简介、上传课件文件、发布消息、修改和更新消息。③ 系统管理员可以对页面维护以及批准用户的注册申请。(建立的网络教学系统的用例图放在此处)

(各用例的事件流描述放在此处)学生浏览信息用例的事件流:

1)学生输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入网站主页界面 4)浏览到相关的信息 学生查找信息用例的事件流:

1)学生输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入网站搜索界面 4)输入关键词进行搜索 5)找到自己所需要的信息 学生下载文件用例的事件流:

1)学生输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入下载文件界面 4)查找到相关信息 5)保存在指定的硬盘 6)确定下载

教师输入课程简介用例的事件流:

1)教师输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入课程简介界面 4)增加课程简介 5)保存课程简介 6)确定输入成功

教师上传课件用例的事件流:

1)教师输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入上传课件界面 4)选择上传的课件 5)确定上传课件

教师发布、修改、更新消息用例的事件流:

1)教师输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入发布、修改、更新的消息界面 4)填写好要发布、修改、更新的消息 5)保存要发布、修改、更新的消息 6)确定消息

系统管理员页面维护用例的事件流:

1)系统管理员输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)系统管理员进入页面维护界面 4)修改相关页面

5)保存修改过的相关页面 6)确定修改相关页面

系统管理员批准用户的注册申请用例的事件流:

1)系统管理员输入账号、密码

2)网络教学系统验证账号、密码是否正确 3)进入用户的注册申请界面 4)审核相关用户注册的信息 5)保存相关用户注册的信息 6)确定用户的注册申请通过

六、请根据以下需求画出学生课程注册系统的用例图。

某大学准备开发一个学生课程注册系统,学生可以使用该系统查询新学期将开设的课程和讲课教师情况,选择自己要学习的课程进行登记注册,并可以查询成绩单;教师可以使用该系统查询新学期将开设的课程和选课学生情况,并可以登记成绩单;注册管理员使用该系统进行注册管理,包括维护教师信息、学生信息和课程信息等。

在每个学期的开始,学生可以获得该学期的课程目录表,课程目录表列出每门课程的所有信息,诸如基本信息、教师、开课系和选课条件等。

新学期开始前两周为选课注册时间,在此期间学生可以选课注册,并且允许改变或取消注册申请,开学两周后注册管理员负责关闭课程注册。每个学生可以选择不超过4门课程,同时指定2门侯选课程以备主选课程未选上。每门课程最多不能超过10人,最少不能低于3人,低于3人选课的课程将被取消。一旦学生的注册过程完毕,注册系统将有关信息提交收费系统以便学生付费。如果在实际注册过程中名额已满,系统将通知学生在提交课程表之前予以更改。

在学期结束时,学生可以存取系统查看电子成绩单。由于学生成绩属于敏感信息,系统必须提供必要的安全措施以防非法存取。(将画出的用例图放在此处)

第五篇:UML学习心得体会

——uml学习体会

养成良好的绘制uml序列图的习惯 在学习uml的过程中,你可能会遇到绘制uml序列图的问题,这里就讨论一下怎样才能养成良好的绘制uml序列图的习惯。

有一些方法可以帮助您提高uml序列图的质量和效力。它们包括:和主题问题专家一起验证决策;使解决方案尽量简单;为绘制消息和返回值选择一种一

致且有效的风格;将序列图分层;遵循一致的逻辑风格;牢记序列图是动态的。一:验证决策

绘制uml序列图时,我做了一些对其它模型可能有潜在影响的决策。例如,在对第10步建模时,假设(大致上是个设计决策)费用显示屏幕同时也处理学生对费用是否可接受所进行的验证。该决策应该由用户界面原型反映出来,并由主题问题专家(sme)进行验证。您应该和sme(特别是那些对于如何开发类似模型有着深刻见解的富有经验的人)一起执行序列图的绘制工作。

二:保持简单

在对第2和第3步建模时,我忽然意识到学生可能应该使用口令进入系统。在向sme提出了这个概念后发觉我错了:姓名和学号组合对于我们的目的来说已经足够唯一,并且学校也不希望增加复杂的口令管理。这是个很有意思的决策,因为这是学校的一个运作策略,所以可以作为一条商业规则记载到增补规范中。通过与sme一起检验这个想法,而不是假定我比他们知道得更多,我避免了“镀金”的机会,因而减少了我们小组开发这一系统所需的工作。

三:绘制消息和返回值

绘制uml序列图时我更喜欢从左至右地绘制消息,从右至左地绘制返回值,尽管这样对于复杂的对象/类来说不总是非常合适。我将消息上的标签和返回值对齐到离箭头最近的位置。我不喜欢在序列图上标出返回值,为的是使图尽可能地简化。不过,始终标出返回值也同样有效,特别是在序列图用于设计而不是分析目的时。(我希望我的分析图尽量简单,而设计图尽量全面。)在分析期间,我的目标是理解逻辑和确保逻辑的正确性。而在设计期间,则要赋予消息精确的细节。

四:将序列图分层 绘制uml序列图时我喜欢将序列图从左至右地分层。先标出参与者,然后是控制器类,然后是用户界面类,最后是商业类。在设计期间,可能需要添加系统类和持久类,我通常将它们放在序列图的最右侧。以这种方式将序列图分层往往使它们更易于阅读,并且更容易找出分层逻辑问题,例如用户界面类直接访问持久类。

五:遵循一致的逻辑风格

请注意,在图1序列图所示的过程中,逻辑风格做了部分更改。一开始,特别是在登录时,用户界面处理一些基本逻辑--而在选择研习班,以及稍后的验证时,则是控制器类进行处理。这实际上是个设计问题。我不会在这个问题上纠缠太久,但和往常一样,我建议选择一种适合于您的建模风格,然后始终如一地贯彻在所有序列图中。

六:牢记序列图是动态的绘制uml序列图时您可能听说过诸如动态建模和静态建模这样的术语,其他一些熟悉面向对象建模技术的开发人员常常会提到它们。您甚至可能听到过有关每种风格的优点的争论。动态建模技术主要集中在标识系统中的行为,包括序列图的绘制和活动图的绘制(请参阅“如何绘制uml活动图”)以及uml协作图的绘制。而静态建模则集中在系统的静态方面,包括类、它们的属性,以及类之间的关联。类模型和持久/数据模型一样,都是静态建模的主要产物。uml学习心得(一)uml(unified modeling language,统一建模语言)是一组用于描述ooad过程的图形化表达方式。uml为交流面向对象的设计中的需求,行为、体系结构的实现提供了一套综合的表示法。(二)uml由9个不同类型的图组成:

用例图:显示了系统的外部可视行为。

用例图描述了系统外的人员和系统的交互动作,以及系统的响应,该类型的图可以用于描述系统的功能需求。

活动图:显示系统行为的峡谷纳西描述。

活动图描述了单个功能需求内部的细节行为,包括基本的场景和一些可选的场景。

组件图:显示了系统的体系结构。

组件图描述了系统的可部署单元(可执行文件,组件,数据存储和其他一些内容)以及一些借口,可部署单元通过这些接口进行交互,该图可以用于研究系统的体系结构。

顺序图:显示了对象随着时间的交互。

顺序图描述了某个功能需求的路径或场景内相对时间的详细行为,该图可用于理解系统元素之间的消息流程。

协作图:显示了对象的交互,强调对象之间的关系。(在uml2.0里面找不到了)

类图:显示了类的定义和关系。

类图描述了系统设计中的类和接口,以及他们之间的关系。该图可用于定义内部的,面向对象的代码结构。

状态图:显示了响应时间的状态改变。

状态图描述了系统如何改变状态以相应内部的和外部的事件,确保每个事件都被适当的处理。

部署图:显示了系统的物理体系结构。

部署图描述了系统的可部署单元(应用,组件,数据存储等)如何被赋予不同的节点,这些节点如何交互通信,用于系统映射和负载的研究。

包图:显示了设计的层次结构。

包图描述了设计的相关元素如何按组结合在一起,以及他们之间的关系。(三)各种图的作用

1.用例图(usecasediagram)

它是uml中最简单也是最复杂的一种图。说它简单是因为它采用了面向对象的思想,又是基于用户视角的,绘制非常容易,简单的图形表示让人一看就懂。说它复杂是因为用例图往往不容易控制,要么过于复杂,要么过于简单。用例图表示了角色和用例以及它们之间的关系。

2.类图(classdiagram)uml面向对象中是最常用的一种图,类图可以帮助我们更直观的了解一个系统的体系结构。通过关系和类表示的类图,可以图形化的方式描述一个系统的设计部分。3.对象图 uml面向对象中对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实例的类。一个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。4.状态图

描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。通常创建一个uml状态图是为了以下的研究目的:研究类、角色、子系统、或组件的复杂行为。5.时序图

又称顺序图,描述了对象之间动态的交互关系,着重体现对象间消息传递的时间顺序。顺序图由一组对象构成,每个对象分别带有一条竖线,称作对象的生命线,它代表时间轴,时间沿竖线向下延伸。uml面向对象中顺序图描述了这些对象随着时间 的推移相互之间交换消息的过程。消息用从一务垂直的对象生命线指向另一个对象的生命线的水平箭头表示。图中还可以根据需要增加有关时间的说明和其他注释。6.协作图 uml面向对象中协作图用于显示组件及其交互关系的空间组织结构,它并不侧重于交互的顺序。协作图显示了交互中各个对象之间的组织交互关系以及对象 彼此之间的链接。与序列图不同,协作图显示的是对象之间的关系。另一方面,协作图没有将时间作为一个单独的维度,因此序列号就决定了消息及并发线程的顺 序。协作图是一个介于符号图和序列图之间的交叉产物,它用带有编号的箭头来描述特定的方案,以显示在整个方案过程中消息的移动情况。

协作图用途:

通过描绘对象之间消息的移动情况来反映具体的方案。

显示对象及其交互关系的空间组织结构,而非交互的顺序。7.活动图(activitydiagram)uml面向对象中uml活动图记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。描述系统中各种活动的执行顺序,通常用于描述一个操作中所要进行的各项活动的执行流程。同时,它也常被用来描述一个用例的处理流程,或者某种交互流程。

活动图由一些活动组成,图中同时包括了对这些活动的说明。当一个活动执行完毕之后,控制将沿着控制转移箭头转向下一个活动。活动图中还可以方便地描述控制转移的条件以及并行执行等要求。

组件图是用来反映代码的物理结构。从组件图中,可以了解各软件组件(如源代码文件或动态链接库)之间的编译器和运行时依赖关系。使用组件图可以将系统划分为内聚组件并显示代码自身的结构。

组件图的主要目的是显示系统组件间的结构关系。9.配置图

uml面向对象中配置图描述系统中硬件和软件的物理配置情况和系统体系结构。

在配置图中,用结点表示实际的物理设备,如计算机和各种外部设备等,并根据它们之间的连接关系,将相应的结点连接起来,并说明其连接方式。在结点里面,说明分配给该结点上运行的可执行构件或对象,从而说明哪些软件单元被分配在哪些结点上运行。uml是一种软件建模语言,可以对任何具有静态结构和动态行为的系统进行建模。在关注它建模特性的同时更要关注它的过程特性--在什么时间做什么工作,用什么模型,让哪些人来做。对系统用户而言,软件的开发模型向他们描述了软件开发者对软件系统需求的理解。让系统用户查看软件对象模型并且找到其中的问题,可以使开发者不至于从一开始就发生错误。对软件开发而言,软件的对象模型有助于他们对软件的需求以及系统的架构和功能进行沟通。对软件的维护和技术支持者而言,在软件系统开始运行后的相当长的一段时间内,软件的对象模型能够帮助他们理解程序的架构和功能,迅速地对软件所出现的问题进行修复。建模并不是仅对大型的软件系统,甚至一个小型的留言本也能从建模的过程中受益。利用uml可以有效地解决软件设计和分析过程中的沟通和交流问题,可以高效的了解整个系统结构,并且在设计之初就将软件的设计结构和思想固化在纸上有利于规避项目实施 过程中程序员离开的风险。uml可以贯穿软件开发周期中的没一个阶段,在开发阶段,他可以用于说明、可视化、构建和书写面向对象软件制品的设计语言。uml能贯穿整个软件开发过程是因为在每个阶段都能够提供相应相应的图形来对应,使得改变需求,设计代码,测试分析能变得相对简单。在需求分析过程中,应该分为两个过程:1 需求的获取

2、需求的分析。需求的获取,往往不受到重视,在网上经常看到有人说,特别是国内目前的情况,项目工期紧,公司往往想方设法先把项目拿下来,然后就拿自己公司 以往做过的项目做蓝本,然后再根据顾客的需求改动,再次开发,测试,交付就完工了。但如果需求的获取,做不好,往往对后面的步骤流程造成很大的影响,造成 太多的改动和损失。所以为了得到更好的需求,使用uml建模能变得相对简单。例如需求的用例图对系统的功能模型的搭建。用例间的关系有包含、扩展、泛化三类。用例图包括角色、用例和关 系。角色可以有角色的描述,用例可以有用例的描述,这些描述在交流或评审中会非常有用。用例可以泛化,泛化用例具有基本用例的功能,还可以做得更多。角色 也可以泛化,泛化角色能执行原角色能执行的所有用例,还可以执行更多的用例。除了基本用例,角色不能与包含用例、扩展用例和泛化用例有联系。一个用例可以 对应一个类图。增、删、改、查一般来说对于大多数应用做为一个简单的操作即可,不必要作为一个用例来分析。篇三:uml实训总结 实训总结(收获与体会)

通过一个学期的uml学习,我从书本上获取了基本的理论知识,而真正的学以致用,将书本理论知识运用到实际的过程,是这次uml实训的体现。

三个周的uml实训,主要是围绕着一个实训题目“基于uml系统需求分析与设计--合倍利业务流管理系统”进行的,以小组为单位进行文档的编写,其中还对各种流程图、类图、用例图等的绘制,整个过程设计了知识的方方面面。从中让我认识到uml的作用和运作模式以及方法,它是一种统一建模的标准语言,现在对于大多数软件开发来说,都使用uml作为建模语言,形成了统一的标准。它是图形化的的语言,可以很直观的描述一个事物的状态、行为与特征,很好的说明与表达了“合贝利任务管理”这个系统。总之,在我看来,uml是一种定义良好、易于表达、功能强大且普遍适用建模语言。融入软件工程领域的心思想、新方法和新技术,作用域不限于支持面向对象的分析和设计,也不单纯是一种方法,仅仅是一组符号而已,它可以对任何具有静态机构和动态行为的系统进行建模,所以我很喜欢适用uml,在今后的学习中,我还会进一步对该模型的学习,因为它方便、简洁、干净、清爽,直观形象,把整个软件系统的开发流程都融入进去。

这次实训过程中,文档方面的编写,遇到了很多的问题,这些问题主要是对基础知识的理解和把握不够,不能融会贯通和学以致用,有时遇到困难的时候真的不知如何着手解决,但是,我始终相信的那句话“读万卷书,不如行万里路,行万里路不如名师指路”。所以,当遇到自己模糊和自己难以解决的问题时,向指导老师和懂的同学请教,帮助解决我遇到的问题,经过他们的讲解后,我下来自己在分析,在动手,从不理解到理解,从不会到会,从懂到懂,这是一个让我学习愉快的过程,在这个过程中,既可以丰富了自己的知识,还可以和老师和同学进行有效地方沟通。

在这次实训过程中,感触最深的也就是合作精神了。独木难成林,单枪匹马,那是最错误的思想和做法。这次我是深有感触了。对于一个系统的分析,到最终项目的完成,需要分析每个文档,然后在写出纸质的文档,而在每个文档中,内容比较多,分析也要求比较到位,所以单独凭借一个人去完成,似乎有点困难,于是我们小组,将每个文档进行分析,能独立成块就分配给每一个人,这样,每个人都有自己的任务,谁也不会闲着,既学到了知识,也充实了自己。另外一点,就是我深深体会到了积累知识的重要性。在实训当中我们遇到了不少难题,但是经过我们大家的讨论和老师细心的一一指导,问题得到了解决。两个月的实训结束了,收获颇丰,同时也更深刻的认识到要做一个合格的程序员并非我以前想像的那么容易,最重要的还是细致严谨。社会是不会要一个一无是处的人的,所以我们要更多更快地从一个学生向工作者转变,总的来说我对这次实习还是比较满意的,它使我学到了很多东西,为我以后的学习做了引导,点明了方向。实训的日子即将结束,回想这一个过程,有过痛苦,有过烦恼,有过喜悦和有过成功。痛苦烦恼的是自己对所学书本知识掌握得不是很扎实,面对着从书本上学到的知识与实际联系不起来,总结起来就是自己的动手练习的时间太少。而喜悦的是,在做的过程中遇到了困难和问题,主动向老师和会的同学请教,然后再做,直至做正确做成功后的那种喜悦。

团队的力量是无穷的,通过组员的共同努力,完成了实训项目。虽然,我们这组的项目存在着诸多的不足和缺点,但这正是以后学习和工作需要弥补的。这次实训将为我以后进入社会提过了一笔宝贵的财富,是对我能力的一个见证。最后,不得不感谢指导教师熊飞老师的辛勤指导,和小组成员的共同努力!篇四:uml课设心得

六月23号至六月27号,是我们班进行uml专用周课程设计的时间,虽然时间并不是很长,只有短短的一个星期而已,但是让我受益匪浅,通过这次的uml课程设计,使我所学的书本知识得到了全面的检验,也让我对这门课程有了更加深厚的体会。

这次课程设计我们没有另外选题,而是在我们之前做过的系统之上加以完善和改进。现在看看之前提交的作品,确实不近人意;但经过在网上的不断查找资料,终于还是将它完成。之前我做的系统状态图和活动图,为了锻炼自己这次选择了交互图(也就是时序图和协作图)。虽然说自己没有这方面的经验,也不是特别熟悉其工作流程,但是有了在网上 查找资料得来的一些基础和课本里的讲解,自己对它也有了一定初步的认识,虽然不是很全面,但还是跌跌撞撞的完成。其中还因为和组员没有沟通好导致用的类不同,费了好大劲才改回来。

最后,这次课设使我们发现考试真的并不是最重要,最重要的是能运用所学的知识。在整个uml课程的学习过程中,我们突破了传统学习模式,把被动接受转变为主动学习。不再是用学到的知识解题,而是在实际运用时遇到什么学什么,重在把知识应用于实际。立体的运用比死板的模仿更有效也更容易接受。下学期就大四了,也就是大学校园里的最后一年,而课设里学到的动手能力和分析问题解决问题的能力也将是我们毕业找工作的一大筹码。篇五:uml学习重点汇总

第一章 oom&软件建模概述 uml(unified modeling language)

通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模。标准建模语言uml适用于以面向对象技术来描述任何类型的系统,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

特点:统一标准,面向对象,可视化、表达能力强,独立于过程,uml很适合于以体系结构中心的、用例驱动的、迭代式和渐增式的软件开发过程 第二章 uml构成 1.uml的“4+1视图”

从某个角度观察系统构成系统的一个视图,每个

数据库

5活动图——泳道图

泳道将活动图中的活动化分为若干组,并把每一视图都是系统描述的一个投影,说明了系统某个侧面的特征。(1)用例视图(2)逻辑视图(3)组件视图(4)进程视图(并发视图)(5)配置视图(部署视图)2.uml的模型图:

模型图是一组uml模型元素构成的有向图表示,它通常由一组节点(uml基本模型元素), 及节点之间的连线(关系)组成。(1)用例视图:用例图(2)静态模型:类图、对象图、包图、构件图和配置图(3)动态模型:活动图、顺序图、状态图和协作图 3.用例图.用例图是表达用例和参与者及其关系的载体。关系包括:关联关系,依赖关系 实现关系: 3.用例图(续)——用例之间关系1(包含与扩展).3.用例图(续)——用例之间关系2(泛化).3.用例图(续)——用例与参与者

用例use case:一组用例的实例(场景),其中每个实例都是系统执行的一系列活动,这些活动产生了对每个参与者而言可观察的返回值。描述了从参与者角度看系统做了什么

用例模型本身不是面向对象建模技术。

参与者actor: 是指在系统外部与系统交互的人或其他系统,以某种方式参与了系统内用例的执行。4.交互式视图图(顺序图、协作图)1)协作图:采用图的形式展示对象间的交互 2)顺序图:采用栅栏格式展示对象间的交互

顺序图与协作图的优缺点: 顺序图

(优点)强调消息的时间顺序及对象生命线(优点)大量详细表示法选项

(缺点)强制在右侧增加新对象,消耗空间大 协作图(优点)强调结构组织,复杂交互表达更容易(优点)空间利用率高,和方便添加新对象(缺点)不宜查询消息的顺序,表示法选项少 5 活动图

活动图用于表示完成一个操作所需要的活动,或者是一个用例实例(场景)的活动。活动图适合描述动作流和并发处理行为。5活动图——实例

组指定给负责这组活动的业务组织即对象。泳道区分了负责活动的对象,明确地表示了哪些活动是由哪些对象进行的。

每个活动只能明确地属于一个泳道。6 状态图(状态机)

状态图(state diagram)一个对象在其生存期间的动态行为,表现对象响应事件所经历的状态序列以及伴随的动作。并不是所有类都有相应的状态图。状态图只适用于:具有若干个确定状态,类的行为在这些状态下 会受到影响且被不同的状态改变。

状态图与活动图的区别与联系(1)相同的图形符号。

(2)描述一个系统或对象在生存周期的状态或行为。(3)描述系统或对象在多进程中同步或异步操作并发行为。

(4)用条件分支来描述系统或对象的行为控制流。联系:

(2)描述多个对象共同完成一个操作的机制不同。活动图置于责任区(泳道)中,责任区将活动按责任目标和组织归属的原则分类。状态图采用状态嵌套方式描述多

对象协作。

7、类图

类图表示系统中类及类和类之间的关系,用于对系统的静态结构进行描述。类用来表示系统中需要处理的事物.类的关系:

(1)关联:关联表示两个类的对象之间存在某种语义上的联系。

(2)聚集:聚集也称为聚合,关联的特例 聚集表示类与类之间的关系是整体与部分的关系。

(3)泛化:uml中的泛化关系就是通常所说的继承关系,它是通用元素和具体元素之间的一种分类关系。(4)依赖和细化。2)类的关系——关联

间具有细化关系。细化用来协调不同阶段模型之间的关系。

构件图由构件、接口及构件之间的关系组成。构件图主要用于系统的静态实现视图模型,通过构件的依赖关系描述系统软件的组织结构,展示系统不同物理构件及其关系。

系统业务模型:业务过程和文档。系统开发管理模型:开发期间产物及关系 系统实现模型:系统实现的构件建模

第六章 从需求到设计 包图(package diagram)概念性的模型管理工具,用于将大型的软件系统中大量的建模元素有序的组织起来。

运用包可以把语义上相近的可能一起变更的模型元素组织在同一个包中,对包中的元素作为一个整体对待,并 2)类的关系——聚集

聚集也称为聚合,是关联的特例。聚集表示类与类之间的关系是整体与部分的关系。

(1.共享聚集 聚合:聚集关系中处于部分方的对象可同时参与多个处于整体方对象的构成.(2.组合聚集.组合:部分类完全隶属于整体类.部分与整体共存.整体不存在部分也随之消失。2)类的关系——泛化 uml中的泛化关系就是通常所说的继承关系(或一般与特殊关系)。2)类的关系——依赖

两个类之间有依赖,表明其中一个类.客户类.依赖于另一个类(供应类)所提供的某些服务。2)类的关系——细化

当对同一个事物在不同抽象层次上描述时,这些描述之

系统物理配置模型:数据文件、日志、安装/卸载等文件且控制它们的可视性和存取。包拥有内容,包括类、接构件建模 口、组件、节点、协同。use case、图,甚至其它包。集成系统模型:对api建模,帮助利用已有组件。第三章 unified process(1)构件: 系统中遵从并实现一组接口的物理的、可替换up的构成:二维的面向对象开发模型,兼顾技术和管理。的软件模块。构件是软件复用的基本物理实现单元,是工作流:过程工作流(业务建模+需求+分析与设计+实施+逻辑元素模型(类、接口、协同等)的物理包

测试+部署)和3个支持工作流(配置和变更管理+项目管理+环境)4个阶段:初始+细化+构造+交付 up的迭代策略。

up的迭代开发策略:以体系结构为中心,以质量管理和

风险控制为目标,以用例为驱动,采用迭代式以螺旋上

升的模式进行软件开发。(2)构件的接口:一个构件可以定义对其他构件可见的接第四章 初始阶段(inception)口。构件间依赖通过指向所使用的构件接口来表示。接1.初始阶段的目标和任务:

口描述一个构件能提供服务的操作,是一个有操作而无做适当的调研,以形成对新系统的整体目的和可实现的类。包括输入和输出接口。

行性形成一个合理的意见。

建立项目的软件范围和边界条件,包括一个操作“前景”,“接受准则”和产品中包含什么,不包含什么„ 确定核心的用例,这是系统运行的主要场景,它将决定系统设计的方案

针对主要的场景,确定或者演示至少一个备选的系统结9 部署图(deployment diagram)

由节点和节点之间的联系组成,描述了处理器、设备和对整个项目估计总成本和计划(更详细的估计将安排在软件构件运行时的体系结构。

细化阶段中)估计可能的风险(不可预计性的来源)为项目准备支持环境 2.初始阶段的制品: 用例模型+用例描述,词汇表,补充性规格说明,前景,业务规则 9 部署图——结点 3.用例描述

节点是存在于运行时的代表计算资源的物理元素,可摘要:简介描述用例,通常只给出主成功场景。以代表一种物理硬件设备或软件元素。非正式:用若干非正式段落来描述用例,通常给出多个包含:处理器和设备两种类型 不同场景。

详述:详细描述用例,通常给出所有的步骤及场景,并10 部署图——结点间联系

给出前置和后置条件等细节 节点间通过物理连接发生联系,以从硬件方面保证注意:用例描述的方法 系统各节点之间的协同运行。包括通讯关联、依赖联系4.用例的获取过程

等。(1)选择系统边界(2)寻找参与者(3)确定每个参与者的目标(4)定义用例 5.用例的定义:一般为每一个用户目标定义用例

确定用例的经验方法:

(1)老板测试:必须看到可量化的价值(2)ebp:能够增加可量化的业务价值,并且以持久状态留下数据(3)规模测试: 6.rup与用例

(1)意义:记录功能需求;迭代计划的重要部分,预算的关键输入;实现驱动设计;影响用户手册和测试(2)初始阶段:确定系统目标、范围、涉众;绝大部分摘要描述、10~20%详述;确定是否继续开发(3)细化阶段:80~90%被细化描述;分多次迭代(4)构造阶段:多次时间定量迭代;补充次要用例 第五章 细化阶段(elaboration)1.细化阶段的目标和任务: 8.系统顺序图

表述系统是什么,而不解释它是如何做的,将系统作为黑盒子 系统顺序图

它展示了对一个特定的用例,外部的参与者产生的事件,它们的顺序以及系统内的事件

协作与耦合从较高层到较低层进行,避免从较低层到较高层的耦合第七章 模式与对象设计 1 职责和职责驱动设计 类的契约和责任,分为:行为职责和认知职责。在对象设计中,职责被分配给对象,称为rdd。2 设计模式

设计模式:对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。即,对特定问题的描述或解决方案。

目的: 易于理解,维护,扩展和重用 3 grasp模式 控制器(controller),创建者(creator),信息专家 构建核心体系架构,解决高风险问题,完成绝大部分需求的定义,并估计并估计总体计划和资源,保证架构,需求和计划足够稳定,风险被充分规避,确定和解决项目中所有与架构密切相关的风险,从与架构密切相关的场景中确定一个基准体系架构,产生一个达到产品级质量水准的演化性原型,也可以是一个或更多个探索型抛弃型原型,能够展示基准的体系架构以合理的价格和合适的时间支持系统需求,建立一个支持环境 2.核心活动: 尽快定义和验证体系架构,并确定体系架构基线 细化设想(vision)为构造阶段建立详细的迭代计划并建立基线 细化开发用例并将其部署到开发环境中 细化体系架构并选择组件 3.关键思想和实践

实行短时间定量、风险驱动的迭代,及早开始编程,对架构核心和风险部分进行适应性设计,实现和测试,尽早,频繁,实际的测试,基于来自测试,用户,开发者的反馈进行调整,通过一系列讨论会,详细编写大部分用例和其他需求,每个细化迭代举行一次 4.制定迭代计划: 通过风险、覆盖范围和关键程度组织需求和迭代。

风险:技术复杂性;其他因素

覆盖性:在早期迭代中,系统中主要的部分都有所涉及 关键性:具有高业务价值的功能

在每个迭代前将用例和特征进行排序 迭代单位:(1)用例;(2)场景 5.细化阶段的制品: 领域模型,设计模型,软件架构文档,数据模型,用例示意板,用户界面模型 6.领域模型(domain model)领域模型是对真实世界中概念类的表示,而不是软件对象的表示。它不是用来描述软件类、软件架构领域层或有职责软件对象的一组图。

领域模型用一套类图表示,但类没有操作。领域模型可以显示:领域对象或者概念类;概念类之间的关联;概念类的属性

概念类来源:现实(组织、地点、设备等)对象;业务(业务实体和概念)对象;过程(需要记录的时间)对象。9.操作契约

通过领域模型中的对象的状态变换(实例创建或删除;属性修改;关联形成或者打破),定义了系统操作执行后的详细的系统行为.契约co2: enteritem 操作 : enteritem(itemid: itemid, quantity: integer)前提(preconditions): there is a sale underway 后置条件(postconditions): 一个saleslineitem的实例sli被创建;sli与当前的 sale 对象相关联;sli.quantity的数值被赋值,依据itemid的匹配,sli 与productspecification相关联 第六章 从需求到设计 1.软件的逻辑体系结构

逻辑架构(logical architecture)是软件类的宏观组织结构,它将软件类组织成包(命名空间),子系统和层等。

层(layer):对类、包或子系统的粗粒度的分组,具有对系统主要方面加以内聚的职责。较高的层可以调用较低的层。常见的层:

用户界,应用逻辑和领域对象,技术服务 典型的分层模式 2.软件架构

架构是一组重要决策,其中涉及软件系统的组织,对结构元素及其组成系统的接口的选择,这些元素特定于其相互协作的行为,这些结构和行为元素到规模更大的子系统的组成,以及指导该组织结构的架构风格。3.分层设计模式(模型-视图分离, 如mvc架构)系统的大型逻辑结构组织为独立的,职责相关的离散层,具有清晰内聚的关注分离。较低的层是低级别和一般性服务,较高的层则是与应用相关。(information expert),高度内聚(high cohesion),低耦合(low coupling)4 命令——查询分类原则

执行动作(更新、调整)的命令方法,这种方法通常具有改变对象状态等副作用,并且是 void 的(没有返回值)。向调用者返回数据的查询,这种方法没有副作用,不会永久性的改变任何对象的状态。一个方法不应该同时属于以上两种类型。

下载UML练习题1word格式文档
下载UML练习题1.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    UML实验报告(最终五篇)

    计 《面向对象分析与设计 U ML 》 实验报告 学 学 号:180 10 8213 姓 姓名: 庞志伟 班 班 级:08 级软件 2 班指导老师:姚 姚 宇峰 峰 实验及作业一 一、实验目得了解软件工程等基......

    基于UML的功能设计

    内蒙古工业大学信息工程学院 实 验 报 告 课程名称: UML2面向对象分析与设计 实验名称: 基于UML的功能设计 实验类型: 验证性□ 综合性□ 设计性□ 实验室名称: 班级: 学号: 姓名......

    UML实验报告(5篇)

    UML 实 验 报 告 实验一用例图 一、实验结果 1、整理实验结果 2、小结实验心得体会 用例模型用于需求分析阶段,它描述了待开发系统的功能需求,并驱动了需求分析之后各阶段的......

    UML实验指导书

    UML实验指导书 前言 UML技术是一门实践性很强的课程,必须十分重视加强实验教学。UML技术实验课的目的是进一步巩固和加强理论知识,培养基本应用和建模工具操作技能,提高解决实......

    UML实验指导

    UML实验指导书 实验一 UML建模基础................................................................................................... 1 实验二 类.......................

    UML试卷及答案

    四、分析设计题(本大题共2题,共45分) 1. 图书管理系统功能性需求说明如下:(25分) (1)图书管理系统能够为一定数量的借阅者提供服务。每个借阅者能够拥有唯一标识其存在的编号。图书......

    UML实验报告[推荐5篇]

    《OO & UML》实验报告 班级: 学号: 姓名: 1 实验一业务建模 一、 实验目的 二、 实验内容 三、 实验过程和结果分析 四、 总结 1. 实验内容总结 2. 心得体会......

    UML复习总结(大全)

    1.UML(unified modeling language): 统一建模语言是创建描绘软件系统结构和设计蓝图的标准语言。它用于指定、构造、记录软件系统的工件并使之可视化。~ 的基本组成部分:包括......