软件工程理论及其在软件开发中的应用研究.docVIP

软件工程理论及其在软件开发中的应用研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程理论及其在软件开发中的应用研究.doc

软件工程理论及其在软件开发中的应用研究   【摘 要】本文综合利用计算机科学与技术理论讨论了软件工程的概念、软件工程项目的基本目标、软件工程项目的实施,并探讨了数据库系统软件开发与设计思想,为从事软件开发的专业人员提供了一定的借鉴。   【关键词】软件工程;程序设计;数据库;开发   1 软件工程的再理解   B.W.Boehm认为软件工程就是运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。这里对“设计”一词应有广义的理解,它包括软件的需求分析和对软件进行修改时所进行的再设计活动。   IEEE说:“软件工程是开发、运行、维护和修复软件的系统方法”,其中,“软件”是计算机程序、方法、规则、相关的文档资料以及在计算机上运行时所必需的数据。   Fairley给出的软件工程的定义为:软件工程学为在成本限额以内按时完成开发和修改软件产品所需的系统生产和维护的技术与管理的科学。   由此可见,软件工程包括3个基本要素:方法、工具和过程。   首先,软件工程方法为软件开发提供了“如何做”的技术。它包括多方面的任务,如项目计划与估算、软件系统需求分析、数据结构、系统总体结构的设计、算法的设计、编码、测试以及维护等。软件工程常采用某种特殊的语言或图形的表达方法以及一套质量保证的标准。   其次,软件工具为软件工程方法提供了自动的或半自动的软件支撑环境。有人把诸多工具集成起来,使得一种工具产生的信息可以为其他的工具所使用,这样建立起一种称之为计算机辅助软件工程(CASE)的软件开发支撑系统。CASE将各种软件工具、开发机器和存放开发过程信息的工程数据库组合起来形成一个软件工程环境。   另外,软件工程的过程则是将软件工程的方法和工具综合起来以达到合理、及时地进行计算机软件开发的目的。过程定义了方法使用的顺序,要求交付的文档资料,为保证质量和协调变更所需要的管理及软件开发各个阶段完成的里程碑。   2 软件工程项目的目标   组织实施软件工程项目,从技术上和管理上采取了多项措施以后,最终希望得到项目的成功。所谓成功指的是达到以下几个主要目标:较低的开发成本,达到要求的软件功能,取得较好的软件性能,开发的软件易于移植,需要较低的维护费用,能按时完成开发工作,及时交付使用等。   在实际开发中,要使上述目标都达到理想的程度往往非常困难,而且上述目标很可能相互冲突。如追求降低开发成本,很可能同时也降低了软件的可靠性;若过于追求软件的性能,则可能造成软件对硬件有较大的依赖性,从而直接影响软件的可移植性等。   3 软件工程项目的实施   3.1 制定软件计划   在软件项目开发之前,针对不同的工作目标制定不同类型的工作计划,对项目实施计划进行可行性研究。主要包括下述任务:   第一,经济可行性。分析能否做到以最小投入成本得到最佳经济收益,做出立即投入、推迟开发或不值得开发的选择。如果可行,做出开发进度安排。   第二,技术可行性。分析使用现有的技术能否实现系统,能否解决系统技术难点,系统对技术人员有什么要求,硬件能否配套等其它技术冒险的各种因素。   第三,社会(法律)可行性。分析开发系统是否符合当前社会生产经营体制及法律法规的要求。   3.2 需求分析和定义   对开发软件提出的需求进行分析并给出详细的定义。软件开发人员和用户共同讨论决定哪些需求是可以满足的,并对其加以确切的描述,然后编写出软件需求说明书或系统功能说明书及初步的系统用户手册,提交管理机构评审。   3.3 软件设计   设计是软件工程的核心,就是把需求变换成为软件的具体方案,软件设计一般分为总体设计和详细设计两个阶段,总体设计是根据需求所得到的数据流、数据结构,使用结构设计技术,导出软件模块结构;详细设计是使用表格、图形或自然语言等详细设计工具,按照模块设计准则进行软件各个模块的具体过程的描述,如模块的分解与合并、低耦合性、高内聚性的特点,以及模块的作用、控制范围、复杂性和接口,按步骤进行设计。   3.4 程序编写(软件编码)把用户的要求变为计算机能够接受的形式,为每个模块编写程序,即写成以某一种特定程序设计语言表示的源程序清单。自然,写出的程序应当是结构良好、清晰易读又与设计一致。   3.5 软件测试   测试是保证软件质量的重要手段,其主要方式是在设计测试用例的基础上检验软件的各个组成部分,一般采用黑盒法和白盒法。所谓黑盒法是根据程序的物理特性,测试每一个功能是否达到预期的要求,白盒法则是根据程序的逻辑结构,进行目标测试。无论黑盒法还是白盒法都要设计测试用例,按照单元测试、组装测试、确认测试、系统测试、人工测试的步骤,对模块功能、接口、数据结构组成进行测试。最后按规定的各

文档评论(0)

fa159yd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档