资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
UML模型中的图,UML共提供了九种图:第一类图是用例图。用例图(Use Case,用况、实例)从用户的角度描述系统功能,并指出各功能的操作者。第二类图是静态图,包括类图(Class)、对象图(Object)。类图描述类的定义和类之间的关系(关联、继承、聚合等),对象是类的实例。包描述系统的分层结构。第三类图是行为图,包括状态图(Statechart)和活动图(Activity)。状态图描述对象的所有可能状态及事件发生时状态的转移条件。活动图描述了用例的活动行为以及活动时的约束关系。,第四类图是交互图,包括时序图(Sequence、循序、顺序、序列、轨迹)和协作图(Collaboration、合作图)。顺序图描述了对象间的动态协作关系,强调消息的时间排列;合作图同样描述了对象间的动态协作关系,但他强调消息发送和接收的对象的结构组织(及连接关系)。第五类图是实现图,包括构件图(Component、组件、部件)和部署图(Deployment、配置、实施)。构件图描述了代码构件(模块)的物理结构和构件(模块)间的依赖关系;配置图定义了系统中软、硬件的体系结构。,UML模型中的图,UML五类九种图的符号体系1,UML五类九种图的符号体系2,UML五类九种图的符号体系3,UML五类九种图的符号体系4,课堂练习,现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当病症出现异常时,系统会立即自动报警, 并实时打印病人的病情报告,立及更新病历。要求根据现场情景,对医院病房监护系统进行需求分析, 建立系统的用例模型。,请对系统需求进行分析!,经过初步的需求分析,得到系统功能要求: 1、监视病员的病症(血压、体温、脉搏等) 2、定时更新病历 3、病员出现异常情况时报警。 4、随机地产生某一病员的病情报告。,例2: 医院病房监护系统,监视病情,更新病历,一、情景分析,二、简单的需求分析说明系统名称:医院病房监护系统根据分析系统主要实现以下功能:1、病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到中央监护系统。2、中央监护系统将病人的病症信号开解后与标准的病症信号库里的病症信号的正常值进行比较,当病症出现异常时系统自动报警。3、当病症信号异常时,系统自动更新病历并打印病情报告。4、值班护士可以查看病情报告并进行打印。5、医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。6、系统定期自动更新病历。,上页,需求分析,三、建立系统的用例图1、通过以下六个问题识别角色(1)谁使用系统的主要功能?(2)谁需要系统的支持以完成日常工作任务?(3)谁负责维护,管理并保持系统正常运行?(4)系统需要应付(或处理)哪些硬设备?(5)系统需要和哪些外部系统交互?(6)谁(或什么)对系统运行产生的结果(值)感兴趣?,需求分析,通过回答这六个问题以后,再进一步分析可以识别出本系统的四个角色:值班护士,医生,病人,标准病症信号库。角色描述模板,通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:,角色描述,2、识别出系统的用例 通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:,标准病症 信号库,角色描述,将用例细化,可以得到分解的用例: 1、中央监护 分解为: a)分解信号 将从病症监护器传送来的组合病症信号分解为系统可以处理的信号。b)比较信号 将病人的病症信号与标准信号比较 。c)报警 如果病症信号发生异常(即高于峰值),发出报警信号。d)数据格式化 将处理后的数据格式化以便写入病历库 。 2、病症监护 分解为:e)信号采集 采集病人的病症信号。f)模数转化 将采集来的模拟信号转化为数字信号。g)信号数据组合 将采集到的脉搏,血压等信号数据组合为一组信号数据。h)采样频率改变 根据病人的情况改变监视器采样频率。 3、提供标准病症信号 i(此用例不分解),用例细化,3、细化系统的用例,4、病历管理 分解为:j) 生成病历k) 查看病历l) 更新病历 m) 打印病历 5、病情报告 分解为:n)显示病情报告 在显示器上显示病情o)打印病情报告 在打印机打印病情报告,用例细化,给出细化的用例图,病人,细化的用例图,识别类通过名词识别法和系统实体识别法等方法可以识别出系统的十二个类,以下用类图这种简单明了的方法分别表示出类的名称,属性操作。见下图:,静态建模例:建立“医院病房监护系统”的类与对象模型,值班护士 医生 病人 病症监视 中央监护系统 报警信号 标准病症信号库 病历库 病人病症信号 病情报告 病历 标准病症信号,类的识别,建立类的关系在类图中标明类之间的关系:,系统类图,例:用包图描述医院监护系统的体系结构,包图,医院诊疗系统的配置图,2 配置图,1.初始阶段,.对需求有一个大概了解,确定系统中的大多数用例和脚色,但此时用例是简要的; .划分主要子系统,给出系统体系结构概貌; .分析项目执行的风险; .考虑时间、经费、技术、项目规模和效益等因素; .定制出开发计划。,2.细化阶段,识别出大多数剩余的用例。对当前迭代的每个用例进行细化,分析用例处理流程、状态细节以及可能发生的状态改变。细化流程时,可以使用程序况图和协作图,还可以使用活动图、类图分析用例对风险的处理。主要工作: 需求风险 考虑项目的目标是否偏离了用户的需求。为了解决需求风险要充分了解用户需求以及各需求的优先级,还应尽量列出所有的用例,并要建立领域的概念模型。 技术风险 通过建立原型等方法,考察所选的技术方案是否可行; 技能风险 考虑实施项目的人员素质能否胜任项目的要求; 政策风险 考虑政策性的因素对项目的影响; 进行高层分析和设计,并做出结构性决策; 所产生的简要体系结构包括用例列表、领域概念模型和技术平台等,以后的阶段对细化阶段建立的体系结构不能进行过大的变动; 为构造阶段定制计划。,3.构造阶段,识别出剩余的用例。每一次迭代开发都针对用例进行分析、设计、编码、测试和集成过程,所得到的产品满足项目需求的一个子集。由于细化阶段的软件设计已经完成,这样各个项目组可以并发开发。在代码完成后,要保证其符合标准和设计规则,并要进行质量检查。对于新出现的变化,要通过逆向工具把代码转换成模型,对模型进行修改、再重新产生代码,以保证软件与模型同步。此阶段要建立类图、协作图和配置图;如一个类具有复杂的生命周期,可绘制状态图;如算法特别复杂,可绘制活动图。,4. 移交阶段,这一阶段完成最后的软件产品和最后的验收测试,并完成用户文档编制以及用户培训等工作。,UML开发过程中的产品,小结1:UML的事物、关系与图,UML的7种结构事物,小结1:UML的事物、关系与图,UML的2种行为事物,小结1:UML的事物、关系与图,UML的5种关系,小结1:UML的事物、关系与图,UML的9种图1,小结1:UML的事物、关系与图,UML的9种图2,小结1:UML的事物、关系与图,Rational 统一过程的9个模型,小结1:UML的事物、关系与图,UML的5张视图,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,需 求,分析与设计,实 现,测 试,小结2:面向对象的开发方法的一般过程,OO方法的步骤,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,需 求,分析与设计,实 现,测 试,获取需求,建立需求模型。1、项目定义; 、可行性;3、业务建模;4、定义系统功能(用例图 );5、风险评估;,需 求,分析与设计,实 现,测 试,面向对象的开发方法的一般过程,获取需求,建立需求模型。分析的典型活动:1、获取领域知识; 、定义系统功能(细化用例图 );3、确定合适的类;4、建立类的静态模型(类图 );5、描述对象的动态行为(状态图、协作图、时序图、活动图 );6、验证 (专家对模型作静态验证);7、 给出基本的用户界面原型(整体结构的原型:主窗口的内容、窗口之间的导航等)。,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,面向对象的开发方法的一般过程,设计是分析结果在技术上的扩充和修改,重点是如何实现该系统。设计中的典型活动: 、将分析所得的类划分为功能包,并从技术层面(用户界面、数据库处理、通信等)增加新包,建立包之间的通信联系。 、标识并发需求并建模。 、指出系统输出的详细格式:如用户界面,报告,向其它系统发送的事务等。 、数据管理(建立类与表单的对应关系,对数据库的访问机制)。 、异常处理 、分配类和构件(构件图、配置图) 。,还应用伪代码或者文字给出类的规约。,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,需求分析,设 计,实 现,测 试,面向对象的开发方法的一般过程,实现活动实际上就是编写程序代码,包括反复的编译、连结、排错等。并应遵循传统的编程准则。,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,需求分析,设 计,实 现,测 试,面向对象的开发方法的一般过程,测试的目的是发现代码中的错误,测试的关键是确定高效的测试用例。测试的主要步骤有: 、面向对象的单元测试测试单元为封装的类和对象,但不能孤立地测试单个操作,应把操作作为类的一部分来测试。 、面向对象的集成测试集成测试的策略有: 基于线程的测试(Thread-based testing) 基于使用的测试(Use-based testing) 3、面向对象的确认测试类似传统的确认测试和系统测试,根据动态模型和描述系统行为的脚本来设计测试用例,可用黑盒法。,方法中执行主要活动的描述。主要步骤是分析、设计、实现及测试。,同学们辛苦了!,谢谢你们!,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号