您的位置: turnitin查重官网> 工程 >> 电气工程 >> 电气化铁道 >简论软件工程理论与其在软件开发中应用

简论软件工程理论与其在软件开发中应用

收藏本文 2024-02-02 点赞:9097 浏览:34046 作者:网友投稿原创标记本站原创

【摘 要】本文综合利用计算机科学与技术理论讨论了软件工程的概念、软件工程项目的基本目标、软件工程项目的实施,并探讨了数据库系统软件开发与设计思想,为从事软件开发的专业人员提供了一定的借鉴。
【关键词】软件工程;程序设计;数据库;开发

1 软件工程的再理解

B.W.Boehm认为软件工程就是运用现代科学技术知识来设计并构造计算机程序及为开发、运转和维护这些程序所必须的相关文件资料。这里对“设计”一词应有广义的理解,它包括软件的需求分析和对软件进行修改时所进行的再设计活动。
IEEE说:“软件工程是开发、运转、维护和修复软件的系统策略”,其中,“软件”是计算机程序、策略、规则、相关的文档资料以及在计算机上运转时所必需的数据。
Fairley给出的软件工程的定义为:软件工程学为在成本限额以内按时完成开发和修改软件产品所需的系统生产和维护的技术与管理的科学。
由此可见,软件工程包括3个基本要素:策略、工具和过程。
首先,软件工程策略为软件开发提供了“如何做”的技术。它包括多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法的设计、编码、测试以及维护等。软件工程常采用某种特殊的语言或图形的表达策略以及一套质量保证的标准。
其次,软件工具为软件工程策略提供了自动的或半自动的软件支撑环境。有人把诸多工具集成起来,使得一种工具产生的信息可以为其他的工具所使用,这样建立起一种称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和存放开发过程信息的工程数据库组合起来形成一个软件工程环境。
另外,软件工程的过程则是将软件工程的策略和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了策略使用的顺序,要求交付的文档资料,为保证质量和协调变更所需要的管理及软件开发各个阶段完成的里程碑。

2 软件工程项目的目标

组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功。所谓成功指的是达到以下几个主要目标:较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用等。
在实际开发中,要使上述目标都达到理想的程度往往非常困难,而且上述目标很可能相互冲突。如追求降低开发成本,很可能同时也降低了软件的可靠性;若过于追求软件的性能,则可能造成软件对硬件有较大的依赖性,从而直接影响软件的可移植性等。

3 软件工程项目的实施

3.1 制定软件计划

在软件项目开发之前,针对不同的工作目标制定不同类型的工作计划,对项目实施计划进行可行性研究。主要包括下述任务:
第一,经济可行性。分析能否做到以最小投入成本得到最佳经济收益,做出立即投入、推迟开发或不值得开发的选择。如果可行,做出开发进度安排。
第二,技术可行性。分析使用现有的技术能否实现系统,能否解决系统技术难点,系统对技术人员有什么要求,硬件能否配套等其它技术冒险的各种因素。

三、社会(法律)可行性。分析开发系统是否符合当前社会生产经营体制及法律法规的要求。

3.2 需求分析和定义

对开发软件提出的需求进行分析并给出详细的定义。软件开发人员和用户共同讨论决定哪些需求是可以满足的,并对其加以确切的描述,然后编写出软件需求说明书或系统功能说明书及初步的系统用户手册,提交管理机构评审。

3.3 软件设计

设计是软件工程的核心,就是把需求变换成为软件的具体方案,软件设计一般分为总体设计和详细设计两个阶段,总体设计是根据需求所得到的数据流、数据结构,使用结构设计技术,导出软件模块结构;详细设计是使用表格、图形或自然语言等详细设计工具,按照模块设计准则进行软件各个模块的具体过程的描述,如模块的分解与合并、低耦合性、高内聚性的特点,以及模块的作用、制约范围、复杂性和接口,按步骤进行设计。
3.4 程序编写(软件编码)把用户的要求变为计算机能够接受的形式,为每个模块编写程序,即写成以某一种特定程序设计语言表示的源程序清单。自然,写出的程序应当是结构良好、清晰易读又与设计一致。

3.5 软件测试

测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分,一般采用黑盒法和白盒法。所谓黑盒法是根据程序的物理特性,测试每一个功能是否达到预期的要求,白盒法则是根据程序的逻辑结构,进行目标测试。无论黑盒法还是白盒法都要设计测试用例,按照单元测试、组装测试、确认测试、系统测试、人工测试的步骤,对模块功能、接口、数据结构组成进行测试。最后按规定的各项需求,逐渐进行有效性测试,决定已开发的软件是否合格,能否交付用户使用。

3.6 软件运转/维护

已交付的软件投入正式使用便进入运转阶段。这一阶段可能持续若干甚至几十年。软件在运转过程中需要不断诊断、进行修改,包括改正性维护、适应性维护、完善性维护和预防性维护。维护的重要性在逐年提高。这一阶段是软件工程的最后一个阶段,也是最重要阶段,应给予足够的重视。

4 数据库系统软件的开发与设计探讨

数据库系统是应用较为广泛的多用户共享资源,具有通用、独立、冗余少、安全、完整的特性,因此,在进行数据库系统设计时应采用软件工程的策略。主要是对数据管理、库结构设计与建立、系统设计、语言的选择与设计、实用程序的编写、功能模块的设计等方面应用软件工程的理论和策略。在进行这些设计的需求阶段,应确定对软件的设计策略、所使用的描述工具、目标实现、推广使用等方面进行论证,然后根据用户和系统要求,进行包括上述功能的软件设计、输入输出设计、用户设计和模块功能、接口设计,然后编写用于数据库实现的编译、连接、测试等语言程序,使所设计的数据库系统具有易开发、易推广、易理解的高质量、高效率的软件。
因此,应用软件工程的理论和策略,可以设计较复杂的系统软件,使设计工程化、系软件工程理论及其在软件开发中的应用相关论文由www.udooo.com收集统化,提高软件研制质量和水准。
【参考文献】
[1]郑人杰.软件工程[M].北京:清华大学出版社,1999.
[2]张海藩.软件工程导论[M].北京:清华大学出版社,1996.
[3]刘润彬.软件工程简明教程[M].大连:大连理工大学出版社,1995.
[责任编辑:丁艳]

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号