UML完整例子课件

上传人:29 文档编号:242826565 上传时间:2024-09-04 格式:PPT 页数:38 大小:544.20KB
返回 下载 相关 举报
UML完整例子课件_第1页
第1页 / 共38页
UML完整例子课件_第2页
第2页 / 共38页
UML完整例子课件_第3页
第3页 / 共38页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,UML,完整例子,书籍管理系统分析与设计,1,UML完整例子书籍管理系统分析与设计1,1.,需求描述,小王是一个爱书之人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。,该系统应该能够将书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能。,2,1.需求描述小王是一个爱书之人,家里各类书籍已过千册,而平时,需求描述,在使用该系统录入新书籍时系统会自动按规则生成书号,可以修改信息,但一经创建就不允许删除。,该系统还应该能够对书籍的外借情况进行记录,可对外借情况列表打印。,另外,还希望能够对书籍的购买金额、册数按特定时间周期进行统计,3,需求描述在使用该系统录入新书籍时系统会自动按规则生成书号,可,2.,类图的设计,-,(,1,)发现类,小王,是一个爱书之,人,,,家里,各类,书籍,已过千册,而平时又时常有,朋友,外借,因此需要一个,个人图书管理系统,。,该系统应该能够将书籍的,基本信息,按,计算机类,、,非计算机类,分别建档,实现按,书名,、,作者,、,类别,、,出版社,等,关键字,的组合查询,功能,。,4,2.类图的设计 - (1)发现类小王是一个爱书之人,家里各类,发现类,在使用该系统录入,新书籍,时,系统,会自动按,规则,生成,书号,,可以修改,信息,,但一经创建就不允许删除。,该系统还应该能够对书籍的外借情况进行,记录,,可对,外借情况列表,打印。,另外,还希望能够对书籍的,购买金额,、,册数,按,特定时间周期,进行统计,5,发现类在使用该系统录入新书籍时系统会自动按规则生成书号,可以,(,2,)筛选备选类,“,小王”、“人”、“家里”很明显是系统外的概念,无须对其建模;,而“个人图书管理系统”、“系统”指的就是将要开发的系统,即系统本身,也无须对其进行建模;,很明显“书籍”是一个很重要的类,而“书名”、“作者”、“类别”、“出版社”、“书号”则都是用来描述书籍的基本信息的,因此应该作为“书籍”类的属性处理,而“规则”是指书号的生成规则,而书号则是书籍的一个属性,因此“规则”可以作为编写“书籍”类构造函数的指南。,6,(2)筛选备选类“小王”、“人”、“家里”很明显是系统外的概,筛选备选类,“,基本信息”则是书名、作者、类别等描述书籍的基本信息统称,“关键字”则是代表其中之一,因此无需对其建模;,“功能”、“新书籍”、“信息”、“记录”都是在描述需求时使用到的一些相关词语,并不是问题域的本质,因此先可以将其淘汰掉;,“计算机类”、“非计算机类”是该系统中图书的两大分类,因此应该对其建模,并改名为“计算机类书籍”和“非计算机类书籍”,以减少歧义;、,7,筛选备选类“基本信息”则是书名、作者、类别等描述书籍的基本信,筛选备选类,“,外借情况”则是用来表示一次借阅行为,应该成为一个候选类,多个外借情况将组成“外借情况列表”,而外借情况中一个很重要的角色是“朋友”,借阅主体。,虽然到本系统中并不需要建立“朋友”的资料库,但考虑到可能会需要列出某个朋友的借阅情况,因此还是将其列为候选类。为了能够更好地表述,将“外借情况”改名为“借阅记录”,而将“外借情况列表”改名为“借阅记录列表”;,8,筛选备选类“外借情况”则是用来表示一次借阅行为,应该成为一个,筛选备选类,“,购买金额”、“册数”都是统计的结果,都是一个数字,因此不用将其建模,而“特定时限”则是统计的范围,也无需将其建模;不过从这里的分析中,我们可以发现,在该需求描述中隐藏着一个关键类,书籍列表,也就是执行统计的主体。,9,筛选备选类“购买金额”、“册数”都是统计的结果,都是一个数字,(,3,) 得到候选类,在使用“名词动词法”寻找类的时候,很多团队会在此耗费大量的时间,特别是对于中大型项目,这样很容易迷失方向。其实在此主要的目的是对问题领域建立概要的了解,无需太过咬文嚼字,书籍 计算机类书籍 非计算机类书籍 借阅记录,借阅记录列表 书籍列表,10,(3) 得到候选类在使用“名词动词法”寻找类的时候,很多团队,(,4,)关联分析,建模,多重性分析,再建模,11,(4)关联分析,建模,多重性分析,再建模11,(,5,) 职责分析,书籍类:从需求描述中,可找到,书名、类别、作者、出版社,;同时从统计的需要中,可得知“,定价,”也是一个关键的成员变量。,书籍列表类:书籍列表就是全部的藏书列表,其主要的成员方法是新增、修改、查询(按关键字查询)、统计(按特定时限统计册数与金额)。,借阅记录类:借阅人(朋友)、借阅时间。,借阅记录列表类:主要职责就是添加记录(借出)、删除记录(归还)以及打印借阅记录,12,(5) 职责分析书籍类:从需求描述中,可找到书名、类别、作者,类图,13,类图 13,(,6,) 限定与修改,导航性分析:,Book,与,BookList,之间、,BorrowRecord,和,BorrowList,之间是组合关系均无需添加方向描述,而,Book,与,BorrowRecord,之间则是双方关联,也无需添加约束:,Book,对象创建后就不能够被删除只能被修改,因此在,Book,类边上加上用自由文本写的约束 ;,一本书要么属于计算机类,要么属于非计算机类,因此在,ItBook,和,OtherBook,间加了 “,Xor”,约束限定符:,一本书只有一册,因此只能够被借一次,因此对于一本,Book,而言只能有一个,RecordId,与其对应,14,(6) 限定与修改导航性分析:Book与BookList之间,限定分析,15,限定分析 15,3.,绘制用例图,用例图的绘制流程,16,3.绘制用例图用例图的绘制流程16,(,1,)记录需求,特性表,编号,说明,FEAT01,新增书籍信息,FEAT02,修改已有的书籍信息,FEAT03,书籍信息按计算机类、非计算机类分别建档,FEAT04,录入新书时能够自动按规则生成书号,FEAT05,计算机类与非计算机类书籍采用不同的书号规则,FEAT06,录入新书时如果重名将自动提示,FEAT07,按书名、作者、类别、出版社等关键字组合查询书籍,FEAT08,列出所有书籍信息,FEAT09,记录外借情况,FEAT10,外借状态能够自动反应在书籍信息中,FEAT11,按人、按书查询外借情况,FEAT12,列出所有的外借情况,FEAT13,按特定时间段统计购买金额、册数,FEAT14,所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行,17,(1)记录需求特性表编号说明FEAT01新增书籍信息 FE,(,2,)识别参与者,已有的上下文关系图(表示系统范围)及其他相关模型:它们描述了系统与外部系统的边界,从这些图中可以寻找出与系统有交互关系的外部实体。,项目相关人员分析:对项目的相关人员进行分析,就能够决定出哪些人将会与系统进行交互。,书面的规格说明和其它项目文档(如会谈备忘录等),18,(2)识别参与者已有的上下文关系图(表示系统范围)及其他相关,识别参与者,需求研讨会和联合应用开发会议的记录:这些会议的参与者通常是很重要的,因为他们在组织中所代表的角色就是可能与系统发生交互的参与者。,当前过程和系统的培训指南及用户手册:这些东西中经常会有潜在参与者。,19,识别参与者需求研讨会和联合应用开发会议的记录:这些会议的参与,(,3,)合并需求获得用例,特性,用例,FEAT01.,新增书籍信息,FEAT03.,书籍信息按计算机类、非计算机类分别建档,FEAT04.,录入新书时能够自动按规则生成书号,FEAT05.,计算机类与非计算机类书籍采用不同的书号规则,FEAT06.,录入新书时如果重名将自动提示,UC01.,新增书籍信息,FEAT02.,修改已有的书籍信息,UC02.,修改书籍信息,20,(3)合并需求获得用例特性用例FEAT01.新增书籍信息UC,特性,用例,FEAT07.,按书名、作者、类别、出版社等关键字组合查询书籍,FEAT08.,列出所有书籍信息,FEAT14.,所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行,UC03.,查询书籍信息,FEAT09.,记录外借情况,FEAT10.,外借状态能够自动反应在书籍信息中,UC04.,登记外借信息,FEAT11.,按人、按书查询外借情况,FEAT12.,列出所有的外借情况,FEAT14.,所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行,UC05.,查询外借信息,FEAT13.,按特定时间段统计购买金额、册数,FEAT14.,所有查询、列表、统计功能应可以单独对计算机类或非计算机类进行,UC06.,统计金额和册数,21,特性用例FEAT07.按书名、作者、类别、出版社等关键字组,(,4,)用例图,22,(4)用例图 22,(,5,)细化用例描述,搭框架,1.,用例名称:新增书籍信息(,UC01,),2.,简要说明:录入新购书籍信息,并自动存储建档。,3.,事件流:,3.1,基本事件流,3.2,扩展事件流,4.,非功能需求,5.,前置条件:用户进入图书管理系统。,6.,后置条件:完成新书信息的存储建档。,7.,扩展点:无,8.,优先级:最高(满意度,5,,不满意度,5,),23,(5)细化用例描述搭框架1.用例名称:新增书籍信息(UC0,(,6,)细化用例描述,填血肉,3.,事件流:,3.1,基本事件流,1,)图书管理员向系统发出“新增书籍信息”请求;,2,)系统要求图书管理员选择要新增的书籍是计算机类还 是非计算机类;,3,)图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号;,4,)图书管理员输入书籍的相关信息,包括:书名、作者、 出版社、,ISBN,号、开本、页数、定价、是否有,CDROM,;,5,)系统确认输入的信息中书名未有重名;,6,)系统将所输入的信息存储建档。,24,(6)细化用例描述填血肉3.事件流:24,细化用例描述,填血肉,3.2,扩展事件流,5a,)如果输入的书名有重名现象,则显示出重名的书籍,并要求图书管理选择修改书名或取消输入;,5a1,)图书管理员选择取消输入,则结束用例,不做存储建档工作;,5a2,)图书管理员选择修改书名后,转到,5,),4.,非功能需求:无特殊要求,25,细化用例描述填血肉 3.2 扩展事件流25,(,7,)编写要点,使用简单的语法:主语明确,语义易于理解;,明确写出“谁控制球”:也就是在事件流描述中,让读者直观地了解是参与者在控制还是系统在控制;,从俯视的角度来编写:指出参与者的动作,以及系统的响应,也就是从第三者观察的角度;,显示过程向前推移:也就是第一步都有前进的感(例如,用户按下,tab,键作为一个事件就是不合适的);,26,(7)编写要点使用简单的语法:主语明确,语义易于理解;26,编写要点,显示参与者的意图而非动作(如果只描述了动作,人们不能够很容易地直接从事件流描述中理解用例);,包括“合理的活动集”(带数据的请求、系统确认、更改内部、返回结果);,用“确认”而非“检查是否”,例如“系统确认所输入的信息中书名未有重名”;,可选择地提及时间限制;,采用“用户让系统,A,与系统,B,交互”的习惯用语;,采用“循环执行步骤,x,到,y,,直到条件满足”的习惯用语。,27,编写要点显示参与者的意图而非动作(如果只描述了动作,人们不能,4.,绘制交互图,首先根据自己的喜好和实际的表现需要来选择顺序图或通信图。,不过由于它们在语义上是等价的,因此可以绘制出一种,再通过建模工具来自动转换成另一种图 。,28,4.绘制交互图首先根据自己的喜好和实际的表现需要来选择顺序图,(,1,)准备工作,分析模型中的交互图彻重于分析类的职责分配和交互流程,而设计模型中的交互图则彻重于设计类的引入和实际方法的调用与流程控制,先确定参与交互的对象、对象之间的关系(通信图),然后确定对象间的消息交互流程(用同步调用、异步消息、返回消息表示),并利用交互片断(顺序图)或迭代标记及监护条件来表示循环和分支结构,29,(1)准备工作分析模型中的交互图彻重于分析类的职责分配和交互,(,2,)鲁棒分析,Robustness,分析不是,UML,模型的一部分,它是一个强大的草图工具,是介于分析和设计之间的一种有效工具,在,Robustness,分析中,将应用边界类、控制类和实体类,从一个用例中抽取三类对象的方法:,30,(2)鲁棒分析Robustness分析不是UML模型的一部分,鲁棒分析,从事件流开始,31,鲁棒分析从事件流开始31,鲁棒分析,寻找边界对象,图书管理员向系统发出“新增书籍信息”请求,主窗口、“新增书籍信息”按钮,系统要求图书管理员选择要新增的书籍是计算机类还是非计算机类,书籍类别列表框。,图书管理员做出选择后,显示相应界面,让图书管理员输入信息,并自动根据书号规则生成书号,“,新书信息录入”窗口及辅助的“提交”按钮,32,鲁棒分析寻找边界对象图书管理员向系统发出“新增书籍信息”请,鲁棒分析,寻找控制对象和实体对象,根据事件流中的步骤,5,,以及扩展路径的描述,就可以在原图上增加相应的控制对象,得到更进一步的分析图,33,鲁棒分析寻找控制对象和实体对象根据事件流中的步骤5,以及扩,鲁棒分析,寻找控制对象和实体对象,新添两个逻辑:一是基本事件流中的步骤,2,、,3,要求根据用户选择的类别,自动获得书号;二是当书名重复性检查没有通过(有重名),则应返回要求其重输,34,鲁棒分析寻找控制对象和实体对象新添两个逻辑:一是基本事件流,(,3,)构建交互模型,35,(3)构建交互模型35,(,4,)转换成通信图,36,(4)转换成通信图36,组件图,37,组件图37,38,38,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!