您好,欢迎访问三七文档
1计算机世界现实世界影射面向对象系统分析方法2模型是对系统的完整的抽象表示,建模是在不同层次上对系统的描述。面向对象建模的基本概念1.什么是模型?人们对某个领域特定问题的求解及解决方案,对它们的理解和认识都蕴涵在模型中。通常,开发一个计算机系统是为了解决某个领域特定问题,问题的求解过程,就是从领域问题到计算机系统的映射。32.为什么要建模?领域问题概念模型分析、抽取系统需求解决方案分析、设计提取鉴于软件系统的复杂性和规模的不断增大,需要建立不同的模型对系统的各个层次进行描述。软件模型包括:数学模型、描述模型和图形模型。便于开发人员与用户的交流。模型为以后的系统维护和升级提供了文档。建模过程:4“面向对象”是把一组相互之间没有联系的对象有效地集成在一起的概念,这些对象都是将数据结构和行为紧密地结合在一起的。通过将抽象、封装和模块结合在一起的方法,面向对象的思想贯穿于整个软件开发生命周期中面向对象方法的基本思想是,从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能地运用人类的自然思维方式。5现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。对象具有的含义:在现实世界中:是客观世界中的一个实体在面向对象程序中:表达成计算机可理解、可操纵、具有一定属性和行为的对象在计算机世界中:是一个可标识的存储区域1.对象(object)面向对象的基本概念62.类(class)具有共同属性和行为的对象的抽象类与对象的关系类是对象的抽象对象是类的实例类对象7抽象抽象是指将世界上的事物表述成类的概念,即对象的静态属性可以被抽象成类的属性定义,对象的动态行为可以被抽象成类的操作定义。(1)将对象抽象为类,如图12-9所示。(2)抽象出类的属性和行为,如图12-10所示。8对象、实体与类关系对象实体类抽象数据类计算机世界现实世界计算机逻辑的实现影射抽象实例化抽象概念世界9封装将对象的操作包装成只有名称、参数、返回值,而不提供外部使用者如何实现该操作具体行为细节和操作过程的方法,称为封装。如图12-12所示。10消息(message)消息对象之间相互请求或相互协作的途径,是要求某个对象执行某个功能操作的规格说明消息内容通常包含接收方及请求接收方完成的功能信息发送方发出消息,请求接收方响应接收方收到消息后,经过解释,激活方法,予以响应11继承性继承性是父类和子类之间共享数据和方法的机制继承性具有传递性继承性包括单继承和多重继承子类继承部分增加部分父类共性部分12继承性作用使软件系统具有开放性更好地进行抽象与分类增强代码的重用率13多态性对象的多态性是指在一般类中定义的属性或服务被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。14传统方法和面向对象方法的比较传统方法系统是过程的集合过程与数据实体交互过程接受输入并产生输出面向对象方法系统是交互对象的集合对象与人或其它对象交互对象发送与响应消息15通常建立的三种形式的模型:描述系统数据结构的对象模型描述系统控制结构的动态模型描述系统功能的功能模型三种模型从三个不同但由密切相关的角度模拟目标系统。对象模型是最重要、最基本、最核心的。面向对象方法开发软件的过程16用例建模1992年由Jacobson提出了Usecase的概念及可视化的表示方法—Usecase图,并加入由他所倡导的OOSE。受到了IT界的欢迎,被广泛应用到了面向对象的系统分析中。用例驱动的系统分析与设计方法已成为面向对象的系统分析与设计方法的主流。需求获取(RequirementElicitation)是需求工程的主体,其主要工作是建立待开发系统的模型,而用例就是用于建立这种模型的良好方法。UML的用例模型一直被推荐为识别和捕获需求的首选工具!!17用例模型(Usecasemodel)用例模型描述外部执行者(Actor)所理解的系统功能。即待开发系统的功能需求。它驱动了需求分析之后各阶段的开发工作,还被用于验证和检测所开发的系统,影响了UML的各个模型。用例模型由若干个用例图构成,用例图中主要描述执行者和用例之间的关系。在UML中,构成用例图的主要元素是用例和执行者及其它们之间的联系。创建用例模型的工作包括:定义系统、确定执行者和用例、描述用例、定义用例间的关系、确认模型。18如何建立用例模型建立系统用例模型的过程就是对系统进行功能需求分析的过程。定义系统确定执行者和用例描述执行者和用例关系确认模型●确定系统范围;●分析系统功能。●执行者通常是使用系统功能的外部用户或系统。●用例是一个子系统或系统的一个独立、完整功能。各模型元素之间有:关联、使用、扩展及泛化等关系。确认用例模型与用户需求的一致性,通常由用户与开发者共同完成。19一、确定执行者(Actor)执行者是指用户在系统中所扮演的角色,执行者用类似人的图形来表示,但执行者可以是人,也可以是一个外界系统。如何确定执行者:1、谁使用系统的主要功能(主执行者)?2、谁需要从系统获得对日常工作的支持和服务?3、需要谁维护管理系统的日常运行(副执行者)?4、系统需要控制哪些硬件设备?5、系统需要与其它哪些系统交互?6、谁需要使用系统产生的结果(值)?一、执行者供货买饮料取货款客户供货人收银员自动售货系统回例120二、用例如何确定用例:1、与系统实现有关的主要问题是什么?2、系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?3、执行者需要系统提供哪些功能?4、执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?二、用例回例1二、用例二、用例(usecase)从本质上讲,一个用例是用户与计算机之间的一次典型交互作用。在UML中,用例被定义成系统执行的一系列动作(功能)。用例有以下特点:用例实现一个具体的用户目标。用例由执行者激活,并将结果值反馈给执行者。用例必须具有功能上的完整描述。二、用例21三、用例之间的关系执行者与用例之间通常是一种关联。用例之间的联系:Use表示一个用例使用另一个用例。Extend通过向被扩展的用例添加动作来扩展用例。include表示一个用例的行为包含了另一个用例的行为。售货供货取货款顾客供货人收银员售散装饮料打开机器关闭机器打开机器关闭机器扩展使用使用使用使用自动售货机系统含有使用和扩展关系的用例图22用例图实例例1建立项目与资源管理系统的Usecase图系统的主要功能是:包括项目管理,资源管理和系统管理三大管理功能。1.项目管理包括项目的增加、删除、更新。2.资源管理包括对资源和技能的添加、删除和更新。3.系统管理包括系统的启动和关闭,数据的存储和备份等功能。说明:技能表示人力资源。231.分析确定系统的执行者(角色)到确定到确定项目管理员、资源管理员、系统管理员、备份数据系统。项目管理,资源管理和系统管理。2.确定用例3.对用例进行分解,画出下层的Usecase图角色:角色职责:角色职责识别:角色描述模板还应画出相应的执行者描述模板及用例描述模板。对上层的用例进行分解,并将执行者分配到各层次的Usecase图中。用例名:功能描述:主要步骤:相关用例:相关信息:(优先级性能,频度…)用例描述模板24例1项目与资源管理系统(PRMS)添加技能删除技能更新技能资源管理员添加资源删除资源更新资源查找技能Use查找资源UseUseUse把技能指定给资源从资源中清除技能ExtendExtend资源管理UseCase图UseCase图可以自顶而下不断精化,抽象出不同层次的UseCase图。系统管理员项目管理员资源管理员资源管理项目管理系统管理备份系统PRMS高层UseCase图注:这里的“技能”是指人力资源。25例1项目与资源管理系统(PRMS)项目管理员添加项目删除项目更新项目添加活动删除活动更新活动查找项目Use添加任务Use分配资源给任务取消对任务的资源分配ExtendExtend删除任务更新任务ExtendExtendExtendExtendExtendExtend项目管理UseCase图系统管理UseCase图系统管理员添加技能存储数据启动系统关闭系统查找技能UseUseUse备份资源数据备份项目数据ExtendExtendUse备份数据备份系统26应用举例例2—医院病房监护系统一、问题描述为了对危重病人进行实时监护,随时了解病人病情,及时进行处理,建立病房监护系统。病症监视器安置在每个病床,通过网络将病人的病症信号(组合)实时传送到中央监护系统进行分析处理。在中心值班室里,值班护士使用中央监护系统对病员的情况进行监控,监护系统实时地将病人的病症信号与标准的病诊信号进行比较分析,当病症出现异常时,系统会立即自动报警,并打印病情报告和更新病历。系统根据医生的要求随时打印病人的病情报告,系统定期自动更新病历。27请对系统需求进行分析!经过初步的需求分析,得到系统功能要求:1.监视病员的病症(血压、体温、脉搏等)2.定时更新病历3.病员出现异常情况时报警。4.随机地产生某一病员的病情报告。例2医院病房监护系统产生病情报告监视病情更新病历28二、简单的需求分析说明对“医院病房监护系统”进行分析,确定系统的主要功能如下:1.病症监视器可以将采集到的病症信号(组合),格式化后实时的传送到中央监护系统。2.中央监护系统将病人的病症信号开解后与标准的病症信号库里的病症信号的正常值进行比较,当病症出现异常时系统自动报警。3.当病症信号异常时,系统自动更新病历并打印病情报告。4.值班护士可以查看病情报告并进行打印。5.医生可以查看病情报告,要求打印病情报告,也可以查看或要求打印病历。6.系统定期自动更新病历。需求分析291.通过以下六个问题识别角色(1)谁使用系统的主要功能?(2)谁需要系统的支持以完成日常工作任务?(3)谁负责维护,管理并保持系统正常运行?(4)系统需要应付(或处理)哪些硬设备?(5)系统需要和哪些外部系统交互?(6)谁(或什么)对系统运行产生的结果(值)感兴趣?需求分析三、建立系统的用例模型值班护士、医生、病人值班护士、医生系统管理员监护器,网络,报警系统标准病症信号库、病历库同(2)30通过回答这六个问题以后,再进一步分析可以识别出本系统的四个角色:值班护士,医生,病人,标准病症信号库。角色描述模板:角色:病人角色职责:提供病症信号角色职责识别:负责生成、实时提供各种病症信号。角色:值班护士角色职责:负责监视病人的病情变化角色职责识别:(1)使用系统主要功能(2)对系统运行结果感兴趣角色:标准病症信号库角色职责:负责向系统提供病症信号的正常值角色职责识别:(1)负责保持系统正常运行(2)与系统交互角色:医生角色职责:对病人负责,负责处理病情的变化角色职责识别:(1)需要系统支持以完成其日常工作(2)对系统运行结果感兴趣角色描述312.识别用例回答下面的问题:⑴与系统实现有关的主要问题是什么?⑵系统需要哪些输入/输出?这些输入/输出从何而来?到哪里去?⑶执行者需要系统提供哪些功能?⑷执行者是否需要对系统中的信息进行读、创建、修改、删除或存储?通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:32通过分析可以初步识别出系统的用例为:中央监护,病症监护,提供标准病症信号,病历管理,病情报告管理。顶层用例图为:医院病房监护系统高层用例图值班护士医生病人标准病症信号库病症监护提供标准病症信号中央监护病历管理病情报告管理extendincludeincludeinclude33进一步将用例细化,即分解用例:1.中央监护分解:a分解信号将从病症监护器传送来的组合病症信号分解为系统可以处理的信号。b比较信号将病人的病症信号与标准信号比较。c
本文标题:面向对象系统分析1
链接地址:https://www.777doc.com/doc-3373874 .html