软件工程与UML图书管理系统领域分析阶段.pptx
-
资源ID:87349541
资源大小:881.83KB
全文页数:111页
- 资源格式: PPTX
下载积分:20金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
软件工程与UML图书管理系统领域分析阶段.pptx
图书管理系统第6周第1次课第1页/共111页工作任务1.经理给出项目计划,各项目组按工作计划进入项目周期2.召开用户访谈会议3.获取用户需求,进行领域分析中的数据建模提交内容1.访谈提纲与访谈记录2.领域类图第2页/共111页项目计划领领域域分分析析需需求求分分析析设设计计编码编码测试测试验收验收标识号名称工期开始时间完成时间1领域分析4.d2009-10-19 8:002009-10-22 17:002业务需求与数据模型分析1.d2009-10-19 8:002009-10-19 17:003业务需求细化3.d2009-10-20 8:002009-10-22 17:004需求分析6.d2009-10-23 8:002009-10-30 17:005系统需求确定2.d2009-10-23 8:002009-10-26 17:006用例规约3.d2009-10-27 8:002009-10-29 17:007需求评审1.d2009-10-30 8:002009-10-30 17:008系统设计7.d2009-11-2 8:002009-11-10 17:009GUI设计1.d2009-11-2 8:002009-11-2 17:0010系统静态结构设计2.d2009-11-2 8:002009-11-3 17:0011系统动态结构设计4.d2009-11-4 8:002009-11-9 17:0012设计评审1.d2009-11-10 8:002009-11-10 17:0013系统编码实现11.d2009-11-11 8:002009-11-25 17:0014系统测试2.d2009-11-26 8:002009-11-27 17:0015项目验收4.d2009-11-30 8:002009-12-3 17:00第3页/共111页项目的任务分解图(WBS)第4页/共111页第5页/共111页阶段目标通过用户访谈获取需求,形成需求陈述,并在此基础上完成领域分析,建立业务领域的数据模型。提交内容:1.访谈提纲与访谈记录2.领域类图、业务用例我们的进度,在这里第6页/共111页阶段能力目标及对应工作任务能力目标工作任务1掌握用户访谈的基本技能1-用户访谈2掌握领域分析方法,能为简单项目进行领域建模2-建立领域类图3掌握Rational Rose中类图的画法实验-24掌握Rational Rose中用例图和活动图的画法3-进行业务用例建模和业务流程建模第7页/共111页阶段知识目标1.访谈技巧2.类、关系3.类图4.用例图5.活动图6.Rose中类图、用例图、活动图画法7.数据建模8.业务用例建模、业务流程建模第8页/共111页我们的进度,在这里工作任务2:召开用户访谈会议,了解用户业务情况。第9页/共111页学习情境:知识1:如何进行用户访谈与用户进行访谈可以通过 正式会议或者一般访谈的形式进行。在进行访谈前,业务员需要了解用户所在行业的一些背景情况和 相关行业知识。无论何种访谈,在进行前都应该准备访谈提纲,在得到一些访谈信息后,要有针对性的设置访谈问题。我们的进度,在这里第10页/共111页访谈提纲的编写技巧技巧一:如何发现用户业务需求 通过一些问题,可以使得系统分析员获知系统某一功能执行步骤,所需或者产生的数据,计算公式,以及企业的特殊约束。例如:您(业务人员)通常都怎么执行某操作的呢?请告诉我执行这些步骤会用到什么数据?以及会产生什么数据?在执行某操作时,有没有什么重要的约束需要注意或遵守的?我们的进度,在这里第11页/共111页用户访谈案例:基金管理系统中的“申购基金”功能的用户访谈A:您通常都怎么执行“申购基金”这件事呢?可以告诉我,主要的执行步骤吗?C:是这样的,申购基金分为两种:一种是单笔申购,另一种是定期定额申购。A:谁在什么时候会决定是哪一种?还是可以同时包含两种?C:客户一开始在申购基金时,就得二选一,决定是要单笔申购某档基金,还是定期定额申购。第12页/共111页用户访谈案例:基金管理系统中的“申购基金”功能的用户访谈(续)A:请您挑选比较简单好懂的一种,告诉我您主要有那些执行步骤?C:都比较好懂了,我就先说一下单笔申购的情况。首先,客户告诉我们单笔申购的基金名称、信托金额以及扣款帐号,那我们这边只要确认这档基金有贩卖,然后客户制定的扣款账号里面有足够的余额可以付信托金额和申购手续费,这样就可以申购了。确认申购之后,我们会从客户指定的扣款账号中,支出信托金额和申购手续费。最后我们会给客户一个申购交易的凭证号码,就完成单笔申购了。第13页/共111页用户访谈案例:基金管理系统中的“申购基金”功能的用户访谈(续)系统分析员记录“单笔申购基金”的主要执行步骤如下:1.客户告知基金名称、信托金额以及扣款账号。2.业务人员确认该基金正在销售中。3.业务人员确认客户制定的扣款账号里有足够的余额,可以用来支付信托金额和申购手续费。4.确认申购之后,从客户指定的扣款账号中,支出信托金额和申购手续费。5.给客户一个申购交易的凭证号码,完成单笔申购基金。第14页/共111页访谈提纲的编写技巧技巧二:发现需要的数据及其属性在系统中,必不可少的会用到数据,那么系统中的数据及数据属性如何被发现呢?可以通过类似以下问题来进行访谈:1.某物会记录什么数据呢?2.某物可以提供我们哪些数据呢?3.某物的某属性有范围码?可被接受的数字,最大最小是多少?可被接受的字符串,最长最短是多少?我们的进度,在这里第15页/共111页用户访谈案例:发现基金管理系统中的数据还以基金管理系统为例子,发现用户数据可以通过下面的访谈A:基金帐户里主要会记录什么数据呢?C:基金帐户里会记录总成本,总现值,总损益,总报酬率。A:用户账号里主要会记录什么数据呢?C:用户的姓名,身份证号,帐户号,指定扣款帐户号,开户行。A:一个用户可以拥有多个基金帐户嘛?C:不可以。只能拥有一个。第16页/共111页图书管理系统的第一次访谈提纲访谈对象:图书馆工作人员Q1:请问您平时主要有哪些工作要做呢?A1:我的日常工作包括图书管理(图书的入库,报废,遗失)、图书的借阅(包括借出图书和归还图书)、还有就是借阅管理(主要是为学生办理学生借阅证)。Q2:您在进行图书管理工作,比如图书入库的时候是怎样的流程?图书报废的时候又是怎样的,您能谈一下吗?A2:一般来讲,我们每学年都需要采集一些图书。当图书从采购部采集进来之后,我们为每本图书建立条码和图书信息,在每本书上粘贴条码,并登记图书信息到图书信息表。学校图书馆的图书很少报废,如果报废的话就需要在图书信息表中的备注栏登记一下。如果丢失的话,会在图书信息表中备注栏记录遗失情况。我们的进度,在这里第17页/共111页图书管理系统的第一次访谈提纲Q2:我还想问一下您在进行学生办理图书证的时候是如何进行的。A2:就是按照学生的入学信息,办理一张卡片(当然需要学生交照片过来)。同时要在学生信息登记表里面记录他的情况。Q3:如果学生借阅证丢失,您是怎么处理的。A3:学生借阅证丢失了,他需要主动联系我们进行“遗失补办”。其实也很简单了,就是重新发一张卡片给他,然后在学生信息登记表里面重新登记他的信息。Q4:您刚才提到的“卡片”是不是就是借阅证?A4:是的Q5:您在新办和补办借阅证的时候,上面都写些什么呢?A5:借阅证编号,姓名,学号,班级。第18页/共111页图书管理系统的第一次访谈提纲Q6:您刚才提到了一个叫做借阅证编号的东西,我想问一下,你们在办理学生借阅证的时候,都需要填写学生信息表里面哪些数据呢?A6:有姓名,学号,班级,专业,性别Q7:图书在入库的时候,你们在图书信息表里面要登记哪些内容啊?A7:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类Q8:下面谈一下您的另外一个工作任务当学生借书和还书的时候又是什么样的吧?A8:学生出示他的借阅证,然后把书交给我登记就可以了。Q9:你都登记什么信息呢?A9:学生的姓名,学号,班级,图书登录号,图书名,ISBN。最重要的就是借阅时间。Q10:学生的借阅时间有没有限定?A10:有,三个月。我们鼓励学生多进行借阅,但是如果超过这个时间的话,我们就会通知辅导员让学生进行归还了。我们的进度,在这里第19页/共111页图书管理系统的第一次访谈提纲访谈对象:图书馆负责人(项目委托者)Q1:刚才我们同工作人员进行了访谈,我们现在想问一下您关于系统的一些情况。这个系统开发出来之后,供谁使用呢?A1:就是工作人员来使用。Q2:你们一般有几个工作员会同时使用这个系统?A2:我们图书馆规模比较小,只有这么一个图书室,同一时刻最多一个工作员使用。Q3:你们图书馆藏书规模有多大?另外,你们学院有多少学生啊?是不是每个学生都有借书证?还是他们申请办理才会有?A3:图书馆藏书大概有六千册吧。学生一般有1500人,一般在学生入学的时候,我们会为主动按班级给每个学生办理借书证的,学生不用单独来申请。当然,要求学生离校办理手续的时候,也必须先到我们这里将借阅证和借阅的书籍归还后才能离校。Q4:你们有没有计划保存离校学生的信息?A4:这个,一般我们都不保存的。在现有的情况下,他们的借书证档案,也是在离校后,就交给档案室,他们处理了。Q5:你们学院的教职员工借书跟学生借书一样吗?又是怎么样的情况?A5:我们学院的教职员工有专门的图书馆,目前我们这个图书馆还没有负责教师的业务,可能以后随着图书馆规模的变化,会有教师业务的吧。这个现在还不确定。我们的进度,在这里第20页/共111页图书管理系统的第一次访谈记录(节选)用户访谈结束后,要整理访谈的内容,形成访谈记录。图书管理系统的访谈记录如下:1.用户主要业务:图书管理,图书借阅归还,借阅管理。其中,图书管理包括图书的入库和报废以及遗失。借阅管理包括学生借阅证的办理和补办。2.图书信息包括:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类3.学生信息包括:姓名,学号,班级,专业,性别4.借阅信息包括:借阅时间,应归还时间5.系统只有一个角色使用6.系统数据容量为:图书10000左右,学生2000左右我们的进度,在这里第21页/共111页需要注意的是选择关键人物进行访谈。访谈的记录要条例清晰,真实有效。根据实际的情况,访谈可能会进行很多次,直到确实明确用户的需求。我们的进度,在这里第22页/共111页我们的进度,在这里工作任务3:内容通过访谈进行需求获取后,根据需求获取信息,进行领域分析交付图书管理系统领域类图第23页/共111页学习情境:知识2:用类图进行图书管理系统数据建模对应教材章节:第6章 6.1节主要知识点:类关系我们的进度,在这里第24页/共111页类类主要包含以下几个部分 (1)名称(Name)名称是每个类所必有的构成,用于和其他类相区分。(2)属性(Attribute)类的一个组成部分描述了类所代表事物的属性 (3)操作(Operation)操作是对类的对象所能做的事务的抽象 我们的进度,在这里第25页/共111页类的UML图示类在UML中由专门的图符表达,是分成3个分隔区的矩形,顶端为类的名字,中间存放类的属性、属性的类型和值,第3个分隔区放操作、操作的参数表和返回类型,如下图:在给出类的UML表示时,可以根据建模的实际情况来选择隐藏属性区或操作区,或者两者都隐藏。我们的进度,在这里第26页/共111页类的名字每个类都必须有一个名字,用来区分其它的类。例:Flight,BankAccountUML约定:1.类名的首字母要大写,放在矩形的偏上部。2.如果类名是由两个单词组成,那么将两个单词合并,第二个单词首字母大写。3.正体字说明类是可被实例化的,斜体字说明类为抽象类。我们的进度,在这里第27页/共111页类的属性例:public flightNumber:Integer;UML约定:1.单个单词的属性名小写。2.如果属性名是由多个单词组成,那么将多个单词合并,除了第一个单词外。其它单词首字母大写。3.属性的语法:可见性 名称:类型=默认值约束特性可见性表示该属性对类外的元素是否可见。常用的有公有、受保护和私有三种。名称表示属性的名称,是一个字符串。类型定义属性的种类(基本类型或自定义类型)默认值表示属性的初始值。约束特性表示描述对属性的约束。我们的进度,在这里第28页/共111页在ROSE中绘制类的属性通过在类上点右键,然后选择New Attribute项即可增加属性。我们的进度,在这里第29页/共111页如果修改的话,则到类的规范卡中进行。双击属性名则可以修改。属性的修饰符可分为以下四种:默认的修饰符为private我们的进度,在这里第30页/共111页类的操作例:getArriveTime():DateUML约定:1.单个单词的操作名小写。2.如果操作名是由多个单词组成,那么将多个单词合并,除了第一个单词外。其它单词首字母大写。我们的进度,在这里第31页/共111页在ROSE中绘制类的操作通过在类上点右键,然后选择New Operater项即可增加操作。我们的进度,在这里第32页/共111页如果修改的话,则到类的规范卡中进行。双击操作名则可以修改。我们的进度,在这里第33页/共111页关系关系(Relationship)是事物间的关系。在类的关系中,最常用的4种分别为:依赖(Dependency):它表示类之间的使用关系泛化(Generalization):它表示类之间的一般和特殊的关系;关联(Association):它表示对象之间的结构关系实现(Realization):它是规格说明和其实现之间的关系。我们的进度,在这里第34页/共111页依赖(Dependency)对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。比如说,你借助(依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作。依赖关系的UML图示:依赖-图形表示:虚线+箭头,箭头指向被依赖的类我们的进度,在这里第35页/共111页泛化(Generalization)泛化表示类与类之间的继承关系,接口与接口之间的继承关系。例如,老虎和狗都是动物的子类泛化关系的UML图示泛化-图形表示:实线+空心箭头,箭头指向父类虚线+空心箭头,如父类是接口我们的进度,在这里第36页/共111页关联(Association)对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司关联关系的UML图示关联-图形表示:实线+箭头,箭头指向被使用的类我们的进度,在这里第37页/共111页关联关系-命名、多重性关联的多重性是指类中有多关联的多重性是指类中有多少对象与关联的类的一个对少对象与关联的类的一个对象相关。重数常描述为象相关。重数常描述为一一或或多多。关联的命名,用小黑关联的命名,用小黑三角表示名字的方向。三角表示名字的方向。我们的进度,在这里第38页/共111页关联关系 角色、关联类角色:关联两头的类以某种角色参与关联。关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。我们的进度,在这里第39页/共111页两种特殊的关联关系聚合关系:聚合关系用来描述整体和部分的关系,有着聚合关系的两个类,一个是整体,一个是部分。在聚集中,部分类可以独立存在。合成(组合)关系:合成关系也是用来描述整体和部分的关系。在合成关系中,部分类不能脱离整体类而存在。我们的进度,在这里第40页/共111页两种特殊的关联关系 聚合比如电脑和它的显示器、键盘、主板以及内存就是聚集关系,因为主板是电脑的组成部分。聚合关系的UML图示:聚集-图形表示:空心菱形+实线+箭头箭头指向部分我们的进度,在这里第41页/共111页两种特殊的关联关系 合成(组合)合成:例滑翔机与机身、机尾、左右机翼滑翔机机翼机尾机身fuselagetailleftWingrightWing1111合成-图形表示:实心菱形+实线+箭头箭头指向部分我们的进度,在这里第42页/共111页关联与聚合、合成的区别关联一般关联特殊关联聚合关系组成关系一般关联中的两个类处于同一层次特殊关联中的两个类有整体和部分的关系部分可以脱离整体单独存在部分不能脱离整体单独存在我们的进度,在这里第43页/共111页聚合和组合如何在ROSE中间表示在关系的规范属性卡中,设置navigable属性,则可以表示聚合。如图所示。如果进一步将communication选择为by value,则表示组合我们的进度,在这里第44页/共111页实现(Realization)它是规格说明和其实现之间的关系。大多数情况下,实现关系用来规定接口和实现接口的类或组件之间的关系。洗衣机和控制旋钮之间的实现关系实现-图形表示:虚线+空心三角形三角形指向接口我们的进度,在这里第45页/共111页图书管理系统的数据建模步骤1:对系统中关键词的抽象我们从与用户的访谈中间可以发现一些关键词汇:学生信息,图书信息,以及借阅信息。因此,可以在系统中抽象出3个类:学生,图书,借阅信息。我们的进度,在这里第46页/共111页图书管理系统的数据建模步骤2:为类添加属性学生信息表包含:姓名,学号,班级,专业,性别图书信息表包含:图书登录号,书名,ISBN,图书类别,作者,出版社,出版日期,总页数,定价,图书分类借阅信息表包含:借阅时间,归还时间。我们的进度,在这里第47页/共111页我们的进度,在这里第48页/共111页图书管理系统的数据建模步骤3:分析和建立类之间的关系学生借阅信息 1:n图书借阅信息 1:n我们的进度,在这里第49页/共111页我们的进度,在这里第50页/共111页6.4 用Rose绘制类图首先,在Rose开发环境中模型浏览器的【Logical View】文件夹(其实是包)图标上单击鼠标右键,在弹出的快捷菜单中,最常用的功能是【Open Specification(打开属性说明)】和【New(新建UML元素)】。其中,【Open Specification】可以打开当前选定对象的属性和说明,并对其进行具体的修改和更新。而“New”则可以新建包括Class(类)、Class Utility、Use Case(用例)、Interface(接口)、Package(包)、Class Diagram(类图)、Use Case Diagram(用例图)、Collaboration Diagram(协作图)、Sequence Diagram(时序图)、State Chart Diagram(状态图)和Activity Diagram(活动图),这里选择Class Diagram(类图),如图所示。我们的进度,在这里第51页/共111页6.4 用Rose绘制类图一个类图就新建完成了,如图4所示,修改类图的名称为Class Diagram。双击打开类图,界面编辑区的编辑工具栏将有所变化,如图所示。我们的进度,在这里第52页/共111页6.4 用Rose绘制类图编辑工具栏上从上到下依次是:Selection Tool(选择工具)、Text Box(文本框)、Note(注解)、Archor Note to Item(注解和元素的连线,是虚线)、Class(类)、Interface(接口)、Unidirectional Association(有方向的关联关系)、Association Class(关联类)、Package(包)、Dependency or Instantiate(依赖关系或实例关系)、Generalization(泛化关系)、Realize(实现关系)、Use-Case Realization(用例实现)和Association(无方向的关联关系)。不过并不是只能加入这些符号,默认的编辑工具栏只提供了一些最常用的符号列表,而用户可以对这个列表进行个性化设置,按照自己的需要来定制工具栏很简单,只需要在这个编辑工具栏上单击右键,在弹出的快捷菜单中选择【Customize】(自定义)菜单项,如图所示。我们的进度,在这里第53页/共111页6.4 用Rose绘制类图单击工具栏上的类图标,单击设计框的空白处,在设计框中加入一个类,同时修改相应的类名称为BrowserInformation。在生成的类上点击鼠标右键,在弹出的如图4-38所示的菜单中选择“New Attribute”,加入类的属性,单击“New Operation”,加入类的方法。双击属性或者操作名,可以进行直接的修改。单击“Open Specification”菜单,将弹出如图4-39所示的对话框,通过这个对话框可以设置这个类的基本信息。Name(名称):类的名称Type(类型):类的类型,包括ParamerizedClass、InstantiatedClass、ClassUtility、Paramerized ClassUtility和InstantiatedClassUtility 6种类型。Stereotype(模板类型):模板的类型共有11种。Export Control(输出控制):包括Public、Private、Protected和Implementation 4种。Document(说明):描述类图的文档我们的进度,在这里第54页/共111页实验2:类图建模技术数据建模1.打开rose新建项目模型图书管理系统2.在逻辑视图(Logical)创建一个包,命名为“领域分析”3.在“领域分析”包中创建一个类图,命名为“领域类图”4.在“领域类图”中创建三个类:学生,图书,借阅信息5.为学生类增加它的属性,并在Detail选项中设置为Persistence6.同样的方法创建图书、借阅信息类和它的属性。7.将模型另存为:学号姓名-实验28.撰写实验报告。提交模型的电子文件。我们的进度,在这里第55页/共111页我们的进度,在这里第56页/共111页实验报告书写注意:姓名xx学号xxxxxxxx年级07实验日期09.10.20/09.10.21实验地点A5202/A7304专业日语强化/日语强化任课教师林琳实验教师林琳班级X实验:二 注意:实验报告每个同学都要完成,当节课做,下课时课代表收上来交给老师电子版程序也由课代表收齐后发给老师我们的进度,在这里第57页/共111页实验报告书写注意:实验名称:数据建模领域类图 目的与要求:1.掌握类的数据建模技术2.通过使用Rose工具,绘制数据库模型类图。实验内容:1)对图书馆管理系统进行模拟访谈,了解借书和还书的业务流程。2)使用Rational Rose完成图书馆管理系统中借书和还书的类图模型。我们的进度,在这里第58页/共111页实验报告书写注意:实验方法与步骤:1)打开rose新建项目模型图书管理系统2)在逻辑视图(Logical)创建一个包,命名为“领域分析”3)在“领域分析”包中创建一个类图,命名为“领域类图”4)在“领域类图”中创建三个类:学生,图书,借阅信息5)为学生类增加它的属性,并在Detail选项中设置为Persistent6)同样的方法创建图书、借阅信息类和它的属性。7)将模型另存为:学号姓名-实验2。如7317110101兰维海实验28)撰写实验报告。提交模型的电子文件。我们的进度,在这里第59页/共111页课程小结本次课中,用到以下知识1.用户访谈2.类的建模:类图教材第6章,6.1节我们的进度,在这里第60页/共111页图书管理系统第6周第2次课我们的进度,在这里第61页/共111页工作任务1.根据访谈内容,进行业务用例建模2.根据访谈内容,进行业务流程的建模提交内容1.业务用例图2.业务流程活动图我们的进度,在这里第62页/共111页我们的进度,在这里工作任务1:业务用例建模交付的工作产品:业务用例图第63页/共111页学习情境知识点1:业务用例建模对应教材章节:第5章 5.1-5.45.1 概述5.2 参与者5.3 用例5.4 用例建模我们的进度,在这里第64页/共111页5.1 概述画好用例图(Use Case Diagrams)是由软件需求到最终实现的第一步,在UML中用例图用于对系统、子系统或类的行为的可视化,以便使系统的用户更容易理解这些元素的用途,也便利软件开发人员最终实现这些元素。UML中的用例图描述了一组用例、参与者以及它们之间的关系,因此用例图包括以下3方面内容1)用例(Use Case);(2)参与者(Actor);(3)参与者之间的关系,泛化关系、包含关系、扩展关系等我们的进度,在这里第65页/共111页5.2 用例(Use Case)用例的概念识别用例用例与事件流我们的进度,在这里第66页/共111页用例的概念用例是对一个系统或一个应用的一种单一的使用方式所作的描述,是关于单个活动者在与系统对话中所执行的处理行为的陈述序列。每个用例都必须有一个惟一的名字以区别于其他用例。图形上用例用一个椭圆来表示,用例的名字可以书写在椭圆的内部或下方。用例的UML图标如图所示。我们的进度,在这里第67页/共111页识别用例识别用例最好的办法就是从分析系统的参与者开始,考虑每个参与者是怎样使用系统。在识别用例的过程中,通过以下的几个问题可以帮助识别用例:(1)特定参与者希望系统提供什么功能;(2)当系统改变状态时,通知参与者吗;(3)存在影响系统的外部事件吗;(4)是哪个参与者通知系统这些事件。(5)系统是否存储和检索信息,如果是,这个行为由哪个参与者触发;我们的进度,在这里第68页/共111页5.4 用例间、用例与参与者的关系1.泛化关系(Generalization):一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化:2.包含关系(Include)一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。3.扩展关系(Extend):一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新行为插入到已有用例的方法。4.关联关系:关联关系表示参与者与用例之间的通信。我们的进度,在这里第69页/共111页5.4 用例间、用例与参与者的关系四种关系的UML图释包含关系扩展关系泛化关系关联关系第70页/共111页5.3 参与者(Actor)参与者(Actor)是系统外部的一个实体(可以是任何的事物或人),它以某种方式参与了用例的执行过程。参与者通过向系统输入或请求系统输入某些事件来触发系统的执行。参与者由他们参与用例时所担当的角色来表示。UML中,参与者用“人形”图标来表示,名字写在图标的下方。我们的进度,在这里第71页/共111页5.3 参与者(Actor)参与者一般分为三种:系统用户其他系统可运行的进程第72页/共111页5.3 参与者(Actor)在获取用例前要先确定系统的参与者,可以根据以下的一些问题来寻找系统的参与者。(1)谁或什么使用该系统;(2)交互中,它们扮演什么角色;(3)谁安装系统;(4)谁启动和关闭系统;(5)谁维护系统;(6)与该系统交互的是什么系统;(7)谁从系统获取信息;(8)谁提供信息给系统;(9)有什么事发生在固定事件。系统的主要功能使用者系统的维护、管理人员系统的硬件设备对系统产生结果感兴趣的人或者其他系统第73页/共111页5.3 参与者(Actor)在建模参与者过程中,记住以下要点。(1)参与者对于系统而言总是外部的,因此它们在你的控制之外。(2)参与者直接同系统交互,这可以帮助定义系统边界。(3)参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或特定的事物。(4)一个人或事物在与系统发生交互时,可以同时或不同时扮演多个角色。例如,某研究生担任某教授的助教,同职业的角度看,他扮演了两个角色学生和助教。(5)每一个参与者需要有一个具有业务一样的名字,在建模中,不推荐使用诸如NewActor这样的名字。(6)每个参与者必须有简短的描述,从业务角度描述参与者是什么。(7)像类一样,参与者可以具有分栏,表示参与者属性和它可接受的事件。一般情况下,这种分栏使用的并不多,很少显示在用例图中。我们的进度,在这里第74页/共111页用例图建模技术5.5 对语境建模5.6 对需求建模我们的进度,在这里第75页/共111页5.5 对语境建模在UML建模过程中,可以使用用例图对系统的语境进行建模,强调系统外部的参与者。系统语境是由处于系统外部并且与系统进行交互的事物所构成。对系统语境建模可以参考如下方法。(1)识别系统外部的参与者(2)在需要加深理解的地方,为每个参与者提供一个构造型。(3)将参与者放到用例图中,并说明参与者与用例之间的通信路径。(4)将类似参与者组织成泛化的层次结构。第76页/共111页5.6 对需求建模软件需求就是根据用户对产品功能的期望,提出产品外部功能的描述。需求分析所要做的工作是获取系统的需求,归纳系统所要实现的功能,使最终的软件产品最大限度的贴近用户的要求。一般要考虑系统做什么(what),而尽可能的不去考虑怎么做(how)。UML用例图可以表达和管理系统大多数的功能需求。对系统功能建模可以参考如下方法:(1)识别系统外部的参与者,从而建立系统的语境;(2)考虑每一个参与者期望的行为或需要系统提供的行为;(3)把公共行为命名为用例;(4)确定供其他用例使用的用例和扩展其他用例的用例;(5)在用例图中对这些用例、参与者和它们间的关系建模;(6)用描述非功能需求的注释修饰用例图。我们的进度,在这里第77页/共111页图书管理系统的业务用例建模现在我们要对图书管理系统进行业务用例建模。在上次进行的访谈中,我们得知:1.该系统只有一种使用者:图书馆工作人员,并且同一时刻只有一个工作人员使用该系统。2.图书馆工作人员,日常的业务主要有:图书管理,借阅管理和图书的借阅/归还。我们的进度,在这里第78页/共111页根据以上访谈内容,我们识别出参与者图书馆工作人员用例图书管理、借阅管理和图书的借阅/归还在Rational Rose中建模。打开模型:图书管理系统在UseCase中新建一个包,命名为“领域分析”,在其中创建一个用例图(UseCase Diagram,命名为:业务用例图我们的进度,在这里第79页/共111页我们的进度,在这里注意:这个用例图是从用户业务的视角出发,用来进行业务用例建模的。在今后的需求分析阶段,我们会从系统的视角来进行系统用例建模。第80页/共111页我们的进度,在这里工作任务2:业务流程建模交付的工作产品业务流程活动图第81页/共111页学习情境:知识点2:活动图与业务流程建模对应教材章节:第8章 8.1节通过UML中的活动图,可以帮助我们进行用户业务流程建模,帮助我们站在用户的视角上进行业务分析。在业务流程建模中,我们关注的是用户进行某项业务的执行步骤。我们的进度,在这里第82页/共111页8.1 活动图(Activity Diagram)的概念和内容活动图的内容活动图的用途活动图的建模技术我们的进度,在这里第83页/共111页活动图的内容活动图是UML中描述系统动态行为的图之一,它用于展现参与行为的类的活动或动作。UML中,图形上活动图里的活动用圆角矩形表示活动图的主要内容是:1.动作状态2.活动状态3.动作流4.分支(Branch)5.分叉和汇合6.泳道7.对象流我们的进度,在这里第84页/共111页活动图符号表示动作状态动作流分支(判定条件)分叉和汇合(表示并发和同步)泳道我们的进度,在这里第85页/共111页活动图的用途活动图用于对系统的动态行为建模。在对一个系统建模时,通常有两种使用活动图的方式:(1)为工作流建模(2)为对象的操作建模我们的进度,在这里第86页/共111页活动图的建模技术在系统建模过程中,活动图能够被附加到任何建模元素,以描述其行为,这些元素包括用例、类、接口、组件、节点、协作、操作和方法。在建模过程中,读者可以参照以下步骤进行:(1)识别要对其工作流进行描述的类;(2)对动态状态建模;(3)对动作流建模;(4)对对象流建模;(5)对建模结果进行精化和细化。我们的进度,在这里第87页/共111页一个活动图的例子用一个活动图表示一下考试的过程。思考一下:你们每次参加考试的过程是怎么样的?我们的进度,在这里第88页/共111页一个考试的过程1.开始2.学生进入考场。3.监考教师核对检查证件,发试卷。4.学生对号入座。5.学生开始答题。6.学生交卷。7.监考教师收取试卷。8.结束我们的进度,在这里第89页/共111页活动图的表示我们的进度,在这里第90页/共111页加入泳道之后我们的进度,在这里第91页/共111页图书管理系统的业务流程建模根据访谈分析业务流程1.借书流程1.图书管理员得到学生出示的借书证2.图书管理员得到学生递给他的书3.进行借书信息登记我们的进度,在这里第92页/共111页我们的进度,在这里第93页/共111页2.还书流程1.得到图书信息2.查阅借书信息表3.登记归还我们的进度,在这里第94页/共111页我们的进度,在这里第95页/共111页3.借阅管理流程第96页/共111页我们绘制了借阅管理的活动图之后,发现无法更清楚的描绘用户的业务情况,这说明 我们需要对办理借阅证这个动作状态和借阅证遗失补办这个动作状态进行进一步细化。我们的进度,在这里第97页/共111页办理借阅证借阅证遗失补办我们的进度,在这里第98页/共111页4.图书管理流程我们的进度,在这里第99页/共111页同样的,图书管理中的三个动作状态也需要进一步细化。图书报废处理图书入库图书遗失处理我们的进度,在这里第100页/共111页别忘了加上必要的注释我们的进度,在这里第101页/共111页借阅管理我们的进度,在这里第102页/共111页办理借阅证第103页/共111页借阅证遗失补办我们的进度,在这里第104页/共111页图书管理我们的进度,在这里第105页/共111页图书入库我们的进度,在这里第106页/共111页图书报废处理我们的进度,在这里第107页/共111页图书遗失处理我们的进度,在这里第108页/共111页本次小节在本次课中,我们学习了以下知识:利用用例图进行业务建模的知识利用活动图进行业务流程建模的知识在领域分析中,我们可以根据与用户访谈的结果,进行业务用例建模,并为每个业务用例进行业务流程建模,帮助我们获取和分析用户实际业务情况,为下一步进行需求分析做准备。知识点对应章节:第5章第8章8.1节第109页/共111页课后作业学习了活动图建模技术后,你能不能试着用活动图描述一下。你到学生食堂就餐的流程呢?小组讨论一下,绘制你们小组的活动图。把截图存成.jpg格式的图片,然后命名为:班级-第X小组-食堂就餐活动图.jpg如:日强1班-第1小组-食堂就餐活动图.jpg由组长发送邮件到作业截止日期:10月25日晚10点第110页/共111页感谢您的观看!第111页/共111页