版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计系统分析与设计系统分析与设计上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象方法学概述面向对象的系统概念面向对象开发过程面向对象建模方法本讲主要内容上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计n 面向对象方法学的要点面向对象方法学的要点客观世界由对象组成;任何事物都是对象;复杂对象可以由简单对象以某种方式组合而成。把所有对象都划分成各种对象类,每个对象类定义了一组数据和方法。类中数据表示对象静态属性,是对象的状态信息;类中方法表
2、示对象动态属性,是允许施加在该类对象上的操作;类中的方法是该类所有对象共享的,不需要为每个对象都复制操作代码。按照子类(派生类)和父类(基类)的关系,把若干对象组成一个层次结构的系统。下层的派生类具有和上层的基类相同的特性(数据和方法)。对象间仅能通过传递消息实现彼此通信。OO= 对象 + 类 + 继承 + 消息通信面向对象方法学概述上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计n 实体与对象的关系实体与对象的关系实体现实世界对象计算机世界对象对象计算机世界计算机世界 类类现实世界现实世界实体实体抽象数据类抽象数据类映射映射计算机逻辑的实现计算机逻辑的实现
3、实例化实例化抽象抽象抽象抽象概念世界概念世界面向对象方法学概述上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象与结构化技术的比较面向对象与结构化技术的比较结构化技术结构化技术面向对象技术面向对象技术面向对象方法学概述可维护性可维护性开发围绕功能进行,上层模块控制下层模块,修改某个模块会影响到上层和下层模块,稳定性较差。修改一个类很少会影响其它类,易于测试和调试。可重用性可重用性利用标准函数库进行重用,标准函数缺乏柔性,不能适应各种场合的不同需要。可以通过创建类实例重复使用一个对象类,继承机制也使得子类可以重用父类代码和数据结构,而且可以在父类代码基础
4、上修改扩充。稳定性稳定性开发过程基于功能分析和功能分解,软件结构依赖于功能,需求发生变化引起软件结构的整体修改,系统不稳定基于构造问题领域的对象模型,软件结构是根据问题领域的模型构造的,当需求变化时不会引起软件结构的整体变化,稳定性好思维方法思维方法以算法为核心,数据和过程分离;让现实向计算机靠拢数据与操作封装;让计算机世界向现实世界靠拢上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象的概念 操作1.2.3的实现状态S操作1操作2操作3对象对象从软件开发人员角度看,对象是一种将数据和处理这些数据的操作合并在一起的程序单元。从用户的角度看,对象是一种具
5、有某种属性和服务行为的事物。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象的特点对象的特点以数据为中心。操作围绕对其数据所需要的处理来设置,不设置与这些数据无关的操作,而且操作结果与当时所处状态(数据值)有关。对象是主动的。对象是进行处理的主体,不能从外部直接处理对象的私有数据,而必须通过它的共有接口向对象发消息,请求它执行某个操作,处理它的私有数据。实现了数据封装。对象的私有数据完全被封装,对外隐藏。对私有数据的访问只需要知道数据取值范围和可以施加的操作,而无法知道数据的具体结构和实现操作的算法。本质上具有并行性。不同对象各自独立地处理自身数据,彼此
6、通过发消息完成通信,本质上有并行工作的属性。模块独立性好。对象以数据为中心,操作围绕对其数据所需的处理设置,没有无关操作,内聚性强;完成对象功能所需的数据和方法封装在对象内部,与外界联系少,耦合性松。类类面向对象的概念上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计类类: :类是某些对象共同特征的表示类是创建对象的模板,对象是类的实例类描述对象的属性名及类型、对象方法的实现途径类的所有实例(对象)具有相同的属性名称及类型、相同的方法、相同的消息响应方式类类面向对象的概念注意:对象可以指某个具体对象,也可以泛指一般对象。当用到实例时,必然指一个具体对象。例如:
7、三个圆心位置、半径大小和颜色不同的圆,是三个不同对象,但都有相同数据(圆心坐标、半径、颜色)和相同操作(显示自己、在屏幕上移动、放大缩小半径等),因此是同一类事物。定义为 Circle类。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计方法方法: :对象所能执行的操作,也就是类中定义的服务。方法描述了对象执行操作的算法。面向对象的概念例如:为了Circle类的对象能够响应在屏幕上显示自己的消息Show(GREEN),在Circle类中必须给出成员函数Show(int color)的定义,也就是要给出成员函数的实现代码。属性属性: :类中所定义的数据,它是对客
8、观世界实体所具有的性质的抽象。类的每个实例都有自己特有的属性值。例如:Circle类中定义的代表圆心坐标、半径、颜色等的数据成员,就是圆的属性。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计消息消息: :要求某个对象执行类中所定义的某个操作的规格说明。消息由3个部分组成:接受消息的对象;消息选择符(消息名);零个或者多个参数。类类面向对象的概念例如:MyCircle是一个半径4厘米,圆心位于(100,200)的Circle类的对象,也就是Circle类对象的一个实例。当要求它以绿色在屏幕上显示自己时,则应该发送下列消息: MyCircle.Show(GRE
9、EN)MyCircle是接受消息的对象名称;Show是消息名;括号内的GREEN是消息的参数。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象思想的三大特性封装多态继承面向对象面向对象的三大特性面向对象的概念上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计类类面向对象的概念1.1.封装封装实现信息隐藏,对外界隐藏了对象的实现细节。使用对象时,只需要知道它向外界提供的接口形式,无法知道它的数据结构细节和实现操作的算法。对象具有封装性的条件:对象具有封装性的条件:有一个清晰边界,所有私有数据和实现操作的代码都封装在这个
10、边界内,从外部看不见,也不能直接访问。有确定的接口(即协议)。这些接口就是对象可以接受的消息,只能通过向消息发送消息来使用它。受保护的内部实现。实现对象功能的细节(私有数据和代码)不能够在定义该对象的类的范围外访问。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计类类面向对象的概念2.2.继承继承能够直接获得已有的特征和性质,而不必重复定义它们。面向对象的软件技术中,继承是指子类自动地共享基类中定义的数据和方法的机制。属于某个类的对象除了具有该类所描述的性质外,还具有类等级中该类上层全部基类描述的一切性质。继承性具有传递性。单继承:一个类只有一个父类;多重继
11、承:一个类有多个父类。例如:A.B两个类,B是A的子类;则B类创建实例b1时,b1所能执行的操作既有B类中定义的方法,又有A类中定义的方法。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象的概念3.3.多态性多态性在面向对象软件技术中,多态性指父类定义的属性被子类继承后,可以具有不同的数据类型或者表现出不同的行为。类等级的不同层次可以共享一个行为(方法)的名字,而不同层次的各个类按照自己的需要来实现这个行为。多态性使得同一个属性或服务名在父类和子类中具有不同的语义。相同的操作行为作用于父类和子类的具体对象上可能有不同的结果。多态形式下不同对象收到同样
12、的消息,每个对象会以适合自身的方式去响应共同的消息。例如:父类“几何图形”中定义方法“绘图”。子类“圆形”“多边形”都继承了几何图形类的绘图方法,但功能不同。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象开发过程面向对象开发的过程面向对象开发的过程面向对象分析面向对象设计面向对象编程面向对象测试上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象开发过程1.1.面向对象分析面向对象分析n 主要任务是明确用户需求;找出问题域的对象以及对象之间的关系;采用标准化的面向模型规范描述需求,形成OOA模型。n OOA强
13、调直接针对用户问题域中客观存在的事物设立OOA模型中的对象;问题域中有哪些值得考虑的事物,OOA中就有哪些对象。n 用对象的属性和操作分别描述事物的静态特征和动态行为。n 把具有相同属性和操作的对象归结为类;用类结构描述父类和子类的继承关系。n 确定对象之间的关系;用类关联关系描述事物之间的静态联系,用消息连接描述事物之间的动态联系。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象开发过程2.2.面向对象设计面向对象设计n 在OOA模型的基础上引入界面管理、任务管理和数据管理等方面内容,形成OOD模型。n 在OOA的基础上进行必要的调整和修改,将其作
14、为OOD的一部分。进一步确定对象的行为和属性;进一步确定对象之间的关系;确定对象的动态模型;增加各种服务类;确定系统结构,划分对象包。n 针对具体实现中的人机界面、任务管理和数据存储等因素补充一些与实现有关的部分。这部分与OOA采用相同的表示法和模型结构。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象开发过程3.3.面向对象编程面向对象编程n 确定适合的面向对象编程语言,把OOD模型的每个成分书写出来。n 实现对OOD模型中软件系统各对象类的详细描述,将编好的各个类代码模块根据类的相互关系集成为完整的软件系统。n 程序员用具体的数据结构定义对象的属
15、性,用具体的语句实现服务流程图中所表示的算法。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计面向对象开发过程4.4.面向对象测试面向对象测试n 对于面向对象方法开发的软件,测试环节可以继续使用面向对象技术,进行以对象概念为中心进行测试。n 测试人员利用开发人员提供的测试用例和用户提供的测试用例,分别检验编码完成的各个模块和整个软件系统。n 测试可以与开发同步。n 利用面向对象的原则组织测试,可以更准确地发现程序测试错误并提高测试效率。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Grady Booch的的B
16、ooch方法Rumbaugh的OMT方法方法Coad/Yourdon的的OOA-OOD方法Ivar Jacobson的OOSE方法主要面向对象方法主要面向对象方法上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述BoochBooch方法方法n 1986年,Booch最先描述了面向对象软件开发方法的基础问题,提出了面向对象开发是一种根本不同于传统的功能分解的设计方法。n Booch方法是以设计作为开发重点的代表性方法,把工作集中在开发过程的设计阶段。n 整个开发工作分为微观过程和宏观过程。微观过程用于建立一个反复的递增的开发框架,宏观过程则用于对微观
17、过程进行控制。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Booch方法方法微观过程四个循环步骤:微观过程四个循环步骤:1. 确定类和对象 识别问题空间中关键的抽象以及产生动态行为的重要机制2.确定这些对象和类的语义 建立类和对象的含义3.确定这些类和对象之间的关系 确定类的行为(方法) 确定类和对象之间的相互作用(即行为的规范描述) 利用状态转移图描述对象状态 利用对象图(对象间相互作用)描述行为模型4.实现类和对象 选择编程语言实现上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Booch方
18、法方法宏观过程包括宏观过程包括5个步骤:个步骤:1.概念化、建立核心需求。2.分析和建立理想的行为模型。3.设计并创建体系结构。4.细化并完善和实现模型。5.维护、管理并提交模型。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Booch方法Booch方法的力量在于其丰富的图技术,包括:方法的力量在于其丰富的图技术,包括: 类图(类结构静态视图) 对象图(对象结构静态视图) 状态转移图(类结构动态视图) 时态图(对象结构动态视图) 模块图(模块体系结构) 进程图(进程体系结构)Booch方法比较适合于系统的设计和构造。上海财经大学信息管理与工程学
19、院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Coad/Yourdon方法方法主题层类和对象层结构层属性层服务层n 1990年,Peter Coad以及Edward Yourdon提出,系统介绍了OOA和OOD两个部分n Coad/Yourdon方法严格区分了面向对象分析OOA和面向对象设计OOD。利用五个层次和活动定义和记录系统行为,输入和输出。n 面向对象分析阶段经过五个层次的活动后的结果是一个分成五个层次的问题域模型,由类及对象图表示。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Coad/Yourdon方法面向对象
20、分析阶段建立问题域的五层模型。 确定类及对象,建立类和对象层。 确定继承与合成结构,建立结构层。 将相似的类和对象归纳为同一主题,建立主题层 。 确定对象的属性,建立属性层。 定义服务(方法),确定每个服务和消息连接,建立服务层。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Coad/Yourdon方法面向对象设计阶段对OOA分析结果作进一步规范化整理,以便能够被OOP接受。 对象定义规格的求精过程。根据面向对象的概念分析模型进行修改和删除;分类整理,便于数据库设计和程序处理模块设计的需要。 数据模型与数据库设计。需要确定类、对象属性的内容,消
21、息连接方法,系统访问,数据模型方法等。最后每个对象实例的数据都必须落在面向对象的库结构模型中。 优化。对象和结构的优化、抽象和集成。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Rumbaugh的OMT方法方法1991年,Jim Rumbaugh等人提出。该方法在实体关系模型基础上扩展了类、继承和行为,是以分析为重点的代表性方法。该方法强调对系统和相关问题的理解,从三个视角描述系统并建立模型:对象模型(信息结构图)描述对象的静态结构和它们之间的关系。主要概念包括:类、属性、操作、继承、关联、聚合。动态模型(状态转换图)描述系统那些随时间变化的方
22、面,主要概念包括:状态、子状态和超状态、事件、行为、活动。功能模型(数据流图)描述系统所有的计算方法对象操作的含义,主要概念包括:加工、数据存储、数据流、控制流、角色。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Rumbaugh的OMT方法方法该方法将开发过程分为四个阶段:1 分析基于问题和用户需求的描述,建立现实世界的模型。问题描述;对象模型信息结构图数据词典;动态模型状态转换图全局事件流图;功能模型数据流图约束2 系统设计结合问题域的知识和目标系统的体系结构(求解域),将目标系统分解为子系统。3 对象设计基于分析模型和求解域中的体系结构等添加的实现细节,完成系统设计。系统设计负责划分子系统,确定体系结构;对象设计将实现细节加入到设计模型中去。主要产物包括:细化的对象模型;细化的动态模型;细化的功能模型。4 实现将设计转换为特定的编程语言或硬件,同时保持可追踪性、灵活性和可扩展性。上海财经大学信息管理与工程学院第第1111讲讲 面向对象分析与设计面向对象分析与设计对象建模概述Jacobson方法(方法(OOSE) 19
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 压疮护理的培训材料
- 2026浙江杭州市西溪实验学校诚聘小学语文老师(非事业)笔试备考试题及答案解析
- 心绞痛患者的压力管理
- 2026浙江衢州龙游县创新咨询服务有限公司招聘合同制员工12人考试参考题库及答案解析
- 2026河北某大学直招宿舍管理人员考试备考题库及答案解析
- 2026浙江宁波樟村四明山革命烈士陵园服务中心招聘派遣制人员1人笔试备考试题及答案解析
- 2026河南南阳张仲景医院招聘考试参考试题及答案解析
- 青岛市2026届公费医学毕业生选聘笔试备考试题及答案解析
- 2026春季广西北海市银海区友谊中学学期教师招聘4人考试参考试题及答案解析
- 高中教师教学课题研究路径、问题与实践建议
- 2025-2026学年第二学期(2026年春期)七年级下册生物教研组工作计划(部编人教版新教材)
- 2025年黑龙江交通职业技术学院单招综合素质考试试题及答案解析
- 广东省深圳市红岭中学2025-2026学年高一上学期第一学段考试语文试题(含答案)
- (2026春新版)西师大版三年级数学下册全册教案
- 2025年华电校招要笔试及答案
- 南瑞集团在线测评试题
- 高级会所运营管理方案与策略
- 社保局内控管理规范制度
- 2026年陕西铁路工程职业技术学院单招职业技能测试题库及参考答案详解一套
- 人工智能通识导论 课件 王万良 第1-9章 人工智能概论-连接主义:人工神经网络
- 安全工程毕业论文
评论
0/150
提交评论