软件工程是个什么东西?

软件工程是个什么东西?

ID:11894288

大小:25.00 KB

页数:3页

时间:2018-07-14

软件工程是个什么东西?_第1页
软件工程是个什么东西?_第2页
软件工程是个什么东西?_第3页
资源描述:

《软件工程是个什么东西?》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、软件工程1.什么是软件工程?构成软件工程的要素是什么?软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。它由方法、工具和过程三部分组成。软件工程方法是完成软件工程项目的技术手段。它支持项目计划和估算、系统和软件需求分析、软件设计、编码、测试和维护。软件工程使用的软件工具是人类在开发软件的活动中智力和体力的扩展和延伸,它自动或半自动地支持软件的开发和管理,支持各种软件文档的生成。软件工程中的过程贯穿于软件开发的各个环节。管理者在软件工程过程中,要对软件开发的质量、进度、成本进行评估、管理和控制,包括人员组织、计划跟踪与控制、成

2、本估算、质量保证、配置管理等。软件工程的方法、工具、过程构成了软件工程的三要素。它们既有区别又有联系。2.什么是软件危机?其产生的原因是什么?人们在大型软件项目开发面前显得力不从心,一些公司或团体承担的大型软件开发项目预算经常超支,软件交货时间经常延迟,软件质量差,维护困难,在软件维护过程中很容易引起新的错误,软件的可移植性差,两个类似的软件很少能够重用,等等。工业界为维护软件支付的费用占全部硬件和软件费用的40%-75%。许多重要的大型软件开发项目,在耗费了大量的人力和财力之后,由于离预定目标相差甚远不得不宣布失败。从软件危机的种种表现和软件作为逻辑产品

3、的特殊性可以发现软件危机的原因:①用户对软件需求的描述不精确,可能有遗漏、有二义性、有错误,甚至在软件开发过程中,用户还提出修改软件功能、界面、支撑环境等方面的要求。②软件开发人员对用户需求的理解与用户的本来愿望有差异,这种差异必然导致开发出来的软件产品与用户要求不一致。③大型软件项目需要组织一定的人力共同完成,多数管理人员缺乏开发大型软件系统的经验,而多数软件开发人员又缺乏管理方面的经验。各类人员的信息交流不及时、不准确、有时还会产生误解。④软件项目开发人员不能有效地、独立自主地处理大型软件的全部关系和各个分支,因此容易产生疏漏和错误。⑤缺乏有力的方法学

4、和工具方面的支持,过分地依靠程序设计人员在软件开发过程中的技巧和创造性,加剧软件产品的个性化。⑥软件产品的特殊性和人类智力的局限性,导致人们无力处理“复杂问题”。所谓“复杂问题”的概念是相对的,一旦人们采用先进的组织形式、开发方法和工具提高了软件的开发效率和能力,新的、更大的、更复杂的问题又摆在人们面前。3.什么是软件生存周期模型?它有哪些主要模型,各种模型的比较。要求能够举例说明哪些软件的开发适于采用哪种模型?软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期(softwarelifecycle)。软件生存周期根据软件所处

5、的状态、特征以及软件开发活动的目的、任务可以划分为若干个阶段。目前各阶段的划分尚不统一,但无论采用哪种划分方式,软件生存周期都包括软件定义、软件开发、软件使用与维护三个部分。软件生存周期模型主要有瀑布模型、增量模型、螺旋模型。瀑布模型:瀑布模型是将软件生命周期的各个活动展开成线性的有一定顺序的若干阶段的模型。其特点是把软件开发过程严格区分为阶段,要求按照这个阶段划分,顺序地开展软件开发各个活动。它为软件开发的管理提供了有效的管理模式,是结构化系统分析设计方法的基础。但是,它只是理想的软件开发模式,因为软件开发过程不可能是线性的,不可能不迭代。增量模型:与瀑

6、布模型不同,增量开发模型是一部分一部分地逐步去完成系统开发目标。它是一种演化模型。开发完一部分就立刻让用户去使用它、评价它。然后再完善它并且完成下一部分的目标。使用户能尽早使用实际的系统,不但能获取用户的反馈同时也能使系统尽早投入运行。它允许迭代,下一步的开发包括了对前一步开发的修改,克服了瀑布模型线性的缺点。螺旋模型:与增量模型相似,螺旋模型把系统目标分解,规定每一次螺旋周期的目标。在每一次螺旋周期的开发中采用简化的瀑布模型,并且加入风险分析和原型化的方法。然后用一次一次螺旋上升实现最终目标。它把增量模型和瀑布模型的优点结合起来,来应对系统需求、技术、环

7、境不断变化的事实,同时也能够管理好软件开发。但是这种循环迭代风险也大,所以风险识别、防范是关键。4.软件工程的目标、原则?软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。为了达到这些目标,在软件开发过程中必须遵循下列软件工程原则:抽象、信息隐藏、模块化、局部化、一致性、完整性和可验证性。5.软件生命期各阶段的任务是什么?软件生存周期都包括软件定义、软件开发、软件使用与

8、维护三个部分。软件定义的基本任务是确定软件系统的工程需求。软件开发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。