《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)

上传人:zhuma****mei1 文档编号:137211390 上传时间:2020-07-06 格式:PPT 页数:55 大小:738KB
返回 下载 相关 举报
《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)_第1页
第1页 / 共55页
《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)_第2页
第2页 / 共55页
《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)_第3页
第3页 / 共55页
《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)_第4页
第4页 / 共55页
《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)》由会员分享,可在线阅读,更多相关《《软件工程实用教程》第5章面向对象的需求分析》-精选课件(公开PPT)(55页珍藏版)》请在金锄头文库上搜索。

1、第5章面向对象的需求分析,本章学习内容:1理解面向对象方法的基本概念2了解面向对象方法的特点与优点3初步掌握面向对象分析的各种模型及视图4掌握面向对象需求分析的过程与步骤,第5章面向对象的需求分析,5.1面向对象方法学概述5.1.1面向对象技术的由来1986年Booch提出的面向对象分析与设计方法论(OOA/OOD)。1991年Rumbaugh提出的面向对象模型技术(OMT)。1994年Jacobson提出的面向对象软件工程方法学(OOSE)。Booch、OMT和Jacobson将他们各自的对象建模方法结合到一起,提出了统一的建模语言UML(UnifiedModelingLanguage),第

2、5章面向对象的需求分析,5.1.2面向对象方法概述主要特点:从问题域中客观存在的事物出发来构造软件系统,用对象作为对这些事物的抽象表示,并以此作为系统的基本构成单位;事物的静态特征(即可以用一些数据来表达的特征)用对象的属性来表示,事物的动态特征(即事物的行为)用对象的操作来表示;对象的属性与操作结合为一体,成为一个独立的实体,对外屏蔽其内部细节(称为封装);对事物进行分类,把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例;,第5章面向对象的需求分析,通过在不同程度上运用抽象原则(忽略事物之间的一些差异),可以得到较一般的类和较特殊的类。特殊类继承一般

3、类的属性和操作,面向对象方法支持这种继承关系的描述与实现,从而简化系统的构造过程及其文档;复杂对象可以用简单的对象作为其构成部分(称为聚合);对象之间通过消息进行通信,以实现对象之间的动态联系;通过关联表达对象之间的静态关系。,第5章面向对象的需求分析,5.1.3面向对象方法的优点与人们习惯的思维方法一致可使软件系统结构更加稳定软件具有更好的可复用性软件更加便于维护与扩充,第5章面向对象的需求分析,5.1.4面向对象建模用例模型:包含所有用例及其与用户之间的关系;对象模型:包含问题域涉及的类及其属性和关系,其作用是更详细地提炼用例,将系统的行为初步分配给提供行为的一组对象;设计模型:将系统的静

4、态结构定义为子系统、类和接口,并定义由子系统、类和接口之间的协作来实现的用例;实现模型:包含构件和类到构件的映射;配置模型:定义计算机的物理节点和构件到这些节点的映射;测试模型:描述用于验证用例的测试用例。,第5章面向对象的需求分析,5.2面向对象的基本概念5.2.1类和对象1对象是指问题域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用,它是由数据(属性)及其上的操作(也称为服务、方法或行为)组成的封装体。,第5章面向对象的需求分析,可以从以下4个方面来认识对象:(1)从动态的观点看,对象的操作就是对象的行为。(2)从存储角度看,对象是私有存储,其中有数据也有操作。其他对

5、象的方法不能直接操纵该对象的私有数据,只有对象私有的方法才可操纵它。(3)从实现机制看,对象是一个自动机,其中私有数据表示了对象的状态,该状态只能由私有的方法改变它。(4)在面向对象的程序设计中,对象是系统中的基本运行实体。,第5章面向对象的需求分析,2类是指具有相同属性和操作的对象的集合,它代表一种抽象,作为具有类似特性与共同行为的对象的模板,可用来产生对象。例如:汽车具有运输功能,它是由车轮、发动机、车身等部分组成,这个描述适合所有的汽车。3实例类是建立对象时使用的“样板”,按照这个样板所建立起来的一个个具体的对象,就是类的实例。,第5章面向对象的需求分析,5.2.2封装、继承和多态1封装

6、封装是指把对象的外部特征与内部实现细节分开,使得一个对象的外部特征对其它对象来说是可访问的,而它的内部细节对其它对象是隐蔽的。对象具有封装性的条件如下:(1)有一个清楚的边界,所有私有数据和操作的代码都被封装在这个边界内,从外面看不见更不能访问;(2)有确定的接口,这些接口描述这个对象和其他的对象之间相互的作用;(3)受保护的内部实现,这个实现给出了由软件对象提供的功能的细节,实现细节能在定义这个对象的类的外面访问。,第5章面向对象的需求分析,2继承继承是子类自动地共享基类中定义的数据和方法的机制。继承刻画了一般性和特殊性继承也体现了类的层次关系,第5章面向对象的需求分析,3多态性是指在一般类

7、中定义的属性或操作被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。多态性的作用在于它允许我们开发灵活的系统,我们只要指定什么应该发生,而不是它应该怎样发生,以便获得一个易修改、易变更的系统。,第5章面向对象的需求分析,4消息消息是面向对象系统中实现对象间的通信和请求任务的操作。5关联泛化关系:主要表现继承机制;聚合关系:对象间的由分解或组成所构成的关系;关联关系表示两个类之间除泛化、聚合以外的,存在某种语义上的联系。,第5章面向对象的需求分析,5.2.3面向对象的分析概述获取用户需求标识对象和类定义类的结构和层次建立对象模型建立动态模型,第5章面向对象的需求分析,5.3用例模型5.

8、3.1执行者执行者是指与系统交互的人或其他系统,它代表外部实体。,第5章面向对象的需求分析,5.3.2用例用例是可以被执行者感受到的、系统的一个完整的功能。在UML中把用例定义成系统完成的一系列动作序列,动作的结果能够被特定的执行者察觉到。用例具有下述特征:用例代表某些用户可见的功能,实现一个具体的用户目标;用例总是被执行者启动,并向执行者提供可识别的值;用例可大可小,但它必须是完整的;用例在以后开发过程中,可以进行独立的功能检测。,第5章面向对象的需求分析,用例描述:用例名称:取款前置条件:ATM机正常工作主事件流:(1)客户将卡插入ATM机,开始用例。(2)ATM显示欢迎消息并提示客户输入

9、密码。(3)客户输入密码。(4)ATM确认密码有效。如果无效则执行子事件流a。如果与主机联接有问题,则执行异常事件流e。(5)ATM提供以下选项:存钱,取钱,查询。(6)用户选择取钱选项。(7)ATM提示输入所取金额。(8)用户输入所取金额。(9)ATM确定该帐户是否有足够的金额。如果余额不够,则执行子事件流b,如果与主机联接有问题,则执行异常事件流e。,第5章面向对象的需求分析,(10)ATM从客户帐户中减去所取金额。(11)ATM向客户提供要取的钱。(12)ATM打印清单。ATM退出客户的卡,用例结束。子事件流a:a1提示用户输入无效密码,请求再次输入;a2如果三次输入无效密码,系统自动关

10、闭,退出客户银行卡。子事件流b:b1提示用户余额不够。b2返回(5),等待客户重新选择。后置条件:结束取款事件。,第5章面向对象的需求分析,5.3.3用例之间的关系1.扩展关系2.包含关系,第5章面向对象的需求分析,5.3.4用例建模从几方面识别系统的执行者,包括需要从系统中得到服务的人、设备、其他软件系统等;分析系统的业务边界或系统执行者对于系统的基本业务需求,可以将其作为系统的基本用例;分析基本用例,将基本用例中具有一定独立性的功能,特别是具有公共行为特征的功能分解出来,将其作为新的用例供基本用例使用;分析基本用例功能以外的其他功能,将其作为新的用例供基本用例进行功能扩展;分析并建立执行者

11、与用例之间的通信关系。,第5章面向对象的需求分析,5.4对象模型5.4.1类图名称:用来区别其他的类。类名可以是一个字符串,也可以是包含路径的名字。属性:属性用来描述该类的对象所具有的特征。操作:操作描述对数据的具体处理方法。,第5章面向对象的需求分析,5.4.2识别类与对象1找出侯选的类与对象(1)名词识别法例:顾客带着所要购买的商品到达营业厅的一个销售点终端(终端设在门口附近),销售点终端负责接收数据、显示数据和打印购物单;出纳员与销售点终端交互,通过销售点终端录入每项商品的通用产品代码,如果出现多个同类商品,出纳还要录入该商品的数量;系统确定商品的价格,并将商品代码、数量信息加入到正在运

12、行的系统;系统显示当前商品的描述信息和价格。候选对象:顾客、商品、销售点终端、购物单、出纳员,第5章面向对象的需求分析,(2)系统实体识别方法可感知的物理实体,例如汽车、书、信用卡;人或组织的角色,例如:学生、教师、经理、管理员、供应处;应该记忆的事件,例如取款、飞行、订购;两个或多个对象的相互作用,例如购买、结婚;需要说明的概念,例如保险政策、业务规则。,第5章面向对象的需求分析,2筛选出正确的类与对象(1)冗余(2)无关(3)笼统(4)属性(5)操作(6)实现,第5章面向对象的需求分析,5.4.3识别属性1分析2确定属性注意以下问题:(1)误把对象当作属性(2)误把关联类的属性当作对象的属

13、性(3)误把内部状态当成属性(4)过于细化(5)存在不一致的属性(6)属性不能包含一个内部结构(7)属性在任何时候只能有一个在其允许范围内的确切的值,第5章面向对象的需求分析,5.4.4识别操作有哪些类会与该类交互(包括该类本身)?所有与该类具有交互行为的会发送哪些消息给该类?该类又会发送哪些消息给这些类?该类如何响应别的类发送来的消息?在发送消息出去之前,该类需要做何处理?从该类本身来说,它应该有哪些操作来维持其信息的更新、一致性和完整性?系统是否要求该类具有另外的一些职责?,第5章面向对象的需求分析,5.4.5识别关联关联用于描述类与类之间的连接关联名称:用于标记关联关联角色:用于反映类在

14、这一关联关系中扮演了什么角色.如果在关联上没有标出角色名,则隐含地用类的名称作为角色名。关联导向性:是指关联关系只在指定方向上成立,可以使用一个指向符号表示。,第5章面向对象的需求分析,5.4.5识别关联例:“消费者”以“顾客”的角色参与“提交定单”的关联,第5章面向对象的需求分析,关联的多重性:表示是由类产生的对象之间存在的数量关系,主要有以下几种:1.1或1表示1个对象0.1表示0到1个对象0.*或*表示0到多个对象1.*表示1到多个对象,第5章面向对象的需求分析,(1)关联类关联有可能具有自己的属性或操作,对此需要引入一个关联类来进行记录。这时,关联关系中的每个连接与关联类的一个对象相联

15、系,关联类通过一条虚线与关联连接。,第5章面向对象的需求分析,(2)聚合聚合是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系。一般聚合关系共享聚合组成,第5章面向对象的需求分析,(3)泛化类之间的泛化关系也就是类的继承关系。,第5章面向对象的需求分析,(4)依赖依赖关系用来描述两个类之间存在的与依赖有关的语义上的连接。其中一个模型元素是独立的,另一个模型元素不是独立的,它依赖于独立的模型元素,需要由独立元素提供服务,如果独立模型改变了,将影响依赖于它的模型元素。,第5章面向对象的需求分析,2.识别关联直接提取动词短语得出的关联需求陈述中隐含的关联根据问题域知识得出关联,第5章面向对

16、象的需求分析,5.4.6建立静态模型建模步骤:从几方面识别系统的实体对象和类;分析每个对象的主要属性和操作,达到对类的完整认识的目的;识别类之间的结构,包括泛化、聚合、组成等;识别对象、类之间的关系;修改、补充对象与类,绘制类图,对重点类加以文本描述和说明。,第5章面向对象的需求分析,5.5建立动态模型5.5.1消息类型简单消息:表示简单的控制流。用于描述控制如何在对象间进行传递,而不考虑通信细节。同步消息:表示嵌套的控制流。操作的调用是一种典型的同步消息。调用者发出消息后必须等待消息返回,只有当处理消息的操作执行完毕后,调用者才可能继续执行自己的操作。异步消息:表示异步控制流。当调用者发出消息后不用等待消息的返回即可继续执行自己的操作。异步消息主要用于描述实时系统中的并发行为。同步且立即返回消息:这是同步消息和简单消息的叠加,也就是操作调用一旦完成就立即返回。,第5章面向对象的需求分析,5.5.2状态图1状态和转移状态是一种存在状况,它具有一定的时间稳定性。即在一段有限时间内保持对象(或系统)的外在情况和内在特性的相对稳定。状态图提供了对象在其生命周期中可能出现的状态及其行为

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

最新文档


当前位置:首页 > 高等教育 > 大学课件

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