浅论软件开发的方法饶勇

时间:2022-08-16 09:01:33

浅论软件开发的方法饶勇

摘要:传统的软件开发过程主要强调对开发过程的规范、标准化的质量控制与管理上,而无法适应当前快速变化的市场需求。在信息资源的开发中,软件是最重要的基础设施,软件开发是最重要的组成部分。

关键词:软件开发 方法 演变 创新

随着软件规模的不断扩大,应用领域的不断延伸,软件产品所面临的应用环境开始从静态封闭逐步走向动态开放,软件开发的焦点和难点集中于产品和项目的三个特征:第一,高速度;第二,高度变化;第三,高度不确定性。软件的核心就是可变,高速变化的原动力不是规模,而是源自对象(问题)系统的复杂性以及软件产品开发过程的特殊性。面对这一情况,传统的软件理论、方法和技术在处理复杂软件开发时遇到了一系列挑战,软件开发方法的变革正在成为新一轮软件工程领域研究的重点。

一、关于软件开发

软件开发方法的研究是软件工程领域长期争论不休的问题,这实际上是要解决一个如何认识对象以及如何开发出一个实际系统的问题。由于软件技术可以极大地提高软件开发过程中的生产效率和质量,并能大幅度降低软件的开发成本与开发维护的周期,从而成为软件工程领域中的一个重要的研究方向。著名权威人士曾指出软件开发是利用已有的软件制品进行组装与合成新系统的一项技术,从而说明了“为了重用而开发”与“基于重用的开发”之间的关系以及新的软件开发理念。

软件在再次利用资源方面可以促进了基于COTS的软件开发与应用,并将传统的从“用户需求、分析、设计、编码到测试”这一开发过程转化到了根据“用户需求对可重用的软件进行选择、客户化、扩展、外包和组装”这一个新的开发过程。从而使得软件的开发过程从简单的作坊式开发、过渡到基于内部流程式的开发,并向“工厂化”的大规模协同化的软件开发过程进化。工厂化的软件开发模式提供了一种集成化的环境来实现特定产品的快速开发、配置与重用,从而为实现全球化、分布式协的开发过程奠定了基础。为了实现软件工厂化开发,探索通过软件再次利用来增强软件开发过程中的资源利用效率,就需要将软件开过程中的不同环节进行有效地集成并建立起整体的价值模型,以实现对整个开发过程中不同增值活动的定量化分析和整体优化。

二、软件开发方法演变

软件是为了解决客户的问题而开发的,所以客户需求分析和定义是软件开发的开端。需求被分为三个层次:业务需求、用户需求、功能和非功能需求。需求分析和定义过程包括对客户需求的引出、分析直到可以得到需求定义和编制规格,说明书,即文档化。不同的软件开发方法在文档化的认识上具有显著的不同。

从人的主观因素来看,起初人们研究软件开发方法的目的是为了解决软件危机,软件危机得到缓解之后,人们研究软件开发方法的目的是为了提高软件开发的效率、降低软件开发和维护的成本、保证软件的质量和可靠性。为了实现以上目的,在研究软件开发方法时,需要人们改变传统的观念和采用新的思维方式,需要人们借鉴其它工程领域的成功经验和有效方法。而当人们改变了传统的观念、采用了新的思维方式、借鉴了其它工程领域的成功经验和有效方法之后,势必导致软件开发方法发生演变。

从外界的客观因素来看,随着计算机应用的普及和深入,不断出现需要计算机处理的新问题和新领域。例如:软件规模增大、软件复杂性增强、软件可靠性要求提高、新系统(如嵌入式系统)的出现、开发工具的更新、互联网的快速发展等等。对于解决新问题和应用于新领域所需要的计算机软件原有的软件开发方法无法胜任,迫使人们改进原有的软件开发方法、推出新的软件开发方法。

三、软件开发的创新方法

⑴找出软件开发活动中存在着的问题。

软件开发活动中的个体化特征非常严重,编写程序时个人随心所欲,过分追求程序编写技巧,没有一个行之有效的、大家共同遵循的开发准则。错误地认为开发软件只是编写程序,对编写程序之外的其它软件开发环节没有给予重视。传统软件开发方法将数据和施加在数,据上的操作分离成两个独立的部分,导致问题空间和解空间的结构不一致,从系统分析到系统设计和实现的过渡不自然,软件重复使用的粒度小不利于大型软件的开发,模块的信息隐藏和独立性不好,软件可维护性较差。

⑵为了解决问题而进行思维观念创新。

编写程序时不能个人随心所欲地过分追求程序编写技巧,必须将可读性、清晰性和可理解性放在首位,必须考虑程序的可维护性,要使用三种基本结构(顺序、选择、循环)来实现程序。将数据和施加在数据上的操作封装在一起,形成类和对象的概念,用对象分解取代传统方法的功能分解,所有对象被划分成各种对象类。

⑶按照新的思维观念来构建结构化软件开发方法的核心部分。

核心部分是结构化程序设计方法,通过Pascal语言和C语言为代表的结构化程序设计语言的推出和完善。同时也可通过,Smalltalk语言的推出和完善,通过C++和Java等许多面向对象语言的推出和完善,面向对象程序设计方法逐渐形成并完善。

⑷按照新的思维观念来完善结构化软件开发方法。

完善的内容主要是将新的思维观念应用于系统分析和系统设计过程,在结构化程序设计方法基础上,逐渐形成结构化分析和结构化设计方法(SA/SD方法),使结构化软件开发方法得以完善。

软件开发方法是软件工程理论的重要内容之一,在软件开发方法中,对于开发软件时“做什么”和“如何做”,给出了明确的、详细的回答。人们在不同时期为了解决各种不同的软件开发问题,推出了多种不同的软件开发方法,并且每种软件开发方法还有灵活多样的表现形式。

参考文献:

[1]高禹,冯相忠.软件开发方法演变的几个主要因素[J].自然辨证法通讯, 2007, 29(5): 88-93.

[2]庞岩梅,晏海华.基于工作流技术的软件过程定义和追踪机制.计算机工程与应用,2003. 26.q

[3]李滔,闫琪,齐治昌.基于多Agent系统的软件开发方法研究[ J].计算机工程与科学, 2006, 28(6): 118-121.

[4]闫琪,毛新军,王怀民等.面向Agent的软件开发方法及其评估[ J].计算机工程与科学, 2005, 27(1):67-69.

上一篇:Mapgis在图形编辑中的实际应用 下一篇:小学计算机教学方法之我见