面向对象软件项目需求分析.PPT
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向对象软件项目需求分析.PPT》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 软件 项目 需求 分析
- 资源描述:
-
1、面向对象软件项目需求分析,软件开发流程瀑布模型,数据流图+数据字典,统一软件开发过程 RUP (Rational Unified Process),用例驱动、以体系结构为中心、迭代增量开发,在RUP开发过程中,开发人员首先捕获客户的需求,并以用例的形式组织成用例模型。然后分析并设计系统来满足这些用例,因此在用例模型之后就是分析模型,接着是设计模型和实施模型。在实现了整个系统之后,还将根据用例模型设计出测试模型来对系统进行验证。模型之间是一个迭代、增量的开发过程。每次迭代都将越来越精化。,用例驱动开发过程,内容概览,UML概述 建模环境介绍 UML的构成 常用UML模型图的阅读和设计 :用例图、
2、活动图、类图、交互图、状态图 一个UML建模实例,内容概览,UML概述 建模环境介绍 UML的构成 常用UML模型图的阅读和设计 :用例图、活动图、类图、交互图、状态图 一个UML建模实例,什么是UML,UML: Unified Modeling Language 统一建模语言 UML是一种Language(语言) UML是一种Modeling(建模)Language UML是Unified(统一)Modeling Language,为什么需要建模,帮助我们认识复杂的软件系统,走向UML,太多的OO术语令人迷惑 Wirfs-BrockResponsibility BoochOperation
3、Coad/YourdonService StroustrupFunction Method 没有统一的符号,科学很难发展,UML发展历程,1970:第一种面向对象的语言问世:Smalltalk 1980:数十种OOAD的语言百家争鸣 1992:新一代的OOAD语言问世:Booch方法、OOSE(Jacobson)、OMT(Rumbaugh) 1995:UML0.9 by Booch&Rumbaugh 1997: Standardization UML1.1 by Jacobson&Booch&Rumbaugh:OMG将UML作为标准公布 目前最新的版本是 UML2.4,Rational三剑客,
4、Grady Booch,James Rumbaugh,Ivar Jacobson,UML的发展现状,已进入全面应用阶段的事实标准 应用领域正在逐渐扩展,包括嵌入式系统建模、业务建模、流程建模等多个领域 成为“产生式编程”的重要支持技术:MDA、 可执行UML等,可以使用UML建模建立什么模型,内容概览,UML概述 建模环境介绍 UML的构成 常用UML模型图的阅读和设计 :用例图、活动图、类图、交互图、状态图 一个UML建模实例,UML建模工具,MS Visio StarUML Rational software,UML相关工具一览:,参考书,UML用户指南,James Rumbaugh、Iv
5、ar Jacobson、Grady Booch著,邵维忠等译,机械工业出版社 面向对象系统分析,邵维忠,杨芙清,清华大学出版社 面向对象系统设计,邵维忠,杨芙清,清华大学出版社 设计模式:可复用的面向对象软件的基础,李英军等译,机械工业出版社 大象Thinking in UML 谭云杰,中国水利水电出版社,一些网站,英文网站 http:/www.omg.org/spec/UML/ 中文网站 UML软件工程组织,内容概览,UML概述 建模环境介绍 UML的构成 常用UML模型图的阅读和设计 :用例图、活动图、类图、交互图、状态图 一个UML建模实例,UML建模实例选课系统,实例XX大学想用软件实
6、现选课过程 教务处课程管理人员列出本学期可以选择的课程 每门课可能又多个不同的班在教授 学生选择4门必修课和2门选修课 当学生选课完毕,学校的独立计费系统将会记录学生应缴纳的学费金额 在选定课程后的一段时间内,学生可以删除或添加别的课程 教师们可以通过该系统得到选修自己课程的学生名单 学生、教师登陆时需要进行验证,引例:UML建模实例选课系统,识别参与者( Actor ) 课程管理人员 学生 教师 独立的学校计费系统 识别用例(Use case) 课程管理人员:建立和发布本学期课程表 学生:维护自己的课程表 教师:取得学生名单 独立的学校计费系统:得到计费信息,引例:UML建模实例选课系统,使
7、用活动图(Activity diagram)分析特定use case 根据用例和文档抽象出类(Class) 根据类和用例的特定场景制作序列图(Sequence diagram) 根据序列图完善类图的方法 用状态图(Statechart diagram)说明关键类的状态 用构件图(Component diagram)说明程序的逻辑组织 用部署图(Deployment diagram)说明系统的部署,UML定义的图,UML中常用的事物类,类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的抽象 UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法,p
8、1:Point,UML中常用的事物对象,对象是类的一个实例,类,:Point,Point对象 被命名为p1,匿名 Point对象,UML中常用的事物接口,接口是描述某个类或构件的一个服务操作集,UML2.0规范,UML中常用的事物用例,用例是Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。,UML中常用的事物交互,交互(interaction):在特定语境中,共同完成某个任务的一组对象之间交换的信息集合。 表示法是一条有向直线,并在上面标有操作名,UML中常用的事物状态机和
9、状态,状态机(state machine): 是一个对象或交互在生命 周期内响应事件所经历的 状态序列 状态:在UML模型中将状态画为一个圆 角矩形,并在矩形内写出状态名 称及其子状态,UML中常用的事物包,对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标,UML中常用的事物注释,注释事物用来在UML模型上添加适当的解释部分。,UML中常用的关系关联关系,关联(Association)表示两个类之间存在某种语义上
10、的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。 在UML中,使用一条实线来表示关联关系,关联关系举例,队员和球队之间的关联,两个类之间的不同关联 可以表示在一个图中,参与关联的每个类 通常都扮演某种角色,UML中常用的关系关联关系,关联的多重性举例,UML中常用的关系关联关系,在关联关系中,有两种比较特殊的关系:聚合和组合 聚合关系:聚合(Aggregation)是一种特殊形式的关联。聚合表示类之间的关系是整体与部分的关系 如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系( Composition )来描述,UML中常用的关系特殊关联关系,聚
11、合举例,UML中常用的关系聚合关系,组合举例,UML中常用的关系组合关系,UML中常用的关系泛化关系,泛化(Generalization)关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。,单继承,UML中常用的关系依赖关系,有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。,关系实现关系,实现(Realization)关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。,思考题,用UML图形表示一组几何对象。组中的父类叫“几何单项”(Geome
12、tryItem),由此衍生出线(Line)、圆(Circle)、正方形(Square)、椭圆(Elipse)和多边形(Polygon)子类。椭圆有两个焦点,它们重合时就成了圆。正方形是多边形的一种。所有的GeometryItem都是由点(Point)组成的。,思考题,Answer:,UML规则,命名:为事物、关系和图起名字。由字符、数字、下划线组成,名字必须是唯一的。 可见性:,UML的正向工程,正向工程:由模型生成代码,UML的逆向工程,由代码生成模型,内容概览,UML概述 建模环境介绍 UML的构成 常用UML模型图的阅读和设计 :用例图、活动图、类图、交互图、状态图 一个UML建模实例,
13、常用UML模型图的阅读和绘制,用例图 活动图 类图 交互图 状态图,用例图中元素:参与者 actor,参与者是为了完成一个事件而与系统交互的实体 可以是人、其它系统、硬件设备、时钟 其它系统:当系统需要与其它系统交互时,如ATM柜员机系统中,银行后台系统就是一个参与者 硬件设备:如果系统需要与硬件设备交互时,如在开发IC卡门禁系统时,IC卡读写 器就是一个参与者 时钟:当系统需要定时触发 时,时钟就是参与者,用例图中元素:用例 use case,用例实例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。一个用例定义一组用例实例 用例是系统提供的功能块,演示了参与者如何使用系统
14、,阅读用例图,用例图中元素:系统边界,一些关系,系统边界 一个系统所包含的所有系统成分与系统以外各种事物的分界线。 一些关系: 参与者与用例的关系:带箭头的线来表示 用例之间的关系: 1)包含关系:构造型include 2)扩展关系:构造型extend 3)泛化关系,包含关系,用构造型include表示 箭头方向从基用例到被包含用例,指基用例在它内部说明的某一位置上显式地合并了另一个用例的行为,扩展关系,用构造型extend表示 箭头方向从扩展用例到基用例,基用例是可以独立于扩展用例存在的,只是在特定的条件下,它的行为可以被另一个用例的行为所扩展,泛化关系,可以用来表示参与者与参与者之间,用例
15、与用例之间的特殊/一般化关系,很多软件系统在一开始都需要登录,若用户登录成功,则可进入系统。 如下以一个研究生学籍管理系统为例,描述四种登录方法。 为了简化起见,假设此处仅描述登录、选课和查看学分这3项功能。,思考题,由于选课和查看学分都需要登录,故专门设立一个“登录”用例。若登录成功,则可以进行选课,也可以进行查看学分。,(1)必须要了解系统的所有其它模块,才能描述清楚“登录”用例。向系统增加新用例时,也要修改登录用例。从维护的角度看,有时会忘记对“登录”用例进行修改。 (2) “登录”用例的功能不单一。,方案一:,使用扩展,设计系统登录。,登录 扩展点 选课 查看学分,选课,extend,
16、extend,研究生,该方法与方法一相比,对“登录”用例的描述要清楚一些。在增加新用例时,仅在登录用例中添加扩展点即可。 缺点:“登陆”用例的功能仍然不单一。,扩展条件:选择选课 扩展点:选课,查看学分,扩展条件:选择查看学分 扩展点:查看学分,方案二:,让所有的相关用例都包含登录用例。,缺点: (1)对研究生要进行多次验证。研究生执行系统的每项功能都要先登录。 (2)用例的功能不单一。,方案三:,登录用例完全独立于其它用例,使用该方法,必须要在“选课”用例和“查看学分”用例中指定前置条件:只有在登录成功后才能执行自己。 缺点:在图上不能直接看出用例之间的关系。,方案四:,用例图的绘制流程,用
17、例描述,用例模型=用例图+用例描述 用例描述的是一个系统做什么(what)的信息,并不说明怎么做(how),怎么做是设计模型的事 事件流: 前置条件:用例启动时参与者和系统置于什么状态 后置条件:用例结束时系统置于什么状态 基本事件流:对用例中常规、预期的路径的描述 扩展事件流:对一些异常情况、选择分支进行描述,用例描述模板,一个用例描述的例子,1.用例名称:新增书籍信息(UC01) 2.简要说明:录入新购书籍信息,并自动存储建档。 3.事件流: 3.1 基本事件流 3.2 扩展事件流 4.非功能需求 5.前置条件:用户进入图书管理系统。 6.后置条件:完成新书信息的存储建档。 7.扩展点:无
18、 8.优先级:最高(满意度 5,不满意度5),见下页ppt,细化用例描述填血肉,3.事件流: 3.1 基本事件流 1)图书管理员向系统发出“新增书籍信息”请求; 2)系统要求图书管理员选择要新增的书籍是计算机类还是非计算机 类; 3)图书管理员做出选择后,显示相应界面,让图书管理员输入信息 ,并自动根据书号规则生成书号; 4)图书管理员输入书籍的相关信息,包括:书名、作者、出版社、 ISBN号、开本、页数、定价、是否有CDROM; 5)系统确认输入的信息中书名未有重名; 6)系统将所输入的信息存储建档。 3.2 扩展事件流 5a)如果输入的书名有重名现象,则显示出重名的书籍,并要求图书 管理员
19、选择修改书名或取消输入; 5a1)图书管理员选择取消输入,则结束用例,不做存储建档工作; 5a2)图书管理员选择修改书名后,转到5) 4.非功能需求:无特殊要求,常用UML模型图的阅读和绘制,用例图 活动图 类图 交互图 状态图,活动图概述,活动图可以用来对业务过程、工作流建模,也可以对用例实现甚至是程序实现来建模 活动图和交互图是UML中对系统动态方面建模的两种主要形式 交互图强调的是对象到对象的控制流,而活动图则强调的是从活动到活动的控制流,阅读简单活动图,电子商务网站中,用户下订单后的处理流程。,活动图的主要元素,初始节点和活动终点:实心圆表示初始节点(只有一个),圆圈内加一个实心圆来表
20、示活动终点(可有多个)。 活动节点:用来表示一个活动 转换:一条带箭头的直线来表示。 一旦前一个活动结束马上转到下一个活动(无触发转换)。,活动图的主要元素,分支与监护条件:分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号), 一个或多个离开转换(箭头从分支符 号指向外)。而每个离开转换上都会 有一个监护条件,用来表示满足什么 条件的时候执行该转换。 分岔与汇合:,修改后的简单活动图,带泳道的活动图,带对象流的活动图,绘制活动图,首先决定是否采用泳道:主要根据活动图中是否要体现出活动的不同实施者 然后尽量使用分支、分岔和汇合等基本的建模元素来描述活动控制流程 如果需要,加入对象流以及
21、对象的状态变化,利用一些高级的建模元素(如辅助活动图、汇合描述、发送信号与接收信号、引脚、扩展区)来表示更多的信息,常用UML模型图的阅读和绘制,用例图 活动图 类图 交互图 状态图,面向对象思想,张三通过电子商务网站给李四送一个蛋糕,面向对象思想,每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。 在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求 用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想,示例类图,先看清有哪些类,然后看类之间的
展开阅读全文