




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第3章章 面向对象软件开发技术面向对象软件开发技术 本章简介本章引见面向对象程序设计言语、软件开发的方法与过程、面向对象的分析与设计的软件开发方法,面向对象的软件开发方法与UML模型的关系,对UML图在软件开发阶段所处的位置也作简要阐明。 面向对象编程言语 面向对象概念的由来OOP的简史C+言语Java言语当前新推出的IDE几乎都是面向对象的,例如,Oracle9i JDeveloper,C+ Builder。软件开发的方法与过程 软件开发的方法与过程,描画了在系统开发过程中各开发阶段之间的顺序,以及从前一阶段到后一阶段的过渡原那么。 软件开发的方法定义了一种设计与实现软件的方法,并确定了需
2、求执行的义务以及这些义务的输出。 过程要定义一个在组织中开发软件需求执行的义务序列,这能够会包括技术性的与非技术性的内容。 瀑布模型Waterfall Model。 面向对象的系统开发模型,例如,螺线模型Spiral Model。 构造性的方法定义了功能分解、建立数据流程图以及过程图。面向对象方法那么需求建立类与对象图,建立类的形状转换图,以及建立音讯序列图 瀑布模型 瀑布模型定义了软件开发周期中根本的过程和步骤,并就它们的作用与顺序提供了指点。 瀑布模型将软件系统的开发分为7个阶段:需求汇总、分析、构造设计、系统设计、实现、测试、配置并操作,如图3.1所示。 瀑布模型 螺线模型 螺线模型是瀑
3、布模型与快速原型方法的结合,因此具有两种方法的优点。 螺线模型是由分析、设计、实现和测试4个部分组成的迭代模型,每一个周期都是一次迭代过程。每迭代一次,系统就生成一个新版本,软件开发就前进一个层次。 螺线模型提供了大型软件设计的宏观过程,在早期就留意到软件重用、软件进化和快速原型螺线模型 分析设计实现测试面向对象软件开发方法 面向对象软件开发方法就是将面向对象技术运用于软件开发的整个过程,包括OOA、OOD和OOP。 在分析阶段要确定系统做什么,要对现实世界中的概念进展笼统,构造出对象和类; 在设计阶段要确定系统如何实现预期目的,要把分析阶段的模型进展分解和细化,得到系统实施的详细方案。这样,
4、设计的结果很容易用面向对象的程序设计言语来实现。 面向对象的分析 面向对象的分析方法将软件系统描画成一组对象的集合,采用笼统的对象模型、记号系统和方法。 主要的面向对象的分析方法有:Coad与Yourdon的面向对象的分析方法、Bailin的面向对象的构造化分析方法和Shlaer与Mellor的面向对象的分析方法。 Coad与Yourdon的面向对象分析方法分为5个步骤:发现对象和类、标识构造、定义主题词、描画属性、描画外部效力操作 1发现对象和类 Coad与Yourdon的OOA方法中,用粗圆角的方框表示类,分为3个部分,分别放类名、属性和操作;类的对象用细的方框来表示。在运用这种方法进展分
5、析时,不用拘泥于Coad与Yourdon的表示方法,可以采用UML中的表示方法来表示类和对象。 2标识构造 在Coad与Yourdon的OOA方法中,将普通 特殊构造用半圆记号表示,普通的类在上,特殊的类在下,半圆指向普通化的类。用三角记号表示整体 部分构造,用连线衔接对象,整体对象在上,部分对象在下。如今,各种方法的表示都可以一致为UML表示法,所以在标识构造时,也可以采用UML中的表示方法。 3定义主题词 在现实的系统中,往往存在大量的对象和构造,因此要加上一个主题层,对问题空间进展高度概括和总结,从一个更高的角度来调查整个系统。定义主题时,首先要找出系统中最主要的类,然后按问题的子领域来
6、对这些候选主题进展挑选,并思索主题间的相互依赖和交互作用,使彼此的相互影响到达最小。 4描画属性属性是描画类中每个对象的特征的数据。要从有关问题领域与系统责任的描画中识别属性,并经过普通 特殊构造中的承继关系,将属性放到适当的位置。为每个属性确定一个易了解的名字,加上一些描画以及对属性阐明的约束。 5. 描画外部效力普通情况下,对象包含的操作主要有:对象的创建与初始化、对象的衔接、存取对象的属性值、释放对象、计算、监视等。用适当的名字来标识这些操作,并加上适当的文字或图表阐明。最后,将一切的OOA文档聚集起来,包括:5层OOA模型主题、类 对象、构造、属性和操作、类 对象阐明和必要的辅助文档。
7、 面向对象的设计 面向对象的设计是把分析阶段得到的需求转变成符合本钱和质量要求的、笼统的系统实现方案的过程。从分析到设计,是一个逐渐扩展模型的过程。或者说,面向对象的设计就是用面向对象的观念建立求解域模型的过程。 Coad和Yourdon的OOD方法 Coad和Yourdon提出的OOD方法,由4部分组成:问题领域部件设计、用户界面部件设计、义务管理部件设计和数据管理部件设计。每个部件由主题词、对象及类、构造、属性和外部效力5层组成,如图3.3所示。 设计阶段的四个组成部分 Wirfs Brock的责任驱动设计 Wirfs Brock的责任驱动设计方法,也称为CRC方法,其中心是用类所承当的责
8、任来描画系统。这种方法采用责任把封装的概念带到分析与设计的活动中去,经过客户 效力器模型来改良封装性。 可以采用CRC卡来记录初始的设计。每个类写在一张卡上,类的名字在顶部,责任写在左边,完成责任时需求为其提供效力的协作者的类名写在责任的右边,如图3.4所示。 CRC卡 Booch的OOD 其方法主要包括以下步骤:1标识类与对象。2标识类与对象的语义。3标识类与对象之间的关系。4实现类与对象。 对象模型化技术 OMT以面向对象思想为根底,经过构造一组相关的模型来确定系统的需求、有关的设计和实现原那么,再将问题领域的分析模型变换成实现领域的计算机模型。 在OMT方法中,主要用到3种面向对象软件模
9、型:对象模型、动态模型和功能模型对象模型化技术对象模型主要描画系统中对象的静态构造,表示系统中的对象、类及之间的静态联络,包括分析对象模型和设计对象模型。分析对象模型描画了问题领域中的类、类的属性、操作以及类之间的承继、聚集和关联关系。设计对象模型描画了实现领域中的类、类的属性、方法和类之间的承继、聚集和依赖等关系。 对象模型化技术在UML中,将各种方法运用的符号进展了一致,因此如今可以运用UML表示法来描画对象模型。 动态模型描画了系统中的动态行为,即与时间有关的方面以及操作发生的顺序。动态模型用形状转换图表示,每个形状转换图描画了系统中对一个类的对象允许的事件和形状序列。图中的事件对应于对
10、象模型中的操作,而动作那么对应于功能模型中的功能。 对象模型化技术功能模型用数据流图来表示,描画了系统中与值转换有关的情况,包括函数、映射、约束和功能性依赖。动态模型和功能模型都是对象模型的补充。 OMT设计方法包括分析、系统设计和对象设计3个步骤。 对象模型化技术分析阶段要对描画系统需求的问题陈说进展处置,产生一个方式化的模型,描画系统中的对象、对象之间的关系、动态的控制流和数据的函数性转换。系统设计阶段决议系统的整体构造,以对象模型为根据,将系统划分成子系统,并实现并发在对象设计阶段,要设计系统中主要函数的实现算法,对分析模型进展求精和优化,产生一个适用的设计方案。 设计方式 设计方式通常
11、包括方式的描画、UML图,方式要处理的问题范围、范例代码、其他竞争的设计方式选择、这些选择中的有关协定等。设计方式正在成为通用的处理方案,由于它很容易运用于特殊的软件开发工程之中 UML模型和视图 UMLUnified Modeling Language,一致建模言语是一种用于建立商业模型及软件系统模型的规范言语和图形符号,它能以图表方式对软件系统进展可视化描画,是“软件分析与设计中的规范言语。 UML定义了一种笼统的用来描画软件系统构造和行为的言语,还定义了一种规范的用来建立模型元素视图的图形符号。普通地,可以将UML规范图分为构造图和行为图。 1UML构造图 1类图Class Diagra
12、ms 描画系统中一组类和接口间的静态关系,这些关系既包括类之间的承继关系,也包括类之间的关联关系。2对象图Object Diagrams 提供在指定时辰位于类实例间的关系的快照视图。在以一种静态的方法保管并阐明系统内复杂的动态时,对象图会很有用。 3组件图Compenent Diagrams 描画系统的静态实现视图,显示了一组组件和它们之间的关系。组件代表的是模型中逻辑笼统的物理实现,例如,类和它们的交互。4部署图Deployment Diagrams 描画在一个系统构造视图中物理节点的链接,节点是为执行一个或多个组件提供物理操作环境的计算资源。 2UML行为图 1用例图Use Case Diagrams 经过描画一组用例与其执行者之间的关系,为系统、子系统或类的行为建立模型。2活动图Activity Diagrams 显示了一个系统的活动流,包括从活动到活动的延续流,以及执行这些活动或由这些活动产生的对象。 3形状图Statechart Diagrams 描画一系列对象的内部形状以及形状的变化和转移,常用于给对象的事件顺序行为建模。4顺序图Sequence Diagrams 经过强调音讯的时间顺序,描画对象间的相互关系。这些对象是类的典型实例,且可以描画其他的分类者,例如,执行者、组件或节点。5协作图Collaboration Diagrams描
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国汽车胶管市场运行动态及发展建议分析报告
- 2025-2030年中国汽车制动液产业竞争状况及投资趋势分析报告
- 2025-2030年中国残疾人用车市场前景趋势及发展潜力分析报告
- 借条附带借款合同范本
- 2025-2030年中国智能坐便器市场运行动态及发展前景规划研究报告
- 2025-2030年中国春雷霉素市场发展前景规划研究报告
- 直播平台趋势与选择策略
- 协助收购合同范本
- 科技前沿的演讲汇报实践
- 2025-2030年中国备用电源铅酸蓄电池市场发展趋势及投资战略研究报告
- 非车险-企财险
- 智慧车站方案提供智能化的车站管理和服务
- 酬金制物业管理简介
- 路面弯沉温度修正系数
- 2023年汽车修理工(高级)考试试题库附答案
- 甲状腺功能减退症健康宣教
- 高清精美中国地图(英文版)
- 预付卡盈利模式浅析
- 委托办理公证委托书(6篇)
- 康复医学绪论
- 大树修剪专项施工方案
评论
0/150
提交评论