- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17章 面向对象分析与软件复用 17.1 软件开发方法 17.2 软件复用 17.3 对象模型化技术 17.4 统一建模语言(UML) 17.5 面向对象技术的新应用 17.6 面向对象的分布式开发系统 组件就像日常生活中常用到的汽车零件或计算机零件,组件一词只是用来指明整体与部分之间的关系。 17.1 软件开发方法 软件开发方法是一种使用早已定义好的技术集及符号表示习惯组织软件生产过程的方法。其方法一般表述成一系列的步骤,每一步骤都与相应的技术和符号相关。软件开发的目标是在规定的投资时间内,开发出符合用户需求的高质量的软件。为了达到此目的,需要有成功的开发方法。 17.1.1 结构化方法 结构化方法(Structure Method)是最早、最传统的软件开发方法。20世纪70年代初,就提出了用于编写程序的结构化程序设计方法,而后发展到用于设计的结构化设计(SD)方法、用于分析的结构化分析(SA)方法;以及结构化分析与设计技术(SADT)等;面向数据结构的Jackson方法、WARNIER方法等。 结构化分析,就是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模型,从而完成需求分析。 结构化设计,就是根据模块独立性准则、软件结构准则,将数据流图转换为软件的体系结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。 结构化程序设计,就是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。 结构化方法总的指导思想是自顶向下、逐步求精。它是一种面向数据流的开发方法。它的基本原则是功能的分解与抽象。 17.1.2 Jackson方法 Jackson方法是一种面向数据结构的详细设计方法。20世纪70年代Jackson方法的核心是面向数据结构的设计,以数据驱动为特征;20世纪80年代初开始,Jackson方法已经演变到基于进程模型的事件驱动。 Jackson方法把问题分解为可由三种基本结构形式表示的各部分层次结构。这三种基本结构形式就是顺序、选择和重复。 Jackson方法提出一种与数据结构层次图非常相似的数据结构表示法,并提出一组基于这种数据结构的程序结构的映射和转换过程。 JSP方法是以数据结构为驱动的,适合于小规模的项目。当输入数据结构与输出数据结构无对应关系时,难于应用该方法。基于JSP方法的局限性,又发展了JSD(Jackson System Development)方法,它是JSP方法的扩充。 JSD方法是一个完整的系统开发方法。该方法首先建立现实世界的模型,再确定系统的功能需求,对需求的描述特别强调了操作之间的时序性,它以事件作为驱动,是一种基于进程的开发方法。 17.1.3 维也纳开发方法 VDM是一种形式化的开发方法,软件的需求用严格的形式语言描述,把描述模型逐步变换成目标系统。 VDM是一个基于模型的方法,它的主要思想是:将软件系统当作模型来给予描述,具体说就是把软件的输入/输出看作模型对象,而这些对象在计算机内的状态可看作该模型在对象上的操作。 VDM从抽象说明开始,对软件系统功能条件给出定义,对其输入/输出用不同的数学域进行分类定义,这称为语法域说明。具体说明对象的真正含义,称为语义域说明。对系统在计算机内状态进行描述,称为加工函数(或语义函数)。 17.1.4 面向对象方法 面向对象软件开发(Objected -Oriented Software Development)是近年来最流行的软件开发方法。 面向对象方法是一种运用对象、类、继承、封装、聚合、消息传送、多态性等概念来构造系统的软件开发方法。 面向对象开发的基本出发点是尽可能按照人类认识世界的方法和思维方式来分析和解决问题。 面向对象开发方法包括面向对象分析、面向对象设计和面向对象实现。面向对象开发方法有Booch方法、Coad方法和OMT方法等。 17.2 软件复用 开发软件与维护、扩充软件的功能已经成为一项艰巨的任务。有鉴于此,软件再使用的技术被积极的运用。 17.2.1 软件复用的层次 源程序代码的复用。这是最简单也最直接的方法,将现成的程序代码直接拿来引用,包括以下三种方法: (1)最简单的方法是将程序代码用剪贴与复制的方式直接贴到程序上。 (2)利用子程序调用或是功能引用的方式,去调用已经编译完成并且执行无问题的程序。 (3)执行时才去引用执行函数库或是动态链接函数。 设计的复用。大部分的时间均花在分析、设计上,对于分析来说会因为不同工程而有所差异,因此设计的再使用似乎更为重要。 设计模式的复用。近来面向对象的分析工具,有令人注意的开发,某些地方出现一些分析设计的辅助工具,是帮助
文档评论(0)