第7章面向对象分析优秀课件.ppt
《第7章面向对象分析优秀课件.ppt》由会员分享,可在线阅读,更多相关《第7章面向对象分析优秀课件.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第7章 面向对象分析第1页,本讲稿共72页面向对象分析面向对象分析(OOA,Object-Oriented Analysis)是一种半形式化的规格说明技术。目前,最流行的技术是OMT和Booch开发技术面向对象的最大特点是面向用例在用例的描述中引入了外部角色的概念第2页,本讲稿共72页面向对象建模面向对象建模面向对象模型对象模型:定义了“做什么”的实体动态模型:规定在何种状态下,接受什么事件的触发而“做什么”功能模型:指明了系统应该“做什么”第3页,本讲稿共72页对象模型对象模型对象模型可以看成是数据流和语义数据模型的结合对象模型表示静态的、结构化系统的“数据”性质。它是对模拟客观世界实体的对
2、象,以及对象彼此间的关系的映射,描述了系统的静态结构。对象模型是一个类(包括其属性和行为)、对象(类的实例)、类和(或)对象之间关系的定义集。类名是一类对象的抽象命名,其命名是否恰当对系统的可理解性影响相当大。对象模型还必须表示类/对象之间的结构关系。类/对象之间的关系一般可概括为关联、归纳(泛化)、组合(聚集)三类。第4页,本讲稿共72页动态模型动态模型动态模型表示瞬间的、行为化的系统“控制”性质,它规定了对象模型中对象的合法变化序列。对象运行周期中的阶段就是对象的状态。对象状态是对对象属性的一种抽象。对象之间相互触发/作用的行为(称为事件),引起了一系列的状态变化。事件是某个特定时刻所发生
3、的一个系统行为,它是对引起对象从一种状态转换到另一个状态的现实世界事件的抽象。对象对事件的响应,取决于接受该触发的对象当时所处的状态,其响应包括改变自己的状态,或者是形成一个新的触发行为(事件)。动态模型描绘了对象的状态,触发状态转换的事件,以及对象行为(对事件的响应)。第5页,本讲稿共72页功能模型功能模型功能模型表示变化的系统的“功能”性质,指明了系统应该“做什么”。它更直接地反映了用户对目标系统的需求。面向对象是以用例驱动的。用例站在用户的角度描述用户的交互过程,有助于软件开发人员更深入地理解问题域,改进和完善自己的分析和设计。对象模型、动态模型和功能模型相辅相承,使得对系统的需求分析和
4、设计描述更加直观、全面。对象模型是最基本、最重要的,它为其他两种模型奠定了基础。第6页,本讲稿共72页统一建模语言统一建模语言UML统一建模语言(UML,Unified Modeling Language)是一种基于面向对象的可视化建模语言。UML用丰富的图形符号隐含表示了模型元素的语法,而用这些图形符号组成元模型表达语义,组成模型描述系统结构(或称为静态特征)以及行为(或称为动态特征)。UML的模型元素:一类模型元素用于表示模型中的某个概念,如类、对象、用例、结点、构件、包、接口等;另一类模型元素用于表示模型元素之间相互连接的关系,主要有关联、泛化(表示一般与特殊的关系)、依赖、聚集(表示整
5、体与部分的关系)等。第7页,本讲稿共72页UML模型元素聚集依赖泛化关联状态对象属性操作类属性操作角色用例结点构件包接口注解第8页,本讲稿共72页UML模型结构四个抽象层次:元元模型:定义了描述元模型的语言元模型:定义了元类、元属性、元操作等一些概念模型:定义了描述信息领域的语言用户模型:模型的实例,用于表达一个模型的特定情况用户模型模型元模型元元模型事物n 相关 1.n链接对象n 相关 1.n关联类n实例1n实例1.n第9页,本讲稿共72页UML模型视图模型视图UML主要是用来描述模型的。它可以从不同视角为系统建模,形成不同的视图(View)。每个视图是系统完整描述中的一个抽象,代表该系统一
6、个特定的方面;每个视图又由一组图(Diagram)构成,图包含了强调系统某一方面的信息。两类图:静态图:包括用例图、类图、对象图、构件图和部署图动态图:包括状态图、时序图、协作图和活动图五种视图:用例视图从用户角度表达系统功能;结构视图主要使用类图和对象图描述系统静态结构;行为视图展示系统动态行为及其并发性;实现视图展示系统实现的结构和行为特征;部署视图展示系统的实现环境和构件是如何在物理结构中部署的第10页,本讲稿共72页用例建模用例建模需求捕获的目标:发现真正的需求以适用于用户、客户和开发人员的方式加以表示系统用户表示为一个参与者参与者在与用例进行交互时使用系统用例向参与者提供某些有价值结
7、果而执行一些动作序列第11页,本讲稿共72页编写用例编写用例用例着眼于为用户增加价值,提供了一种捕获功能需求的系统且直观的方法,可驱动整个开发过程。用例从某个特定参与者的角度用简单易懂的语言说明一个特定的使用场景。要开始开发用例,应列出特定参与者执行的功能或者活动。用例模型帮助客户、用户和开发人员在如何使用系统方面达成共识。用例图描述部分用例模型,显示带有联系的用例和参与者的集合第12页,本讲稿共72页POS机系统部分用例图第13页,本讲稿共72页用例图用例图包括:参与者、用例、关联和边界四个要素。参与者:用小人形表示用例:用椭圆表示关联:用直线表示说明参与者驱动某个用例边界:用矩形框表示,说
8、明系统关注点。第14页,本讲稿共72页开发用例用例使用非正式的描述性风格编写,也可以使用某个结构化的格式编写,有些格式更强调描述的直观性。用例不同部分用例不同部分说明说明用例名称以动词开始描述用例名称范围要设计的系统级别“用户目标”或者是“子功能”主要参与者调用系统,使之交付服务渋众及其关注点关注该用例的人,及其需要前置条件开始前必须为真的条件成功保证成功完成必须满足的条件主成功场景典型的、无条件的、理想方式的成功场景扩展成功或失败的替代场景特殊需求相关的非功能性需求技术和数据变元素不同的I/O方法和数据格式发生频率影响对实现的调查、测试和时间安排杂项未决问题等第15页,本讲稿共72页POS机
9、系统中处理销售的场景用例名称:用例名称:处理销售范围范围:POS机应用级别级别:用户目标主要参与者主要参与者:收银员涉众及其关注点涉众及其关注点:收银员:希望能够准确、快速地输入,而且没有支付错误,因为如果少收货款,将从其薪水众扣除。售货员:希望自动更新销售提成顾客:希望以最小代价完成购买活动并得到快速服务。希望便捷、清晰地看到所输入的商品项目和价格。希望得到购买凭证,以便退货。公司:希望准确地记录交易,满足顾客要求。希望确保记录了支付授权服务的支付票据。希望有一定的容错性,即便在某些服务器构件不可用时(如远程信用卡验证),也能够完成销售。希望能够自动、快速地更新帐户和库存信息。经理:希望能够
10、快速执行超控操作,并易于更正收银员的不当操作。前置条件前置条件:收银员必须经过确认和认证。成功保证(或后置条件)成功保证(或后置条件):存储销售信息,更新帐户和库存信息,记录提成,生成票据,记录支付授权的批准。第16页,本讲稿共72页主成功场景主成功场景1.顾客携带所购商品或服务到收银台通过POS机付款。2.收银员开始一次新的销售交易。3.收银员输入商品条码。4.系统逐步记录出售的商品,并显示该商品的描述、价格和累计额。价格通过一组价格规则来计算。收银员重复34步,直到输入结束。5.系统显示总额和计算折扣。6.收银员告知顾客总额,并请顾客付款。7.顾客付款,系统处理支付。8.系统记录完整的销售
11、信息,并将销售和支付信息发送到外部的账务系统(进行账务处理和提成)和库存系统(更新库存)。9.系统打印票据。10.顾客携带商品和票据离开。第17页,本讲稿共72页开发活动图开发活动图UML活动图通过提供特定的场景内交流的图形化表示来补充用例。活动图符号:两端为半圆形的矩形表示一个特定的系统功能箭头表示通过系统的流判定菱形表示判定分支水平线、分叉点和连接表示并发活动对象节点表示活动对象活动图通常能够既表示控制流又表示数据流。UML活动图代替传统的数据流图(Data Flow Diagram)表示法第18页,本讲稿共72页处理销售用例中的UML活动图第19页,本讲稿共72页泳道图泳道图UML泳道图
12、(swimlane)是活动图的一种有用的变形可以让建模人员表示用例所描述的活动图,同时看哪个参与者或分析类对活动矩形所描述的活动负责。泳道用纵向分割图的并列条形部分表示,就像游泳池中的泳道,也称特定分区。UML泳道图通常对于涉及众多参与者的非常复杂的业务过程建模具有价值。第20页,本讲稿共72页泳道图举例泳道图举例第21页,本讲稿共72页建立领域模型建立领域模型领域模型能捕获语境中最重要的对象模型,领域对象代表系统工作的环境中存在的事情或发生的事件。领域有三种典型的形式:业务对象,表示业务中可操作的东西,例如订单、帐户和合同等。系统需要处理的现实世界中的对象和概念,如导弹、轮船等。将要发生或已
13、经发生的事件,例如飞机起飞或午餐休息等。领域建模的目的是理解和描述在领域语境中最重要的类第22页,本讲稿共72页识别分析类识别分析类领域模型实际上是更为完整的业务模型的一个特例有两种类型的UML模型支持业务建模:用例模型对象模型对系统开发的用例或处理叙述进行“语法分析”,可以开始分析类的识别。第23页,本讲稿共72页分析类识别方式外部实体:使用基于计算机的系统的信息。事物:问题信息域的一部分。发生或事件:在系统操作环境内发生。角色:由和系统交互的人员扮演。组织单元:和某个应用相关。场地:建立问题的环境和系统的整体功能。结构:定义了对象的类或与对象相关的类。第24页,本讲稿共72页分析类分析类侧
14、重于处理功能性需求通过较高的、非形式化层次的职责类定义某行为分析类三种基本构造型:边界类:边界类用于建立系统与其参与者之间交互的模型,经常代表对窗口、窗体、窗幕、通信接口、打印机接口、传感器、终端以及API等的抽象。每个边界类至少应该与一个参与者有关,反之亦然。控制类:控制类代表协调、排序、事务处理以及其他对象的控制,经常用于封装与某个具体用例有关的控制。控制类还可以用来表示复杂的派生与演算,如业务逻辑。实体类:实体类用于对长效持久的信息建模。大多数情况下,实体类是直接从业务对象模型中相应的业务实体类得到的。第25页,本讲稿共72页分析类举例第26页,本讲稿共72页控制类控制类类似于设计模型中
15、的控制器类,其目的是UI层之上的第一个对象,主要负责接收和处理系统操作消息。把职务分配给能代表以下选择之一的类:代表整个“系统”、“根对象”、运行软件的设备或主要子系统,这些是外观控制器的所有变体。代表用例场景,在该场景中发生系统事件,通常命名为UsecaseName+Handler、UsecaseName+Coordinator或UsecaseName+Session。第27页,本讲稿共72页控制类举例第28页,本讲稿共72页用例实现分析用例实现分析用例实现分析是分析模型内部的一种协作,主要描述了如何根据分析类及其交互的分析对象来实现和执行一个具体的用例。用例实现包括事件流的文本描述、反映参
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第7章 面向对象分析优秀课件 面向 对象 分析 优秀 课件
限制150内