软件开发概述
作者:李玉芝软件开发编程语言有哪些
来源:《科教导刊·电子版》2013年第07
        本论文介绍了软件开发的主要内容、软件开发过程以及软件开发过程中的注意事项,为软件开发初学者提供了借鉴参考。
        关键词 软件开发 软件开发过程 软件开发注意事项
        图分类号:TP273 文献标识码:A
        软件简单的说就是那些在计算机中能看着,但摸不着的东西,概念性的说软件也称为软设备,广义地说软件是指系统中的程序以及开发、使用程序所需要的所有文档的集合。软件分为系统软件和应用软件。
        软件并不只是包括可以在计算机上运行的程序,与这些程序相关的文件一般也被认为是软件的一部分。软件被应用于世界的各个领域,对人们的生活和工作都产生了深远的影响
        1 软件开发的主要内容
        1.1 设计
        所谓设计,主要由软件开发团队中项目经理和架构师及系统分析师来确定软件需要做什么,软件开发工程师和软件测试工程师来确定软件的具体实现。
        1.2 编程
        编程的意义在于让客户的要求以计算机的形式表现出来,如果在软件编码完成后所开发软件不能完成客户要求,软件开发就是失败的,如果软件到项目截止时还不能运行起来,则需要项目经理重新搭建团队,申请客户延期,项目重新启动。
        1.3 测试
        测试的目的是为了让开发者知道什么时候项目算是完成了。一个聪明的项目开发者应该先写测试,这样可以及时知道项目否真地完成了。否则,就经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。
        2 软件开发过程
        2.1 分析
        软件需求分析就是回答做什么的问题。它是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言(形式功能规约,即需求规格说明书)表达出来的过程。
        本阶段的基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。需求分析的主要方法有结构化分析方法、数据流程图和数据字典等方法。
        本阶段的工作是根据需求说明书的要求,设计建立相应的软件系统的体系结构,并将整个系统分解成若干个子系统或模块,定义子系统或模块间的接口关系,对各子系统进行具体设计定义,编写软件概要设计和详细设计说明书,数据库或数据结构设计说明书,组装测试计划。
        在任何软件或系统开发的初始阶段必须先完全掌握用户需求,以期能将紧随的系统开发过程中哪些功能应该落实、采取何种规格以及设定哪些限制优先加以定位。系统工程师最终
将据此完成设计方案,在此基础上对随后的程序开发、系统功能和性能的描述及限制作出定义。
        2.2 设计
        软件设计可以分为概要设计和详细设计两个阶段。实际上软件设计的主要任务就是将软件分解成模块。模块是指能实现某个功能的数据和程序说明、可执行程序的程序单元,可以是一个函数、过程、子程序、一段带有程序说明的独立的程序和数据,也可以是可组合、可分解和可更换的功能单元。软件分解成模块后接下来要进行模块设计,模块设计包括概要设计和详细设计。概要设计就是结构设计,其主要目标就是给出软件的模块结构,用软件结构图表示。详细设计的首要任务就是设计模块的程序流程、算法和数据结构,次要任务就是设计数据库,常用方法还是结构化程序设计方法。
        2.3 编码
        软件编码是指把软件设计转换成计算机可以接受的程序,即写成以某一程序设计语言表示的源程序清单。充分了解软件开发语言、工具的特性和编程风格,有助于开发工具的选择以及保证软件产品的开发质量。
        当前软件开发中除在专用场合,已经很少使用二十世纪80年代的高级语言了,取而代之的是面向对象的开发语言。面向对象的开发语言和开发环境大都合为一体,大大提高了开发的速度。
        2.4 测试
        软件测试的目的是以较小的代价发现尽可能多的错误。要实现这个目标的关键在于设计一套出的测试用例(测试数据和预期的输出结果组成了测试用例)。如何才能设计出一套出的测试用例,关键在于理解测试方法。不同的测试方法有不同的测试用例设计方法。
        两种常用的测试方法是白盒法和黑盒法。
        白盒法测试对象是源程序,依据的是程序内部的逻辑结构来发现软件的编程错误、结构错误和数据错误。结构错误包括逻辑、数据流、初始化等错误。用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。
        黑盒法依据的是软件的功能或软件行为描述,发现软件的接口、功能和结构错误,其中接口错误包括内部/外部接口、资源管理、集成化以及系统错误。黑盒法用例设计的关键同样
也是以较少的用例覆盖模块输出和输入接口。
        3 软件开发的注意事项
        3.1 项目设计
        项目设计的主导思想有两种,一种是完全设计,一个是简单设计。
        完全设计是指在具体编写代码之前对软件的各种方面都调查好,做好详细的需求分析、编写好全部的开发文档,设计出程序全部流程后再开始写代码。换句话说,就是全部的计划好了,能看到最终的样子,再开始项目编码。这个需要很强的项目经验,不容易办到。
        简单设计是一种概念,一种可以接受的简单的设计是最起码数据库和基本流程已经确定的方案,作为程序设计的开始,并随时根据实际情况的进展来修正具体的功能设计,但这种功能修改不能是修改数据库结构。也就是说数据库结构是在编程之前经过反复论证的。这种方法减少了前期设计的时间,把代码编写工作和部分设计工作放在了一起,实际缩短了项目开发的时间。
        如果说完全设计方法要求有很强的前期设计人员,那么简单设计要求有很有设计头脑的编程人员。编程人员不仅仅是写代码的人而且要负责程序架构的设计。所以对程序员的要求就很高了,编程人员之间的交流就变的很重要。
        3.2 设计变化和需求变化
        开发人员最怕的是什么呢?设计变化,还是需求变化?其实需求变化是最最致命的。当一个项目数据库都定下来后,而且已经开发了若干个工作日,突然接到甲方公司提出,某个功能要改变,原先的需求分析要重新改,如果这个修改是涉及的数据库的表结构更改的话,那真是最致命的。这就意味着项目的某些部分得重新推倒重来,如果这个部分跟已完成的多个部分有牵连的话,那就后果更可怕了。
        如果在需求不变的情况之下,设计发生了变化,这个仅仅是我们内部之间的矛盾,商量一下就能解决。在简单设计中,因为前期的设计是不完整的,那么当进入任何一个新的模块进行开发时,都有可能引起设计的变化。开发人员的水平的高低就基本上决定了软件的好坏。
        3.3 代码编写
        当需求定下来数据库也定下来后,就可以进行实质性的编码了。一个人单独编程最好,能随时偷懒。(上网、聊聊),但是现在的软件项目越来越大,工期也越来越紧,事实上一个项目小组里面,一般有3-5程序员,所以要强调团队合作性。那么一个程序员的代码要让别人能够看懂,就必须在实际的编写代码过程中设定详细的编码规范。
        3.4 命名规范
        除了编码规范外,一个项目组要有同意的命名规范。可以采用匈牙利变量命名惯例,所有标识符一律用英文或英文缩写,杜绝采用拼音,标识符中每个单词首字母大写,缩写词汇一般全部大写,只在必要时加“_”间隔词汇。
        3.5 开发人员的测试
        开发人员的测试是保证代码能正常运行,在开发时候发现的错误往往比较容易修正。但是一旦软件到了测试小组那里出了问题,那么就多了很多时间来修正错误,如果到了客户哪里才发现的错误,那么时间就更长了,开发人员本身受到的压力也最大。
        另外开发人员的测试除了保证代码能正常运行以外,还有一个很重要的方面就是要保证
上次能正常运行的代码,这次还是能正常运行。如果做不到这点,那么错误就不断的会出现,很多错误也会反复出现。于是软件看上去就有修补不完的错误了。
        4 总结
        本文主要介绍了分析、设计、编程和测试这四部分软件开发过程,并提到了项目设计、设计变化和需求变化、代码编写、命名规范和开发人员的测试五部分的注意事项,以供软件开发的初学者借鉴参考。
        参考文献
        [1] 龚勋.软件项目管理与测试在软件开发中的应用[M].成都:四川大学,2004.
        [2] 齐治昌,谭庆平等.软件工程(第3版)[M].北京:高等教育出版社,2012.
        [3] 栾跃.软件开发项目管理[D].上海:上海交通大学,2005.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。