软件工程第一章

1.1什么是软件?软件和程序的区别是什么?

软件是程序、数据以及开发、使用和维护程序需要的所有文档的完整集合。

区别:软件包含程序,没有相关文档的程序是不能称之为软件的。程序是为了解决某个特定问题而用程序设计语言描述的合适计算机处理的语句序列。

1.2什么是软件生存周期?划分生存周期的主要原则是什么?

软件生存周期是指某一软件项目从被提出并着手实现开始,直到该软件 废或停止使用为止所经历的时间。

划分生存周期的主要原则是:软件生存周期的各个阶段有不同的划分。软件规模、种类、开发方式、开发环境以及开发使用方法都影响软件生存周期的划分。在划分软件生存周期阶段时,应遵循的一条基本原则是各阶段的任务应尽可能的相对独立,同一阶段各项目任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。

1.3什么是软件危机?它有哪些主要表现?为什么会产生软件危机?

软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要包含了两方面的问题:一是如何开发软件以满足软件日益增长的需求;二是如何维护数量不断增长的已有软件。

软件危机的主要表现为:(1)对软件开发成本和研制进度的估计常常很不准确。(2)“已完成”的软件不能满足用户要求。(3)软件产品质量差,可靠性得不到保证。(4)软件产品可维护性差。(5)软件成本在计算机系统总成本所占的比例逐年上升。(6)软件开发生产率提高的速度远远跟不上计算机应用速度普及深入的趋势。

产生软件危机的原因:(1)软件产品规模庞大,结构复杂。(2)软件开发的管理困难。(3)软件开发的费用不断增加,维护费用急剧上升。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后。

1.4什么是软件工程?怎样利用软件工程消除软件危机?

软件工程是①把系统的、规范的、可度量的途径应用于软件开发、运行和维护的过程,也就是把工程应用于软件开发;②研究①中提到的途径。

消除软件危机的途径:(1)对计算机软件有一个正确的认识(程序≠软件)。(2)使用好开发技术和方法,不断探索更好更有效的技术和方法。(3)充分认识软件开发不是某种个体劳动的神秘技巧,要有良好的组织、严密的管理,各类人员要相互配合,共同完成任务。(4)开发和使用更好的软件工具。

1.5何谓面向对象软件工程?简述它和传统软件工程的区别与联系?

面向对象软件工程是以面向对象程序设计为基础的软件工程。

传统的软件工程开发过程采用结构化技术来完成软件开发的各项任务,面向对象的开发方法的重点是放在软件生存周期的分析阶段。

1.6什么是软件生存周期模型?试比较本章介绍的4种模型的优缺点,说明每种模型的使用范围。

所谓软件生存周期模型,就是为整个软件建立的模型,模型是为了理解事物而对事物作出的一种抽象。

(1)瀑布模型,将软件生存周期各个活动规定为依线性顺序连接的若干阶段的模型。优点是这种模型有阶段的顺序和依赖,避免软件急于求成,保证软件开发质量,促进软件开发工程化。缺点是缺乏灵活性,准确的系统分析很难做到。

(2)快速原型模型,首先快速建立一个能够反映用户主要需求的原型系统,让用户在计算机上试用,通过实践让用户了解未来目标系统的概貌,以便判断哪些功能是符合要求的,哪些方面需要改进。优点是:增进了软件开发人员和用户对系统服务的理解。缺点是:大多数的原型模型都废弃不用,造成浪费。

(3)增量模型,把软件产品作为一系列的增量构件来设计、编码、组装和测试。优点是:具备较大的灵活性。缺点是:不适用于软件需求明确的项目。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月16日
下一篇 2019年6月17日

相关推荐