版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象方法学面向对象方法学基本原则:尽可能模拟人类习惯的思维方式,使开基本原则:尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程。问题的方法与过程。面向对象方法以数据为主线,将数据和操作面向对象方法以数据为主线,将数据和操作方法封装在对象中,通过消息请求对象主动执行方法封装在对象中,通过消息请求对象主动执行它的内部操作,改变其内部私有数据。它的内部操作,改变其内部私有数据。1. 面向对象方法四个要点 OO = Objects + Class + Inheritance + Communication w
2、ith message 与人的思维方法一致与人的思维方法一致稳定性好稳定性好可重用性好可重用性好较易开发大型软件产品较易开发大型软件产品可维护性好可维护性好2. 面向对象方法的优点面向对象方法的优点3. 面向对象建模面向对象建模用面向对象方法开发软件,通常需要建立用面向对象方法开发软件,通常需要建立三种形式的模型:三种形式的模型:(1)对象模型:描述系统的数据结构)对象模型:描述系统的数据结构(2)动态模型:描述系统的控制结构)动态模型:描述系统的控制结构(3)功能模型:描述系统的功能)功能模型:描述系统的功能4. UML(Unified Modeling Language)u是是OOAOOD
3、发展的产物发展的产物u1995年年10月:第一个公开版本月:第一个公开版本UM 0.8u1996年年6月:月:UM改名为改名为UML(Unified Modeling Language),发布,发布 UML 0.9u1996年底:年底:UML占面向对象技术市场的占面向对象技术市场的85,成为可视化建模语言的工业标准成为可视化建模语言的工业标准u现版本:现版本:UML2.0 UML的内容由五类图(的内容由五类图(9种图形)来定义:种图形)来定义: (1)用例图:从用户角度描述系统功能)用例图:从用户角度描述系统功能(2)静态图:类图、对象图和包图)静态图:类图、对象图和包图Subscriptio
4、nSeriesseries : intIndividualReservationTicketno : int3.60.13.60.110.110.1Reservationdate : DateCustomername : stringphone : string1.*11.*1Seatno : intcolomn : introw : intavailable : bool1111Performanceno : intdate : Datetime : Time0.*10.*1CreditCardServiceCharge(cardnumber, cost)kjoskShowAvailabil
5、ity(seatlist)DemandPayment(cost)PrintTickets(performance, seats)EjectCard()BoxOfficeRequest(count, performance)Select(seats)InsertCard(cardnumber, password)Authorized() 对象图和包图对象图和包图(3)行为图、活动图)行为图、活动图assigned totime outunlockbuyexchangeAvailableLockedSold(4)交互图:顺序图、协作图)交互图:顺序图、协作图CreditCardChargesMan
6、agerInterfaceCustomerInterfaceClerkInterface信用卡代理信用卡代理监督员监督员售票员售票员顾客顾客datdbaseTicketDBTicketSellerTicketServerTicketServerKioskKioskSalesTerminalSalesTerminal1 11 1* * * * *1 1节点多重性节点多重性(5)实现图:)实现图:配置图配置图对象模型与静态建模对象模型与静态建模现实世界现实世界认识抽象认识抽象概念模型概念模型信息世界信息世界1.1.实体实体属性属性类名类名操作操作一一 类图类图术语标准、含义确切、名词或名词短语术语
7、标准、含义确切、名词或名词短语可见性可见性 属性名:类型名属性名:类型名= =初值初值 性质串性质串 + public - private # protected+ public - private # protected可见性可见性 操作名(参数表):返回值类型操作名(参数表):返回值类型 性质串性质串 属性属性类类操作操作2.2.类图中的关系类图中的关系学生学生计算机计算机* *1.1.* *使用使用被使用被使用依赖依赖渡河者渡河者船船(2 2)依赖)依赖聚合聚合机场机场飞机飞机公司公司员工员工桌子桌子桌子腿桌子腿(3 3)聚合、组合)聚合、组合组合和聚合示例组合和聚合示例细化(实现)细化
8、(实现)泛化(继承)泛化(继承)(4 4)泛化、细化)泛化、细化(5 5)关联关系)关联关系双向关联双向关联聚集关联聚集关联组成关联组成关联bookbookPersonPersonCompanyCompanyContractContract二二 静态建模静态建模任何建模语言都以静态建模机制为基础。任何建模语言都以静态建模机制为基础。 UML的静态建模机制包括:的静态建模机制包括: 用例图用例图(Use case diagram) (Use case diagram) 类图类图(Class diagram)(Class diagram) 对象图对象图(Object diagram )(Objec
9、t diagram ) 包图包图(Package diagram)(Package diagram) 构件图构件图(Component diagram)(Component diagram) 配置图配置图(Deployment diagram)(Deployment diagram)1. 类的识别类的识别类识别是面向对象方法的难点,又是建模的关键。类识别是面向对象方法的难点,又是建模的关键。常用的方法有:常用的方法有: 名词识别法名词识别法 实体识别法实体识别法 用例识别法用例识别法 分解与抽象技术分解与抽象技术(1) 名词识别法名词识别法识别问题域中的实体,实体的描述通常用识别问题域中的实体
10、,实体的描述通常用名词、名词、名词短语、名词性代词名词短语、名词性代词的形式出现。的形式出现。用指定语言对系统进行描述用指定语言对系统进行描述从系统描述中标识名词、名词短语、名词性代词从系统描述中标识名词、名词短语、名词性代词识别确定(取、舍)类识别确定(取、舍)类名词识别步骤:名词识别步骤:用指定语言对用指定语言对系统进行描述系统进行描述与领域专家共同合作完成与领域专家共同合作完成遵循问题域中的概念和命名原则遵循问题域中的概念和命名原则识别确定类识别确定类(取、舍)(取、舍)从系统描述中从系统描述中标识名词、名词短标识名词、名词短语、名词性代词语、名词性代词包括:可感知的事物、角色、事件、包
11、括:可感知的事物、角色、事件、相互作用、人员、场所、组织、设相互作用、人员、场所、组织、设备和地点等。备和地点等。用指定语言对用指定语言对系统进行描述系统进行描述识别确定(取、识别确定(取、舍)类舍)类从系统描述中从系统描述中标识名词、名词短标识名词、名词短语、名词性代词语、名词性代词 去掉冗余类去掉冗余类 去掉不相干的类:与问题无去掉不相干的类:与问题无关或关系不大的类。关或关系不大的类。 删除模糊类或独立性不强的删除模糊类或独立性不强的类:边界定义不确切,或范类:边界定义不确切,或范围太广。围太广。 操作不适宜作为对象类操作不适宜作为对象类 系统存储、分析、处理的系统存储、分析、处理的信息
12、实体信息实体 系统系统内部设备内部设备 与系统交互的与系统交互的外部系统外部系统 系统系统相关人员相关人员 系统的系统的组织实体组织实体(2 2)实体识别法)实体识别法例:购物超市管理系统例:购物超市管理系统 顾客挑选商品后,由收款机收款,收款机顾客挑选商品后,由收款机收款,收款机读取商品上的条型码标签,并计算商品价格。读取商品上的条型码标签,并计算商品价格。收款机应保留所有交易的记录明细,以备帐务收款机应保留所有交易的记录明细,以备帐务复查及汇总。复查及汇总。通过分析问题的陈述,确定以下几类实体:通过分析问题的陈述,确定以下几类实体: 信息实体信息实体 内部设备内部设备 交互系统交互系统 人
13、员职责人员职责 系统的组织实体:系统的组织实体:( (不考虑不考虑) )交易记录、商品、税务信息、销售记录、存货记录交易记录、商品、税务信息、销售记录、存货记录:收款机、条型码扫描器。:收款机、条型码扫描器。:信用卡付款系统。:信用卡付款系统。:收款员、顾客、会计、经理。:收款员、顾客、会计、经理。如如 用例的描述中出现哪些实体用例的描述中出现哪些实体? ? 用例执行过程中产生并存储哪些信息用例执行过程中产生并存储哪些信息? ? 与用例关联的角色向用例输入什么信息与用例关联的角色向用例输入什么信息? ? 用例又向该角色输出哪些信息用例又向该角色输出哪些信息? ?(3 3) 用例识别法用例识别法
14、 整体类、组合类整体类、组合类单个类单个类建立抽象类、继承关系建立抽象类、继承关系(4 4)分解与抽象技术)分解与抽象技术2. 医院病房监护系统医院病房监护系统 为了对危重病人进行实时监护,随时了解病人病情,及为了对危重病人进行实时监护,随时了解病人病情,及时进行处理,建立病房监护系统。时进行处理,建立病房监护系统。病症监视器安置在每个病床,通过网络将病人的病症信病症监视器安置在每个病床,通过网络将病人的病症信号(组合)实时传送到中央监护系统进行分析处理。号(组合)实时传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的在中心值班室里,值班护士使用中央监护系统对病员
15、的情况进行监控,监护系统实时地将病人的病症信号与标准的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。动报警,并打印病情报告和更新病历。请对系统需求进行分析!请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:监视病员的病症(血压、体温、脉搏等)监视病员的病症(血压、体温、脉搏等)定时更新病历定时更新病历病员出现异常情况时报警。病员出现异常情况时报警。随机地产生某一病员的病情报告。随机地产生某一病员的病情报告
16、。监视病情监视病情更新病历更新病历产生产生病情报告病情报告监视器监视器 网络网络 值班护士值班护士 医生医生 病人病人 病症监视病症监视 中央监护系统中央监护系统 报警信号报警信号 标准病症信号库标准病症信号库 病病历库历库 病人病症信号病人病症信号 病情报告病情报告 标准病症信号标准病症信号 病历病历 中心值班室中心值班室 处理处理 组合病症信号组合病症信号:去掉冗余类、去掉冗余类、 去掉不相干的类、去掉不相干的类、 删除模糊的类删除模糊的类或性质独立性不强的类、或性质独立性不强的类、 操作不适宜作为对象类操作不适宜作为对象类确定初始类确定初始类: : 医生医生 用户名用户名密码密码 查看病
17、情报告()查看病情报告()要求打印病情报告()要求打印病情报告()查看病历()查看病历()要求打印病历()要求打印病历() 病人病人 姓名姓名性别性别年龄年龄病症病症 提供病症信号()提供病症信号() 用户名用户名密码密码 查看病情报告()查看病情报告()打印病情报告()打印病情报告() 值班护士值班护士 病症监视病症监视采集频率采集频率病症信号病症信号 格式化信号数据()格式化信号数据()采集信号()采集信号()信号组合()信号组合()值班护士值班护士 医生医生 病人病人 病症监视病症监视 中央监护系统中央监护系统 报警信号报警信号 标准病症信号库标准病症信号库 病历库病历库 病人病症信号病
18、人病症信号 病情报告病情报告 病历病历 标准病症信号标准病症信号(2 2)确定系统的类)确定系统的类病人病症信号病人病症信号 脉搏脉搏血压血压体温体温生成病症信号()生成病症信号() 病历病历格式格式病人基本情况病人基本情况打印时间打印时间生成病历()生成病历()查看病历()查看病历()打印病历()打印病历() 标准病症信号标准病症信号脉搏脉搏血压血压体温体温 生成标准信号()生成标准信号() 标题标题格式格式 生成病情报告()生成病情报告()查看病情报告()查看病情报告()打印病情报告()打印病情报告() 病情报告病情报告报警信号报警信号 声音声音灯光灯光文字文字 报警()报警()数模转化(
19、)数模转化() 病历库病历库类型类型大小大小容量容量生成病历()生成病历()更新病历()更新病历()查看病历()查看病历()打印病历()打印病历() 类型类型大小大小容量容量 提供标准信号()提供标准信号() 标准病症信号库标准病症信号库 输入输入输出输出 分解信号()分解信号()比较信号()比较信号()报警()报警()数据格式化()数据格式化()中央监护系统中央监护系统 * * * * * * * *1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1 值班护士值班护士 医生医生 病人病人 病症监视病症监视病人病症信号病人病症信号 病历病历病历库病
20、历库病情报告病情报告报警信号报警信号 中央监护系统中央监护系统 标准病症信号标准病症信号1 11 1报警报警监视监视标准病症信号库标准病症信号库 1 1类图是研究类图是研究领域的概念领域的概念类图描述类图描述类之间的接口类之间的接口类图描述系统中类图描述系统中类的实现类的实现3. 3. 类图的抽象层次和细化关系类图的抽象层次和细化关系1. 1. 概念层概念层2. 2. 说明层说明层3. 3. 实现层实现层功能模型和用例建模功能模型和用例建模一一 用例图用例图用例图是用例图是用户能观察到系统功能的模型图用户能观察到系统功能的模型图 用于静态建模阶段用于静态建模阶段业务建模、需求建模业务建模、需求
21、建模组件组件描描 述述UML表示表示(1)参与者参与者(Actor)一个角色或一个系统一个角色或一个系统角色不是具体的人角色不是具体的人特征:在系统外部与系统发生交特征:在系统外部与系统发生交互作用互作用1.1.组件组件Actor组件组件描描 述述UML表示表示(2)系统系统黑盒子黑盒子系统边界系统边界一个软件系统、一项业务、一个软件系统、一项业务、一个商务活动、一台机器一个商务活动、一台机器等。等。(3)用例用例(Use Case)系统外部可见的功能单元系统外部可见的功能单元Use Case系统系统关关 系系解解 释释图图(1)参与)参与者与用例间者与用例间关系:关系:关联关联参与者与用例之
22、间的交互参与者与用例之间的交互(2)参与)参与者间关系:者间关系:泛化泛化箭头由特殊指向一般箭头由特殊指向一般2.2.关系关系实例:参与者之间的泛化关系实例:参与者之间的泛化关系参与者:参与者:经理,安全主管,保安经理,安全主管,保安用例:用例:管理人事,批准预算,批准安管理人事,批准预算,批准安全证书,监视周边全证书,监视周边 参与者参与参与者参与 用例的情况分别是:用例的情况分别是:经理参与用例管理人事和批准预算;经理参与用例管理人事和批准预算;安全主管参与用例批准安全证书;保安全主管参与用例批准安全证书;保安参与用例监视周边。安参与用例监视周边。如果要求安全主管可以担任如果要求安全主管可
23、以担任经理和保安的角色,这样,安全经理和保安的角色,这样,安全主管与经理,安全主管与保安之主管与经理,安全主管与保安之间存在泛化关系,安全主管就可间存在泛化关系,安全主管就可以参与全部以参与全部4 4个用例。个用例。但经理或者保安却不能担任但经理或者保安却不能担任安全主管的角色,也就不能参与安全主管的角色,也就不能参与用例批准安全证书。用例批准安全证书。include 包含用例是包含用例是必不可少必不可少 的的,缺少包含用例,基用例,缺少包含用例,基用例就不完整;就不完整; 包含用例是包含用例是必须执行的必须执行的; 包含用例执行包含用例执行不会改变基用例的行为不会改变基用例的行为。(3 3)
24、用例间关系)用例间关系包含包含包含用例包含用例基用例基用例 扩展用例是扩展用例是可有可无的可有可无的,缺少扩展用例,不影响,缺少扩展用例,不影响基用例的完整性;基用例的完整性; 扩展用例扩展用例在一定条件下才会执行在一定条件下才会执行; 扩展用例执行扩展用例执行会改变基用例的行为会改变基用例的行为。extendextend扩展用例扩展用例基用例基用例用例间关系用例间关系扩展扩展表示一个用例使用另一个用例表示一个用例使用另一个用例use使用用例使用用例基用例基用例用例间关系用例间关系使用使用短途短途旅行旅行中,中,司机司机要为汽车要为汽车加油加油和和吃饭吃饭。includeextend实例实例2
25、 2 用例之间扩展和包含关系用例之间扩展和包含关系必不可少必不可少 的的必须执行的必须执行的不会改变基用例行为的不会改变基用例行为的总结:总结:可有可无的可有可无的一定条件下执行的一定条件下执行的会改变基用例行为的会改变基用例行为的包含包含 扩展扩展综合实例:演出售票系统综合实例:演出售票系统 个人通过公用信息亭购买个人票,也可直接向个人通过公用信息亭购买个人票,也可直接向售票员购买,但购买团体票只能通过售票员。售票员购买,但购买团体票只能通过售票员。 售票系统需要信用卡付款服务的支持。售票系统需要信用卡付款服务的支持。 另外在系统中提供一个安全监测机制。另外在系统中提供一个安全监测机制。用例
26、用例Buy ticketsBuy tickets买个人票买个人票Buy SubscriptionBuy Subscription团购团购Make chargesMake charges付款付款Survey salesSurvey sales安全管理安全管理includeBox Officeinclude二二 用例建模用例建模用例驱动的系统分析与设计方法用例驱动的系统分析与设计方法已成为面向对已成为面向对象的系统分析与设计方法的主流。象的系统分析与设计方法的主流。UML用例模型一直被推荐为识别和捕获需用例模型一直被推荐为识别和捕获需求的首选工具求的首选工具!1.1.作用作用p描述系统的功能需求;
27、描述系统的功能需求;p宏观上的总体轮廓;宏观上的总体轮廓;p典型用例的分析;典型用例的分析;p执行者所理解的系统功能需求;执行者所理解的系统功能需求;p驱动了需求分析之后各阶段的开发工作;驱动了需求分析之后各阶段的开发工作;p用于验证和检测所开发的系统。用于验证和检测所开发的系统。2. 如何建立用例模型?如何建立用例模型?1. 定义系统定义系统确定执行确定执行者和用例者和用例描述关系描述关系确认模型确认模型l确定范围、分析功能确定范围、分析功能2. 3. 4. l执行者执行者: :用户或系统用户或系统l用例用例: :子系统或独立功能子系统或独立功能l关联、使用、扩展、泛化、依赖关联、使用、扩展
28、、泛化、依赖l模型与需求的一致性(用户与模型与需求的一致性(用户与开发者共同完成)开发者共同完成)角色角色谁使用系统的主要功能、获得支持和服务谁使用系统的主要功能、获得支持和服务? ?谁需要使用系统产生的结果(值谁需要使用系统产生的结果(值) )?谁维护管理系统的日常运行?谁维护管理系统的日常运行?系统需要控制哪些硬件设备?系统需要控制哪些硬件设备? 系统需要与其它哪些系统交互?系统需要与其它哪些系统交互?用例的启动者用例的启动者3. 确定执行者确定执行者(Actor)( (主执行者主执行者) )( (主要设备主要设备) )(副执行者)(副执行者)( (交互系统交互系统) )( (利益攸关方利
29、益攸关方) )用例是用户与系统之间的典型交互。用例是用户与系统之间的典型交互。实现一个实现一个具体的用户目标;具体的用户目标;由执行者激活由执行者激活, ,并将并将结果值反馈给执行者;结果值反馈给执行者;具有具有功能上的完整描述功能上的完整描述。4. 4. 确定用例确定用例(use case)(use case)用例特点用例特点: :执行者需要系统提供哪些功能?执行者需要系统提供哪些功能?执行者是否对系统数据进行操作?执行者是否对系统数据进行操作?现实系统存在的问题是什么?现实系统存在的问题是什么?数据流跟踪(对数据的一类操作)?数据流跟踪(对数据的一类操作)?如何确定用例:如何确定用例:5.
30、 5. 用例之间的关系用例之间的关系 系统的主要功能是:包括项目管理,资源管理和系统的主要功能是:包括项目管理,资源管理和系统管理三大管理功能。系统管理三大管理功能。项目管理包括项目的增加、删除、更新。项目管理包括项目的增加、删除、更新。资源管理包括对资源和技能的添加、删除和更新。资源管理包括对资源和技能的添加、删除和更新。 系统管理包括系统的启动和关闭,数据的存储和系统管理包括系统的启动和关闭,数据的存储和备份等功能。备份等功能。实例:项目与资源管理系统的实例:项目与资源管理系统的Use caseUse case图图项目管理员、资源管理员、系统管理员、备份项目管理员、资源管理员、系统管理员、
31、备份数据系统。数据系统。项目管理,资源管理和系统管理。项目管理,资源管理和系统管理。画出相应的执行者描述模板、用例描述模版画出相应的执行者描述模板、用例描述模版对上层的用例进行分解对上层的用例进行分解, ,并将执行者分配到各并将执行者分配到各层次的层次的Use caseUse case图中。图中。角色:角色:角色职责:角色职责:角色职责识别:角色职责识别:角色描述模板角色描述模板用例名:用例名:功能描述:功能描述:主要步骤:主要步骤:相关用例:相关用例:相关信息:相关信息:( (优先级优先级性能性能, ,频度频度)用例描述模板用例描述模板自顶向下不断细化,抽象出不同层次的自顶向下不断细化,抽象
32、出不同层次的图。图。添加技能添加技能删除技能删除技能更新技能更新技能资源管理员资源管理员添加资源添加资源删除资源删除资源更新资源更新资源查找技能查找技能查找资源查找资源Use把技能指把技能指定给资源定给资源从资源中从资源中清除技能清除技能系统管理员系统管理员项目管理员项目管理员资源管理员资源管理员资源管理资源管理项目管理项目管理系统管理系统管理项目项目管理员管理员添加项目添加项目删除项目删除项目更新项目更新项目添加活动添加活动删除活动删除活动更新活动更新活动查找项目查找项目添加任务添加任务分配资源分配资源给任务给任务取消对任务取消对任务的资源分配的资源分配删除任务删除任务更新任务更新任务Ext
33、end系统管理员系统管理员添加技能添加技能存储数据存储数据启动系统启动系统关闭系统关闭系统查找技能查找技能备份资备份资源数据源数据备份项备份项目数据目数据备份数据备份数据备份系统备份系统实例:医院病房监护系统实例:医院病房监护系统 为了对危重病人进行实时监护,随时了解病人病情,及为了对危重病人进行实时监护,随时了解病人病情,及时进行处理,建立病房监护系统。时进行处理,建立病房监护系统。病症监视器病症监视器安置在每个病床,通过网络将病人的病症信安置在每个病床,通过网络将病人的病症信号(组合)实时传送到号(组合)实时传送到中央监护系统中央监护系统进行分析处理。进行分析处理。在中心值班室里,值班护士
34、使用中央监护系统对病员的在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,动报警,并打印病情报告并打印病情报告和和更新病历更新病历。请对系统需求进行分析!请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:经过初步的需求分析,得到系统功能要求:监视病员的病症(血压、体温、脉搏等)监视病员的病症(血压、体温、脉搏等)定时更新病历定时更新病历病员出现异常情况时报警。病员出现异常情
35、况时报警。随机地产生某一病员的病情报告。随机地产生某一病员的病情报告。监视病情监视病情更新病历更新病历产生产生病情报告病情报告病症监视器采集到的病症信号,格式化后实时的传送到病症监视器采集到的病症信号,格式化后实时的传送到中央监护系统。中央监护系统。中央监护系统将病人的病症信号与标准的病症信号进行中央监护系统将病人的病症信号与标准的病症信号进行比较,出现异常时系统自动报警。比较,出现异常时系统自动报警。出现异常时,系统自动更新病历并打印病情报告。出现异常时,系统自动更新病历并打印病情报告。值班护士可以查看病情报告并进行打印。值班护士可以查看病情报告并进行打印。医生可以查看病情报告,要求打印病情
36、报告,也可以查医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。看或要求打印病历。系统定期自动更新病历。系统定期自动更新病历。 谁使用系统的主要功能?谁使用系统的主要功能? 谁需要系统的支持以完成日常工作任务?谁需要系统的支持以完成日常工作任务? 谁负责维护、管理并保持系统正常运行?谁负责维护、管理并保持系统正常运行? 系统需要处理哪些硬设备?系统需要处理哪些硬设备? 系统需要和哪些外部系统交互?系统需要和哪些外部系统交互?谁(或什么)对系统运行产生的结果(值)感兴趣?谁(或什么)对系统运行产生的结果(值)感兴趣?通过回答这六个问题以后,再进一步分析可以识通过回答这六个问题以后
37、,再进一步分析可以识别出本系统的四个角色:别出本系统的四个角色:。角色:病角色:病 人人角色职责:角色职责:提供病症信号提供病症信号角色职责识别:角色职责识别:负责生成、实时提负责生成、实时提供各种病症信号。供各种病症信号。角色:值班护士角色:值班护士角色职责:角色职责:负责监视病人的病负责监视病人的病情变化情变化角色职责识别:角色职责识别: (1)(1)使用系统主要功能使用系统主要功能 (2)(2)对系统运行结果感对系统运行结果感兴趣兴趣角色角色: :标准病症信号库标准病症信号库角色职责:角色职责:负责向系统提供病症负责向系统提供病症信号的正常值信号的正常值角色职责识别:角色职责识别: (1
38、)(1)负责保持系统正负责保持系统正常运行常运行 (2)(2)与系统交互与系统交互角色:医角色:医 生生角色职责:角色职责:对病人负责,负责对病人负责,负责处理病情的变化处理病情的变化角色职责识别:角色职责识别: (1)(1)需要系统支持需要系统支持以完成其日常工作以完成其日常工作 (2)(2)对系统运行结果对系统运行结果感兴趣感兴趣角色描述模板:角色描述模板:通过四个问题确定用例通过四个问题确定用例与系统实现有关的主要问题是什么?与系统实现有关的主要问题是什么?系统需要哪些输入系统需要哪些输入/ /输出?这些输入输出?这些输入/ /输出从何而来?到输出从何而来?到 哪哪里去?里去?执行者需要
39、系统提供哪些功能?执行者需要系统提供哪些功能? 执行者是否需要对系统中的信息进行读、创建、修改、删执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?除或存储?通过分析可以初步识别出系统的用例为:通过分析可以初步识别出系统的用例为:中央监护,病症中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:顶层用例图为:医院病房监护系统高层用例图医院病房监护系统高层用例图 值班护士值班护士医生医生病人病人标准病症标准病症信号库信号库病症监护病症监护提供标准提供标准病症信号病症信号中央监护中央监护病历管理病历管理病情报告管理病情
40、报告管理 将从病症监护器传送来的组合病症信将从病症监护器传送来的组合病症信号分解为系统可以处理的信号。号分解为系统可以处理的信号。将病人的病症信号与标准信号比较将病人的病症信号与标准信号比较 。如果病症信号发生异常(即高于峰值),如果病症信号发生异常(即高于峰值),发出报警信号。发出报警信号。格式化处理后的数据。格式化处理后的数据。 采集病症信号采集病症信号将采集的模拟信号转化为数字信号将采集的模拟信号转化为数字信号将采集到的脉搏,血压等信号数将采集到的脉搏,血压等信号数据组合为一组信号数据。据组合为一组信号数据。根据病人的情况改变监视器采样根据病人的情况改变监视器采样频率。频率。此用例不分解
41、)此用例不分解) 病人病人模数转化模数转化数据格式化数据格式化值班护士值班护士报警报警信号采集信号采集比较信号比较信号标准病症标准病症信号库信号库 医生医生信号数据组合信号数据组合采样频率采样频率改变改变提供标准提供标准病症信号病症信号生成病历生成病历查看病历查看病历更新病历更新病历打印病历打印病历显示病情报告显示病情报告打印病情报告打印病情报告分解信号分解信号动态模型与动态建模动态模型与动态建模一一 、顺序图、顺序图 用来表示用例中的用来表示用例中的行为顺序行为顺序 每条消息对应一个每条消息对应一个类操作或状态转换的事件类操作或状态转换的事件 展示在场景或用例的事件流中展示在场景或用例的事件
42、流中对象之间的交互对象之间的交互 按照时间顺序描述按照时间顺序描述消息在对象间传递过程消息在对象间传递过程 浏览顺序图的方法:从上到下查看对象间交换的消息浏览顺序图的方法:从上到下查看对象间交换的消息组件组件描描 述述图图 示示带有生命带有生命线的对象线的对象参与交互的对象参与交互的对象生命线生命线:对象存在的时间段对象存在的时间段激活的激活的 对象对象对象正执行的动作对象正执行的动作有消息发送即激活对象有消息发送即激活对象删除标志删除标志 已删除的对象或活动已删除的对象或活动Object:ClasObject:Class s1. 1. 顺序图中组件顺序图中组件组件组件描描 述述图图 示示简单
43、简单消息消息简单的控制流,不考虑通信的细节简单的控制流,不考虑通信的细节同步同步消息消息嵌套的控制流嵌套的控制流必须等待消息的返回才继续执行必须等待消息的返回才继续执行异步异步消息消息异步控制流异步控制流不必等待消息的返回即可继续执行不必等待消息的返回即可继续执行返回返回消息消息(同步消息)返回到调用者的消息(同步消息)返回到调用者的消息消息消息组件组件描描 述述图图 示示注释注释体体用于对用于对UML实体进行文字描述实体进行文字描述注释注释连接连接注释体与要描述的实体相连注释体与要描述的实体相连2. 2. 顺序图与用例图和类图的关系顺序图与用例图和类图的关系3. 3. 顺序图示例顺序图示例1
44、 1消息格式消息格式: : operation (parameter operation (parameter list) list) 向哪个对象发消息实际上向哪个对象发消息实际上就是调用它的类中的操作,就是调用它的类中的操作,就是调用箭头指向的对象就是调用箭头指向的对象所在类的所在类的 一个一个operationoperation。订单类发消息给客户类订单类发消息给客户类调用客户类中的调用客户类中的“验证验证客户客户”操作。操作。从参与者到对从参与者到对象和从对象到象和从对象到参与者之间发参与者之间发送的消息送的消息从对象传递从对象传递给另一个对给另一个对象的消息象的消息在类图中的在类图中的
45、类的对象类的对象系统的使用者或系统的使用者或参与者,系统是参与者,系统是为某个用例的某为某个用例的某个场景设计的个场景设计的对象生命线表示对象生命线表示从上到下的时间从上到下的时间顺序,消息顺序,消息1在消在消息息2之前发生,消之前发生,消息息2在消息在消息3之前之前发生发生窄长方框用窄长方框用以强调这个以强调这个部分处于活部分处于活动状态动状态信息亭信息亭售票中心售票中心信用卡服务信用卡服务KjoskKjosk类中的操作:类中的操作: Show Available (seat-list) Show Available (seat-list) Demand Payment (cost) Dem
46、and Payment (cost) printtickets (performance, seats) printtickets (performance, seats) eject card eject cardBox OfficeBox Office中的操作有中的操作有 Request (count, performance) Request (count, performance) Select Seats Select Seats Insert Card (Card Number) Insert Card (Card Number) authorized authorizedCred
47、it Card ServiceCredit Card Service类中的操作有类中的操作有 charge(card number, cost) charge(card number, cost)4. 4. 顺序图示例顺序图示例2 2:演出售票系统:演出售票系统信息亭信息亭售票中心售票中心信用卡服务信用卡服务顾客在信息亭与售顾客在信息亭与售票中心通话触发了这票中心通话触发了这个用例的执行。顺序个用例的执行。顺序图中付款用例包括售图中付款用例包括售票中心与信息亭和信票中心与信息亭和信用卡服务处使用消息用卡服务处使用消息进行通信过程。进行通信过程。4. 4. 顺序图示例顺序图示例2 2:演出售票系
48、统:演出售票系统信息亭信息亭售票中心售票中心信用卡服务信用卡服务信息亭发信息亭发Request Request (count, performance)(count, performance)消息给售票中心,表示消息给售票中心,表示调用售票中心类的调用售票中心类的Request (count, Request (count, performance)performance)操作,来操作,来查询演出的信息。查询演出的信息。4. 4. 顺序图示例顺序图示例2 2:演出售票系统:演出售票系统信息亭信息亭售票中心售票中心信用卡服务信用卡服务售票中心发售票中心发Show Show Available(s
49、eat-list)Available(seat-list)消息给信息亭,表示调消息给信息亭,表示调用信息亭类中的用信息亭类中的Show Show Available(seat-list)Available(seat-list)操作,给出可用的座位操作,给出可用的座位表。表。4. 4. 顺序图示例顺序图示例2 2:演出售票系统:演出售票系统打印操作的协作图打印操作的协作图:Computer:ComputerPrint(ps-file):PrinterServe:PrinterServer r:Printer:Printer1:Print(ps-file)打印机空闲打印机空闲1.1:Print(p
50、s-file)二、协作图二、协作图(合作图合作图)展示展示对象的关联和消息传递过程对象的关联和消息传递过程强调交互对象的强调交互对象的语境和整体结构语境和整体结构(空间组织布局图)(空间组织布局图)可以表示类可以表示类操作的实现操作的实现箭头表示消息发送的方向,编号为消息的执行顺序箭头表示消息发送的方向,编号为消息的执行顺序顺序图和协作图可以相互转换顺序图和协作图可以相互转换1. 1. 协作图中的组件协作图中的组件组件组件描描 述述图图 示示参与者参与者发出主动操作的对象,启动一个操发出主动操作的对象,启动一个操作。作。对象对象类的实例,负责发送和接收消息,类的实例,负责发送和接收消息,与顺序
51、图中的符号相同,冒号前为与顺序图中的符号相同,冒号前为对象名,冒号后为类名。对象名,冒号后为类名。消息流消息流(箭头箭头+标标签签)箭头由消息的发出者指向接收者,箭头由消息的发出者指向接收者,标签对消息作说明。标签对消息作说明。链接链接表示两个对象共享一个消息,位于表示两个对象共享一个消息,位于对象之间或参与者与对象之间。对象之间或参与者与对象之间。标签标签Object : Object : ClassClass组件组件描描 述述图图 示示简单消息简单消息表示对象间发送简单消息表示对象间发送简单消息同步消息同步消息调用者发出消息后必须等待消息的返调用者发出消息后必须等待消息的返回。回。异步消息
52、异步消息调用者发出消息后不要等待消息的返调用者发出消息后不要等待消息的返回即可继续执行自己的操作。回即可继续执行自己的操作。2. 2. 消息标签消息标签消息标签格式消息标签格式 序列表达式序列表达式 消息名消息名前缀的语法规则:前缀的语法规则:序列号,序列号,序列号,序列号,序列号,序列号 / / 前缀用来同步线程,意思是在发送当前消息前缀用来同步线程,意思是在发送当前消息之前指定序列号的消息被处理。之前指定序列号的消息被处理。2. 2. 消息标签消息标签消息标签格式消息标签格式 序列表达式序列表达式 消息名消息名 守卫条件的语法规则:守卫条件的语法规则: 条件短句条件短句 说明:条件短句通常
53、用伪代码或真正的程序说明:条件短句通常用伪代码或真正的程序语言来表示。语言来表示。 例:例:x=0 x=02. 2. 消息标签消息标签消息标签格式消息标签格式 序列表达式序列表达式 消息名消息名序列表达式:同一个线程内的所有消息按照顺序排序列表达式:同一个线程内的所有消息按照顺序排列。执行顺序的编号方案有两种:顺序法:用简单列。执行顺序的编号方案有两种:顺序法:用简单编号方案,从编号方案,从1 1开始,由小到大,顺序排列。层次法:开始,由小到大,顺序排列。层次法:用小数点制编号方案,此时常常要求表示系统号、用小数点制编号方案,此时常常要求表示系统号、子系统号和模块号,子系统号和模块号,UMLU
54、ML使用小数点方案。使用小数点方案。2. 2. 消息标签消息标签消息标签格式消息标签格式 序列表达式序列表达式 消息名消息名 返回值和消息名:返回值表示一个消息的返回结返回值和消息名:返回值表示一个消息的返回结果,消息名指出了消息的名字和所需参数。果,消息名指出了消息的名字和所需参数。 例:例:x:=calc ( n )x:=calc ( n )2. 2. 消息标签消息标签消息标签格式消息标签格式 序列表达式序列表达式 消息名消息名1.1a,1.1b, 1.1c / x=0 1.21.1a,1.1b, 1.1c / x=0 1.2* *i:=1.n :i:=1.n : x := calc( n
55、 )x := calc( n )3. 3. 协作图与顺序图的区别和联系协作图与顺序图的区别和联系 相同点:相同点:对象间的交互作用对象间的交互作用 不同点:不同点:顺序图顺序图侧重于侧重于交互作用中的时间顺序交互作用中的时间顺序( (强调时间强调时间) ),但没有明确表示对象间的关系但没有明确表示对象间的关系,而,而协作图协作图侧重于侧重于对象对象间的关系间的关系( (强调空间强调空间) ),但时间顺序必须从顺序号获得,但时间顺序必须从顺序号获得。4. 4. 打印操作的协作图打印操作的协作图actoractor发送发送PrintPrint消息给消息给ComputerComputer,Compu
56、terComputer发送发送PrintPrint消息给消息给PrintServerPrintServer,如果打印机空闲,如果打印机空闲,PrintServerPrintServer发送发送PrintPrint消息给消息给printerprinter:Computer:ComputerPrint(ps-file):PrinterServer:PrinterServer:Printer:Printer1:Print(ps-file)打印机空闲打印机空闲1.1:Print(ps-file) 5. 5.乘坐电梯的协作图乘坐电梯的协作图事物:事物: 参与者参与者 按钮对象按钮对象 电梯控制对象电梯控
57、制对象 命令对象命令对象 工作队列工作队列 电梯对象电梯对象关系:关系:链接链接 参与者从系统外部按下按钮,然后参与者从系统外部按下按钮,然后1.1.电梯系统操作启动,电梯控制对象电梯系统操作启动,电梯控制对象以循环的方式检查所有工作序列,并选择以循环的方式检查所有工作序列,并选择一个最短的工作队列。一个最短的工作队列。2.2.创建作业命令,将其放入工作队列,创建作业命令,将其放入工作队列,并激活队列。并激活队列。3.3.电梯对象并发运行,从它的队列中电梯对象并发运行,从它的队列中选择一个作业并执行。(电梯是一个活动选择一个作业并执行。(电梯是一个活动对象,它与它的控制线程并发执行)对象,它与
58、它的控制线程并发执行):button:Elevator Control:Queue:Elevator:Ordernew : Actor1 : GetElevator(floorId)1.1 *all queues : len:=Length()1.3: Invoke(job)1.2: Create( )2: nextjob:=Get.job( )Push( )用户可按照会议人数、会议时间预订会议室。可以只预订用户可按照会议人数、会议时间预订会议室。可以只预订次,也可预订定期召开的会议。次,也可预订定期召开的会议。 开会前允许修改会议时间、人数,重新选择会议室,取消开会前允许修改会议时间、人数,
59、重新选择会议室,取消预订的会议。预订的会议。 确定会议预订后,会议中心负责会务管理:包括通过邮寄确定会议预订后,会议中心负责会务管理:包括通过邮寄或电子邮件,通知开会人员有关会议信息。或电子邮件,通知开会人员有关会议信息。系统根据会议室的使用情况(紧张与否),调整、更改会系统根据会议室的使用情况(紧张与否),调整、更改会议室和会议时间,并调整修改预订会议的时间。议室和会议时间,并调整修改预订会议的时间。 会议管理者会议管理者 会议申请者会议申请者 邮局邮局 会议人员管理会议人员管理 系统维护者系统维护者(1 1)建立用例模型)建立用例模型 用例识别用例识别定义一个会议定义一个会议更改一个会议更
60、改一个会议 删除一个会议删除一个会议申请会议召开申请会议召开更改申请更改申请取消申请取消申请定义参加人员定义参加人员归还会议室归还会议室 定义参加人员定义参加人员 取消申请取消申请 申请会议召开申请会议召开 更改申请更改申请会议室维护会议室维护设定预定时限设定预定时限归还会议室归还会议室申请会申请会议召开议召开更改申请更改申请取消申请取消申请定义参定义参加人员加人员会议召开申会议召开申请者请者邮局邮局会议会议人员人员管理管理设置预设置预定时限定时限会议室会议室维护维护定义会议定义会议更改会议更改会议删除会议删除会议系统维护者系统维护者会议管理员会议管理员输入会议名称输入会议名称确定会议规模确定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3.1 大气的组成和垂直分层1 课件上学期地理湘教版(2019)必修第一册
- 吉林省伊通满族自治县第三中学校高中政治必修二22民主决策作出最佳的选择学案
- 押大题02地球运动-2023年中考地理之考前押大题
- 人教部编版八年级语文上册《国行公祭为佑世界和平》公开示范教学课件
- 三年级上册生活生命与安全教案
- 安全教育主题班会教案多篇
- 活鱼冷链运输保障协议
- 4S店拆旧合同模板
- PG99式35毫米牵引式高炮系统-20210801080424
- 2024年郑州考客运资格证需要什么东西
- 道路开口施工方案
- 咖啡厅室内设计PPT
- 北师大一年级数学上册期中测试卷及答案
- 小学二年级上册美术课件-5.17漂亮的钟-岭南版(14张)ppt课件
- 苏教版六年级上册音乐教案全册
- 江苏某市政道路地下通道工程深基坑支护及土方开挖施工专项方案(附图)
- 生物校本教材—生活中的生物科学
- 北京市建筑施工起重机械设备管理的若干规定
- 新建时速200公里客货共线铁路设计暂行规定
- 边沟、排水沟、截水沟施工方案(完整版)
- 实行特殊工时工作制实施方案
评论
0/150
提交评论