- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象学习方法学
面向对象学习方法学
面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件
的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间
与实现解法的解空间在结构上尽可能一致.
与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用
性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.
7.1 基础知识
7.1.1 传统方法学的缺点
结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件
需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.
过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.
问题的表现
生产效率低
在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少
重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的
质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.
不能满足用户需要
实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足
用户需求的变化.
主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至 开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.
软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.
软件很难维护
实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.
2.问题的原因
结构化技术本身的问题
结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。由此可见,结构分析和结构设计构造系统的技术核心是围绕实现功能的“过程”进行的。当用户需求的变化往往造成系统结构的较大变化,从而实现这种需要花费很大的代价。
另一方面,软件的系统结构设计依赖于对系统边界的定义。因此,结构化方法的的特征很难把这种变化扩展到新的边界。系统结构修改和扩充比较困难。
预先定义的需求可能会过时
有一定规模的软件,其开发时间一般需要一到三年时间。有些需求相对稳定的软件使用传统的开发途径开发时,采用预先定义需求的策略是可行的。但是有些软件,特别是应用软件,用户对他们的需求与外部环境,策略或内容等密切相关。因此,在不同时间用户的需求可能有较大不同。如果按照预先定指定的需求开发软件,当软件开发出来的时候,用户的需求就发生了变化。
语言鸿沟
软件开发是对问题域的认识和描叙。从描叙事物方面看,它在分析和设计阶段提供了一些从问题域逐步过度到编程语言的描叙手段。这如同在语言的鸿沟上铺设了一段平坦的路段。但是在传统的软件工程方法中,这些路段并不连接。就是说,并没有完全填平语言之间的鸿沟。
系统需求的模糊性
大多数应用系统,特别是信息管理系统(MIS)之类的数据处理系统。由于其模型是随着社会的变迁而变化的。因此,其需求模型往往很难预先准确定义。
另一方面由于需求分析目前还不能做到形式化。许多用户对他们的需求最初只要模糊的概念。所以就凭需求只要初步设想就能准确的说出全部需求是不切实际的。
7.1.2 面向对象的基本概念
对象
对象是问题域或实现域中某些事物的一个抽象,他反映事物在联系中需要保存的信息和发挥作用;他是一组属性和有权对这些事物进行操作的一组服务的封装体。
2. 类
类是具有相同属性和服务的一组对象的集合,他为属于该类的全部对象提供了统一的抽象描叙,其内部包括属性和服务两个主要部分。
3.继承
特殊类的对象具有拥有其一般类的全部属性和服务,称做特殊类对一般类的继承。
4.封装
把对象的属性和服务结合成为一个独立的系统单位,并尽可能隐蔽对象的内部细节。
5.消息
消息就是向对象发出的服务请求,他应该含有下述消息:提供服务的对象标志,服务标志,输入信息和回答信息。
(p138)
6.结构与连接
面向对象方法运用一般—特殊结构,整体—部分结构,实例连接和消息连接描叙对象之间的关系。
一般—特殊结构。一般—特殊结构是由一组具有一般—特殊关系的类所组成的结构。
整体—部分结构。整体—部分结构由一组彼此间存在这种关系的对象组成。
实例连接。实例连接反映对象与对象之间的静态联系。例如教师
文档评论(0)