欢迎来到天天文库
浏览记录
ID:20189334
大小:57.50 KB
页数:7页
时间:2018-10-11
《软件开发过程中的方法研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、软件开发过程中的方法研究[]先进的生产模式要求信息集成和功能集成贯穿于生产周期的每一阶段,功能的集成需要软件系统的支持,从而推动先进生产模式的实现。软件开发过程是建造软件解决方案的关键要素。本文详细讨论了两类主要的过程开发方法,即面向对象方法和结构化方法。 [关键词]软件开发;面向对象方法;结构化方法 :TP311.52:A:1009-914X(2013)07-0065-01 一、软件系统的开发过程 软件可划分为智能软件、系统软件和应用软件三个领域。由于不同的软件采用的开发知识不同,从而构成各自相应的方法。尽管,智
2、能软件和应用软件分属不同的领域,但智能软件和应用软件都是计算机软件。建造软件系统的解决方案由三个关键的相互关联的基本要素组成:1.软件工程过程(sep)。2.软件工程过程支持环境(sepse,如开发工具和建模语言等)。3.培训、指导和咨询服务。 二、当前主流的软件开发方法 (一)结构化方法 1.结构化程序设计方法 20世纪60年代,围绕是否应取消goto语句,人们展开了一场激烈的争论。最终人们认识到,软件开发中的问题的解决不仅仅是简单的取消goto语句,而是应该改变传统软件开发思维观念,在此基础上创建新的程序设计方
3、法。 围绕goto语句争论的结果使人们形成了新的思维观念:编写程序时,在正确地实现了软件功能的前提下,必须考虑到程序的可维护性,重视程序的可读性、清晰性和可理解性,而不能随心所欲地去过分追求程序编写技巧。 由于使用三种基本程序结构(顺序、选择、循环)组成的程序具有良好的可读性、清晰性和可理解性,容易维护,所以逐渐成为主流的程序结构标准。按照这样的新思维观念,形成了一个新的程序设计方法—结构化程序设计方法,结构化程序设计是根据结构程序设计原理,将每个模块的功能用相应的标准控制结构表示出来,从而实现详细设计。 2.结构化
4、分析方法和结构化设计方法 结构化程序设计方法的巨大成功推动了结构化分析方法和结构化设计方法的发展。结构化分析方法根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图来建立系统的功能模块,从而完成需求分析工作。 结构化设计方法使用模块化和自顶向下逐步细化技术,将数据流图等结构化分析的结果转化为软件系统总体结构,用软件结构图来建立系统的物理模型,实现系统的概要设计。 结构化软件开发有效地遏制了软件危机的蔓延,直到现在仍在发挥作用。结构化方法简单实用,技术成熟,应用广泛,但难以承担大规模的项目或特别复杂的项目,难以解
5、决软件重用(复用)问题,难于适应需求变化,且软件维护依然比较复杂。 (二)面向对象方法 面向对象软件开发方法包括面向对象分析方法(object-orientedanalysis,简称ooa)、面向对象设计方法(object-orienteddesign,简称ood)和面向对象程序设计(object-orientedpro-gramming,简称oop),其核心是面向对象程序设计方法。 一般认为软件由程序和文档组成,而程序又由数据结构和算法组成,在传统的程序设计方法中,数据(数据结构)和施加在数据上的操作(算法)被分离
6、成两个独立的部分,而程序被看作是工作在数据上的一系列过程或函数的集合,然而客观世界的实体既有静态的属性(即数据),又有动态的行为(即对数据的操作),因此这两方面内容密切相关,由于传统的程序设计方法将这两方面内容分离,无形中加深了问题空间与解空间之间的裂痕,增加了软件开发的难度。 相反,面向对象方法有下列要点:客观世界是由各种对象(object)组成的,复杂对象可以由简单对象组成。有共同属性和方法的一组对象抽象为一个类(class)。一个类(子类)可以继承另外一个类(父类)的方法和属性,这一特性称为继承。对象之间通过传递消
7、息进行通信。 以上特点可以归结为如下的公式:object-ori-ented=object+classification +inheritance+mu-nicationessages。在面向对象程序设计方法中,数据和施加在数据上的操作被封装在一起,形成类和对象的概念,用对象分解取代了传统方法的功能分解。这一思维观念创新使得问题空间与解空间的结构基本一致,有利于软件复用,也与人们通常认识世界的思维方式相符,[]先进的生产模式要求信息集成和功能集成贯穿于生产周期的每一阶段,功能的集成需要软件系统的支持,从而推动先进生产模
8、式的实现。软件开发过程是建造软件解决方案的关键要素。本文详细讨论了两类主要的过程开发方法,即面向对象方法和结构化方法。 [关键词]软件开发;面向对象方法;结构化方法 :TP311.52:A:1009-914X(2013)07-0065-01 一、软件系统的开发过程 软件可划分为智能软件、系统软件
此文档下载收益归作者所有