软件工程导论第12章(Office2007版)
软件工程导论课件
第12章 面向对象实现
12.1 12.2 12.3 12.4 12.5
程序设计语言 程序设计风格 测试策略 设计测试用例 小结
软件工程导论课件
面向对象实现与面向过程的一样应包括: 编码,测试。面向对象的分析和设计共同的模型使它们难于分开。 面向对象编程(OOP)需要OOP语言OOL OOL具有自己的特点和风格。 面向对象程序中的封装、继承和多态等机制,给测 试带来新特点,增加了测试和调试的难度。
软件工程导论课件
应用的实现 应用的实现是在所有的类都被实现之 后的事情。 实际上,当把类开发出来时就已经实 现了应用。 每个类提供了完成应用所需要的某种 功能。 在C++和C中有一个main( )函数。可 以使用这个过程来说明构成应用的主 要对象的那些类的实例。3
软件工程导论课件
12.1 程序设计语言12.1.1 面向对象语言OOL的优点面向对象的设计适宜用OOL来实现, 理论上也可 以用非OOL实现但不可取。 若用非OOL编写面向对象程序,则程序员必须自 己实现OOL编译程序自动提供的面向对象的概念 和机制:类,继承,封装。 若有可能,应选用OOL,因为它的下述重要优点。4
软件工程导论课件
1. 一致的表示方法 面向对象开发基于不随时间变化的、一致的表示方 法OO模型:OOA,OOD,OOP。2. 可重用性 软件开发组织可重用OOA, OOD和OOP结果。 3. 可维护性 保持文档与源程序一致的完全一致几乎不可能。 OOL的可读性(对象名等) =可维护性。
软件工程导论课件
12.1.2 面向对象语言的技术特点两大类面向对象语言: 纯面向对象语言: Smalltalk和Eiffel等 混合型面向对象语言: 过程语言+OO,如C++ 纯面向对象语言着重支持面向对象方法研究和快速 原型的实现, 混合型面向对象语言的目标则是提高运行速度和使 传统程序员容易接受面向对象思想。
比较面向对象语言/开发环境时需要考察的特点:6
软件工程导论课件
1. 支持类与对象概念的机制:内存管理 允许用户动态创建对象意味着系统必须处理内存管 理问题。 有两种管理内存的方法: 1)语言的运行机制自动管理内存,即自动回收“垃 圾”的机制;(必须采用先进的垃圾收集算法) 2)由程序员编写释放内存的代码。 (例如: 程序员定义析构函数(destructor)。每当一个 对象超出范围或被显式删除时,就自动调用析构函 数。这种机制使得程序员能够方便地构造和唤醒释 放内存的操作)7
软件工程导论课件
2. 实现整体-部分(即聚集)结构的机制两种实现关联方法: 指针和独立的关联对象 大多数现有的面向对象语言并不显式支持独立的关 联对象,在这种情况下,使用指针是最容易的实现 关联的方法。
软件工程导论课件
3. 实现一般-特殊(即泛化)结构的机制实现继承 + 解决名字冲突。 名字冲突指的是继承多个基类可能出现的重名问题。
某些语言拒绝接受有名字
冲突的程序,另一些语言 提供了解决冲突的协议。 程序员应该尽力避免出现名字冲突。
软件工程导论课件
4. 实现属性和服务的机制 属性的机制: 支持实例连接; 属性的可见性控制; 对属性值的约束。 服务的机制: 支持消息连接(即表达对象交互关系) ; 控制服务可见性; 动态联编。
软件工程导论课件
5. 类型检查 强/弱类型: 语法规定变量/属性分类的严格性。 强类型优点: 一是在编译时能发现程序错误, 二是增加了优化的可能性。 强类型有助于提高软件的可靠性和运行效率. 强类型宜用于开发软件产品, 弱类型适于快速开发原型。
软件工程导论课件
6. 类库 类库:编译/开发环境提供的重用类构件。 类库包含实现通用数据结构(例如,动态数组、表、 队列、栈、树等等)的类,GUI用户界面类。7. 效率 面向对象语言的主要缺点是效率低: 解释型语言, 动态联编. 类库中提供的算法和数据结构更高效. 差别可以忽略,利大于弊。
软件工程导论课件
8. 持久保存对象 不依赖于程序执行的生命期而长时间保存数据对象 的两个原因: (1) 实现不同时运行程序间传递数据 (2) 恢复被中断了的程序的运行 理想情况下,应该使程序设计语言语法与对象存储 管理语法实现无缝集成。
软件工程导论课件
9. 参数化类 类的数据(属性)类型可以由参数给定。 一个类可以对不同的数据类型施以同样的操作。如 对整数和实数排序。 Eiffel 和C++语言提供了参数化类/类模板。10. 开发环境 软件工具或开发环境对软件生产率有很大影响。 一个语言可有不同的编译程序。 CASE工具与语言的兼容性。14
软件工程导论课件
12.1.3 选择面向对象语言选择面向对象语言应考虑的因素: 1. 将来能否占主导地位 语言的生命力及稳定性:维护的考虑。 2. 可重用性 影响重用的要素:封装,继承,多态。 3. 类库和开发环境 语言、开发环境和类库这3个因素共同决定可重用 性。 类库是否提供有价值的类? 开发环境是否提供使用方便的类库编辑和浏览工具。15
软件工程导论课件
4. 其他因素 在选择编程语言时,应该考虑的其他因素还有: 对用户学习面向对象分析、设计和编码技术所能提 供的培训服务; 在使用这个面向对象语言期间能提供的技术支持; 能提供给开发人员使用的开发工具、开发平台、发 行平台; 对机器性能和内存的需求; 集成已有软件的容易程度(调用其它语言的模块)。
软件工程导论课件
12.2 程序设计风格为适应面向对象方法所特有的概念(例如,继承性) 而必须遵循的一些新准则。
12.2.1 提高可重用性两种代码重用: 1) 本项目内的代码重用,2) 重用 旧/外项目的代码。 1) 内部重用:利用继承机制共享相同或相似的部分
软件工程导论课件
12.2.1 提高可重用性两种代码重用: 1) 本项目内的代码重用,2)
重用 旧/外项目的代码。 1) 内部重用:利用继承机制共享相同或相似的部分
软件工程导论课件
实现两类重用的程序设计准则: 1. 提高方法的内聚 一个方法(即服务)只完成单个功能, 否则把它分解 成几个更小的方法。 2. 减小方法的规模 把规模过大的方法(代码长度超过一页纸),分解成 几个更小的方法。 3. 保持方法的一致性 功能相似的方法应该有一致的名字、参数特征(包 括参数个数、类型和次序)、返回值类型、使用条 件及出错条件等。19
…… 此处隐藏:1225字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [高中教育]电子线路高频非线性部分2.1
- [高中教育]中班美术活动——我的小手
- [高中教育]常用三极管参数大全
- [高中教育]计算机常见故障及解决办法
- [高中教育]风机基础环水平度控制方法探讨
- [高中教育]机械安全工程(专升本)阶段性作业3
- [高中教育]2009年安徽省高考语文考试说明刍议
- [高中教育]unit5 let's eat公开课教案设
- [高中教育]计算机网络原理课后习题答案
- [高中教育]2016-2022年中国新能源市场研究与投资
- [高中教育]2015-2020年中国会议行业市场评估及投
- [高中教育]经销商大会峰会主持人串词开场白
- [高中教育]2014新版北师大数学三年级上册小熊购物
- [高中教育]七年级第一学期体育与健康全套教案
- [高中教育]第三章:国际金融市场
- [高中教育]六年级下册数学单元测试-2.比例 北师大
- [高中教育]2016年上海海事大学法学院624刑法之《
- [高中教育]中国碳化钙产业竞争现状及未来五年投资
- [高中教育]网络时代,我们怎么玩
- [高中教育]圆锥曲线——高中数学基础知识与典型例
- 高集医院世界艾滋病宣传日活动方案
- 苏教版六年级英语上册期末试卷含答案
- 全民枪战生化英雄模式幽灵怎么玩 生化
- 灿烂的宋元文化一导学案
- 第2章货币资金与应收款项
- 北师大版八年级下册数学第三章《分式》
- 浅析高分子材料成型加工技术
- 华南理工大学2013年度共青团先进集体及
- 教师资格科目二小学教案模板(共合集)
- 工程扩建可研报告
- 中华人民共和国海事局2014年度招录公务
- 提高农村小学生作文能力的教学尝试
- 徒手心肺复苏术操作步骤
- 毛概试题库7-15章
- 2014-2015学年度(上)初中班主任工作计
- 企业驾驶员安全生产责任书
- 第07章 不等式测试题-2016年高考文科数
- 医疗器械经营企业工作程序
- 考研英语必背36篇_彩版_精华
- 初中9月13-15假期作业 (1)




