版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1面向对象技术概述2软件危机,于20世纪60年代爆发产生:大型软件的开发过程中出现了复杂程度高、研制周期长、正确性难以保证的三大难题。表现形式:用户需求不明确、变更过多;软件成本日益增长;开发进度难以控制;软件质量差;软件维护困难。产生的原因:软件开发无计划性;软件需求不充分;软件开发过程无规范;软件产品无评测手段。解决途径:应该加强软件开发过程的管理;推广使用开发软件的成功技术与方法;开发和使用好的软件工具。软件危机与软件工程3软件工程,由NATO于1968年提出发展:软件的需求是软件发展的动力;软件工作的范围从只考虑程序的编写扩展到涉及整个软件生存周期。软件生存周期一般可划分为计划、开发、运行与维护三个时期,而每个时期又划分为若干个阶段。软件开发的现状软件工程学科不断发展软件危机仍然存在中小型软件开发较为成熟,大型软件存在问题软件危机与软件工程4常见软件开发方法瀑布模型快速原型螺旋模型…软件危机与软件工程先做试验开发“原型”,其目标只是在于探索可行性,弄清软件需求;然后在此基础上获得较为满意的软件产品。5
软件开发的基本认识大型软件系统的特点开发代价高、时间长,参与人员多,软件生命周期长。软件系统开发的两个方面软件开发过程软件开发中资源的协调和管理软件工程的目的在规定的时间、规定的费用内开发出满足用户需求的高质量的软件系统。低错误率、好用、易用、可维护、可重用、可移植等6软件开发的基本认识软件产品与硬件产品的区别表现形式不同生产方式不同产品需求不同维护方式不同7软件固有的复杂性软件开发的复杂性与困难性是由于软件的特点造成的,软件的复杂性是固有的。软件复杂性的原因现有硬件系统的体系结构造成的软件开发是智力活动,很难描述软件的本质规律或特征软件系统中各元素之间的相互作用关系具有不确定性软件系统需求的变化性软件生命周期中需要适应不同的硬件环境8控制软件复杂性的基本方法分解,即“分而治之”或“各个击破”抽象,抽取系统本质特征,忽略非基本特征过程抽象数据抽象模块化,基本要求是高内聚、低耦合信息隐蔽,也称封装9结构化的基本思想以过程抽象对待系统的需求,其主要思想是对问题进行功能分解,直到最后分解得到的功能比较方便地处理和理解为止。Object-Oriented的基本思想对问题域进行自然分割,以更接近人类思维的方式建立问题域模型,从而使设计出的软件尽可能直接地描述现实世界,具有更好的可维护性,能适应用户需求的变化。面向对象技术10结构化方法面向对象的方法问题域问题域结构化分析分析与设计的鸿沟结构化设计结构化编程,如C语言需求工程OOA&DOOP,如Java语言测试计算机系统测试计算机系统自然语言编程语言自然语言OO编程语言数据流图
数据字典模块和过程需求模型对象模型OO方法OO建模语言
面向对象VS结构化11面向对象VS结构化传统结构化方法面向对象方法(UML建模工具为例)需求模型面向功能的文档(用户需求规格说明书)需求变化,其功能变化,所以系统的基础不稳固从用户和整体角度出发。使用系统抽象出用例图,获取需求;如需求变化,对象的性质相对功能稳定,系统基础稳定分析模型面向过程的数据流图DFD、实体—关系图ERD表示分析模型;功能分解,数据和功能/过程分开把问题作为一组相互作用的实体,,显式表示实体间的关系类、对象图表示分析模型,状态、顺序、协作、活动图细化说明设计模型模块结构图表示功能模块,模块之间的连接/调用是模块的附属形式类和对象实现,类/对象的关联、聚集、继承等连接、连接规范和约束作为显式定义实施模型体系结构设计构件图,配置图测试模型根据文档进行单元测试,集成测试,确认测试单元测试采用类图,集成测试用实现图和交互图,确认测试采用用例图12
面向对象技术的优点易于理解顺应人类思维习惯,让软件开发人员直接模拟问题空间中的对象及其行为AHare.Run;ALion.Catch(AHare);ALion.Kill(AHare);AHare.Dead;ALion.Eat;ALion.Happy;在计算机中模拟现实世界的事和物13面向对象技术的优点稳定性较高、适应性好较小的需求变化不会导致系统结构大的改变当需求变化时……功能:最易变数据:较易变对象:较稳定稳定性增加用较稳定把不稳定的包起来14面向对象技术的优点可靠性较高灵活性好可复用…15面向对象领域的基本概念OO技术领域存在一些基本术语和概念,需要掌握和理解。面向对象技术的基本观点:客观世界由对象组成,任何客观实体都是对象,复杂对象可以由简单对象组成。具有相同数据和操作的对象可归纳成类,对象是类的一个实例。类可以派生出子类,子类除了继承父类的全部特性外还可以有自己的特性。对象之间的联系通过消息传递来维系。16对象和实例对象(Object)它是系统用来描述客观事物的一个实体,是构成系统的一个基本单位。对象包括:属性和方法对象之间通过消息进行通信。实例(Instance)它与对象的概念很类型,但其含义更广泛一些。17类类(Class)它是具有相同属性和方法的一组对象的集合为某类对象提供统一的描述类是静态概念18
封装封装(Encapsulation)就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。封装(类定义)使对象形成两个部分:接口部分和实现部分。封装提供2种保护保护对象,防止直接访问对象内部细节。保护客户,防止对象实现部分的变化影响客户对象。19继承继承(Inheritance)它使子类可以继承父类的属性和方法继承增加了软件重用的机会继承中的覆盖覆盖(Override)与重载(Overload)的区别单继承与多继承20publicclassA
{Stringname;
publicStringgetValues(){return“Valueis:”+name;}}publicclassBextendsA
{Stringaddress;
publicStringgetValues(){return“Valueis:”+address;}}publicclassA{intage;Stringname;publicvoidsetValue(inti){age=i;}publicvoidsetValue(Strings){name=s;}Override与Overload21
继承继承(Inheritance)它使子类可以继承父类的属性和方法继承增加了软件重用的机会继承中的覆盖覆盖(Override)与重载(Overload)的区别单继承与多继承22单继承多继承23多态多态(polymorphism)在OO技术中,多态指使一个实体在不同上下文条件下具有不同意义或用法的能力类型编译时的多态性(overload)运行时的多态性实现方式继承接口…24消息消息(Message)是指向对象发出的服务请求包括:提供服务的对象的标识、服务标识、输入信息和回答信息等对象间的消息传递是OO方法的基本原则消息包括同步消息,请求者需要等待响应者返回异步消息,请求者不需要等待响应者返回,发出消息后可以继
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Photoshop中级职业技能考试试题及详细答案
- 铁路桥隧工高级技师操作技能试题库及答案
- 石材板材装卸搬运安全规程
- 2026年自然保护区管理局公务员招聘考试试题及答案
- 电动葫芦安全操作规程
- 2025-2026学年辽宁省盘锦市初中政治七年级期末下册深度自测思维拓展题(详细参考解析)
- OCA认证(Oracle数据库助理工程师)全真考试题目及详细答案解析
- 除灰、除渣、电除尘考试-电除尘值班员(初级工)考试试题及答案
- 饲料除尘系统运维工规程
- 材料员考试试题及答案
- 黑白木刻版画教学课件
- 铁路隧道掘进机法技术规程
- 伤口造口专科发展
- DB32∕T 4937-2024 土地征收前社会稳定风险评估规范
- DB32/T 3932-2020“一稻三虾”生态种养技术规程
- 课本剧知识教学课件
- 列车清洗机产品介绍
- 胃排空迟缓的护理
- 《钠离子电池的应用》课件
- 9 短诗三首 繁星(一五九)说课稿-2023-2024学年统编版语文四年级下册
- 《学习指导与练习 语文 基础模块 上册》参考答案
评论
0/150
提交评论