软件工程第912章三大模型PPT课件

上传人:M****1 文档编号:570363570 上传时间:2024-08-03 格式:PPT 页数:131 大小:2.31MB
返回 下载 相关 举报
软件工程第912章三大模型PPT课件_第1页
第1页 / 共131页
软件工程第912章三大模型PPT课件_第2页
第2页 / 共131页
软件工程第912章三大模型PPT课件_第3页
第3页 / 共131页
软件工程第912章三大模型PPT课件_第4页
第4页 / 共131页
软件工程第912章三大模型PPT课件_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《软件工程第912章三大模型PPT课件》由会员分享,可在线阅读,更多相关《软件工程第912章三大模型PPT课件(131页珍藏版)》请在金锄头文库上搜索。

1、面向对象方法学面向对象方法学基本原则:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。面面向向对对象象方方法法以以数数据据为为主主线线,将将数数据据和和操操作作方方法法封封装装在在对对象象中中,通通过过消消息息请请求求对对象象主主动动执执行行它它的内部操作,改变其内部私有数据。的内部操作,改变其内部私有数据。1. 面向对象方法四个要点 OO = Objects + Class + Inheritance + Communication with message 与人的思维方法一致稳定性好可重用性好较易开发大型软件产品可维护性好2. 面向对象方法的

2、优点面向对象方法的优点3. 面向对象建模用面向对象方法开发软件,通常需要建立三种形式的模型:(1)对象模型:描述系统的数据结构(2)动态模型:描述系统的控制结构(3)功能模型:描述系统的功能4. UML(Unified Modeling Language)u是是OOAOOD发展的展的产物物u1995年年10月:第一个公开版本月:第一个公开版本UM 0.8u1996年年6月:月:UM改名为改名为UML(Unified Modeling Language),发布,发布 UML 0.9u1996年底:年底:UML占面向对象技术市场的占面向对象技术市场的85,成为可视化建模语言的工业标准成为可视化建模

3、语言的工业标准u现版本:现版本:UML2.0 UML的内容由五类图(9种图形)来定义: (1)用例图:从用户角度描述系统功能(2)静态图:类图、对象图和包图SubscriptionSeriesseries : intIndividualReservationTicketno : int3.60.13.60.110.110.1Reservationdate : DateCustomername : stringphone : string1.*11.*1Seatno : intcolomn : introw : intavailable : bool1111Performanceno : int

4、date : Datetime : Time0.*10.*1CreditCardServiceCharge(cardnumber, cost)kjoskShowAvailability(seatlist)DemandPayment(cost)PrintTickets(performance, seats)EjectCard()BoxOfficeRequest(count, performance)Select(seats)InsertCard(cardnumber, password)Authorized() 对象图和包图(3)行为图、活动图assigned totime outunlockb

5、uyexchangeAvailableLockedSold(4)交互图:顺序图、协作图CreditCardChargesManagerInterfaceCustomerInterfaceClerkInterface信用卡代理监督员售票员顾客datdbaseTicketDBTicketSellerTicketServerKioskSalesTerminal11*1节点多重性(5)实现图:配置图对象模型与静态建模现实世界认识抽象概念模型信息世界1.实体属性类名操作一 类图术语标准、含义确切、名词或名词短语可见性属性名:类型名=初值性质串+ public - private # protected可

6、见性操作名(参数表):返回值类型性质串属性类操作对象名对象名对象名对象名: : : :类名类名类名类名属性属性属性属性操作操作操作操作2.类图中的关系学生计算机*1.*使用被使用(1)关)关联:某种:某种语义上的上的联系系0.30.*、* *1+、1.*5重数重数multiplicity依赖一一一一个个个个元元元元素素素素以以以以某某某某种种种种方方方方式式式式依依依依赖赖于于于于另另另另一一一一种种种种元素,具有元素,具有元素,具有元素,具有偶然性。偶然性。偶然性。偶然性。渡河者渡河者船船(2)依赖组合组合组合组合聚合聚聚聚聚合合合合:对对象象象象是是是是可可可可以以以以分分分分离离离离的的

7、的的,有有有有各各各各自自自自的的的的生命周期生命周期生命周期生命周期组组合:合:合:合:为为一种一种一种一种唇唇唇唇齿齿相依的关系。相依的关系。相依的关系。相依的关系。机场机场飞机飞机公司公司员工员工桌子桌子桌子腿桌子腿都表示整体与部分的关系都表示整体与部分的关系都表示整体与部分的关系都表示整体与部分的关系(3)聚合、组合组合和聚合示例泛泛化化与与细化化:都都表表示示一一般般与与特特殊殊的的关关系系,即即“一一般般”元元素素是是“特殊特殊”关系的泛化。关系的泛化。细化(实现)泛化(继承)(4)泛化、细化(5 5)关联关系)关联关系双向关联单向关联单向关联单向关联单向关联聚集关联组成关联标标准

8、关准关准关准关联联,如老,如老,如老,如老师类师类与学生与学生与学生与学生类类只有一个只有一个只有一个只有一个类类知道关知道关知道关知道关联联的存在的存在的存在的存在整体与局部的关系,如整体与局部的关系,如整体与局部的关系,如整体与局部的关系,如车车与与与与轮轮胎胎胎胎拥拥有关系,如公司与有关系,如公司与有关系,如公司与有关系,如公司与员员工工工工自身关联自身关联自身关联自身关联book* *n nreferencereferencereferencereference类类的的的的一一一一个个个个实实例例例例与与与与另另另另一个一个一个一个实实例相关例相关例相关例相关两两两两个个个个类类关关关

9、关联联产产生生生生第第第第三三三三个个个个类类的的的的实实例例例例Person1.*1.*1.*1.*1 1CompanyContractWork forWork forWork forWork for关联类关联类关联类关联类思想:降低思想:降低软件复件复杂度度从一从一对多多转化成一化成一对一一从多从多对多多转化成一化成一对多多限定关联限定关联二 静态建模任何建模任何建模语言都以静言都以静态建模机制建模机制为基基础。 静静静静态态建建建建模模模模是是是是指指指指对对象象象象之之之之间间通通通通过过属属属属性性性性互互互互相相相相联联系系系系,而而而而这这些关系不随些关系不随些关系不随些关系不随

10、时间时间而而而而转转移。移。移。移。 UML的静态建模机制包括:的静态建模机制包括:用例用例图(Use case diagram) 类图(Class diagram) 对象象图(Object diagram ) 包包图(Package diagram) 构件构件图(Component diagram) 配置配置图(Deployment diagram)1. 类的识别类的识别类识别是面向对象方法的难点,又是建模的关键。关键是要定义类的关键是要定义类的“属性属性”及及“操作操作”常用的方法有:常用的方法有:名名词识别法法实体体识别法法用例用例识别法法分解与抽象技分解与抽象技术(1) 名词识别法名词

11、识别法识别问题域中的实体,实体的描述通常用名词、名词短语、名词性代词的形式出现。用指定语言对系统进行描述从系统描述中标识名词、名词短语、名词性代词识别确定(取、舍)类名词识别步骤:用指定语言对用指定语言对系统进行描述系统进行描述与领域专家共同合作完成与领域专家共同合作完成遵循问题域中的概念和命名原则遵循问题域中的概念和命名原则识别确定类识别确定类(取、舍)(取、舍)从系统描述中从系统描述中标识名词、名词短标识名词、名词短语、名词性代词语、名词性代词包包括括:可可感感知知的的事事物物、角角色色、事事件件、相相互互作作用用、人人员员、场场所所、组组织织、设设备和地点等。备和地点等。用指定语言对用指

12、定语言对系统进行描述系统进行描述识别确定(取、识别确定(取、舍)类舍)类从系统描述中从系统描述中标识名词、名词短标识名词、名词短语、名词性代词语、名词性代词去掉冗余类去掉不相干的类:与问题无关或关系不大的类。删除模糊类或独立性不强的类:边界定义不确切,或范围太广。操作不适宜作为对象类 系统存储、分析、处理的信息实体系统内部设备与系统交互的外部系统系统相关人员系统的组织实体(2)实体识别法例:购物超市管理系统 顾客挑选商品后,由收款机收款,收款机读取商品上的条型码标签,并计算商品价格。收款机应保留所有交易的记录明细,以备帐务复查及汇总。通过分析问题的陈述,确定以下几类实体:信息实体内部设备交互系

13、统人员职责系统的组织实体:(不考虑)交易记录、商品、税务信息、销售记录、存货记录:收款机、条型码扫描器。:信用卡付款系统。:收款员、顾客、会计、经理。如用例的描述中出现哪些实体? 用例执行过程中产生并存储哪些信息? 与用例关联的角色向用例输入什么信息? 用例又向该角色输出哪些信息?(3)用例识别法 分解技分解技术整体整体类、组合合类单个个类 抽象技抽象技术建立抽象建立抽象类、继承关系承关系(4)分解与抽象技术2. 医院病房监护系统(1 1 1 1)问题描述)问题描述)问题描述)问题描述为了了对危重病人危重病人进行行实时监护,随,随时了解病人病情,及了解病人病情,及时进行行处理,建立病房理,建立

14、病房监护系系统。病症病症监视器安置在每个病床,通器安置在每个病床,通过网网络将病人的病症信将病人的病症信号(号(组合)合)实时传送到中央送到中央监护系系统进行分析行分析处理。理。在中心在中心值班室里,班室里,值班班护士使用中央士使用中央监护系系统对病病员的的情况情况进行行监控,控,监护系系统实时地将病人的病症信号与地将病人的病症信号与标准的准的病病诊信号信号进行比行比较分析,当病症出分析,当病症出现异常异常时,系,系统会立即自会立即自动报警,并打印病情警,并打印病情报告和更新病告和更新病历。请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:监视病员的病症(血压、体温、脉搏等)定时更新

15、病历病员出现异常情况时报警。随机地产生某一病员的病情报告。监视病情更新病历产生病情报告监视器监视器 网络网络 值班护士值班护士 医生医生 病人病人 病症监视病症监视 中央监护系统中央监护系统 报警信号报警信号 标准病症信号库标准病症信号库 病病历库历库 病人病症信号病人病症信号 病情报告病情报告 标准病症信号标准病症信号 病历病历 中心值班室中心值班室 处理处理 组合病症信号组合病症信号分析确定分析确定分析确定分析确定类类:去掉冗余去掉冗余类、去掉不相干的去掉不相干的类、删除模糊的除模糊的类或性或性质独立性不独立性不强的的类、操作不适宜作操作不适宜作为对象象类确定初始类: 医生用户名密码查看病

16、情报告()要求打印病情报告()查看病历()要求打印病历() 病人姓名性别年龄病症提供病症信号()用户名密码查看病情报告()打印病情报告() 值班护士 病症监视采集频率病症信号格式化信号数据()采集信号()信号组合()值班班护士士医生医生病人病人病症病症监视中央中央监护系系统报警信号警信号标准病症信号准病症信号库病病历库病人病症信号病人病症信号病情病情报告告病病历标准病症信号准病症信号(2)确定系统的类病人病症信号脉搏血压体温生成病症信号() 病历格式病人基本情况打印时间生成病历()查看病历()打印病历()标准病症信号脉搏血压体温生成标准信号()标题格式生成病情报告()查看病情报告()打印病情报

17、告()病情报告报警信号声音灯光文字报警()数模转化() 病历库类型大小容量生成病历()更新病历()查看病历()打印病历()类型大小容量提供标准信号()标准病症信号库输入输出分解信号()比较信号()报警()数据格式化()中央监护系统*1111111111111111 值班护士医生 病人病症监视病人病症信号病历病历库病情报告报警信号中央监护系统标准病症信号11报警监视标准病症信号库1在需求分析在需求分析在需求分析在需求分析阶阶段:段:段:段:类图是研究是研究领域的概念域的概念在在在在设计阶设计阶段:段:段:段:类图描述描述类之之间的接口的接口在在在在实现阶实现阶段:段:段:段:类图描述系描述系统中

18、中类的的实现3. 类图的抽象层次和细化关系类图的层次类图的层次1. 概念概念层2. 说明明层3. 实现层功能模型和用例建模一用例图用例图是用户能观察到系统功能的模型图 用于静态建模阶段业务建模、需求建模组件组件描描 述述UML表示表示(1)参与者参与者(Actor)一个角色或一个系统一个角色或一个系统角色不是具体的人角色不是具体的人特征:在系统外部与系统发生交特征:在系统外部与系统发生交互作用互作用1.组件Actor组件组件描描 述述UML表示表示(2)系统系统黑盒子黑盒子系统边界系统边界一个软件系统、一项业务、一个软件系统、一项业务、一个商务活动、一台机器一个商务活动、一台机器等。等。(3)

19、用例用例(Use Case)系统外部可见的功能单元系统外部可见的功能单元Use Case系统关关 系系解解 释释图图(1)参与)参与者与用例间者与用例间关系:关系:关联关联参与者与用例之间的交互参与者与用例之间的交互(2)参与)参与者间关系:者间关系:泛化泛化箭头由特殊指向一般箭头由特殊指向一般2.关系实例:参与者之间的泛化关系参与者:经理,安全主管,保安用例:管理人事,批准预算,批准安全证书,监视周边参与者参与用例的情况分别是:经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安参与用例监视周边。经经理理理理管理人事管理人事管理人事管理人事安全主管安全主管安全主管安全主管保安保

20、安保安保安批准批准批准批准预预算算算算批准安全批准安全批准安全批准安全证书证书监视监视周周周周边边如果要求安全主管可以担任经理和保安的角色,这样,安全主管与经理,安全主管与保安之间存在泛化关系,安全主管就可以参与全部4个用例。但经理或者保安却不能担任安全主管的角色,也就不能参与用例批准安全证书。经经理理理理管理人事管理人事管理人事管理人事安全主管安全主管安全主管安全主管保安保安保安保安批准批准批准批准预预算算算算批准安全批准安全批准安全批准安全证书证书监视监视周周周周边边include包含用例是必不可少 的,缺少包含用例,基用例就不完整;包含用例是必须执行的;包含用例执行不会改变基用例的行为。

21、(3)用例间关系包含包含用例包含用例基用例基用例扩展用例是可有可无的,缺少扩展用例,不影响基用例的完整性;扩展用例在一定条件下才会执行;扩展用例执行会改变基用例的行为。extend扩展用例展用例基用例基用例用例间关系扩展表示一个用例使用另一个用例use使用用例使用用例基用例基用例用例间关系使用短途旅行中,司机要为汽车加油和吃饭。includeextend司机司机司机司机旅行旅行旅行旅行吃吃吃吃饭饭为为汽汽汽汽车车加油加油加油加油实例2 用例之间扩展和包含关系必不可少 的必须执行的不会改变基用例行为的总结:可有可无的一定条件下执行的会改变基用例行为的包含 扩展综合实例:演出售票系统综合实例:演出

22、售票系统个人通过公用信息亭购买个人票,也可直接向售票员购买,但购买团体票只能通过售票员。售票系统需要信用卡付款服务的支持。另外在系统中提供一个安全监测机制。用例用例Buy tickets买个人票个人票Buy Subscription团购Make charges付款付款Survey sales安全管理安全管理信息亭信息亭信息亭信息亭Buy Buy Buy Buy TicketsTicketsTicketsTicketsBuy Buy Buy Buy SubscriptionSubscriptionSubscriptionSubscriptionMake Make Make Make charge

23、schargeschargeschargesincludeSurveySurveySurveySurvey职员职员信用卡信用卡信用卡信用卡服服服服务务商商商商监监督督督督员员Box Officeinclude二用例建模用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。UML用例模型一直被推荐为识别和捕获需用例模型一直被推荐为识别和捕获需求的首选工具求的首选工具!1.作用p描述系统的功能需求;p宏观上的总体轮廓;p典型用例的分析;p执行者所理解的系统功能需求;p驱动了需求分析之后各阶段的开发工作;p用于验证和检测所开发的系统。2. 如何建立用例模型?1. 定义系统定义系统确定

24、执行者和用例描述关系确认模型l确定范围、分析功能2. 3. 4. l执行者:用户或系统l用例:子系统或独立功能l关联、使用、扩展、泛化、依赖l模型与需求的一致性(用户与开发者共同完成)角色角色+系系统如何确定如何确定执行者:行者:谁使用系使用系统的主要功能、的主要功能、获得支持和服得支持和服务?谁需要使用系需要使用系统产生的生的结果(果(值)?谁维护管理系管理系统的日常运行?的日常运行?系系统需要控制哪些硬件需要控制哪些硬件设备?系系统需要与其它哪些系需要与其它哪些系统交互?交互?用例的启动者3. 确定执行者确定执行者(Actor)(主执行者)(主要设备)(副执行者)(交互系统)(利益攸关方)

25、用例是用户与系统之间的典型交互。实现一个具体的用户目标;由执行者激活,并将结果值反馈给执行者;具有功能上的完整描述。4. 确定用例(use case)用例特点:执行者需要系统提供哪些功能?执行者是否对系统数据进行操作?现实系统存在的问题是什么?数据流跟踪(对数据的一类操作)?如何确定用例:5. 用例之间的关系 系系统的的主主要要功功能能是是:包包括括项目目管管理理,资源源管管理理和和系系统管理三大管理功能。管理三大管理功能。项目管理包括目管理包括项目的增加、目的增加、删除、更新。除、更新。资源管理包括源管理包括对资源和技能的添加、源和技能的添加、删除和更新。除和更新。系系统管管理理包包括括系系

26、统的的启启动和和关关闭,数数据据的的存存储和和备份等功能。份等功能。实例:项目与资源管理系统的Use case图(1) (1) 分析确定系分析确定系分析确定系分析确定系统统的的的的执执行者行者行者行者( (角色角色角色角色) )项目管理员、资源管理员、系统管理员、备份数据系统。项目管理,资源管理和系统管理。(2)(2)确定用例确定用例确定用例确定用例(3)(3)对对用例用例用例用例进进行分解,画出下行分解,画出下行分解,画出下行分解,画出下层层的的的的Use caseUse case图图,以及相互关系,以及相互关系,以及相互关系,以及相互关系画出相应的执行者描述模板、用例描述模版对上层的用例进

27、行分解,并将执行者分配到各层次的Use case图中。角色:角色职责:角色职责识别:角色描述模板用例名:功能描述:主要步骤:相关用例:相关信息:(优先级性能,频度)用例描述模板自自顶向下不断向下不断细化,抽象出不同化,抽象出不同层次的次的Use CaseUse CaseUse CaseUse Case图。添加技能删除技能更新技能资源管理员添加资源删除资源更新资源查找技能查找资源把技能指定给资源从资源中清除技能资资源管理源管理源管理源管理Use CaseUse CaseUse CaseUse Case图图系统管理员项目管理员资源管理员资源管理项目管理系统管理备备份系份系份系份系统统PRMSPRM

28、SPRMSPRMS高高高高层层Use CaseUse CaseUse CaseUse Case图图项目管理员添加项目删除项目更新项目添加活动删除活动更新活动查找项目添加任务分配资源给任务取消对任务的资源分配删除任务更新任务项项目管理目管理目管理目管理Use CaseUse CaseUse CaseUse Case图图系系系系统统管理管理管理管理Use CaseUse CaseUse CaseUse Case图图系统管理员添加技能存储数据启动系统关闭系统查找技能备份资源数据备份项目数据备份数据备份系统实例:医院病房监护系统(1 1 1 1)问题描述)问题描述)问题描述)问题描述为了了对危重病人危

29、重病人进行行实时监护,随,随时了解病人病情,及了解病人病情,及时进行行处理,建立病房理,建立病房监护系系统。病症病症监视器器安置在每个病床,通安置在每个病床,通过网网络将病人的病症信将病人的病症信号(号(组合)合)实时传送到送到中央中央监护系系统进行分析行分析处理。理。在中心在中心值班室里,班室里,值班班护士使用中央士使用中央监护系系统对病病员的的情况情况进行行监控,控,监护系系统实时地将病人的病症信号与地将病人的病症信号与标准的准的病病诊信号信号进行比行比较分析,当病症出分析,当病症出现异常异常时,系,系统会立即自会立即自动报警,警,并打印病情并打印病情报告告和和更新病更新病历。请对系统需求

30、进行分析!经过初步的需求分析,得到系统功能要求:监视病员的病症(血压、体温、脉搏等)定时更新病历病员出现异常情况时报警。随机地产生某一病员的病情报告。监视病情更新病历产生病情报告病症监视器采集到的病症信号,格式化后实时的传送到中央监护系统。中央监护系统将病人的病症信号与标准的病症信号进行比较,出现异常时系统自动报警。出现异常时,系统自动更新病历并打印病情报告。值班护士可以查看病情报告并进行打印。医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。系统定期自动更新病历。(2 2)需求分析)需求分析系统功能系统功能通过六个问题识别角色通过六个问题识别角色通过六个问题识别角色通过六个问

31、题识别角色谁使用系使用系统的主要功能?的主要功能?谁需要系需要系统的支持以完成日常工作任的支持以完成日常工作任务?谁负责维护、管理并保持系、管理并保持系统正常运行?正常运行?系系统需要需要处理哪些硬理哪些硬设备?系系统需要和哪些外部系需要和哪些外部系统交互?交互?谁(或什么)(或什么)对系系统运行运行产生的生的结果(果(值)感)感兴趣?趣?(3 3)建立系统的用例模型)建立系统的用例模型值班护士、医生、病人值班护士、医生、病人值班护士、医生、病人值班护士、医生、病人值班护士、医生值班护士、医生值班护士、医生值班护士、医生系统管理员系统管理员系统管理员系统管理员监护器监护器监护器监护器, , ,

32、 ,网络网络网络网络, , , ,报警系统报警系统报警系统报警系统标准病症信号库、病历库标准病症信号库、病历库标准病症信号库、病历库标准病症信号库、病历库同同同同(2)(2)(2)(2)通通过回回答答这六六个个问题以以后后,再再进一一步步分分析析可可以以识别出出本本系系统的的四四个个角角色色:值值值值班班班班护护护护士士士士,医医医医生生生生,病病病病人人人人,标标标标准准准准病病病病症信号库症信号库症信号库症信号库。角色:病人角色职责:提供病症信号角色职责识别:负责生成、实时提供各种病症信号。角色:值班护士角色职责:负责监视病人的病情变化角色职责识别:(1)使用系统主要功能(2)对系统运行结

33、果感兴趣角色:标准病症信号库角色职责:负责向系统提供病症信号的正常值角色职责识别:(1)负责保持系统正常运行(2)与系统交互角色:医生角色职责:对病人负责,负责处理病情的变化角色职责识别:(1)需要系统支持以完成其日常工作(2)对系统运行结果感兴趣角色描述模板:(4 4)识别用例)识别用例通通过四个四个问题确定用例确定用例与系与系统实现有关的主要有关的主要问题是什么?是什么?系系统需要哪些需要哪些输入入/输出?出?这些些输入入/输出从何而来?到出从何而来?到 哪哪里去?里去?执行者需要系行者需要系统提供哪些功能?提供哪些功能?执行者是否需要行者是否需要对系系统中的信息中的信息进行行读、创建、修

34、改、建、修改、删除或存除或存储?通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:医院病房监护系统高层用例图值班护士医生病人标准病症信号库病症监护提供标准病症信号中央监护病历管理病情报告管理u中央中央监护分分分分解解解解信信信信号号号号:将将从从病病症症监护器器传送送来来的的组合合病病症症信信号分解号分解为系系统可以可以处理的信号。理的信号。比比比比较较信号:信号:信号:信号:将病人的病症信号与将病人的病症信号与标准信号比准信号比较 。报报警警警警:如如果果病病症症信信号号发生生异异常常(即即高高于于峰峰值),发出出报警信号。警信号

35、。数据格式化:数据格式化:数据格式化:数据格式化:格式化格式化处理后的数据。理后的数据。(5 5)分解用例)分解用例u病症病症监护信号采集:信号采集:信号采集:信号采集:采集病症信号采集病症信号模数模数模数模数转转化:化:化:化:将采集的模将采集的模拟信号信号转化化为数字信号数字信号信信信信号号号号数数数数据据据据组组合合合合:将将采采集集到到的的脉脉搏搏,血血压等等信信号号数数据据组合合为一一组信号数据。信号数据。采采采采样样频频率率率率改改改改变变:根根据据病病人人的的情情况况改改变监视器器采采样频率。率。u提供提供标准病症信号(准病症信号(此用例不分解)此用例不分解)u 病病历管理管理生

36、成病生成病生成病生成病历历k k查查看病看病看病看病历历l l更新病更新病更新病更新病历历 m m打印病打印病打印病打印病历历u 病情病情报告管理告管理n n显显示病情示病情示病情示病情报报告告告告o o打印病情打印病情打印病情打印病情报报告告告告分解的用例图分解的用例图病人病人模数模数转化化数据格式化数据格式化值班班护士士报警警信号采集信号采集比比较信号信号标准病症准病症信号信号库 医生医生信号数据信号数据组合合采采样频率率改改变提供提供标准准病症信号病症信号生成病生成病历查看病看病历更新病更新病历打印病打印病历显示病情示病情报告告打印病情打印病情报告告分解信号分解信号动态模型与动态建模一

37、、顺序图用来表示用例中的行为顺序每条消息对应一个类操作或状态转换的事件展示在场景或用例的事件流中对象之间的交互按照时间顺序描述消息在对象间传递过程浏览顺序图的方法:从上到下查看对象间交换的消息组件组件描描 述述图图 示示带有生命带有生命线的对象线的对象参与交互的对象参与交互的对象生命线生命线:对象存在的时间段对象存在的时间段激活的激活的 对象对象对象正执行的动作对象正执行的动作有消息发送即激活对象有消息发送即激活对象删除标志删除标志 已删除的对象或活动已删除的对象或活动Object:Class1. 顺序图中组件顺序图中组件组件组件描描 述述图图 示示简单简单消息消息简单的控制流,不考虑通信的细

38、节简单的控制流,不考虑通信的细节同步同步消息消息嵌套的控制流嵌套的控制流必须等待消息的返回才继续执行必须等待消息的返回才继续执行异步异步消息消息异步控制流异步控制流不必等待消息的返回即可继续执行不必等待消息的返回即可继续执行返回返回消息消息(同步消息)返回到调用者的消息(同步消息)返回到调用者的消息消息消息组件组件描描 述述图图 示示注释注释体体用于对用于对UML实体进行文字描述实体进行文字描述注释注释连接连接注释体与要描述的实体相连注释体与要描述的实体相连2. 顺序图与用例图和类图的关系顺序图与用例图和类图的关系3. 顺序图示例顺序图示例1消息格式:operation (parameter

39、list) 向哪个对象发消息实际上就是调用它的类中的操作,就是调用箭头指向的对象所在类的一个operation。订单类发消息给客户类订单类发消息给客户类调用客户类中的调用客户类中的“验证验证客户客户”操作。操作。从参与者到从参与者到对象和从象和从对象到象到参与者之参与者之间发送的消息送的消息从从对象象传递给另一个另一个对象的消息象的消息在在类图中的中的类的的对象象系系统的使用者或的使用者或参与者,系参与者,系统是是为某个用例的某某个用例的某个个场景景设计的的对象生命象生命线表示表示从上到下的从上到下的时间顺序,消息序,消息1在消在消息息2之前之前发生,消生,消息息2在消息在消息3之前之前发生生

40、窄窄长方框用方框用以以强调这个个部分部分处于活于活动状状态信息亭信息亭售票中心售票中心信用卡服信用卡服务Kjosk类中的操作:中的操作: Show Available (seat-list) Demand Payment (cost) printtickets (performance, seats) eject cardBox Office中的操作有中的操作有 Request (count, performance) Select Seats Insert Card (Card Number) authorizedCredit Card Service类中的操作有中的操作有 charge(c

41、ard number, cost)4. 顺序图示例顺序图示例2:演出售票系统:演出售票系统信息亭信息亭售票中心售票中心信用卡服信用卡服务顾客在信息亭与售客在信息亭与售票中心通票中心通话触触发了了这个用例的个用例的执行。行。顺序序图中付款用例包括售中付款用例包括售票中心与信息亭和信票中心与信息亭和信用卡服用卡服务处使用消息使用消息进行通信行通信过程。程。4. 顺序图示例顺序图示例2:演出售票系统:演出售票系统信息亭信息亭售票中心售票中心信用卡服信用卡服务信息亭信息亭发Request Request (count, performance)(count, performance)消息消息给售票中心

42、,表示售票中心,表示调用售票中心用售票中心类的的Request (count, Request (count, performance)performance)操作,来操作,来查询演出的信息。演出的信息。4. 顺序图示例顺序图示例2:演出售票系统:演出售票系统信息亭信息亭售票中心售票中心信用卡服信用卡服务售票中心售票中心发Show Show Available(seat-list)Available(seat-list)消息消息给信息亭,表示信息亭,表示调用信息亭用信息亭类中的中的Show Show Available(seat-list)Available(seat-list)操作,操作,给

43、出可用的座位出可用的座位表。表。4. 顺序图示例顺序图示例2:演出售票系统:演出售票系统打印操作的协作图打印操作的协作图:ComputerPrint(ps-file):PrinterServer:Printer1:Print(ps-file)打印机空打印机空闲1.1:Print(ps-file)二、协作图(合作图)展示对象的关联和消息传递过程强调交互对象的语境和整体结构(空间组织布局图)可以表示类操作的实现实现箭头表示消息发送的方向,编号为消息的执行顺序顺序图和协作图可以相互转换1. 协作图中的组件协作图中的组件组件组件描描 述述图图 示示参与者参与者发出主动操作的对象,启动一个操发出主动操作

44、的对象,启动一个操作。作。对象对象类的实例,负责发送和接收消息,类的实例,负责发送和接收消息,与顺序图中的符号相同,冒号前为与顺序图中的符号相同,冒号前为对象名,冒号后为类名。对象名,冒号后为类名。消息流消息流(箭头箭头+标标签签)箭头由消息的发出者指向接收者,箭头由消息的发出者指向接收者,标签对消息作说明。标签对消息作说明。链接链接表示两个对象共享一个消息,位于表示两个对象共享一个消息,位于对象之间或参与者与对象之间。对象之间或参与者与对象之间。标签Object : Class组件组件描描 述述图图 示示简单消息简单消息表示对象间发送简单消息表示对象间发送简单消息同步消息同步消息调用者发出消

45、息后必须等待消息的返调用者发出消息后必须等待消息的返回。回。异步消息异步消息调用者发出消息后不要等待消息的返调用者发出消息后不要等待消息的返回即可继续执行自己的操作。回即可继续执行自己的操作。2. 消息标签消息标签消息消息标签格式格式 序列表达式序列表达式 消息名消息名前前缀的的语法法规则:序列号,序列号,序列号,序列号,序列号,序列号 /前前缀用来同步用来同步线程,意思是在程,意思是在发送当前消息送当前消息之前指定序列号的消息被之前指定序列号的消息被处理。理。2. 消息标签消息标签消息消息标签格式格式 序列表达式序列表达式 消息名消息名 守守卫条件的条件的语法法规则:条件短句条件短句 说明:

46、条件短句通常用明:条件短句通常用伪代代码或真正的程序或真正的程序语言来表示。言来表示。 例:例:x=02. 消息标签消息标签消息消息标签格式格式 序列表达式序列表达式 消息名消息名序列表达式:同一个序列表达式:同一个线程内的所有消息按照程内的所有消息按照顺序排序排列。列。执行行顺序的序的编号方案有两种:号方案有两种:顺序法:用序法:用简单编号方案,从号方案,从1开始,由小到大,开始,由小到大,顺序排列。序排列。层次法:次法:用小数点制用小数点制编号方案,此号方案,此时常常要求表示系常常要求表示系统号、号、子系子系统号和模号和模块号,号,UML使用小数点方案。使用小数点方案。2. 消息标签消息标

47、签消息消息标签格式格式 序列表达式序列表达式 消息名消息名 返回返回值和消息名:返回和消息名:返回值表示一个消息的返回表示一个消息的返回结果,消息名指出了消息的名字和所需参数。果,消息名指出了消息的名字和所需参数。例:例:x:=calc ( n )2. 消息标签消息标签消息消息标签格式格式 序列表达式序列表达式 消息名消息名1.1a,1.1b, 1.1c / x=0 1.2*i:=1.n :x := calc( n )3. 协作图与顺序图的区别和联系协作图与顺序图的区别和联系相同点:相同点:对象间的交互作用对象间的交互作用不同点:不同点:顺序图顺序图侧重于侧重于交互作用中的时间顺序交互作用中的

48、时间顺序( (强调时间强调时间) ),但没有明确表示对象间的关系但没有明确表示对象间的关系,而,而协作图协作图侧重于侧重于对象对象间的关系间的关系( (强调空间强调空间) ),但时间顺序必须从顺序号获得,但时间顺序必须从顺序号获得。4. 打印操作的协作图打印操作的协作图actor发送送Print消息消息给Computer,Computer发送送Print消息消息给PrintServer,如果打印机空,如果打印机空闲,PrintServer发送送Print消息消息给printer:ComputerPrint(ps-file):PrinterServer:Printer1:Print(ps-fil

49、e)打印机空打印机空闲1.1:Print(ps-file) 5.乘坐电梯的协作图乘坐电梯的协作图事物:事物: 参与者参与者 按按钮对象象 电梯控制梯控制对象象 命令命令对象象 工作工作队列列 电梯梯对象象关系:关系:链接接参与者从系统外部按下按钮,然后1.电梯系统操作启动,电梯控制对象以循环的方式检查所有工作序列,并选择一个最短的工作队列。2.创建作业命令,将其放入工作队列,并激活队列。3.电梯对象并发运行,从它的队列中选择一个作业并执行。(电梯是一个活动对象,它与它的控制线程并发执行):button:Elevator Control:Queue:Elevator:Ordernew : Act

50、or1 : GetElevator(floorId)1.1 *all queues : len:=Length()1.3: Invoke(job)1.2: Create( )2: nextjob:=Get.job( )Push( )动态动态模型主要描述系模型主要描述系模型主要描述系模型主要描述系统统的的的的动态动态行行行行为为和控制和控制和控制和控制结结构构构构。 在在在在动动态态模模模模型型型型中中中中, ,对对象象象象间间的的的的交交交交互互互互是是是是通通通通过过对对象象象象间间消消消消息息息息的的的的传递传递来完成的。来完成的。来完成的。来完成的。三、 会议管理系统用户可按照会议人数、

51、会议时间预订会议室。可以只预订次,也可预订定期召开的会议。开会前允许修改会议时间、人数,重新选择会议室,取消预订的会议。确定会议预订后,会议中心负责会务管理:包括通过邮寄或电子邮件,通知开会人员有关会议信息。系统根据会议室的使用情况(紧张与否),调整、更改会议室和会议时间,并调整修改预订会议的时间。角色识别角色识别会会议管理者管理者会会议申申请者者 邮局局会会议人人员管理管理系系统维护者者(1)建立用例模型 用例识别与会与会与会与会议议管理者相关管理者相关管理者相关管理者相关的用例的用例的用例的用例定定义一个会一个会议 更改一个会更改一个会议 删除一个会除一个会议 与会与会与会与会议议申申申申

52、请请者相关的用例者相关的用例者相关的用例者相关的用例申申请会会议召开召开 更改申更改申请 取消申取消申请 定定义参加人参加人员 归还会会议室室 与与与与邮邮局相关的用例局相关的用例局相关的用例局相关的用例与会与会与会与会议议人人人人员员管理相管理相管理相管理相关的用例关的用例关的用例关的用例 定定义参加人参加人员取消申取消申请 申申请会会议召开召开更改申更改申请与系与系与系与系统维护统维护者相关的用例者相关的用例者相关的用例者相关的用例会会议室室维护 设定定预定定时限限 会会会会议议管理系管理系管理系管理系统统的的的的Use caseUse case图图归还会议室申请会议召开更改申请取消申请定

53、义参加人员会议召开申请者邮局会议人员管理设置预定时限会议室维护定义会议更改会议删除会议系统维护者会议管理员 对用例的进对用例的进对用例的进对用例的进 一步描述一步描述一步描述一步描述用例用例用例用例1 1、定、定、定、定义义会会会会议议(Define Meeting Define Meeting )输入会入会议名称名称确定会确定会议规模模确定会确定会议类型型其中会其中会议规模是指参会人数范模是指参会人数范围。用例、更改会用例、更改会用例、更改会用例、更改会议议(Alter Meeting Alter Meeting )改改变会会议名称名称改改变会会议规模模改改变会会议召开召开频度度用例、用例、

54、用例、用例、删删除会除会除会除会议议( Remove Meeting Remove Meeting ) 如果如果该会会议没有召开申没有召开申请 从会从会议列表中列表中删除除 如果如果该会会议有召开申有召开申请 取消与之相关的会取消与之相关的会议召开信息召开信息 删除除该会会议 使用:使用: 用例用例8 删除参加人除参加人员( Remove Attendee)用例用例6 取消申取消申请(Cancel Request ) 用例用例用例用例4 4、申、申、申、申请请会会会会议议召开(召开(召开(召开(Request Meeting Instance)Request Meeting Instance)

55、 确定召开确定召开时间(年、月、日)(年、月、日) 确定参加人确定参加人员 确定侯确定侯选会会议室室 发会会议通知通知 使用:使用: 用例用例11 发会会议通知(通知(Inform of Meeting) 用例用例13 选择参加参加组(Select Group Attendee) 扩展:展: 如果召开如果召开时间在申在申请时限之外限之外 用例用例12 申申请拒拒绝(Request Rejection ) 如果如果还没定没定义参加人参加人员 用例用例7 定定义参加人参加人员(Add Attendee ) 用例用例用例用例5 5:更改申:更改申:更改申:更改申请请( Modify Request

56、Modify Request ) 更改召开更改召开时间 更改参加人更改参加人员 更改取得会更改取得会议室室 发会会议更改通知更改通知 使用:使用: 用例用例13 选择参加参加组(Select Group Attendee) 用例用例11 发会会议通知通知(Inform of Meeting) 扩展:展:如果更改的如果更改的时间不合法不合法 用例用例12 申申请拒拒绝(Request Rejection) 用例用例7 定定义参加人参加人员(Add Attendee ) 用例用例用例用例6 6:取消会:取消会:取消会:取消会议议召开(召开(召开(召开(Cancel RequestCancel Re

57、quest)取消申取消申请 归还会会议室室 发会会议取消通知取消通知 使用:使用: 用例用例8 归还会会议室(室(Release Room) 用例用例14 发会会议取消通知(取消通知(Inform Rejection) 扩展:展: 如果会如果会议已召开已召开 用例用例12 申申请拒拒绝(Request Rejection )用例用例用例用例7 7:定:定:定:定义义参加人参加人参加人参加人员员(Add Attendee ) (Add Attendee ) 输输入参加人入参加人入参加人入参加人员员的的的的详细详细信息信息信息信息 定定定定义义参加参加参加参加组组用例:用例:用例:用例:归还归还会

58、会会会议议室(室(室(室(Release RoomRelease Room) 输入会入会议室号室号码 输入使用入使用时间 删除参加人除参加人员 归还会会议室室 使用:使用: 用例用例10 会会议室室维护(Meeting Room Maintenance) 用例用例18 删除参加人除参加人员(Remove Attendee) 用例用例用例用例1010:会:会:会:会议议室室室室维护维护(Meeting Room Meeting Room MaintenanceMaintenance) 加入一个会加入一个会议室(用例室(用例15) 标记一个会一个会议室不可用(用例室不可用(用例16) 查询会会议室

59、室预定情况(用例定情况(用例17) 用例用例用例用例9 9:设设置置置置预预定定定定时时限制限制限制限制(Set Reservation Tome LimitSet Reservation Tome Limit) 设置置时间限制限制会议管理系统的Use case图(2)建立类模型除了用例模型外,其它模型都依除了用例模型外,其它模型都依赖于于类模型,因此,模型,因此,类模型是方法的核心,模型是方法的核心,类模型从模型从对象的角度描述系象的角度描述系统的的组成,成,描述描述类(对象)及相互象)及相互间的关系。的关系。Meeting类,标识一个会一个会议(名称、(名称、类型、型、规模)模);Meet

60、ingInstance类, Meeting类的子的子类,对会会议时间、人数等人数等进行描述行描述;MeetingRoom类,描述会描述会议室的有关信息室的有关信息;MeetingAdministration类,管理会,管理会议;Attendee类,参会人员(姓名、性别、地址、头衔等)类,参会人员(姓名、性别、地址、头衔等);GroupAttende类,创建一个参加会议的组类,创建一个参加会议的组;Address类,描述邮寄地址类,描述邮寄地址E-mail地址地址;PostOffic类,负责发送邮寄通知类,负责发送邮寄通知;AttendeeManagement类,数据库管理类,数据库管理;Res

61、ervationCriteria类,定义会议室预定准则类,定义会议室预定准则;kInformation类,构造一条通知。类,构造一条通知。Meeting类 标识一个会议,其属性包括会议名称、类型、规模。其操作有:增加会议、取消会议。2. MeetingInstance类MeetingInstance类是是Meeting类的子的子类,描述会,描述会议的具体情况,会的具体情况,会议的开始、的开始、结束束时间,人数,分配会,人数,分配会议室等。室等。MeetingNameTypeSizeAddMeetingInstance()CancelMeetingInstance() Meeting类图Meet

62、ingMeetingInstanceStart TimeEndTimeAttendeeNumberAddAttendee()AttachMeetingRoom()AddGroupAttendee()Cancel() MeetingInstance类图 MeetingRoom类描述有关会描述有关会议室的情况室的情况4. Attendee类描述参会人描述参会人员情况情况MeetingRoomCapacityBuildingCodeDoorCodeStatusAssignMeetingInstance ()SetInvalidate()Release()MeetingInstanceMeetingM

63、eetingRoom类图AttendeeNameSexPostaddressEmailAddressTitleMeetingInstance11.*Attendee类图 GroupAttendeeGroupAttendee类类创创建一个参会建一个参会建一个参会建一个参会组组 Address类两两类地址地址MeetingInstanceGroupAttendeeMemberNumberGroupNameAddAttendee()DeleteAttendee()10.*Attendee11.* GroupAttendee类图Address PostAddressEmailAddressAttend

64、eeAddress类图 PostOfficePostOffice类类 Information类构造一条通知1.*InformationEmailAddress1.*PostAddress1.*(from Use Case View)DelieverInformation()PostOffice类图PostOfficeXXX会议通知XX先生: 定于2010年4月20日在樱都会议中心召开XXX会议。 XXX会议筹备组 2010.3.28 Information Notice Topic Receiver Title Receiver name Time Event Explanation Send

65、Time Sendr Signature Create()MeetingRoomInformation类图 AttendeeManagementAttendeeManagement类类对对参加会参加会参加会参加会议议的人的人的人的人员进员进行管理。行管理。行管理。行管理。GroupAttendeeAttendeeAttendeeManagement(from Use Case View)AttendNumber()GroupAttendeeNumber()AddAttendee()ChangeAttendee()AddGroupAttendee()DeleteGroupAttendee()At

66、tendeeManagementAttendeeManagementAttendeeManagementAttendeeManagement类图类图 ReservationCriteria类该类定义了预定会议室的准则(如时间),并建立会议实例(MeetingInstanee 类)与该类之间的联系。ReservationCriteriaTimeCriteriasetCrieria()GetCriteria()MeetingInstaneeReservationCriteriaReservationCriteriaReservationCriteriaReservationCriteria类图类图

67、 11. 11. MeetingAdministrationMeetingAdministration类类该类管理系统中由用户定义的所有会议,并提供给用户友好的用户界面。由于该类有定义会议(DefineMeeting)、更改会议(AlterMeeting)、删除会议(RemoveMeeting )等操作,建立与Meeting类之间的关联关系。MeetingName:stringMeetingAdministration(from meetingPack)MeetingNumber:intDefineMeeting()AlterMeeting()RemoveMeeting()Meeting(fr

68、om MeetingPack)MeetingAdministrationMeetingAdministrationMeetingAdministrationMeetingAdministration类图类图 MeetingMeetingName:stringMeetingAdministrationReservationCriteriaMeetingInstance InformationMeetingRoom1.*1.*1.*PostOfficeGroupAttendeeAttendeeManagementAddress PostAddressEmailAddressAttendee1.*0

69、.*1.*0.*110.*0.*0.*111会议管理系统类图会议管理系统类图会议管理系统类图会议管理系统类图(3)动态模型 结合系统,建立动态模型,包括交互图、合作图、活动图,这里只给出部分顺序图,其余模型自己确定。定义会议的顺序图定义会议的顺序图定义会议的顺序图定义会议的顺序图:MeetingAdministration:Meeting:MeetingAdministrationDefineMeeting(meeting)IsMeetingExisted=.T.3:Fail(MeetingExisted)2:new(meeting)定定定定义义会会会会议议的的的的顺顺序序序序图图 当用户确定

70、要取消某个会议时,首先检查会议是否定义,如果没有可以直接删除,否则要先取消相关的会议。取消会议取消会议 定定定定义义会会会会议议的的的的顺顺序序序序图图:MeetingAdministration:MeetingInstance:MeetingAdministrator1:RemoveMeeting (MeetingName)IsAllMeetingInstancesCanceled=.F.5:Fail(MeetingExisted)2:CancelMeetingInstance():MeetingIsAllMeetingInstancesCanceled=.T.4:Fail(MeetingExisted)IsOpen=.F.3:Cancel()此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 市场营销

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号