面向对象与UML2 用例分析_第1页
面向对象与UML2 用例分析_第2页
面向对象与UML2 用例分析_第3页
面向对象与UML2 用例分析_第4页
面向对象与UML2 用例分析_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、杨海秀 ,面向对象与UML,第二章 用例分析,用例图概述,建立用例模型,用例设计实例,UML概述,2.1 UML概述,现实世界对象世界,软件建模,Less Important,Important,2.1 UML概述,现实世界和对象世界之间存在着一道鸿沟,这道鸿沟的名字就叫做抽象。抽象是面向对象的精髓所在,同时也是面向对象的困难所在。实际上,要想跨越这道鸿沟,我们需要: 一种把现实世界映射到对象世界的方法。 一种从对象世界描述现实世界的方法。 一种验证对象世界行为是否正确反映了现实世界的方法。 UML背后所代表的面向对象分析设计方法,正好架起了跨越这道鸿沟的桥梁。,OO、UML与建模,建模是最终

2、目的 OO是一种建模理论 UML是一种体现OO的建模语言,是将OO理论转化为实践的工具,UML(统一建模语言 Unified Modeling Language )是一种通用的可视化建模语言,是面向对象分析与设计的一种标准表示,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。,UML,UML的构成,图,UML 9种图,类 图:类以及类之间的相互关系 对象图:对象以及对象之间相互关系 组件图:组件及其相互依赖关系 部署图:组件在各节点上的部署 序列图:强调时间顺序的交互图 协作图:强调对象协作的交互图 状态图:类所经历的各种状态 活动图:对工作流建模 用例图:需求捕获,测试依据,结 构

3、,行为,用例图,静态图,实现图,交互图,行为图,UML1.x中主要有9种图,UML2.0中共有13种不同类型图,需求:如此脆弱,客户/用户的要求/想法/期望,软件设计,软件产品,分析和设计,编码和测试,验 收,没价值的软件需求,补文档,2.2 用例图概述,需求:也需要开发,客户/用户的要求/想法/期望,软件设计,软件产品,开发,编码和测试,验收,有价值的软件需求,分析和设计,需求:系统必须满足的条件或具备的能力 Robert Grady软件质量准则“FURPS” 功能性(Functionality) 使用性(Usability) 可靠性(Reliability) 性能(Performance)

4、 可支持性(Supportability),认识问题,分析问题,解决问题,最终用户(提出问题),开发团队(解决问题),以用户的身份站在用户的角度认识问题获取需求用例建模技术,以开发者的身份站在用户的角度分析问题分析需求用例分析技术,以开发者的身份站在开发团队的角度分析问题解决需求面向对象设计,面向对象与UML,需求问题:对策,难捕获,易变,从用户视角看问题,合理的结构,用例,一个用例是用户与计算机之间为达到某个目的的一次典型交互作用。 用例的属性: 用例描述了用户提出的一些可见的需求; 用例可大可小; 用例对应一个具体的用户目标。,大多数用例都是在定义过程中随着对用户 需求理解的加深而不断得到

5、细化。,用例图元语,参与者,用例,系统边界,关联,扩展,包含,泛化,注释体,注释连接,用例图是用简单直观的方式来描述系统需求的视图,将系统、子系统和类的行为可视化,以利于所有参与人员准确理解这些元素,并确保软件开发人员最终实现这些元素。 用例模型主要包含4方面的内容: 系统边界 参与者(Actor) 用例 (Use Case) 用例间的关系 (Relationship),系统边界,参与者,参与者是指系统以外的,在使用系统或与系统交互中所扮演的角色。,用例是系统使用片断的集合,描述了所有的功能需求。它来自于对客户需求的分析,这个过程称为用例分析。,用例分析有助于如下工作: (1) 捕捉需求。 (

6、2) 计划开发过程的循环往复。 (3) 验证系统。 (4) 动态分析从用例分析开始,它驱动整个开发过程。,用例,用例,一般将活动者和用例之间的关系称为通信,而用例与用例之间可以存在的关系分为: 泛化(Generalization) 包含(Include) 扩展(Extend),用例之间的关系,泛化 表示几个元素某些共性,类似于类中的继承关系,表示子用例继承了父用例。,泛化关系,用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分,这被称作包含关系。 包含使一个用例的功能可以在另一个用例中使用。,包含关系,扩展关系允许一个用例(可选)扩展另一用例 (基用例)提供的功能

7、。,扩展关系,用例建模的主要功能就是用来表达系统的功能性需求或行为。 用例建模的结果是要画出用例图,并且给出用例描述。 步骤: 问题描述 确定参与者 确定用例 用例描述,2.3 建立用例模型,确定参与者,如何判别参与者? (1)系统开发完成之后,有哪些人会使用这个系统? (2)系统需要从哪些人或其他系统中获得数据? (3)系统会为哪些人或其他系统提供数据? (4)系统会与哪些其他系统相关联? (5)系统是由谁来维护和管理的? (6)谁启动或关闭系统?,确定参与者,建模参与者需要注意以下几点: (1)参与者对于系统而言总是外部的; (2)参与者直接与系统交互; (3)参与者表示人或事物与系统交互

8、时所扮演的角色,而不是人或事物本身; (4)一个人或事物在与系统交互时可以同时扮演多种角色。,用例是参与者想要系统做的事情: 参与者希望系统提供什么功能? 参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是,参与者又是如何完成这些操作的? (3) 参与者是否会将外部的某些事件通知给该系统? (4) 系统是否会将外部的某些事件通知该参与者?,确定用例,确定用例,用例要有以下几个特点: 用例总是由参与者来启动的 用例必须为参与者提供数据 用例的完整性,确定用例,用例描述,由参与者与用例构成的用例图就是用例模型。 由命名的椭圆构成的用例图只是在总体上大致描述了系统所能提供的各种服务,但是它

9、没有提供任何细节信息。为此,对于每个用例,还需要有详细的说明,即用例描述。,用例描述,用例描述的格式和内容,没有硬性的规定,一般包括如下部分: 用例名称 参与者 简要描述 事件流 前置条件 后置条件,用例描述,用例名称 参与者 简要描述:对用例的作用和目的的简要说明。 事件流:包括基本流、可选流和异常流。 前置条件:用例执行之前系统必须要处于的状态,或者要满足的条件。 后置条件:用例执行之后系统所处的状态。,2.4 用例设计实例,问题描述: 设计一个即时通信系统,实现多个用户进行网上聊天的功能,各个聊天客户端通过注册、登录才可以和好友进行通信。系统既包括客户端部分,也包括服务器端部分。,问题描

10、述: 在客户端能够实现消息的查看,添加和删除网上的好友,与选定好友进行通信,查询自己与好友的聊天记录功能。 在服务器端负责好友的在线维护,同时服务器端还应该具有保存客户资料和用户聊天记录的功能。此外,当用户不在线时,收到好有消息能够保存,使用户在下次登录时可以查看。 要求功能完善,用户界面良好,用Java语言实现。,确定参与者 客户 Client 服务器 Server 数据库 Database,(1)系统开发完成之后,有哪些人会使用这个系统? (2)系统需要从哪些人或其他系统中获得数据? (3)系统会为哪些人或其他系统提供数据? (4)系统会与哪些其他系统相关联? (5)系统是由谁来维护和管理

11、的? (6)谁启动或关闭系统?,确定用例 客户Client: Register(注册帐号) Log in(登录) Send Message(发送消息) Add Friends(添加好友) Delete Friends(删除好友) Query Record(查询聊天记录),参与者希望系统提供什么功能? 参与者是否会在系统中创建、修改、删除、访问、存储数据?如果是,参与者又是如何完成这些操作的? (3) 参与者是否会将外部的某些事件通知给该系统? (4) 系统是否会将外部的某些事件通知该参与者?,确定用例 服务器(Server): Log in(登录系统) Log out(退出系统) Add Friends(添加好友) ,确定用例 数据库(Database): Register(注

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论