面向对象分析第六章第七章.ppt
《面向对象分析第六章第七章.ppt》由会员分享,可在线阅读,更多相关《面向对象分析第六章第七章.ppt(91页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1.1.面向对象的基本概念面向对象的基本概念与模型与模型(6 6章)章)章)章)2.2.面向对象分析面向对象分析(7 7章)章)章)章)3.3.面向对象设计面向对象设计(8 8章)章)章)章)4.4.面向对象软件的实现与测试面向对象软件的实现与测试(9 9章)章)章)章)第三篇 主要内容2023/4/141本章要解决的问题:本章要解决的问题:第六章面向对象的概念与模型2023/4/142面向对象方法概述面向对象方法概述2023/4/143一、软件开发模式(一、软件开发模式(ParadigmParadigm)1 1、什么是开发模式、什么是开发模式 开发模式又称为范型、范例、风范或模式开发模式又称
2、为范型、范例、风范或模式(Pattern)(Pattern)。开发模式定义了:。开发模式定义了:特定问题和应用的开发过程中将遵循的特定问题和应用的开发过程中将遵循的步骤步骤步骤步骤;确定将用于表示问题和解的那些成分的确定将用于表示问题和解的那些成分的类型类型类型类型;利用这些成分表示与问题解决有关的利用这些成分表示与问题解决有关的抽象抽象抽象抽象;直接得到问题的直接得到问题的结构结构结构结构。2023/4/1442 2、开发模式的影响、开发模式的影响 开发模式的选择影响到整个软件开发生开发模式的选择影响到整个软件开发生存期。开发模式支配了:存期。开发模式支配了:-设计方法-编码语言-测试和检验
3、技术 2023/4/1453 3、几种流行的开发模式、几种流行的开发模式 目前流行的开发模式有多种,它们提供了可进行系统分解的多种方法。-面向过程的开发模式;面向过程的开发模式;-面向对象的开发模式;面向对象的开发模式;-面向存取的开发模式;面向存取的开发模式;-面向进程的开发模式;面向进程的开发模式;-逻辑性的开发模式;逻辑性的开发模式;-函数型的开发模式;函数型的开发模式;-说明性的开发模式。说明性的开发模式。2023/4/146开发模式所具有的的共性:开发模式所具有的的共性:每个开发模式都有它的支持者和用户;每个开发模式都特别适合于某种类型的问题或子问题;每一个开发模式都用不同的方式考虑
4、问题;每一个开发模式都使用不同的方法来分解问题;每一个开发模式都导致不同种类的块、过程、产生规则。2023/4/1474 4、混合开发模式、混合开发模式在大型系统的开发中,只用一种开发模式很难说哪种开发模式对整个问题的解决最好。系统开发时,通常把大型问题分解成一组子问题。对于每个子问题可以采用适当的软件开发模式。这种设计需要有某种实现语言或一组协同语言的支持。许多流行的功能不断增强的语言可支持不只一种设计开发模式。2023/4/148 一个智能数据分析系统的设计,可把它看做是 4 个子系统。系统有:一个数据库界面。使用了面向存取的开发模式进行设计;智能数据分析。使用逻辑性的开发模式完成;一组分
5、析算法。分析算法是过程性的,所以使用过程性的开发模式设计;用户界面。使用面向对象开发模式。例:例:2023/4/149几个常用的术语面向对象(面向对象(OOOO)面向对象方法(面向对象方法(OOMOOM)面向对象分析(面向对象分析(OOAOOA)面向对象设计(面向对象设计(OODOOD)面向对象程序设计(面向对象程序设计(OOPOOP)面向对象测试(面向对象测试(OOTOOT)面向对象需求分析(面向对象需求分析(OORAOORA)面向对象领域分析(面向对象领域分析(OODAOODA)面向对象数据库系统(面向对象数据库系统(OODBMSOODBMS)面向对象计算机辅助软件工程(面向对象计算机辅助
6、软件工程(OOCASEOOCASE)2023/4/1410第七章第七章 面向对象分析2023/4/1411结构化分析模型的组成结构结构化分析模型的组成结构数据流图数据流图 (DFD)E-R图图状态状态变变迁图迁图(STD图图)加加工工说说明明控制说明控制说明数数据据对对象象说说 明明数据字典数据字典(DD)面向对象分面向对象分析模型的组成结构析模型的组成结构动态动态模型模型对象对象 模型模型功能功能模型模型使用实例使用实例(Use Case)(Use Case)静态态结结 构构交互次序互次序据据变变 换换数数传统方法数据与过程是分离的传统方法数据与过程是分离的过程过程1 1输入输入输入输入输出
7、输出输出输出过程过程2 2过程过程3 3数据实体数据实体属于该对象属于该对象的数据的数据对象对象处理数据的方法处理数据的方法消息消息消息消息消息消息消息消息对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元对象把数据和处理数据的方法封状成一个单元2023/4/1414面向对象分析是软件开发过程中的问题定义阶段。这一阶段的两个重要步骤:领域域分析:建立概括的系统实现模型应用分析:根据特定应用的需求对论域分析的模型进行细化最后成果:得到对问题领域的清晰而精确的定义。2023/4/14157.1 分析过程需要完成:找到特定对象 基
8、于对象的公共特性组合这些对象 标识出对问题的抽象 标识出抽象之间的关系2023/4/1416 对象模型化技术(三视点技术)对象模型化技术(三视点技术)(Object Model Tech.OMT)对象模型化技术用于把分析时收集的信息构造在三类模型中,即对象模型、功能模型和动态模型。这个模型化的过程是一个迭代过程。2023/4/1417分析模型分析模型对象模型对象模型:描述静态结构描述静态结构,定义做定义做 事情的实体事情的实体功能模型功能模型:描述处理描述处理(数据变换数据变换),指明系统应指明系统应“做什么做什么”动态模型动态模型:描述交互过程描述交互过程,规定什么规定什么 时候做时候做 2
9、023/4/1418OMT模型系统分析和设计过程概观图模型系统分析和设计过程概观图产生需求产生需求结构及对象结构及对象设计设计建立模型建立模型问题描述问题描述对象模型、动态模型、功能模型对象模型、动态模型、功能模型详细的对象模型详细的对象模型详细的动态模型详细的动态模型详细的功能模型详细的功能模型分分析析阶阶段段设设计计阶阶段段2023/4/1419基于三个模型的分析步骤:基于三个模型的分析步骤:需求陈述需求陈述 对象建模对象建模 动态建模动态建模 功能建模功能建模 添加操作反复建模添加操作反复建模2023/4/1420OOA的基本过程 从理解系统的使用方式开始,确定使用场景(脚本),构造问题
10、域模型。OOAOOA概念模型由五个层次组成:主题层主题层类与对象层类与对象层结构层结构层属性层属性层服务层服务层这五个层次是分析过程中的层次,每个层次的工作都为系统的规格说明增加了一个组成部分。2023/4/1421OOA的层次结构的层次结构2023/4/14227.2 7.2 需求陈述(软件需求说明书需求陈述(软件需求说明书 (SRS))(Software Requirement Specification)需求分析阶段要完成的文档。需求分析阶段要完成的文档。SRSSRS的作用:的作用:开发者与用户间事实上的技术合同书开发者与用户间事实上的技术合同书开发者下一步设计和编码的基础开发者下一步设
11、计和编码的基础测试验收目标系统的依据测试验收目标系统的依据SRS大大纲纲1 1引言引言1.11.1编写目的编写目的1.21.2背景背景1.31.3定义定义1.4 1.4 参考资料参考资料2 2任务概述任务概述2.12.1目标目标2.22.2用户的特点用户的特点2.32.3假定盒约束假定盒约束3 3需求规定需求规定3.13.1对功能的规定对功能的规定3.23.2对性能的规定对性能的规定3.33.3输入输出要求输入输出要求3.43.4数据管理能力要求数据管理能力要求3.53.5故障处理要求故障处理要求3.63.6其他专门要求其他专门要求(GB9385-88GB9385-88)4 4运行环境规定运行
12、环境规定4.14.1设备设备4.24.2支持软件支持软件4.34.3接口接口4.44.4控制控制7-3 7-3 对象模型对象模型对象模型是三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,及它们之间的关系。2023/4/1425(1 1)对象模型的表示:)对象模型的表示:2023/4/1426实例连接:实例连接:又称为链,用于表达对象之间的又称为链,用于表达对象之间的静态联系静态联系(通过对象属性表示一个对象对另通过对象属性表示一个对象对另一个对象之间的依赖关系。一个对象之间的依赖关系。(2 2)实例连接实例连接与关联关系的表示与关联关系的表示
13、 类类1 连接名称连接名称m n类类2表示法:表示法:阶阶2023/4/1427类类 1 连接名称连接名称m n类类 1连接连接属性属性链属性链属性的表示:的表示:允许实例连接带有一组属性,这些属性允许实例连接带有一组属性,这些属性通过关联来描述通过关联来描述 2023/4/1428 关联关系关联关系 (链属性链属性)为之工作为之工作工资工资职务职务雇主雇主雇员雇员 个人个人名字名字身份证号身份证号公司公司名字名字地址地址题目题目答辩时间答辩时间成绩成绩 教师教师学生学生 指导论文指导论文0,m 12023/4/1429(3 3)相关的图形符号:)相关的图形符号:多个多个0个个一个一个链属性链
14、属性2023/4/1430说明:聚合:代表整体与部分的关系,这是一种特殊形式的关联。限定:用以对关联的含义做某种约束。角色:用来说明关联的一端。由于多数关联具有两个端点,因而涉及到两个角色。连接属性:允许使用附加的属性说明对象之间的连接2023/4/1431(4 4)定义)定义结构结构和层次和层次 类模型的类模型的结构结构及由类和子类构成的类层及由类和子类构成的类层次,次,表示问题域中的复杂关系,是客观表示问题域中的复杂关系,是客观世界实体间关系的抽象。世界实体间关系的抽象。类及对象间的关系可概括为:类及对象间的关系可概括为:归纳关系归纳关系:(一般一般/特殊结构特殊结构、分类结构分类结构)针
15、对事物类之间的组织关系针对事物类之间的组织关系组合关系组合关系:(整体整体/部分结构部分结构、组装结构组装结构)表示事物的整体与部分之间的组合关系表示事物的整体与部分之间的组合关系2023/4/1432 一般一般/特殊结构表示法特殊结构表示法:子类的公共属性和操作归属于一般类子类的公共属性和操作归属于一般类并被每一个子类共享,每一个子类都并被每一个子类共享,每一个子类都继承继承了一般类的特征。了一般类的特征。一般类一般类(父类、基类、超类父类、基类、超类)特殊类特殊类(子类子类)一般类一般类特殊类特殊类特殊类特殊类.继承继承表示一般与表示一般与特殊结构特殊结构2023/4/1433 存户存户一
16、般一般/特殊结构举例特殊结构举例(归纳关系(归纳关系):):一般类一般类(父类、基类、超类父类、基类、超类)特殊类特殊类(子类子类)继承继承一个特殊类中的所有对象可继承一般类中一个特殊类中的所有对象可继承一般类中的属性、服务、关系的属性、服务、关系账号账号姓名姓名余额余额存款存款取款取款 支票存户支票存户 储蓄存户储蓄存户利息率利息率2023/4/1434建立对象模型2023/4/1435整体整体/部分结构部分结构(分类结构分类结构):整体整体/部分结构是一种特定的连接部分结构是一种特定的连接.整体类中的一个对象整体类中的一个对象(或称聚合或称聚合)是由各部是由各部分类的对象分类的对象(或称成
17、分或称成分)构成的构成的.这一结构是对象间的一种关系这一结构是对象间的一种关系.2023/4/1436 整体整体/部分结构表示法部分结构表示法:一个整体对象可有不同类型的部分对象一个整体对象可有不同类型的部分对象.一个部分对象也可同时属于多个整体对象一个部分对象也可同时属于多个整体对象.整体对象整体对象.m1,n1m1,n1m2,n2m2,n2p1,q1p1,q1p2,q2p2,q2部分对象部分对象部分对象部分对象表示整体与表示整体与部分结构部分结构传递性传递性2023/4/1437整体整体/部分结构表示法举例部分结构表示法举例 :汽车汽车1+方向盘方向盘车身车身车轮车轮离合离合发动机发动机油
18、门油门底盘底盘2023/4/1438建立对象模型2023/4/1439例:例:一家公司的对象模型一家公司的对象模型职员职员公司公司 为某公司开发信息管理系统为某公司开发信息管理系统,该公司有三个部门该公司有三个部门,每个部门可以开发多个产品每个部门可以开发多个产品.该公司有该公司有多名多名项目经理项目经理,员工员工上百上百人人.有有四个四个正在进行的项目正在进行的项目,每个项目必每个项目必须有一个项目经理须有一个项目经理,每个员工可参与一个或多个项目每个员工可参与一个或多个项目.请画出该公司的对象模型请画出该公司的对象模型.2023/4/1440例:例:一家公司的对象模型一家公司的对象模型为之
19、工作为之工作为之工作为之工作管理管理 0,1姓名姓名性别性别身份证号码身份证号码地址地址职员职员名名电话电话经营项目经营项目地址地址公司公司职务职务雇用雇用解雇解雇项目名项目名预算预算优先级优先级项目项目产品名产品名成本成本重量重量产品产品职员职员经理经理部门部门部门名部门名主持主持参加参加1+1+1+1+1+生产生产2023/4/1441建立对象模型的步骤:标识类及对象标识类及对象标识结构标识结构标识主题标识主题定义属性及实例连接定义属性及实例连接定义服务及消息连接定义服务及消息连接五个步骤常根据需要交叉进行五个步骤常根据需要交叉进行2023/4/14421 1、识别类和对象、识别类和对象面
20、向对象分析的第一个层次主要是识别类和对象。类和对象是对与应用有关的概念的抽象。建立对象模型2023/4/1443基于语言的信息分析在发现对象过程中,可以使用一种十分有用的工具,即LIALIA(基于语言的信息分析)。LIA的目的是标识出问题论域的所标识出问题论域的所有概念及这些概念之间的关系有概念及这些概念之间的关系。短语频率分析短语频率分析(PFA)(PFA)矩阵分析矩阵分析(MA)(MA)。建立对象模型2023/4/1444(1)找出候选的类&对象可感知的物理实体人或组织的角色应该记忆的事件两个多个事件的相互作用,通常具有交易或接触性质需要说明的概念建立对象模型2023/4/1445(2)筛
21、选出正确的类&对象冗余无关笼统属性操作实现建立对象模型2023/4/14462 2、标识结构(确定关联)、标识结构(确定关联)面向对象分析的下一步工作是标识结构。一般化一般化-特殊化结构特殊化结构(Gen-SpecGen-Spec结构结构)整体整体-部分结构部分结构(Whole-PartWhole-Part结构结构)建立对象模型2023/4/1447标识Gen-Spec结构的方法和策略:对于每一个类和对象,对于每一个类和对象,将它看作是一个一将它看作是一个一般化的类般化的类,对它的所有特殊情况,考虑以,对它的所有特殊情况,考虑以下问题:下问题:它是否在问题论域中?它是否在问题论域中?它是否在系
22、统的职责内?它是否在系统的职责内?继承性是否存在?继承性是否存在?它是否能够符合选择类和对象的标准它是否能够符合选择类和对象的标准?建立对象模型2023/4/1448标识Whole-PartWhole-Part结构的方法和策略应当寻找什么 总体总体-部分部分(Assembly-PartsAssembly-Parts)关联,如飞机飞机-发动机之间的关系。包容包容-内含内含(Container-ContentContainer-Content)关联,如飞机-飞行员之间的关系。收集收集-成员成员(Collection-MembersCollection-Members)关联,如机构-职员之间的关系。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 分析 第六 第七
限制150内