《第2章什么是面向对象分析精.ppt》由会员分享,可在线阅读,更多相关《第2章什么是面向对象分析精.ppt(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章什么是面向对象分析第1页,本讲稿共11页面向对象的分析(面向对象的分析(Object Oriented Analysis,OOAObject Oriented Analysis,OOA),就是运),就是运用面向对象方法进行系统分析。用面向对象方法进行系统分析。OOAOOA是分析,是软件生命周期的一个阶段,具有一般分析方法是分析,是软件生命周期的一个阶段,具有一般分析方法共同具有的内容、目标及策略;共同具有的内容、目标及策略;但强调运用面向对象方法进行分析,用面向对象的概念和表示法表达分析结果。但强调运用面向对象方法进行分析,用面向对象的概念和表示法表达分析结果。基本任务是:运用面向对象方
2、法,对问题域和系统责任进行基本任务是:运用面向对象方法,对问题域和系统责任进行分析和理解,找出描述问题域及系统责任所需的分析和理解,找出描述问题域及系统责任所需的对象对象,定义对,定义对象的象的属性、操作属性、操作以及它们之间的以及它们之间的关系关系。目标目标是建立一个符合问题域、满足是建立一个符合问题域、满足用户需求用户需求的的OOAOOA模型。模型。2.1 什么是面向对象的分析?什么是面向对象的分析?第第2章章 什么是面向对象的分析什么是面向对象的分析2第2页,本讲稿共11页2.2 2.2 分析面临的主要问题分析面临的主要问题1、问题域和系统责任复杂性日益增长问题域问题域(problem
3、domain):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围。系统责任系统责任(system responsibilities):所开发的系统应该具备的职能。困难所在:困难所在:软件开发人员与领域专家的技术背景不同(学习、更高的见解、适合于软件)现今的系统所面临的问题域比以往更为广阔和复杂,系统比以往更为庞大*。金融业务个人储蓄国债发行贷款业务.人事管理信息备份系统责任问题域3第3页,本讲稿共11页2、交流问题如果分析所产生的文档使分析员以外的其他人员都很难读懂,那就很不利于交流。这会使彼此的思想不易沟通,并容易隐藏许多错误。(分析人员与客户*及领域专家,分析人员之间*,分
4、析人员与设计人员,开发人员与管理人员)3、需求的不断变化引起需求变化的因素:用户(主客观因素)、竞争因素、经费、技术因素*软件开发者必须以合作的态度满足用户需求易变的部分依次为:功能、接口、属性、对象-得益于封装原则。4、软件复用的要求复用级别提高分析结果复用要求分析模型中的可复用部分用于多个系统要求一个分析模型在多种条件下设计和实现对分析提出了更高的要求对分析提出了更高的要求 制作(服务)构件、组织(服务)构件、检索(服务)构件、组装(服务)构件4第4页,本讲稿共11页2.3 2.3 面向对象的分析综述面向对象的分析综述面向对象 对象,类关系(结构与连接)继承封装消息通讯是对问题域中事物的完
5、整映射,包括事物的数据特征和行为特征。如实地反映了问题域中事物之间的各种关系,包括分类结构、组装结构、静态联系和动态联系。采用封装、继承、消息通讯等原则,使问题域的复杂性得到控制。5第5页,本讲稿共11页不同的分析方法不同的分析方法对现实世界(问题域)的不同映射 E-R法 面向对象方法功能功能/子功能子功能功能接口功能接口功能分解法数据流数据流加工加工数据流法按概念对问题进行分解软件开发的目标:在预算内按时开发出满足用户需求的高质量软件。采用不同的方法所付出的代价及所取得的收益是不同的。6第6页,本讲稿共11页分析方法的几方面的比较功能分解法数据流法信息建模法OOA对问题域和系统责任的理解改进
6、交流适应变化支持复用较差较差差最差差差较差较差较好较好略好略好好好好好构件技术?很好很好很好面向服务很好很好很好很好7第7页,本讲稿共11页对象,类对象,类属性属性服务服务继承继承消息消息关联关联聚合聚合多态多态主动对象主动对象对象、类对象、类属性属性服务服务泛化泛化消息消息关联、链关联、链聚合聚合多态性多态性主动对象主动对象(类类)主题(包)主题(包)分类分类行为分析行为分析继承继承消息通信消息通信关联关联整体整体-部分关部分关系系粒度控制粒度控制建模元素建模元素基本概念基本概念原则原则2.4 本课讲授的本课讲授的OOA方法概貌方法概貌1 1、概念与表示法、概念与表示法8第8页,本讲稿共11
7、页对象名对象名普通对象普通对象主动对象主动对象(a)类类(b)属性与服务属性与服务一般类一般类特殊类特殊类特殊类特殊类(c)泛化泛化整体对象类整体对象类mn部分对象类部分对象类(d)聚合聚合类类类类mn(e)关联关联发送者发送者接收者接收者(f)消息连接消息连接 编号编号 主题名主题名压缩方式压缩方式编号编号 主题名主题名 类名类名 半展开方式半展开方式编号编号编号编号编号编号编号编号展开方式展开方式(g)主题的三种表示方式主题的三种表示方式表示法示例表示法示例对象名对象名同步同步异步异步类名类名普通类普通类主动类主动类类名类名服务服务 .属性属性.服务服务 .属性属性.(h)包包9第9页,本
8、讲稿共11页关系层关系层特征层特征层对象层对象层基本模型基本模型(类图类图)需求模型需求模型用况图用况图辅助模型辅助模型交互图交互图活动图活动图状态图状态图包图包图模型规约模型规约给出所有与问题给出所有与问题域和系统责任有域和系统责任有关的对象,用对关的对象,用对象类表示象类表示定义每个对定义每个对象类的属性象类的属性与服务与服务通过已定义的通过已定义的关系描述对象关系描述对象类之间的关系类之间的关系对模型中对模型中的所有元的所有元素进行详素进行详细说明。细说明。对关系密对关系密切的元素切的元素打包,帮打包,帮助理解系助理解系统模型。统模型。一幅交互图表现完成某一项特定功能的一组对象之间一幅交
9、互图表现完成某一项特定功能的一组对象之间的详细交互;一辐状态图描述了一个对象的状态变迁。的详细交互;一辐状态图描述了一个对象的状态变迁。活动图描述了一个服务的流程或业务流程。活动图描述了一个服务的流程或业务流程。OOA模型模型捕获与描述用捕获与描述用捕获与描述用捕获与描述用户的要求户的要求户的要求户的要求 10第10页,本讲稿共11页OOAOOAOOAOOAOOAOOA过程过程过程过程过程过程定义用况定义用况*(辅助模型,可选)(辅助模型,可选)用用况对用户需求进行规范化描述。建立详细说明建立详细说明对模型中的成分进行规范的定义和文字说明。可以集中进行,也可分散在各个活动中。建立交互图、状态图和活动图等建立交互图、状态图和活动图等(辅助模型,可选)(辅助模型,可选)原型开发(可选)原型开发(可选)结合其他活动反复进行建立类图(基本模型)建立类图(基本模型)*发现对象、定义对象类*识别对象的内部特征*识别对象的外部关系11第11页,本讲稿共11页
限制150内