版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第九课面向对象分析与设计方法第九课面向对象分析与设计方法1方法学和面向对象方法论1.方法论是指思考和做事的策略、步骤、方向和行动面向对象方法论的概念在1987年由Booch首先提出2.目前面向对象方法论有50多种,主要有:Booch模型;Rumbaugh的OMT模型;Jacobson的OOSE模型;Martin的OOAD模型;Shlaer的OOSA模型;Coad的面向对象方法论;Martin的面向对象方法论等等。3.目前人们在努力统一各种面向对象方法论,统一的结果是产生了统一模型语言——UML。UML本身不是方法,但是UML提供了能够描述所有面向对象方法的符号工具和语义工具。方法学和面向对象方法论1.方法论是指思考和做事的策略、步骤、2面向对象程序设计的一般过程面向对象程序设计的一般过程3面向对象程序设计的一般方法描述问题域提出解决方案实施解决方案建立面向对象的领域模型确定面向对象的实现模型构造、测试和发布面向对象程序OOAOODOOP重点考虑什么事必须完成,而不是如何完成。决定问题如何来解决。面向对象程序设计的一般方法描述问题域提出解决方案实施解决方案4本课使用的例子一个文件分割、合并器能够分割和合并文件能够增加和删除文件能够展示和提取文件本课使用的例子一个文件分割、合并器5领域模型OMT方法Coad对象方法Jacobson用例驱动方法领域模型OMT方法6领域模型(Coad方法)确定目的确定对象和模式(行为、数据)建立对象责任(行为、数据、功能)定义服务场景模型部件问题域(PD)人机交互(HI)数据管理(DM)系统交互(SI)领域模型(Coad方法)确定目的确定对象和模式建立对象责任定7领域模型(OMT方法)1.什么是对象模型对象模型描述了客观世界实体以及实体彼此间的关系,是问题域的静态数据结构表示,以对象图形式表示。2.什么是动态模型动态模型表示瞬时的、行为化的系统的“控制”性质,规定了类型模型中实体的合法变化序列,即对象的动态行为,以状态图形式表示。3.什么是功能模型功能模型用来描述系统中对象功能,表达数据的流动、转换情形,以数据流程图、用例图形式表示。领域模型(OMT方法)1.什么是对象模型8领域模型(Jacobson用例方法)用例(usecase)是指行为相关的事务(transaction)序列,该序列由用户在与系统交互中执行。每一个用例就是一个使用系统的方式,当用户给定一个输入,就执行一个用例的实例,并引发执行属于该用例的一个事务。确定用例模型,用例由使用者、实例和作用三个部分描述使用用例模型构造需求模型需求模型包括领域对象模型、界面描述使用用例和需求模型建立分析模型,分析模型用于划分出接口对象、实体对象、控制对象,以及由这些对象组成的子系统领域模型(Jacobson用例方法)用例(usecase9建立领域模型的一般方法领域模型的内涵:问题域有什么问题域做什么问题域需要我们提供什么功能领域模型建立的一般步骤:1.跟踪、记录所有的实体,输出一个实体的词汇表2.统一类型、实体命名方法和规则3.描述单个类型,输出不完全的类图4.确定类型之间的关系,输出完整的类图(问题域的静态结构)5.描述状态、时序、流程(问题域的动态结构)6.建立用例,用于描述功能7.提取界面并展示给用户8.迭代上述过程建立领域模型的一般方法领域模型的内涵:10描述实体类型文件集合文件描述实体类型文件11描述类型之间的静态关系关联关系普通关联递归关联限定关联或关联有序关联关联类三元关联聚合关系继承关系依赖关系描述类型之间的静态关系关联关系12文件和集合文件的关系在问题域中的模型主要用于呈现给用户以及对问题的理解,可以是不精确的,可能与最后的实现模型有一定的区别文件和集合文件的关系在问题域中的模型主要用于呈现给用户以及对13描述实体类型的动态关系可以用活动、状态序列等描述类型之间的动态关系描述实体类型的动态关系可以用活动、状态14建立用例用例用于以下目的:确定系统功能,达成与用户的共识在分析、设计、开发人员之间取得一致提供系统设计、实现中类、对象等的设计依据为系统测试打下基础用例由以下几个部分构成:角色实例实例的操作关系(时序、调用、合并)角色-实例的描述建立用例用例用于以下目的:15用例图用例图16小结(领域模型)对问题域的分析输出了以下成果1.确定了问题域中有哪些实体类型以及它们之间的关系2.确定了问题域中这些实体类型的动态结构3.确定了需要实现的功能如果使用UML工具,将形成1 .类图2.活动图3.用例图小结(领域模型)对问题域的分析输出了以下成果17实现模型(OMT方法)1.确定体系结构将系统划分成子系统确定问题域中一致的继承分配子系统的处理器和任务选择一个方法管理数据存储确定全局资源以及访问方式确定系统的控制流处理边界条件2.确定对象结构合并问题域三个模型来获得类的操作(服务)设计算法实现操作优化对数据的访问路径调整类结构,增加继承、抽象和泛化确定类关系(作用关系)将类和关系封装在子系统或者模块中3输出结果更加详细的对象模型、动态模型、功能模型实现模型(OMT方法)1.确定体系结构18实现模型(Coad方法)人机交互问题域数据管理任务管理类与对象层主题层结构层属性层服务层主题层:模块、包、命名空间的划分类与对象层:确定有哪些类结构层:确定类、对象之间的关系(通用-特定;整体-部分)属性层:确定类的属性,以及属性的封装机制服务层:确定类的接口实现模型(Coad方法)人机问题域数据任务类与对象层主题层结19实现模型(用例方法)用例方法将该阶段称为构造阶段,构造阶段的成果包含了:1.构块模型,构块模型的设计集中考虑可跟踪性、实现环境2.交互作用图,交互作用、事件与激励、均一化3.确定对象内部行为(状态图)4.实现和测试实现模型(用例方法)用例方法将该阶段称为构造阶段,构造阶段的20建立实现模型的一般方法实现模型的内涵:1.实现模型中有哪些类,每个类有哪些接口2.实现模型中这些类是怎样组织的3.对于每一项功能,实现模型中类的动态调用过程是怎样的4.类、接口、功能以怎样的方式呈现给用户建立实现模型的一般步骤:1.扩展问题模型确定对象类以及对象类的领域(类图)2.寻找可重用的设计模式3.根据问题模型确定类的状态空间和行为接口(类图)4.根据问题模型确定类的组织方式(类图/对象图/包图/配置图)5.确定类的工作流、控制流(细化的活动图、序列图等)6.迭代上述过程建立实现模型的一般方法实现模型的内涵:21确定类的领域一个标准的面向对象系统的类包括四个领域1.应用领域——包含了对于应用本身有价值的类事件管理类事件识别类2.商业领域——包含了对于行业有价值的类关系类角色类属性类3.结构领域——包含了对于体系结构有价值的类人机界面类数据操作类机器通信类4.基础领域——包含了实现应用、商业、结构的语言相关的类语义类结构类基础类可重用性:基础领域>结构领域>商业领域>应用领域确定类的领域一个标准的面向对象系统的类包括四个领域可重用性22确定类的领域应用领域类文件集合类(SetFile)商业领域类文件类(File)文件流类(FileStreamOpt)文件合并分割类(FileCutMerge)结构领域类系统主窗口MainWindow集合文件浏览窗口FilesBrowseWindow文件详细信息查看窗口FileInfoWindow命令按钮/工具栏CommandButton/CommandToolBar基础领域类字符串/整数/布尔String/Integer/Boolean日期时间DateTime哈希表Hash枚举Iterator确定类的领域应用领域类23确定类的状态空间和行为接口类的状态空间是指类的属性以及属性的约束条件类的行为接口是指类暴露的方法或者服务在复杂的类设计中,类的状态空间和行为接口应通过对不变式、前置条件和后置条件的设计作为依据类的不变式、前置条件和后置条件可以作为系统单元测试的主要依据例如在设计时刻应确保FileStreamOpt的行为接口ExtractStream前置条件是存在一个File(file1)对象,后置条件是存在一个File(file2)对象和一个FileStreamOpt(stream1)对象,且Size(file1)=size(file2)+size(stream1)为不变式确定类的状态空间和行为接口类的状态空间是指类的属性以及属性的24类的状态空间和行为类的状态空间和行为25确定类的组织方式类的组织方式往往和实现的语言有关,类可以有以下几种组织方式,类的组织设计应以问题域的类图为依据:1.通用-特化(继承关系)2.抽象-实例(接口、抽象类、模板)3.聚集(成员)4.关联(单向或者双向的引用)5.依赖(函数参数、友元)确定类的组织方式类的组织方式往往和实现的语言有关,类可以有以26确定类的组织方式确定类的组织方式27确定类的工作流根据用例细化问题
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年汽车充电桩安装服务合同协议
- 货物运输保险合同2026年变更程序
- 家政服务安全培训课件
- 物业公司资产管理部年终总结
- 培训讲师课件评估
- 培训教学与课件要求
- 培训中级育婴员课件
- 土壤培训课件内容
- 2024年初级会计专业技术资格《经济法基础》考试典型题汇编(含答案)
- 医疗质量安全全员培训课件
- 供电一把手讲安全课
- 本科实习男护生职业认同感调查及影响因素分析
- 未分化型精神分裂症的护理查房
- 合肥机床行业现状分析
- 国家开放大学《森林保护》形考任务1-4参考答案
- GB 31604.1-2023食品安全国家标准食品接触材料及制品迁移试验通则
- 工控组态技术及应用-MCGS模块三MCGS模拟量组态基本知识课件
- 电力线路维护检修规程
- YC/T 405.2-2011烟草及烟草制品多种农药残留量的测定第2部分:有机氯和拟除虫菊酯农药残留量的测定气相色谱法
- 医院信息系统操作权限分级管理制度
- 养殖场管理制度
评论
0/150
提交评论