随着计算机科学的发展和应用领域的不断扩大.docxVIP

随着计算机科学的发展和应用领域的不断扩大.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
随着计算机科学的发展和应用领域的不断扩大,对计算机技术的要求越来越高。特别是当计算机硬件有了飞速发展之后,各种应用领域对软件系统提出了更高的要求。而传统系统分析与设计方法一结构化分析法,它从系统的功能入手,用它开发的系统是实现模块功能的函数和过程的集合。由于用户的需求和软、硬件技术的不断发展变化,按照功能划分设计的系统模块必然是易变的和不稳定的。这样开发出来的模块可重用性不高。因而,结构化系统分析与设计已无法满足用户需求的变化。发展软件质量,缩短软件开发周期,发展软件可靠性、可扩充性和可重用性迫使软件界人士不断研究新方法、新技术,探索新途径。面向对象技术是目前流行的系统分析与设计技术。它的提出,主要是为了解决结构化系统分析与设计所不能解决的代码重用问题。它从所处理的数据入手,以数据为中心,把编程问题视为一个数据集合,数据相对于功能而言,更具稳定性。面向对象技术最初是从面向对象的程序设计开始的,它的出现以20世纪60年代Simula语言为标志。面向对象语言Smalltalk的出现,进一步发展和完善了面向对象的程序设计语言,从此面向对象也和开发方法开始结合,出现了面向对象的开发方法。20世纪80年代中后期,面向对象系统分析与设计逐渐成熟,被计算机界理解和接受。 面向对象方法学基本思想是:对问题空间进行自然分割,以更接近人类思维的方式建立问题域模型,以便对客观实体进行结构模拟和行为模拟,从而使设计出的软件尽可能直接地描述现实世界,构造出模块化的、可重用的、维护性好的软件,同时限制软件的复杂性和降低开发维护费用。 面向对象的方法具有四个基本特征: 1)抽象:抽象就是忽略一个主题中与当前目标无关的方面,注意与当前目标有关的方面。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个实体。数据抽象定义了数据类型和施加于该类型对象上的操作。 2)继承:继承是一种联结类的层次模型,并且允许和鼓励类重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生新类继承原始类的特性。派生类可以从它的基类继承方法和实例变量,并且新类可以修改或增加新的方法使之更适合特殊需要。继承性很好地解决了软件的可重用性问题。 3)封装:是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。 4)多态性:指允许不同类的对象对同一消息作出响应。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好地解决了函数同名问题。 面向对象程序设计的四大特性,使得软件开发时间缩短,效率高,可靠性好,所开发的程序更强壮,应用程序更易于维护、更新和升级。 分析是问题抽象(做什么),设计是问题求解(怎么做),实现是问题的解(结果)。在问题抽象阶段,结构化方法面向过程,按照数据变换的过程寻找问题的结点,对问题进行分解。由于不同人对过程的理解不同,故面向过程的功能,所分割出的功能模块会因人而异。对象是对现实世界实体的模拟,因而能更容易理解需求,即使用户和分析者之间具有不同的教育背景和工作特点,也可很好地沟通。而且,面向对象的对象细分,从同一问题领域的对象出发,不同人得出相同结论的比率较高。 在设计上,结构化方法产生自顶向下、结构清晰的系统结构。每个模块有可能保持较强的独立性,但它往往与数据库结构相独立,功能模块与数据库逻辑模式间没有映射关系,程序与数据结构很难封装在一起。如果数据结构复杂,模块独立性很难保证。面向对象方法抽象的系统结构往往并不比结构化方法产生的系统结构简单,但它能映射到数据库结构中,很容易实现程序与数据结构的封装。 在软件工程基本原则中有一条“形式化原则”,即对问题世界的抽象结论应该以形式化语言(图形语言、伪码语言等)表述出来。结构化方法可以用数据流图、系统结构图、数据舌辛典、状态转移图、实体关系图来进行系统逻辑模型的描述;而面向对象方法可以使用对象模型图、数据舌辛典、动态模型图、功能模型图。其中对象模型图近似系统结构图与实体关系图的结合,动态模型图类似状态迁移图,功能模型图类似数据流图。 结构化程序设计从系统的功能入手,按照工程的标准和严格的规范将系统分解为若干功能模块,系统是实现模块功能的函数和过程的集合。由于用户的需求不断变化按功能设计的系统模块必然是易变的和不稳定的。面向对象程序设计以数据

文档评论(0)

z190712l + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档