面向对象分析和设计分析PPT课件.ppt
《面向对象分析和设计分析PPT课件.ppt》由会员分享,可在线阅读,更多相关《面向对象分析和设计分析PPT课件.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、关于面向对象分析与设计分析第一张,PPT共六十五页,创作于2022年6月面向对象分析的主要工作v用例模型帮助开发团队理解客户对系统的各种功能需求v概念模型(静态模型)帮助开发团队理解问题领域的各种概念、各种名词、以及它们之间的各种关系。描述系统的结构特征 v动态模型描述系统的动态行为特征。v这两方面的工作,将帮助开发团队定义问题,也是分析工作的主要内容 第二张,PPT共六十五页,创作于2022年6月分析与设计过程全景第三张,PPT共六十五页,创作于2022年6月UML在建模中的使用第四张,PPT共六十五页,创作于2022年6月面向对象分析过程v定义用例(辅助模型,可选)用用例对用户需求进行规范
2、化描述v建立类图(基本模型)发现对象、定义对象类识别对象的内部特征识别对象的外部关系v建立交互图、状态图和活动图(辅助模型,可选)v建立详细说明对模型中的成分进行规范的定义和文字说明可以集中进行,也可分散在各个活动中v原型开发结合其他活动反复进行第五张,PPT共六十五页,创作于2022年6月什么是问题域?v“问题域”是指一个包含现实世界事物与概念的领域,这些事物和概念与所设计的系统要解决的问题有关。v建立概念模型,又称为问题域建模、域建模,也就是找到代表那些事物与概念的“对象”。v建模OO软件的第一步是澄清问题域。第六张,PPT共六十五页,创作于2022年6月确定核心的抽象概念v目的通过采取确
3、定系统必须处理的核心抽象概念(即在业务建模和需求活动中确定的概念)的措施来进行分析v必要性需求和业务建模活动通常会揭示系统必须能够处理的核心概念,与此同时,这些概念也证实了其自身是核心的设计抽象概念。因为已经确认,所以没有必要在用例分析活动中重复确认工作。为了利用现有知识,我们初步确定使用实体分析类,来代表这些以系统常识(诸如需求、词汇表词汇表、特别是领域模型领域模型或业务对象模型业务对象模型)为基础的核心抽象概念v关键抽象的来源需求词汇表领域模型业务对象模型第七张,PPT共六十五页,创作于2022年6月什么是分析类?v它代表问题域中的简洁抽象v应该映射到真实世界业务概念v分析类的最重要方面是
4、应该使用清晰的和无歧义的方法映射到真实世界业务概念第八张,PPT共六十五页,创作于2022年6月OO分析师的工作v力求把混淆或不恰当的业务概念澄清为能够形成分析类基础的事物,是OO分析工作困难的原因。vOO分析的真正目的是找出现实对象的类第九张,PPT共六十五页,创作于2022年6月分析类的思想v尽力捕获抽象的本质,忽略实现细节不是从设计角度考虑而产生的类,在具体设计时可能一个分析类被精华为一个或多个设计类v在分析中,在创建概念模型时,捕获大场景。v分析类的形式名称属性操作第十张,PPT共六十五页,创作于2022年6月如何产生良好的分析类v名称反映目的。v建模问题域的一个特定元素是简洁的抽象。
5、v清晰地映射到问题域中的可识别的特征。v具有小的、良好定义的职责集合。职责是类与其客户的契约或对于客户的义务职责在语义上是内聚的操作集合每个类大约有35个职责v高内聚。类的所有特征应该有助于实现其目的v低耦合。类应该仅同一小部分其他类协作实现其目的第十一张,PPT共六十五页,创作于2022年6月分析类经验法则v每个类大约35个职责。v不存在独立的类。v当心很多非常小的类v当心少数几个非常庞大的类v当心“伪类”v当心万能类v避免深度继承树设计良好的继承层次的本质是继承层次中每个抽象层次应该具有良好定义的目的第十二张,PPT共六十五页,创作于2022年6月OO分析建模核心问题v寻找分析类使用名词使
6、用名词/动词分析寻找类动词分析寻找类使用使用CRC分析寻找类分析寻找类寻找其他类来源寻找其他类来源第十三张,PPT共六十五页,创作于2022年6月使用名词/动词分析寻找类v名词/动词分析是分析文本尝试找出类、属性和职责的方法。从名词与名词短语中提取对象与属性 从动词与动词短语中提取操作与关联 所有格短语通常表明名词应该是属性而不是对象 第十四张,PPT共六十五页,创作于2022年6月名词/动词分析过程v第一步:尽可能多地收集相关信息补充需求规格说明用例项目词汇表任何其他信息源(构架、远景文档)第十五张,PPT共六十五页,创作于2022年6月名词/动词分析过程(续)v第二步:使用非常简单方法分析
7、如下内容:名词名词短语动词动词短语第十六张,PPT共六十五页,创作于2022年6月概念模型建模步骤1.找到备选类 2.决定候选类并不是每一个备选类都是合适的候选类,有些名词对于要开发的系统来说并无关紧要,甚至是系统之外的;而有些名词表述的概念则相对较小,适合于某个候选类的属性 3.确定类之间的关联 4.为类添加职责 什么是类的职责呢?它包括以下两个主要内容:v 类所维护的知识;(成员变量)v 类能够执行的行为。(成员方法)第十七张,PPT共六十五页,创作于2022年6月举例-创建概念模型v一个爱书之人,家里各类书籍已过千册,而平时又时常有朋友外借,因此需要一个个人图书管理系统。该系统应该能够将
8、书籍的基本信息按计算机类、非计算机类分别建档,实现按书名、作者、类别、出版社等关键字的组合查询功能。在使用该系统录入新书籍时系统会自动按规则生成书号,可以修改信息,但不能够删除记录。该系统还应该能够对书籍的外借情况进行记录,可对外借情况列表打印。另外,还希望能够对书籍的购买金额、册数按特定时限进行统计。第十八张,PPT共六十五页,创作于2022年6月使用名词/动词法注意v在使用“名词动词法”寻找类的时候,很多团队会在此耗费大量的时间,这样很容易迷失方向。其实我们的主要目的是对问题域建立概要的了解,无需太过咬文嚼字。第十九张,PPT共六十五页,创作于2022年6月其它方法-CRC分析v脑力风暴技
9、术v过程要求团队成员命名运转在业务领域的事物要求团队陈述该事物的职责要求团队识别可能一起工作的类第二十张,PPT共六十五页,创作于2022年6月概念模型的意义 v面向对象的视角使用OO的思想所建立的系统模型就是对问题域的完整、直接的映射,体现了OO 思想的关键活动 v开发团对的需要概念模型的建立,其主要的作用是帮助开发团队能够对问题域有一个全貌式的了解第二十一张,PPT共六十五页,创作于2022年6月概念模型的详细程度v模型不是我们要生产的目标产物,而且过程中的一个辅助工作,只要能够利用其帮助团队更好的开发,详细也罢、简约也罢,都是好模型第二十二张,PPT共六十五页,创作于2022年6月OO分
10、析总结v用例模型帮助开发团队明白客户想解决什么问题将需求整理归纳成为指导全开发过程的“软件需求规格说明书v概念模型帮助开发团队了解客户所处的世界第二十三张,PPT共六十五页,创作于2022年6月分析用例(行为分析)用例模型补充需求构架描述用例分析用例用例工程师业务模型分析类第二十四张,PPT共六十五页,创作于2022年6月用例分析v目的确定执行用例事件流的类使用用例实现,将用例行为分配给那些类确定类的职责、属性和关联关系记录构架机制的使用情况v角色设计师v时机用例分析分两个阶段v第一个阶段是“定义备选构架”,同时做“构架分析”活动,目标是定义一个备选构架v第二个阶段是“分析行为”,与“确定设计
11、元素”活动一起做,目标是把用例行为分配到分析类中第二十五张,PPT共六十五页,创作于2022年6月行为分析之前-用例建模v获取可靠的需求-我们需要高层的需求文档和用例结构图来确定需求的可靠性,它并不一定完备、但提供了系统的基本全景;如果在分析过程中发现了一些相当新的用例,那说明需求工作没做到位,它作为分析(行为建模)的基础将是不可靠的;v确定用例的优先级我们通常采用迭代的开发模式,每次只针对一个目标用例集展开分析,而不是全线出击;因此需要根据风险、重要性和团队的适应能力综合考虑,为所有的用例确定优先级;那些级别高的用例应当有详细的规格说明,包括基本流和重要的扩展流,它们是分析的基本素材。第二十
12、六张,PPT共六十五页,创作于2022年6月用例实现中的分析与设计v用例建模对系统外在的行为进行了分解,每个用例情节最终都落实到内部某个对象群体的协作上;v而对象群体行为则进一步将必要职责分配到对象个体上;v这便是用例实现,并分为用例分析和用例设计两个阶段。v为用例实现建模的元素包括协作图、序列图、以及类图等。第二十七张,PPT共六十五页,创作于2022年6月用例分析的输入和输出v输入词汇表补充规约用例模型用例规约用例建模指南用例实现(只是识别出来了,还没有开发)软件构架文档边界类,表示用户界面中的窗口 设计模型或分析模型v输出用例实现分析模型(可选)或设计模型 第二十八张,PPT共六十五页,
13、创作于2022年6月用例实现v用例实现对用例模型中的每个用例,在设计模型中都有相应的实现提供从分析和设计到需求的可跟踪性v用例实现结构用例实现包v是组织用例的类和交互图的方式v每个用例都对应一个用例实现包可跟踪性图交互图v时序图(Sequence Diagrams)(动态)v协作图(Collaboration Diagrams)(动态)类图(Class Diagrams)(静态)第二十九张,PPT共六十五页,创作于2022年6月用例分析的步骤v补充用例描述v对每个用例实现从用例行为中找出类把用例行为分配到类v对每个分析类描述属性和关联描述责任限定分析机制(analysis mechanism)
14、确定属性建立分析类之间的关联关系说明分析类之间的事件依赖关系v整合分析类第三十张,PPT共六十五页,创作于2022年6月Step1:补充用例描述v用例的描述往往不够查找分析类用户通常不关心系统内部的信息,所以开始时的用例描述是黑盒的v为了发现分析类,需要从系统内部的视点对用例进行白盒描述例如:课程注册系统中,学生可能喜欢说“系统显示课程列表”,但是这不能说明系统内部是如何实现的。为了给出系统内部是如何工作的,我们要加入:系统从课程目录遗留数据库中取得课程列表第三十一张,PPT共六十五页,创作于2022年6月Step2:从用例行为中查找分析类 v目的确定一组备选的、能够执行用例行为的分析类v分析
15、类分析类代表“系统中具备职责和行为的事物”的初期概念模型。这些概念模型最终将演进为设计模型中的类和子系统分类(根据其担负的职责和表现的行为)v边界类(Boundary class)接口与系统外部某些事物的媒介。v控制类(Control Class)负责协调用例的行为。v实体类(Entity Class)封装了数据以及数据相关的操作,表达领域概念,负责承担系统中需要持久化的信息及其关联的行为。v应用逻辑对象 第三十二张,PPT共六十五页,创作于2022年6月识别分析类v用例的行为最终都要落实到各分析类的职责上。第三十三张,PPT共六十五页,创作于2022年6月边界类承担的角色v边界类负责系统与外
16、界的通讯和交互。边界对象将系统与其外部环境的变更(与其他系统的接口的变更、用户需求的变更等)分隔开,使这些变更不会对系统的其他部分造成影响。第三十四张,PPT共六十五页,创作于2022年6月边界类的职责v转换和翻译交互事件对内,将外界不同格式的事件和信息转换为内部能够识别的格式,并触发控制类对象(或实体对象)来响应它们;对外,则做类似的反向操作;v变更对外的表示内容在内部状态(特别是外界关注的信息)发生变化时,向外部通知或更新表示内容)v常见的边界类对象有:用户接口类v帮助与用户进行通信的类,通过标准的I/O设备提供人机界面(GUI)系统接口类v帮助与其他系统进行通信的类,系统(通讯协议)接口
17、。设备接口类或Timer v提供对硬件设备的软件接口第三十五张,PPT共六十五页,创作于2022年6月识别边界类v用户界面类关注要呈现给用户的信息是什么不要陷入UI的设计细节v系统和设备接口类关注必须定义的协议是什么不要关注协议是如何实现的v重点关注职责而不是细节第三十六张,PPT共六十五页,创作于2022年6月识别边界类(续)v每个用例主角都至少有一个边界类v查找用户接口类时需要注意可以复用用户界面建模活动期间存在的边界类仅对系统的核心部分建模,不要对 GUI 中的每个按钮、列表和小部件都建模。分析的目的是要大致了解系统是如何构成的,而不是要设计每一个细枝末节v查找系统边界类时注意与现有系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 设计 PPT 课件
限制150内