面向对象的需求分析优秀PPT.ppt





《面向对象的需求分析优秀PPT.ppt》由会员分享,可在线阅读,更多相关《面向对象的需求分析优秀PPT.ppt(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象的需求分析第一页,本课件共有115页什么是面向对象Coad和Yourdon给出了一个定义:“面向对象=对象+类+继承继承+通信通信”。如果一个软件系统是使用这样 4 个概念设计和实现的,则我们认为这个软件系统是面向对象的。一个面向对象的程序的每一成份应是对象,计算是通过新的对象的建立和对象之间的通信来执行的。51 面向对象的概念与思想面向对象的概念与思想第二页,本课件共有115页对象(objectobject)对象是面向对象开发模式的基本成份。每个对象可用它本身的一组属性和它可以执行的一组操作来定义。属性属性一般只能通过执行对象的操作来改变。操作操作又称为方法或服务,它描述了对象执行的
2、功又称为方法或服务,它描述了对象执行的功能,若通过消息传递,还可以为其它对象使用。能,若通过消息传递,还可以为其它对象使用。第三页,本课件共有115页价格尺寸重量位置颜色购买销售称重移动属性服务家具对象的组成、表示及意义(例如:人的特征:姓名、性别、年龄等,行为:衣、食、住、行等。)第四页,本课件共有115页第五页,本课件共有115页第六页,本课件共有115页消息(消息(Message)消息是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的某个操作的规格说明。发送给一个对象的消息定义了一个方法名和一个参数表(可能是空的),并指定某一个对象。一个对象接收的消息则调用消息中指定的方法,
3、并将形式参数与参数表中相应的值结合起来。第七页,本课件共有115页类类(class)类是一组具有相同数据结构和相同操作的对象的集合。类的定义包括一组数据属性和在数据上的一组合法操作。类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象。在一个类中,每个对象都是类的实例(Instance),它们都可使用类中提供的函数。对象的状态则包含在它的实例变量,即实例的属性中。第八页,本课件共有115页类 两个四边形对象第九页,本课件共有115页Quadrilateral类的每个对象有同样的一组实例变量和方法。就这个意义来讲,类Quadrilateral给我们提供了一个模板,表示了所有四边形
4、对象。类常常可看做是一个抽象数据类型(ADT)的实现。但更合适的是把类看做是某种概念的模型。第十页,本课件共有115页类的实现常常使用其它类的实例,它们提供了该类所需要的服务。这些实例应当受到保护不被其它对象存取,包括同一个类的其它实例。在四边形的例子中,定义4个point类的实例作为Quadrilateral类的实例的4个顶点。这些point对象不能被其它对象存取。第十一页,本课件共有115页李杰李杰男广东软件1980.49#楼129室看书实验上课运动杨芳服务王辉男湖南计算机控制1979.19#楼320室杨芳女北京系统结构1979.125#楼418室姓名性别籍贯专业出生年月住址学生属性王辉属
5、性属性属性看书实验上课运动服务看书实验上课运动服务看书实验上课运动服务对象、类与实例第十二页,本课件共有115页把具有相同特征和行为的对象归在一起就形成了类。类成为某些对象的模板,抽象地描述了属于该类的全部对象的属性和操作。属于某个类的对象叫做该类的实例。对象的状态则包含在它的实例变量,即实例的属性中。第十三页,本课件共有115页继承(Inheritance)继承是使用已存在的定义做为基础建立新定义的技术。新类的定义可以是既存类所声明的数据和新类所增加的声明的组合。新类复用既存的定义,而不要求修改既存类。既存类可当做基类来引用,则新类相应地可当做派生类来引用。第十四页,本课件共有115页第十五
6、页,本课件共有115页使用继承设计一个新类,可以视为描述一个新的对象集,它是既存类所描述对象集的子集合。这个新的子集合可以认为是既存类的一个特殊化。Quadrilateral类 是 Polygon类 的 特 殊 化。Quadrilateral是限制为四条边的多边形。我们还可 以 进 一 步 地 把 类 Quadrilateral特 殊 化 为Rectangle。第十六页,本课件共有115页类Quadrilateral的界面可以等同于类Polygon的界面,而Rectangle类的界面又与Quadrilateral类的界面相同。新类的界面还可以被看做是既存类界面的一个扩充界面。例如,从一个既存的
7、车辆类派生的四轮驱动车类可能不仅是车辆类子集合定义的特殊化,而且还可能在新类的界面中引入新的能力。第十七页,本课件共有115页类的继承层次类的继承层次第十八页,本课件共有115页 在在类类的的继继承承层层次次中中,Quadrilateral的实际参数可以替换Polygon的形式参数。类Quadrilateral的界面与类Polygon的界面是相容的Quadrilateral的的界界面面可可响响应应Polygon界面的所有消息。第十九页,本课件共有115页汽车运货车救火车大轿车起重车特殊类对一般类的继承关系特殊类对一般类的继承关系第二十页,本课件共有115页5.1.2.面向对象软件开发的分析模型
8、面向对象软件开发的分析模型面向对象分析过程分为论域分析和应用分析。论域分析建立大致的系统实现环境,应用分析则根据特定应用的需求进行论域分析。第二十一页,本课件共有115页(1)OOA分析的基本原则和任务为建立分析模型,要运用如下的5个基本原则:建立信息域模型;描述功能;表达行为;划分功能、数据、行为模型,揭示更多的细节;用早期的模型描述问题的实质,用后期的模型给出实现的细节。第二十二页,本课件共有115页OOA需完成的任务是:软件工程师和用户必须充分沟通,以了解基本的用户需求;必须标识类(即定义其属性和操作);必须定义类的层次;应当表达对象与对象之间的关系(即对象的连接);必须模型化对象的行为
9、;反复地做任务,直到模型建成。第二十三页,本课件共有115页广泛使用的广泛使用的OOA方法有以下几种:方法有以下几种:Booch方法:Booch方法包含“微开发过程”和“宏开发过程”。微开发过程定义了一组任务,并在宏开发过程的每一步骤中反复使用它们,以维持演进途径。BoochOOA宏开发过程的任务包括标识类和对象、标识类和对象的语义、定义类与对象间的关系,以及进行一系列求精从而实现分析模型。第二十四页,本课件共有115页Rumbaugh方法:Rumbaugh和他的同事提出的对象模型化技术(OMT)用于分析、系统设计和对象级设计。分析活动建立三个模型:对象模型(描述对象、类、层次和关系),动态模
10、型(描述对象和系统的行为),功能模型(类似于高层的DFD,描述穿越系统的信息流)。第二十五页,本课件共有115页Coad和Yourdon方法:Coad和Yourdong方法常常被认为是最容易学习的OOA方法。建模符号相当简单,而且开发分析模型的导引直接明了。其OOA过程概述如下:使用“要找什么”准则标识对象;定义对象之间的一般化特殊化结构;定义对象之间的整体部分结构;标识主题(系统构件的表示);定义属性及对象之间的实例连接;定义服务及对象之间的消息连接。第二十六页,本课件共有115页Jacobson方法:也称为OOSE(面向对象软件工程)。Jacobson方法与其它方法的不同之处在于他特别强调
11、使用实例(usecase)用以描述用户与系统之间如何交互的场景。Jacobson方法概述如下:标识系统的用户和它们的整体责任;通过定义参与者及其职责、使用实例、对象和关系的初步视图,建立需求模型;通过标识界面对象、建立界面对象的结构视图、表示对象行为、分离出每个对象的子系统和模型,建立分析模型。第二十七页,本课件共有115页(5)统一的OOA方法(UML)1.统一的建模语言(UML)已经在企业中广泛使用,它把Booch、Rumbaugh和Jacobson等各自独立的OOA和OOD方法中最优秀的特色组合成一个统一的方法。UML允许软件工程师使用由一组语法的语义的实用的规则支配的符号来表示分析模型
12、。2在UML中用5种不同的视图来表示一个系统,这些视图从不同的侧面描述系统。每一个视图由一组图形来定义。第二十八页,本课件共有115页这些视图概述如下:用户模型视图:这个视图从用户(在UML中叫做参与者)角度来表示系统。它用使用实例(usecase)来建立模型,并用它来描述来自终端用户方面的可用的场景。结构模型视图:从系统内部来看数据和功能性。即对静态结构(类、对象和关系)模型化。第二十九页,本课件共有115页行为模型视图:这种视图表示了系统动态和行为。它还描述了在用户模型视图和结构模型视图中所描述的各种结构元素之间的交互和协作。实现模型视图:将系统的结构和行为表达成为易于转换为实现的方式。环
13、境模型视图:表示系统实现环境的结构和行为。通常,UML分析建模的注意力放在系统的用户模型和结构模型视图,而UML设计建模则定位在行为模型、实现模型和环境模型。第三十页,本课件共有115页52UML概述1.UML主要以BOOCH方法、OMT方法(71)和OOSE方法为基础,同时也吸收了其他面向对象建模方法的优点,形成一种概念清晰、表达能力丰富、适用范围广泛的面向对象的标准建模语言。2.UML共定义了十种视图,并将其分为如下四类:用例图、静态图、行为图、实现图等 UML的语言机制的语言机制第三十一页,本课件共有115页(1)用例图(usecasediagram)。从外部用户的角度描述系统的功能,并
14、指出功能的执行者。(2)静态图。包括类图(classdiagram)、对象图(objectdiagram)和包图(packdiagram)。类图描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,类图的边表示类之间的联系,包括继承、关联、依赖、聚合等。对象图是类图一个实例,它描述在某种状态下或在某一时间段,系统中活跃的对象及其关系。在对象图,一个类可以拥有多个活跃的对象实例。包图描述系统的分解结构,它表示包(package)以及包之间的关系。包由子包及类组成。包之间的关系包括继承、构成与依赖关系。第三十二页,本课件共有115页(3)行为图。包括交互图(interactivediagra
15、m)、状态图(statechardiagram)与活动图(activitydiagram),它们从不同的侧面刻画系统的动态行为。交互图描述描述对象之间的消息传递,它又可分为顺序图(sequencediagram)与合作图(collaborationdiagram)两种形式。顺序图强调对象之间消息发送的时间序。合作图更强调对象间的动态协作关系。合作图也可通过消息序号之间消息发送的时间序。只不过这种表示不如顺序图那样直观。第三十三页,本课件共有115页状态图描述类的对象的动态行为,它包含对象所有可能的状态、在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。活动图描述系统为完成某项功能而
16、执行的操作序例,这些操作序列可以并发和同上。活动图中包含控制和信息流。控制流表示一个操作完成后对其后操作的触发,信息流则刻画操作之间的信息交换。第三十四页,本课件共有115页(4)实现图(implementatindiagram)。包括构件图(componentdiagram)与部署图(deploymetndiagram),它们描述软件实现系统的组成和分布状况。构件图描述软件实现系统中各组成部件以及它们之间的信赖关系。构件图主要用于理解和分析软件各部分之间的相互影响程度。部署图描述作为软件系统运行环境的硬件及网络的物理体系结构,其节点表示实际的计算机和设备,边表示节点之间物理连接关系,也可显示
17、连接的类型及节点之间的依赖性。第三十五页,本课件共有115页某大学的课程注册管理系统包含个用例某大学的课程注册管理系统包含个用例 第三十六页,本课件共有115页课表维护:教务管理人员用之设置或修改课程属性(课程的时间、地点、上课老师等)和增删课程;个人课程规划:学生使用“个人课程规划”用例选课和修改自己的个人课表,收费管理系统根据每个学生的选课情况计算其应缴费用;选课学生花名册查询:老师使用“选课学生花名册查询”用例获取选定其所开课程的学生花名册。第三十七页,本课件共有115页课程注册管理系统包含的课程注册管理系统包含的8个类(类图)。个类(类图)。第三十八页,本课件共有115页用用UML顺序
18、图表示顺序图表示“个人课程规划个人课程规划”用例中的学生用例中的学生选课过程选课过程 第三十九页,本课件共有115页用用UML协作图表示协作图表示“个人课程规划个人课程规划”用例中的学生用例中的学生选课过程选课过程(与上图等价与上图等价)第四十页,本课件共有115页UML状态图示例状态图示例 第四十一页,本课件共有115页5.2.2基于基于UML的软件开发过程的软件开发过程一种迭代的渐进式软件开发过程,它包含4个阶段:初启、细化、构造和移交。1.初初启启:在初启阶段,软件项目的发起人确定项目的主要目标和范围,并进行初步的可行性分析和经济效益分析。第四十二页,本课件共有115页 2.细细化化:细
19、化阶段的开始标志着项目的正式确立,软件项目组在此阶段需要完成以下工作:()初步的需求分析。采用UML的用例描述目标软件系统所有比较重要、比较有风险的用例,利用用例图表示参与者与用例以及用例与用例之间的关系。采用UML的类图表示目标软件系统所基于的应用领域中的概念之间的关系。这些相互关联的概念构成领域模型。领域模型一方面可以帮助软件项目组理解业务背景,与业务专家进行有效沟通;另一方面,随着软件开发阶段的不断推进,领域模型将成为软件结构的主要基础。如果领域中含有明显的流程处理成分,可以考虑利用UML的活动图来刻画领域中的工作流,并标识业务流程中的并发、同步等特征。第四十三页,本课件共有115页()
20、初步的高层设计。如果目标软件系统的规模比较庞大,那么经初步需求分析获得的用例和类将会非常多。此时,可以考虑根据用例、类在业务领域中的关系,或者根据业务领域中某种有意义的分类方法将整个软件系统划分为若干包,利用UML的包图刻画这些包及其间的关系。这样,用例、用例图、类、类图将依据包的划分方法分属于不同的包,从而得到整个目标软件系统的高层结构。第四十四页,本课件共有115页()部分的详细设计。对于系统中某些重要的或者比较高的用例,可以采用交互图进一步探讨其内部实现过程。同样,对于系统中的关键类,也可以详细研究其属性和操作,并在UML类图中加以表现。因此,这里倡导的软件开发过程并不在时间轴上严格划分
21、分析与设计、总体设计与详细设计,而是根据软件元素(用例、类等)的重要性和风险程度确立优先细化原则,建议软件项目组优先考虑重要的、比较有风险的用例和类,不能将风险的识别和解决延迟到细化阶段之后。第四十五页,本课件共有115页()部分的原型构造。在许多情形下,针对某些复杂的用例构造可实际运行的耐用消费品型是降低技术风险、让用户帮助软件项目组确认用户需求的最有效的方法。为了构造原型,需要针对用例生成详尽的交互图,对所有相关类给出明确的属性和操作定义。第四十六页,本课件共有115页综上所述,在细化阶段可能需要使用的UML语言机制包括:描述用户需求的用例用用例图、表示领域概念模型的类图、表示业务流程处理
22、的活动图、表示系统高层结构的包图和表示用例内部实现过程的交互图等。细化阶段的结束条件是,所有主要的用户需求已通过用例和用例图得以描述;所有重要的风险已被标识,并对风险应对措施了如指掌;能够比较精确地估算实现每一用例的时间。第四十七页,本课件共有115页3.构造在构造阶段,开发人员通过一系列的迭代完成对所有用例的软件实现工作,在每次迭代中实现一部分用例.以迭代方式实现所有用例的好处在于,用户可以及早参与对已实现用例的实际评价,并提出改进意见.这样可有效降低大型软件系统的开发风险。第四十八页,本课件共有115页在实际开始构造软件系统之前,有必要预先制定迭代计划。计划的制定需遵循如下两项原则:()用
23、户变为业务价值较大的用例应优先安排;()开发人员评估后认为开发风险较高的用例应优先安排。在迭代计划中,要确定迭代次数、每次迭代所需时间以及每次迭代中应完成(或部分完成)的用例。第四十九页,本课件共有115页每次迭代过程由针对用例的分析、设计、编码、测试和集成5相子阶段构成。在集成之后,用户可以对用例的实现效果进行评价,并提出修改意见。这些修改意见可以在本次迭代过程中立即实现,也可以在下次迭代中再予以考虑。构造过程中,需要使用UML的交互图来设计用例的实现方法。为了与设计得出的交互图协调一致,需要修改或精化在细化阶段绘制的作为领域模型的类图,增加一些为软件实现所必需的类、类的属性或方法。第五十页
24、,本课件共有115页UML的活动图可以在构造阶段用来表示复杂的算法过程和有多个对象参与的业务处理过程。活动图尤其适用于表示过程中的并发和同步。在构造阶段的每次迭代过程中,可以对细化阶段绘出的懈图进行修改或精化,以便包图切实反映目标软件系统最顶层的结构划分状况。第五十一页,本课件共有115页在构造阶段可能需要使用的在构造阶段可能需要使用的UML语言机制包语言机制包括:括:.用例及用例图。它们是开发人员在构造阶段进行分析和设计的基础。类图。在领域概念模型的基础上引进为软件实现所必需的类、属性和方法。交互图。表示针对用例设计的软件实现方法。状态图。表示类的对象的状态事件响应行为。活动图。表示复杂的算
25、法过程,尤其是过程中的并发和同步。包图。表示目标软件系统的顶层结构。构什图。部署图第五十二页,本课件共有115页4移交在移交阶段,开发人员将构造阶段获得的软件系统在用户实际工作环境(或接近实际的模拟环境)中试运行,根据用户的修改意见进行少量调整。第五十三页,本课件共有115页63基于基于UML的需求分析的需求分析基于UML的需求分析大致可分为以下步骤:()利用用例及用例图表示需求。从业务需求描述出发获取执行者和场景;对场景进行汇总、分类、抽象。形成用例;确定执行者与用例、用例与用例图之间的关系,生成用例图第五十四页,本课件共有115页注注意意:两个步骤并没有时序关系,它们可以并行展开,如图上图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 需求 分析 优秀 PPT

限制150内