![](https://www.jinchutou.com/images/s.gif)
软件工程-8-面向对象概述2009
37页1、Software Engineering软件工程软件工程第八章 面向对象基础一、软件工程主要方法论v结构化分析和设计方法论 也叫数据流建模方法论 把现实世界描绘为数据在信息系统中的流动,在数 据流动过程中数据发生转化。 通过自顶向下的程序设计将复杂的程序分解为程序 模块的层次图。 v存在问题 面向过程方法大多基于瀑布模型 面向过程方法是将用户需求对应到软件功能上,而 采用面向过程的处理方式来应对用户提出的功能上 的变更造成了系统结构的不稳定。 过程分析和数据分析之间的边界问题始终没解决v面向对象方法论 认为客观世界是由各种对象组成,任何事物都 是对象,复杂的对象可以由比较简单的对象以 某种方式组合而成的。 把所有的对象划分成各种对象类(简称类 class),每个对象类都定义了一组数据和一组 方法。 按照子类(或称为派生类)与父类(或称为基 类)的关系,把若干个对象类组成一个层次结 构的系统。 对象彼此之间仅能通过传递消息互相联系。传统方法传统方法系统是过程的集合系统是过程的集合过程与数据实体交互过程与数据实体交互过程接受输入并产生输出过程接受输入并产生输出面向对象方法面向对象方法系统是
2、交互对象的集合系统是交互对象的集合对象与其它对象交互对象与其它对象交互对象发送对象发送消息消息与响应消息与响应消息v传统方法论与面向对象方法论的比较v例子 设计一个程序,对不同类型的图形求其面积,并打 印结果。 请分别采用结构化思想和面向对象思想对问题展开 分析。 传统方法论 面向对象方法论 面向对象方法不再把程序看成工作在数据上的 一系列过程或函数的集合,而是把程序看作是 相互协作而又彼此独立的对象的集合。 每个对象可以看作是一个微型程序,有自己的 数据、操作、功能和目的。v面向对象分析和设计解决的两个经典问题 传统的分析和设计方法将处理问题的数据模型 和处理模型分离,而面向对象的方法将数据模 型和处理模型二者合一。 从系统分析能够平滑地过渡到系统设计。 UML将分析和设计模型统一,使用的符号统一 ,设计模型是分析模型的完善和扩充。v对象 v类 v消息 v封装 v继承 v多态二、面向对象基本概念v对象 定义 可以将问题域中任何事物都视为对象,对象是所对象是所 有数据及可对这些数据施加的操作结合在一起所有数据及可对这些数据施加的操作结合在一起所 构成的独立单位的总称构成的独立单位的总称
3、,是具有一定知识和处理 能力的独立个体。它可以是具体的物理实体,如 一个文件;也可是是人为抽象概念的,如多任务 操作系统中的调度策略。 对象包含两个基本要素: 属性:用于描述对象的静态特征,是反映类或对 象当前状态本质的数据项。 方法:用于描述对象的动态特征,反映对象的一 种行为,是对对象属性的操作、服务。 对象的形象化表示对象 属性方法3方法1操作1方法2操作2操作3界面v类 定义 具有相同属性和行为的一组对象的集合 类与对象的关系 类是对象的抽象 对象是类的实例 类的描述方法v消息 定义 消息是用来请求对象执行某一处理或回答某一要求的信 息,是对象之间建立的一种通信机制,它统一了数据流 和控制流。 通常一个消息由三部分组成: 对象名:接收消息的对象 消息名:要求接收对象完成的操作 参数:执行操作时的参数或操作返回的结果 例如 MyCircle.Show(Green): MyCircle是接收消息的对象的名字,Show是消息名 ,Green是消息的参数。 MyCircle.ChangeColor(Green); 消息的表示形式student.read(in books, out re
4、port)消息接收者参数类型 输入参数操作消息v 封装性 是面向对象的主要特征之一,它是一种信息隐蔽技术,它体 现于类的说明。 封装使数据和加工该数据的方法(函数)封装为一个整体, 使得用户只能见到对象的外部特性,而对象的内部特性对用 户是隐蔽的。 v 继承性 是子类自动共享父类之间数据和方法的机制。 一个类直接继承其它类的全部描述,同时可修改和扩充。 继承能够直接获得已有的性质和特征,而不必重复定义它们 。 v 多态性 是对象根据所接收的消息而做出动作。 同一消息为不同的对象接受时可产生完全不同的行动,这种 现象称为多态性。 三、为何使用UMLvUML 统一建模语言(UML)是描述、构造和文档化系统制 品的可视化语言1.UML的应用方式v应用方式 UML作为草图 非正式的、不完整的图,借助可视化语言的功能,用 于探讨问题或解决方案空间的复杂部分。 UML作为蓝图 相对详细的设计图 逆向工程 前向工程(代码生成)vUML只是一种工具 UML并不是面向对象分析和设计的全部,它只是一 种手段,一种工具。我们需要通过自己对对象的理 解和面向对象分析设计技术的掌握来进行系统的分 析和设计,然后
《软件工程-8-面向对象概述2009》由会员宝路分享,可在线阅读,更多相关《软件工程-8-面向对象概述2009》请在金锄头文库上搜索。
![一种高炉喷煤喷吹罐底部硫化装置密封改造](https://union.01img.goldhoe.com/2018-2/5/22ab0692-8273-47f9-aab3-8b7560549b67/pic1.gif)
一种高炉喷煤喷吹罐底部硫化装置密封改造
![谈谈公文写作的两个关键问题](https://union.01img.goldhoe.com/2018-2/5/42118715-37b6-42bf-b0f8-b3640197b5f0/pic1.gif)
谈谈公文写作的两个关键问题
![大学生职业生涯规划之课件【P33】](https://union.01img.goldhoe.com/2018-2/5/f65f675e-cd9e-4a86-9180-b87f7b3f13a6/pic1.gif)
大学生职业生涯规划之课件【P33】
![2018高考物理(新课标)一轮复习讲解第六章机械能第3讲机械能守恒定律及其应用](https://union.01img.goldhoe.com/2018-2/5/0af96ec0-e6b0-4b63-97ed-386cd4b36768/pic1.gif)
2018高考物理(新课标)一轮复习讲解第六章机械能第3讲机械能守恒定律及其应用
![两学一做四个合格做合格党员PPT课件](https://union.01img.goldhoe.com/2018-2/5/8bb2844a-7f2c-432f-9a3b-f0c1c2171f1d/pic1.gif)
两学一做四个合格做合格党员PPT课件
![软件体系结构-作业2017-3](https://union.01img.goldhoe.com/2018-2/5/006d1540-d0ca-4cba-a93f-8b6888b0fa04/pic1.gif)
软件体系结构-作业2017-3
![嵌入式Linux操作系统第2章-1](https://union.01img.goldhoe.com/2018-2/5/734b6510-c10f-4fa9-b946-8ab32e209a22/pic1.gif)
嵌入式Linux操作系统第2章-1
![售前交流技巧和经验](https://union.01img.goldhoe.com/2018-2/5/ad439f5b-0df2-48f0-a118-f4a6fab9cd5c/pic1.gif)
售前交流技巧和经验
![《民主选举:投出理性一票》课件(新人教版必修2)1](https://union.01img.goldhoe.com/2017-12/14/37519c79-5b74-4105-aaa1-4f311eecc0e3/pic1.gif)
《民主选举:投出理性一票》课件(新人教版必修2)1
![路面工程施工与检测单元一沥青混合料路面基础知识](https://union.01img.goldhoe.com/2017-11/15/f034c62c-f891-420f-b868-e2049dc8bb6c/pic1.gif)
路面工程施工与检测单元一沥青混合料路面基础知识
![有机反应机理(2013年1月21日)](https://union.01img.goldhoe.com/2017-10/11/101cd314-36c7-417c-b6e8-a27de2c838e5/pic1.gif)
有机反应机理(2013年1月21日)
![武汉枫叶学校4BC分级考试说明](https://union.01img.goldhoe.com/2017-10/11/20d96427-a830-4232-8a0e-01a7766cd06c/pic1.gif)
武汉枫叶学校4BC分级考试说明
![思想品德《友好交往礼为先》课件(人教新课标八年级上)](https://union.01img.goldhoe.com/2017-10/11/435cae48-7542-488f-90ce-31474780488b/pic1.gif)
思想品德《友好交往礼为先》课件(人教新课标八年级上)
![青开八中教师草根讲坛张所治](https://union.01img.goldhoe.com/2017-10/13/78c5b013-251f-42fe-8547-c5713a0fca45/pic1.gif)
青开八中教师草根讲坛张所治
![医患关系紧张的主要原因](https://union.01img.goldhoe.com/2017-10/13/e02b6155-fc92-4206-b527-83a92130874c/pic1.gif)
医患关系紧张的主要原因
![【南昌银沙湾农庄】项目介绍](https://union.01img.goldhoe.com/2017-10/11/dba8abfb-fa16-44d5-a872-7bfcab74e218/pic1.gif)
【南昌银沙湾农庄】项目介绍
![苏教版六年级语文8《三打白骨精》](https://union.01img.goldhoe.com/2017-10/11/29b49632-f63d-4898-90dc-b22d3d662a1c/pic1.gif)
苏教版六年级语文8《三打白骨精》
![高三第二阶段历史复习要略(周崴)](https://union.01img.goldhoe.com/2017-10/11/2f2fd28a-724b-4008-a49b-44124e51171b/pic1.gif)
高三第二阶段历史复习要略(周崴)
![语言表达准确生动得体](https://union.01img.goldhoe.com/2017-10/11/e8cba3dd-8600-4d2e-b95f-8b601d2cbe33/pic1.gif)
语言表达准确生动得体
![2017语文S版语文一年级下册识字4《拍手歌》课件3](https://union.01img.goldhoe.com/2017-10/10/e95fcd67-c092-4e77-8fd7-4fbfddfa3411/pic1.gif)
2017语文S版语文一年级下册识字4《拍手歌》课件3
![人民大2024汽车钣金实训教程(第二版) 课件实训八钣金零件的放样与下料](/Images/s.gif)
2024-06-13 10页
![人民大2024汽车钣金实训教程(第二版) 课件实训九钣金零件手工成型](/Images/s.gif)
2024-06-13 11页
![人民大2024汽车钣金实训教程(第二版) 课件实训十七车门玻璃 (可升降)的更换与调整](/Images/s.gif)
2024-06-13 11页
![人民大2024汽车钣金实训教程(第二版) 课件实训十六车身塑料件的维修](/Images/s.gif)
2024-06-13 9页
![人民大2024汽车钣金实训教程(第二版) 课件实训十二车身可拆卸覆盖件的拆装与调整](/Images/s.gif)
2024-06-13 14页
![人民大2024汽车钣金实训教程(第二版) 课件实训五机械测量法测量车身三维尺寸](/Images/s.gif)
2024-06-13 7页
![人民大2024汽车钣金实训教程(第二版) 课件实训十四车身结构件损伤修复](/Images/s.gif)
2024-06-13 8页
![人民大2024汽车钣金实训教程(第二版) 课件实训四点对点测量车身尺寸](/Images/s.gif)
2024-06-13 7页
![人民大2024汽车钣金实训教程(第二版) 课件实训十车身板件气体保护焊](/Images/s.gif)
2024-06-13 9页
![人民大2024汽车钣金实训教程(第二版) 课件实训十五汽车内饰件的拆装](/Images/s.gif)
2024-06-13 9页