2022年论软件工程开发和维护中的重要性_第1页
2022年论软件工程开发和维护中的重要性_第2页
2022年论软件工程开发和维护中的重要性_第3页
2022年论软件工程开发和维护中的重要性_第4页
2022年论软件工程开发和维护中的重要性_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-运算机软件技术基础论文论文题目:论软件工程开发和保护中的重要性班级:信息学院硕研 2021 级八班学号: s11085211012姓名: 胡 国 辉信息学院2021 年 12月精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-摘要软件工程是软件领域为解决已经显现的“软件危机”问题而进展起来的新的领域;软件工程是指导运算机软件开发和保护的工程科学;随着软件工程的日臻完善, 使软件的开发有了一套完整的科学方法,从而提高了软件系统的牢靠性、可懂得性和 可保护性

2、 ,提高了软件生产率 ,降低了开发成本;软件工程强调使用生存周期方法学和各种结构分析及结构设计技术;软件生存周期每个阶段的工作都和软件可保护性有亲密关系;在软件生存周期的每个阶段都采用科学的治理技术和良好的技术方法 ,而且在每个阶段终止前都从技术和治理两个方面进行严格的审查 ,合格之后才开头下一阶段的工作 ,这就使软件开发工程的全过程以一种有条不紊的方式进行 ,保证了软件的质量 ,特殊是提高了软件的可保护性;本文先介绍软件工程的形成与与产生,再介绍软件工程掌握的重要作用,然后通过下结合软件保护工作的实践探讨一下软件生存周期的各个阶段对软件可保护性 的影响,从而指出了软件工程开发和保护中的重要性

3、,特殊强调了保护的重要作用;关键词 : 软件工程,开发,保护精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-软件工程开发和保护中的重要性一、软件工程的形成与产生软件工程的显现不是一个偶然的现象,而是软件领域为解决已经显现的“软件危机”问题而进展起来的新的领域;早期的软件开发没有系统的方法可以遵循,基本是一个个体化的过程;但随着软件的数量不断增长,需求日趋繁多,开发成本急剧提高,保护难度也越来越大,而失败的软件开发项目却屡见不鲜,导致大量的财产流失; “软件危机”就这样被提出来了: 1968 年北大西洋公约组织的运算机科学家在联邦德国召开的国际

4、学术会议上第一次提出了“软件危机” software crisis这个名词;概括地说,软件危机包含两方面问题:(1) 如何开发软件,以满意不断增长,日趋复杂的需求;(2) 如何保护数量不断增长的软件产品;具体地说,软件危机主要有以下表现:(1) 对软件开发成本和进度估量不准,成本超出预算、进度严峻超期的项目时有所见;(2) 开发的软件系统无法满意用户的要求;(3) 质量不行靠, bug 一大堆, patch一个接一个;(4) 可读性差,不利于修改扩充;(5) 软件的保护跟不上硬件环境和用户需求的变化,可保护程度特别低,产品退化速度快;(6) 软件开发需要投入大量、高强度的脑力劳动,成本特别高;

5、(7) 软件开发生产率的提高赶不上硬件的进展和应用需求的增长;为了探寻摆脱“软件危机”的计策,北约的科技委员会提出了“软件工程”的概念,并在之后的几十年中不断完善和提高,以下是“软件工程”的定义:软件工程是一门争论如何用系统化、规范化、数量化等工程原就和方法去进行软件的开发和保护的学科;软件工程包括两方面内容:软件开发技术和软件项目治理;软件开发技术包括软件开发方法学、软件工具和软件工程环境;二、软件工程的三段论如上所说软件工程是客服软件危机而提出的一种概念,并在实践中不断的探究它的原理,技术和方法,在此过程中,人们争论和借鉴了工程学的某些原理和方法,精品文档精品文档就在这里- 各类专业好文档

6、,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-并形成了软件工程学;软件工程活动是“生产一个最终满意需求且达到工程目标的软件产品所需要的步骤”;这些活动主要包括开发类活动,治理类活动和过程类活动,在这里将它定义为“软件工程的三段论”或者“软件工程的三线索” ;一段论是“软件项目治理论” , 二段论是“软件项目过程论” ,三段论是“软件过程的改进论” ;这三段可以用一个三角形表示,他们类似于相互支撑的三角形的三个边;我们知道三角形是最稳固的,要保持三角形的稳固性,三角形的三个边必不行少,而且要保持肯定的相互关系;其中开发过程是软件人员生产软件的过程,例如需求分析,设计,编码,测试等,相

7、当于生产线上的生产过程;治理过程是项目治理者规划软件开发,掌握软件开发的过程,相当于生产线上的治理过程,治理过程是相伴开发过程进行的过程;过程改进,也就是保护,相当于对软件开发和治理过程的“工艺流程”进行管理和改进,假如没有好的生产不出好的产品,它包括对开发过程和治理过程的定义和改进;为了保证软件治理,软件开发过程的有效性,应当保证这些过程的高质量和过程的连续性改进和保护;二、软件工程掌握的重要性软件工程的七条基本原理:1、用分阶段的生命周期方案严格治理有人经统计发觉,在不胜利的软件项目中有一半左右是由于方案不周造成的,可见把建立完善的方案作为第一条基本原理是吸取了前人的教训而提出来的;在软件

8、开发与保护的漫长的生命周期中,需要完成很多性质各异的工作;这条基本原理意味着,应当把软件生命周期划分成如干个阶段,并相应地制定出切实可行的方案,然后严格依据方案对软件的开发与保护工作进行治理;boehm认为,在软件的整个生命周期中应当制定并严格执行六类方案,它们是项目概要计划,里程碑方案,项目掌握方案,产品掌握方案,验证方案,运行保护方案;不同层次的治理人员都必需严格依据方案各尽其职地治理软件开发与保护工作,绝不能受客户或上级人员的影响而擅自背离预定方案;2、坚持进行阶段评审当时已经熟悉到,软件的质量保证工作不能等到编码阶段终止之后再进行;这样说至少有两个理由:第一,大部分错误是在编码之前造成

9、的,例如,依据boehm 等人的统计,设计错误占软件错误的63%,编码仅占 37%;其次,错误发觉与改正得越晚,所需付出的代价也越高;因此,在每个阶段都进行严格的评审,以便尽早精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-发觉在软件开发过程中所犯的错误,是一条必需遵循的重要原就;3、实行严格的产品掌握在软件开发过程中不应随便转变需求,由于转变一项需求往往需要付出较高的代价,但是,在软件开发过程中转变需求又是难免的,由于外部环境的变化,相应地转变用户需求是一种客观需要,明显不能硬性禁止客户提出转变需求的要求,而只能依靠科学的产品掌握技术来顺应

10、这种要求;也就是说,当转变需求时,为了保持软件各个配置成分的一样性,必需实行严格的产品掌握,其中主要是实行基准配置治理;所谓基准配置又称基线配置,它们是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码);基准配置管理也称为变动掌握:一切有关修改软件的建议,特殊是涉及到对基准配置的修改建议,都必需依据严格的规程进行评审,获得批准以后才能实施修改;肯定不能谁想修改软件(包括尚在开发过程中的软件) ,就随便进行修改;4、接受现代程序设计技术从提出软件工程的概念开头,人们始终把主要精力用于争论各种新的程序设计技术; 60 岁月末提出的结构程序设计技术,已经成为绝大多数人公认的先进的程序设计技

11、术;以后又进一步进展出各种结构分析(sa)与结构设计( sd)技术;实践说明,接受先进的技术既可提高软件开发的效率,又可提高软件保护的效率;5、结果应能清晰地审查软件产品不同于一般的物理产品,它是看不峥摸不着的规律产品;软件开发人员(或开发小组)的工作进展情形可见性差,难以精确度量,从而使得软件产品的开发过程比一般产品的开发过程更难于评判和治理;为了提高软件开发过程的可见性,更好地进行治理,应当依据软件开发项目的总目标及完成期限,规定开发组织的责任和产品标准,从而使得所得到的结果能够清晰地审查;6、开发小组的人员应当少而精这条基本原理的含义是,软件开发小组的组成人员的素养应当好,而人数就不宜过

12、多;开发小组人员的素养和数量是影响软件产品质量和开发效率的重要因素;素养高的人员的开发效率比素养低的人员的开发效率可能高几倍至几十倍,而且素养高的人员所开发的软件中的错误明显少于素养低的人员所开发的软件中的错误;此外,随着开发小组人员数目的增加,由于沟通情形争论问题而造成的通信开销也急剧增加;当开发小组人员数为n 时,可能的通信路径有 n(n./font>1)/2 条, 可见随着人数 n 的增大,通信开销将急剧增加;因此,组成少而精的开发小组是软件工程的一条基本原理;7、承认不断改进软件工程实践的必要性精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手

13、册,应有尽有-遵循上述六条基本原理, 就能够依据当代软件工程基本原理实现软件的工程化生产,但是,仅有上述六条原理并不能保证软件开发与保护的过程能赶上时代前进 的步伐,能跟上技术的不断进步;因此,boehm 提出应把承认不断改进软件工程实践的必要性作为软件工程的第七条基本原理;依据这条原理,不仅要积极主动地接受新的软件技术,而且要留意不断总结体会,例如,收集进度和资源耗费数据,收集出错类型和问题报告数据等等;这些数据不仅可以用来评判新的软件技术的成效,而且可以用来指明必需着重开发的软件工具和应当优先争论的技术;四、可保护性软件工程强调使用生存周期方法学和各种结构分析及结构设计技术;软件生存 周期

14、每个阶段的工作都和软件可保护性有亲密关系;在软件生存周期的每个阶段都 接受科学的治理技术和良好的技术方法,而且在每个阶段终止前都从技术和治理两个方面进行严格的审查 ,合格之后才开头下一阶段的工作,这就使软件开发工程的全过程以一种有条不紊的方式进行 ,保证了软件的质量 ,特殊是提高了软件的可保护性;下面结合软件保护工作的实践探讨一下软件生存周期的各个阶段对软件可保护性的影响;1、问题定义阶段问题定义阶段的关键任务,是准确地定义用户要求解决的问题,也就是确定问题的性质、工程的目标和规模;在软件定义阶段就使开发人员、用户及使用单位的治理人员对问题的性质、工程的目标和规模取得完全一样的看法 ,这对确保

15、开发工程的胜利是至关重要的 ,同时也有利于使用中的保护; 假如对问题定义不精确 ,最终开发出来的系统就不适用 ,就会给保护带来困难 ,甚至使系统失去价值;在软件开发的第一步 ,清晰简洁地提出问题 ,使软件开发人员与应用部门都有个清晰、正确的熟悉 ,对后续的开发和应用工作有重要的指导作用;同时,由于有些业务的处理方法本身不够成熟、稳固 ,需要解决的问题也不行能考虑得很全面、完善,又没有一套完整的手工处理系统可供参考 ,这就要求系统易于补充、 完善和增加新的功能 , 也就是说要具备较好的可保护性;2、可行性争论阶段可行性争论就是要看对所定义的问题是否有行得通的解决方法,其目的不是解决问题,而是确定

16、问题是否值得去解; 要通过大量的调查争论和客观分析 ,判定原定的系统目标和规模是否现实 ,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度 ,并对举荐的系统方案进行认真的成本效益分析,因此,可行性争论实质上是要精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-进行一次压缩了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行系统分析和设计的过程 ,这个过程必定会对将来系统的可保护性产生影响;第一,举荐的系统方案应具备较好的可保护性 ;其次,使用的技术应当是成熟的并足以实现这个系统的功能,同时仍要求这些技术有较强的保护手段 ;第

17、三,要具备良好的人机界面 ,用户较简洁把握系统的操作方法 ,既便利用户 ,也有利于系统保护人员与用户之间的沟通、协作;总之,在系统的可行性争论阶段就要考虑系统的可保护性 ,供应良好的保护环境;3、需求分析阶段需求分析是软件工程的一个重要阶段,这个阶段的任务是精确地确定目标系统必需做什么 ,也就是要确定目标系统必需具备哪些功能;同时,需要确定系统的运行环境,并且猜测系统进展的前景;需求分析阶段要求提出完整精确的系统规律模型,它是以后设计和实现目标系统的基础 ,因此必需精确完整地表达用户的要求;系统规律模型必需经过用户确认之后才能进入下一个阶段 ,这就可以有效地防止和克服急于着手进行具体设计的倾向

18、;假如这一阶段考虑不周 ,遗漏了某些应有的功能 ,就会增加软件完善性保护的工作量和难度;另外 ,在需求分析阶段仍要考虑将来可能提出的要求;这样做的目的,是在设计过程中对系统将来可能的扩充和修改预先做预备,以便一旦需要时能比较简洁地进行扩充和修改 ,从而提高系统的可保护性;4、 一般设计阶段一般设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任 务,要从如干个合理方案中挑选一个正确方案,确定系统的物理配置方案以及组成系统的每个程序的结构;这个过程的每一步都会对将来系统的可保护性产生影响;在制定备选方案时 ,要考虑组成系统的各个物理元素如程序、文件、数据库、人工过程和文档等 对系统可

19、保护性有何影响 ,并在挑选正确方案的过程中留意改善系统的可保护性;本阶段所设计的软件结构对可保护性影响极大;功能模块化是简洁保护的一个关键因素,开发具有独立功能而且和其他模块之间 没有过多相互作用的模块 ,对保护极为有利 ,否就保护就困难 ,甚至无法保护; 耦合和内聚是衡量模块独立程度的两个定性标准;模块间的耦合越低越易保护;因此在设计时力争做到高内聚 ,并且能够辩认出低内聚的模块 ,通过修改设计来提高模块的内聚程度 ,降低模块间的耦合程度,获得较高的模块独立性,从而提高软件的可保护性;软件的结构设计合理 ,就可提高软件的可懂得性、 可测试性和牢靠性 ,对软件的保护工作极为有利;精品文档精品文

20、档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-5、具体设计阶段具体设计阶段的目标是确定应当怎样具体地实现所要求的系统;经过这个阶段 的设计工作 ,应当得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序;这一阶段的设计,基本上打算了最终程序代码的质量;具体设计的目标不仅是规律上正确地实现每个模块的功能,更重要的是设计出的处理过程尽可能简明易懂、简洁阅读和懂得;结构程序设计技术是实现上述目标的关键技术 ,因此是具体设计的规律基础;结构程序设计是一种设计程序的技术 ,它接受自顶向下逐步求精的设计方法和单入口、单出口的掌

21、握结构;使用这项技术,创立了一种新的程序设计思想、方法和风 格,显著地提高了软件的生产率,降低了软件的保护代价;在软件开发过程中能否充分表达结构程序设计的基本原理 ,对软件的可保护性有直接的影响;接受自顶向下逐步求精的方法 ,符合人类解决复杂问题的普遍规律;用先全局后局部、 先整体后细节、先抽象后具体的逐步求精过程 ,开发出的程序有清晰的层次结构 ,简洁阅读懂得; 使用单入口、单出口的掌握结构 ,使得程序的静态结构和它的动态执行情形比较一样,有利于阅读懂得 ,开发时比较简洁保证程序的正确性,即使显现错误也比较简洁诊断和纠 正;这些因素对软件可保护性的影响是显而易见的;6、 编码阶段在编码阶段

22、,程序设计语言的特性和编码途径都会对软件的可保护性产生深远影响;在挑选程序设计语言时 ,除考虑使用环境及语言本身特点等因素外,仍要特殊留意它对软件可保护性的影响;在一般情形下,编码选用高级语言 ,而不用汇编语言;所选高级语言是否具有抱负的模块化机制,是否具有可读性好的掌握结构和数据结构等, 都会对软件的可保护性产生影响;编程风格、程序设计方法同样也影响到软件的可保护性 ,这些都是在编码阶段应当特殊留意的; 挑选适当的程序设计语言 ,培育良好的编程风格 ,接受恰当的程序设计方法 ,都是提高软件可保护性的有效途径;7、测试阶段测试阶段的任务是发觉并改正软件中的错误; 通过测试 ,要保证软件能满意全

23、部功能要求 ,能达到每个性能要求 ,并且文档资料是精确而完整的 ,这些无疑会对软件的可保护性产生影响;文档资料是软件保护的重要依据,测试阶段必需对全部文档资料进行验证,在测试过程中应严格遵循用户指南以及其它操作规程,从而检验这些使用手册的完整性和正确性;必需认真记录所发觉的遗漏或错误 ,并且适当地补充和改正 ,以利于软件的正确使用和保护; 测试方案、测试方案和测试结果是软件配置的重要成分,它们对软件的可保护性影响很大 ,因此必需认真记录和储存;精品文档精品文档就在这里- 各类专业好文档,值得你下载,训练,治理,论文,制度,方案手册,应有尽有-8.、 保护阶段保护阶段是软件生存周期的最终一个阶段; 这一个阶段 ,也是连续时间最长、 代价最大的一个阶段;这一阶段的工作同样对软件的可保护性产生影响,不恰当地保护可能增加以后保护工作的难度;保护过程本质上是修改和压缩了的软件定义和开发过程,要严格依据有关规程进行保护 ,建立一个适用于保护活动的记录保管过程; 在完成每项保护工作之后 ,都应当对软件保护本身进行认真认真的复审,以保证保

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论