第一章 软件工程概述习题及答案

合集下载

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。

课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。

下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。

第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。

2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。

3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。

每个模型都有其独特的特点和适用场景。

4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。

5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。

第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。

2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。

3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。

4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。

第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。

2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。

3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。

软件工程综合复习题连答案

软件工程综合复习题连答案

《软件工程》综合复习资料第一章软件工程概述一、选择题1、瀑布模型本质上是一种()。

A、线性迭代模型B、顺序迭代模型C、线性顺序模型D、及早见产品模型2、计算机辅助软件工程,简称()。

A、SAB、SDC、SCD、CASE3、以下判断正确的是()。

A、所谓软件开发就是编写程序。

B、利用软件工程的思想,已成功的解决了软件危机。

C、完成软件测试工作以后,为了缩短程序的长度应删除程序中的注释。

D、一般来说,程序中存在错误的概率与在该段程序中已发现的错误数成正比。

4、_____是以提高软件质量为目的的技术活动。

A.技术创新B.测试C.技术创造D.技术评审5、瀑布模型的存在问题是()。

A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求6、软件生命周期中所花费用最多的阶段是()。

A.详细设计B.软件编码C.软件测试D.软件维护7、计算机系统就是()A.主机,显示器,硬盘,软驱,打印机等。

B.CPU,存储器,控制器,I/O接口及设备。

C.计算机硬件系统和软件系统。

D.计算机及其应用系统。

8、产生软件危机的原因主要与两个方面的问题有关:A.软件在计算机中很难识别,存在磁盘中也看不到。

B.软件设计对人的智商要求很高,也要求很高的资金投入。

C.软件产品本身的特点与其它工业产品不一样,而且在软件的开发和维护过程中用的方法不正确。

D.软件很难理解,硬件也很复杂。

9、软件开发瀑布模型中的软件定义时期各个阶段依次是()A.可行性研究,问题定义,需求分析。

B.问题定义,可行性研究,需求分析。

C.可行性研究,需求分析,问题定义。

D.以上顺序都不对。

10、下列选项中()是软件开发中存在不正确的观念、方法。

A.重编程、轻需求B.重开发,轻维护C.重技术,轻管理D.以上三条都是二、填空题1、软件工程的三个基本要素包括()、()和()。

2、一般软件应该有三部分组成:()、()和()。

3、按软件的功能可将软件分成()、()和()等三类。

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版

软件工程导论第六版课后习题答案完整版首先,感谢您对软件工程导论课后习题答案的需求。

以下是软件工程导论第六版课后习题的完整答案。

第一章:软件工程概述1.1 问题1. 什么是软件工程?答:软件工程是一种应用工程原理、方法和工具来开发和维护高质量软件的学科。

1.2 问题1. 什么是软件?答:软件是一系列按照特定顺序组织的计算机数据和指令。

第二章:软件过程模型2.1 问题1. 软件过程模型有哪些类型?答:常见的软件过程模型包括瀑布模型、迭代模型、螺旋模型和敏捷开发模型等。

2.2 问题1. 瀑布模型的特点是什么?答:瀑布模型是一种线性顺序模型,以阶段划分为基础,每个阶段的任务在进入下一个阶段前必须完成。

第三章:需求分析与规格说明3.1 问题1. 软件需求描述包括哪些方面的内容?答:软件需求描述需要包括功能性需求、非功能性需求、用户需求和系统需求等。

3.2 问题1. 什么是需求跟踪?答:需求跟踪是指在软件开发过程中,通过建立需求和软件项目中其他相关工件之间的关联,确保需求的准确实现和变更的有效管理。

第四章:软件设计4.1 问题1. 软件设计的目标是什么?答:软件设计的目标是通过确定软件的整体结构和组成部分,确保软件满足需求并具有良好的可维护性和可重用性。

第五章:软件测试与维护5.1 问题1. 什么是软件测试?答:软件测试是一种评估和改进软件质量的过程,目的是发现错误并提高软件的可靠性和可用性。

5.2 问题1. 什么是软件维护?答:软件维护是指在软件交付后的整个生命周期中对软件进行修改和改进,以满足用户需求和修复错误。

第六章:软件配置管理6.1 问题1. 软件配置管理的目标是什么?答:软件配置管理的目标是确保软件在开发和维护过程中的可控性和可追踪性,以及保持软件配置的稳定性和一致性。

6.2 问题1. 软件版本控制是什么?答:软件版本控制是指对软件的不同版本进行管理,包括版本的创建、检出、合并和更新等操作。

至此,我们完成了软件工程导论第六版课后习题的完整答案。

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc

软件工程---课后习题答案.doc第一章1.1什么是计算机软件?软件的特点是什么?计算机软件是指计算机系统中的程序及其文档软件的特点:●软件是一种逻辑实体,而不是有形的系统元件,其开发成本和进度难以准确地估算。

●软件是被开发的或被设计的,没有明显的制造过程,一旦开发成功,只需复制即可,但其维护的工作量大。

●软件的使用没有硬件那样的机械磨损和老化问题。

1.2简述软件的分类,并举例说明1.系统软件系统软件居于计算机系统中最接近硬件的一层,其他软件一般都通过系统软件发挥作用。

例如:编译软件、操作系统。

2.支撑软件支撑软件是支撑软件的开发和维护的软件。

例如:数据库管理系统、网络软件、软件工具、软件开发环境。

3.应用软件应用软件是特定应用领域专用的软件。

例如:工程/科学计算机软件、嵌入式软件、产品线软件、Web应用软件、人工智能软件。

1.3简述软件语言的分类,并举例说明。

1.需求定义语言是用于书写软件需求定义的语言。

例如:PSL/PSA。

2.功能性语言是用于书写软件功能规约的语言,通常又称为功能规约语言。

例如:广谱语言、Z语言。

3.设计性语言是用于书写软件设计规约的语言。

例如:PDL。

4.实现性语言也称为程序设计语言,是用于书写计算机程序的语言。

例如:C、java、PROLOG、FORTRAN、COBOL、Modula。

5.文档语言是用于书写软件文档的语言。

通常用自然语言或半形式化语言书写。

1.4什么是软件工程?软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。

软件工程借鉴传统工程的原则、方法,以提高质量、降低成本为目的。

1.5简述软件工程的基本原则。

软件工程原则包括围绕工程设计、工程支持和工程管理所提出的以下4条基本原则。

1.选取适宜的开发模型必须认识需求定义的易变性,采用适宜的开发模型,保证软件产品满足用户的要求。

2.采用合适的设计方法合适的设计方法有助于这些特征的实现,以达到软件工程的目标。

软件工程习题及解答

软件工程习题及解答

软件工程第一章习题一、选择题1、软件是计算机系统中与硬件相互依存的另一部分,它是包括( A )、( B )及( C )的完整集合。

其中,( A )是按事先设计的功能和性能要求执行的指令序列。

( B )是使程序能够正确操纵信息的数据结构。

( C )是与程序开发、维护和使用有关的图文材料。

供选择的答案:A~C. ①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表2、开发软件时对提高软件开发人员工作效率至关重要的是( A )。

软件工程中描述生存周期的瀑布模型一般包括计划、( B )、设计、编码、测试、维护等几个阶段,其中设计阶段在管理上又可以依次分成( C )和( D )两步。

供选择的答案:A.①程序开发环境②操作系统的资源管理功能③程序人员数量④计算机的并行处理能力B.①需求分析②需求调查③可行性分析④问题定义C、D.①方案设计②代码设计③概要设计④数据设计⑤运行设计⑥详细设计⑦故障处理设计⑧软件体系结构设计3、从供选择的答案中选出适当字句填入下列关于软件发展过程的叙述中的( )内。

有人将软件的发展过程划分为4个阶段:第一阶段(1950~1950年代末)称为“程序设计的原始时期”,这时既没有( A ),也没有( B ),程序员只能用机器指令编写程序。

第二阶段(1950年代末~1960年代末)称为“基本软件期”。

出现了( A ),并逐渐普及。

随着( B )的发展,编译技术也有较大的发展。

第三阶段(1960年代末~1970年代中期)称为“程序设计方法时代”。

这一时期,与硬件费用下降相反,软件开发费急剧上升。

人们提出了( C )和( D )等程序设计方法,设法降低软件的开发费用。

第四阶段(1970年代中期~现在)称为“软件工程时期”。

软件开发技术不再仅仅是程序设计技术,而是包括了与软件开发的各个阶段,如( E )、( F )、编码、单元测试、综合测试、( G )及其整体有关的各种管理技术。

供选择的答案:A ~ D:①汇编语言②操作系统③虚拟存储器概念④高级语言⑤结构式程序设计⑥数据库概念⑦固件⑧模块化程序设计E ~ G:①使用和维护②兼容性的确认③完整性的确认④设计⑤需求定义⑥图象处理二、简答题1、美国一家公司在1982年计划用FORTRAN语言开发一个在VAX750计算机上运行的应用程序,估计这个程序的长度为10000条FORTRAN指令。

软件工程习题集答案

软件工程习题集答案

软件工程习题集答案第一章《软件工程概述》作业答案一、名词解释1.软件软件是计算机程序以及开发、使用和维护程序所需要的所有文档。

软件是包括程序、数据及其相关文档的完整集合。

2.软件危机软件生产的进度、数量、质量、成本满足不了社会对软件的需求量和希望的现象,称为“软件危机”。

软件工程IEEE[IEE93]:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。

4.软件生存周期软件生存周期是指一个软件从提出开发要求开始直到不再使用(报废)为止的整个时期。

软件过程模型软件过程指为获得高质量软件所需要完成的一系列任务以及完成这些任务的工作步骤。

过程还规定了运用的方法的顺序、应该交付的文档资料、为保证软件质量和协调变化所需要采取的管理措施、任务完成的标志等。

软件过程模型也叫软件生存期模型、软件工程范型,是软件过程的一种抽象表示。

二、填空题1、在信息处理和计算机领域内,一般认为软件是程序、数据和文档的集合。

2、软件生产的发展经历了程序设计时代、程序系统时代和软件工程时代,各时代的生产方式分别是个体、作方式和工程化。

3、软件生存周期的8个阶段分别是问题定义、可行性研究、需求分析、概要设计、详细设计、编码与模块测试、综合测试、维护。

4、软件工程是利用工程化的原理和方法来进行开发、维护和管理软件的一门学科。

5、描述软件开发过程中各种活动如何执行的模型称为软件过程模型。

6、瀑布模型不适应需求可变的软件开发,只有到最后才能见到整个软件系统。

7、软件产品的生产主要是研制,软件产品的成本主要体现在人力成本上。

8、软件工程面临的问题有软件费用、可靠性、可维护性、生产率。

三、单项选择题1、软件文档是( C )。

A.程序B.工具C.文书和资料D.数据2、软件是一种( B )性工业产品A.理论B.知识(或逻辑)C.消耗D.体力3、与计算机科学的理论研究不同,软件工程是一门( B )的学科。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1. 第一章规约与软件工程概述1.1 规约的定义规约是软件开发过程中明确要求的描述,包含了对软件需求、设计、实现、测试、部署和维护等各个阶段的要求和约束。

1.2 软件工程的概述软件工程是一门涉及对软件的开发、运行和维护的学科。

它通过应用工程原则和方法,以系统化、规范化、可靠化、经济化和高质量的方式来开发和维护软件。

2. 第二章软件需求规约2.1 软件需求规约的作用软件需求规约是对软件系统所需功能和性能的具体描述和说明,是软件开发的基础和依据。

它指导着开发团队的工作,确保软件的功能和性能符合用户的需求。

2.2 软件需求规约的要素软件需求规约包括功能需求、非功能需求和约束条件。

功能需求描述了软件系统应该具备的功能,非功能需求描述了软件系统的性能要求和质量特性,约束条件描述了软件系统所受限制的条件。

3. 第三章软件设计规约3.1 软件设计规约的目标软件设计规约是对软件系统进行结构化和模块化设计的过程,其目标是确保软件系统具备可靠性、可维护性、可扩展性和可重用性。

3.2 软件设计规约的方法软件设计规约采用面向对象设计、结构化设计和模块化设计等方法。

面向对象设计强调将问题领域的概念和对象转化为软件系统的类和对象,结构化设计强调将系统分解为模块,模块化设计强调模块间的接口和通信。

4. 第四章软件实现规约4.1 软件实现规约的目的软件实现规约是指将软件设计阶段得到的设计规约转化为计算机可执行的程序代码,其目的是确保软件系统的正确性、可靠性、可维护性和可测试性。

4.2 软件实现规约的技术软件实现规约采用编程语言、软件开发工具和软件开发环境等技术。

编程语言提供了描述算法和数据结构的语法和语义,软件开发工具提供了代码编辑、编译、调试和测试等功能,软件开发环境提供了开发的整体支持。

5. 第五章软件测试规约5.1 软件测试规约的目的软件测试规约是对软件系统进行功能、性能和质量等方面的验证和检测,其目的是找出软件系统的错误和缺陷,并修复和改进。

软件工程课后习题(含答案)

软件工程课后习题(含答案)

第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。

2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。

二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。

可靠性是衡量软件质量的一个重要目标。

2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。

可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。

三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。

(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。

2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。

(2)软件开发简单,易学、易上手。

(3)专业或非专业人员都能参与软件开发活动。

第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。

2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。

3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。

4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。

二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。

2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。

2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。

3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

【可编辑全文】软件工程概论答案

【可编辑全文】软件工程概论答案

可编辑修改精选全文完整版软件工程概论答案第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。

办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。

1.2 认为“软件就是程序,软件开发就是编程序。

”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。

”这种观点是错误的。

首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。

1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。

1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

典型表现:(1)对软件开发成本和进度的估计常常很不准确。

(2)用户对“已完成的”软件系统不满意的现象经常发生。

(3)软件产品的质量往往靠不住。

(4)软件常常是不可维护的。

(5)软件通常没有适当的文档资料。

(6)软件成本在计算机系统总成本中所占的比例逐年上升。

(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。

产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。

(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。

(3) 软件开发过程不规范。

如,没有真正了解用户的需求就开始编程序。

(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。

需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。

(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。

1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。

软件工程概述习题及答案

软件工程概述习题及答案

软件工程概述习题及答案第一章软件工程概述一. 填空题1. 软件的发展过程, , , .2. 基于软件的工作方式,软件可以划分为, , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境.4. 在计算机系统中,软件是, 而硬件是.5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。

6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。

7. 软件生存期若分为三个大的阶段,,.8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。

9. 在软件的生存周期开发阶段要经三个步骤, , 。

10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。

11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。

12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。

采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。

螺旋线第一圈的开始点可能是一个____ 。

从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

13. 软件开发模型, , , , , .14. 软件工程面临的问题有, , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和.16.基于软件的功能划分可以把软件划分为, ,和。

17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。

为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。

18.软件工程是指导的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

国家开放大学《软件工程》章节自测参考答案

国家开放大学《软件工程》章节自测参考答案

国家开放大学《软件工程》章节自测参考答案模块一软件工程概述一、选择题1.软件与程序的区别是()。

A. 程序价格便宜、软件价格昂贵。

B. 程序是用户自己编写的,而软件是由厂家提供的。

C. 程序是用高级语言编写的,而软件是由机器语言编写的。

D. 软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。

2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。

A. 软件产生B. 软件周期C. 软件工程D. 软件危机3.瀑布模型本质上是一种()模型。

A. 线性顺序B. 早期产品C. 顺序迭代D. 线性迭代4.瀑布模型存在的问题是()。

A. 缺乏灵活性B. 用户容易参与开发C. 适用可变需求D. 用户与开发者易沟通5.用户要看到软件产品的模样,最早也要到()以后。

A. 验收B. 在单元测试之后C. 程序代码编写完成之后D. 用户需求基本确定6.螺旋模型是一种将瀑布模型和()结合起来的软件开发模型。

A. 增量模型B. 专家系统C. 喷泉模型D. 变换模型7.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。

A. 需求不确定性高的B. 需求确定的C. 管理信息D. 实时8.原型化方法是一种()型的设计过程。

A. 自底向上B. 自顶向下C. 自外向内D. 自内向外9.下列有关软件工程的标准,属于国际标准的是( )A. IEEEB. GBC. ISOD. DIN10.结构化方法是一种基于()的方法。

A. 程序结构B. 数据结构C. 算法D. 数据流二、简答题1.什么是软件危机?软件危机表现在哪几个方面?参考答案:由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。

这种现象早在20世纪60年代被定义为“软件危机”。

它的具体表现如下:(1)“已完成”的软件不满足用户的需求。

(2)开发进度不能保障,交付时间一再拖延。

软件工程课后题答案大全(详细)

软件工程课后题答案大全(详细)

软件工程习题解答第一章概述1.软件产品的特性是什么?a.软件产品是一种逻辑产品。

b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。

c.软件产品不会用坏,不存在磨损、消耗问题。

d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。

e.软件费用不断增加,成本相当昂贵。

2.软件产品有几个阶段?各有何特征?阶段 A.程序设计时代(1946-1956) B.程序系统时代(1956-1968) C.软件工程时代(1968-今)生产方式个体手工劳动作坊式小集团合作生产工程化的生产工具机器语言、汇编高级语言数据库、开发工具、开发环境、网络、分布式、面向对象技术开发方法追求编和技巧,追求程序运行效率个人技巧,开始提出结构化方法硬件特征价格贵、存储容量小、运行可靠性差速度、容量、工作可靠性有明显提高,价格降低,销售有爆炸性增长向超高速、大容量、微型化以及网络化方软件特征只有程序、程序设计概念,不重视程序设计方法程序员数量猛增,已意识到软件开发的重要性,开发技术没有新的突破,大量软件开发的需求已提出,开发人员的素质和工程兵的开发技术不适应规模大、结构复杂的软件开发,产生了尖锐矛盾,导致软件危机的产生开发技术有很大进步,但未能获得突破性进展,软件价格不断上升,没有完全摆脱软件危机3.什么是软件危机?其产生的原因是什么?软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。

一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。

在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。

主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。

b.开发的软件不通满足用户要求。

c.开发的软件可维护性差。

d. 开发的软件可靠性差。

软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。

习题-1-软件工程概述-参考答案

习题-1-软件工程概述-参考答案

第一章习题参考答案
1、对于开发过一定规模项目的同学可能遇到软件危机中的一些现象。

比如开发的软件没有
按期限提交,开发出来的软件质量差,软件修改、维护困难等。

在没有学过软件工程课程的时候你也会有一些解决的办法,但是效果未必很好,比如怕不能按时提交可以加班加点,增加人手;怕软件质量不好,可能增加一些检验和复查;怕软件难于修改,就给软件加了很多注释等等。

其实这都不是最好的解决办法,想知道好的方法是什么吗?好好学习软件工程课吧。

2、软件工程主要是研究软件开发和维护过程中的一些技术和管理方面的问题。

两个方面技
术和管理,具体的内容可以展开描述。

3、当用户的需求很模糊时,最重要的就是要确定用户的需求,同时用户对软件开发的相关
的概念又很模糊,所以比较好的过程模型是快速原型模型,采用原型法可以由开发方先做初步需求,搭建一个探索型的快速原型与用户来交流,用户可以直观的理解和体验软件,并提出自己的意见。

能最大化的消除需求不确定带来的风险。

4、因为开发完成后产品将被抛弃,也就是说这个开发的软件主要是用来验证算法实现的,
可以采用快速原型法中的实验型原型,主要是用来在开发方对软件的设计等不太确定时进行快速验证。

软件工程课后习题参考答案

软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案1·软件工程概述1·1 软件工程的定义和特点软件工程是一门研究和应用如何以系统化、规范化、可量化的方法开发和维护软件的学科。

其特点包括软件开发的目标性、可度量性、可管理性和可预测性。

1·2 软件生命周期模型常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型和敏捷模型等。

每个生命周期模型都有其适用的场景和优缺点。

2·软件需求工程2·1 软件需求获取软件需求获取方法包括面谈、问卷调查、用户场景模拟等。

需求获取的目的是明确软件系统的功能、性能和约束条件。

2·2 软件需求分析与规格说明软件需求分析的目标是识别和定义系统的需求,包括功能需求、非功能需求和约束条件。

规格说明是将需求转化为精确、清晰和易于验证的文档。

3·软件设计3·1 结构化设计结构化设计将系统分解为模块,确定模块之间的接口和关系,实现模块化、高内聚、低耦合的设计原则。

3·2 面向对象设计面向对象设计将系统抽象为对象,定义对象的属性和方法,并确定对象之间的关系。

常用的面向对象设计方法有UML(统一建模语言)。

4·软件测试4·1 测试基本概念软件测试是通过运行软件来发现错误和缺陷的过程。

测试的基本概念包括测试用例、测试套件、测试目标和测试覆盖度等。

4·2 测试方法和技术常见的软件测试方法和技术有黑盒测试、白盒测试、灰盒测试、单元测试、集成测试和系统测试等。

每种方法和技术都有其适用的场景和优缺点。

5·软件维护与配置管理5·1 软件维护软件维护是指对已有的软件进行修改、优化、修复错误和适应环境变化的过程。

维护活动包括需求分析、设计、实现、测试和文档更新等。

5·2 软件配置管理软件配置管理是指在软件开发和维护过程中,对软件配置项进行识别、控制、追踪和审查,确保软件可以按需发布、升级和回溯。

软件工程习题答案

软件工程习题答案

软件⼯程习题答案第1章软件⼯程概述参考答案⼀. 选择题1. B2. A3. B4. B5. D6. B7. D8. A9. D⼆. 填空题1. 设计编码测试2. 软件费⽤可靠性可维护性可重⽤性及⽣产率等3. 计算机软件开发和维护4. 分解抽象和信息隐蔽⼀致性确定性5. 软件的总⽬标待开发软件的需求6. ⼆三7. 计划阶段开发阶段维护阶段8. 软件需求明确9. 制定计划风险分析开发实施⽤户评估三. 名词解释1. 软件的定义如下:在运⾏中能提供所希望的功能和性能的指令集,使程序能正确运⾏的数据结构,描述程序研制过程和⽅法所⽤的⽂档。

2. 软件⼯程是指导计算机软件开发和维护的⼀门学科。

3. 软件危机指的是软件开发和维护过程中遇到的⼀系列严重问题。

4. 就是从提出软件产品开始,直到该软件产品被淘汰的全过程。

5. 瀑布模型⼜称⽣存周期模型,由B.M.Boehm提出,是软件⼯程的基础模型。

其核⼼思想是按⼯序将问题化简,将功能的实现与设计分开,便于分⼯协作。

6. 螺旋模型将瀑布模型与演化模型结合起来,并且加⼊两种模型均忽略了的风险分析,弥补了两者的不⾜。

四. 简答题1. 软件既是知识产品,⼜是与汽车,建筑物⼀样的⼯业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,软件的特点如下:软件是⼀种逻辑实体,⽽不是具体的物理实体,因⽽它具有抽象性;软件是通过⼈们的智⼒活动,把知识与技术转化成信息的⼀种产品,是在研制、开发中被创造出来的;在软件的运⾏和使⽤期间,没有硬件那样的机械磨损、⽼化问题;软件的开发和运⾏经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱⼿⼯的开发⽅式;软件的开发费⽤越来越⾼,成本相当昂贵;软件的开发是⼀个复杂的过程,因⽽管理是软件开发过程中必不可少的內容。

2. 软件危机主要表现如下:产品不符合⽤户的实际需要;软件开发⽣产率提⾼的速度远远不能满⾜客观需要,软件的⽣产率远远低于硬件⽣产率和计算机应⽤的增长速度,使⼈们不能充分利⽤现代计算机硬件提供的巨⼤潜⼒;软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件⽂档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的⽐例逐年上升。

软件工程(习题及参考答案)

软件工程(习题及参考答案)

第1章概述(习题与参考答案)[判定题]1. 由于今天个人运算机不断进展壮大,人们再也不采纳软件团队的开发方式。

(×)2. 由于软件是产品,因此能够应用其他工程制品所用的技术进行生产。

(×)3. 购买大多数运算机系统所需的硬件比软件更昂贵。

(×)4. 大多数软件产品在其生命周期中不需要增强功能。

(×)5. 大多数软件系统是不容易转变的,除非它们在设计时考虑了转变。

(√)6. 一样来讲,软件只有在其行为与设计者的目标一致的情形下才能成功。

(×)[选择题]1. ()因素促使运算机系统愈来愈复杂。

(D)A. 运算机内存和存储容量上的庞大增加B. 外部输入/输出选项的加倍多样性C. 运算机体系结构方面的深刻转变D. 以上所有选项2. 下面的()再也不是现代软件工程师关注的问题。

(A)A. 什么缘故运算机硬件的本钱这么高?B. 什么缘故软件需要很长时刻才能完成?C. 什么缘故开发一个软件的本钱这么高?D. 什么缘故不能在产品发布前去除软件错误?3. 软件会慢慢退化而可不能磨损,其缘故在于()。

(C)A. 软件通常暴露在恶劣的环境下B. 软件错误通常发生在利用以后C. 不断的变更使组件接口之间引发错误D. 软件备件很难订购4. 大多数软件仍然是定制开发的,其缘故在于()。

(C)A. 软件组件重用是十分普遍的B. 可重用的组件太昂贵而无法利用C. 软件在不利用其他组件的情形下很容易构造出来D. 商业组件在很多应用领域中能够取得5. 下面的()说法是正确的。

(C)A. 软件危机在20世纪70年代末期全面暴发B. 当前先进的软件工程方式已经解决了软件危机的问题C. 软件危机是指在运算机软件的开发和保护进程中碰到的一系列严峻问题D. 软件危机是指在软件产品中存在一系列的质量问题6. 软件工程的大体目标是()。

(B)A. 排除软件固有的复杂性B. 开发高质量的软件C. 尽力发挥开发人员的制造性潜能D. 更好地保护正在利用的软件产品7. ()是将系统化的、标准的、可定量的方式应用于软件的开发、运行和保护的进程,它包括方式、工具和进程三个要素。

软件工程课后习题答案第五版

软件工程课后习题答案第五版

软件工程课后习题答案第五版软件工程课后习题答案第五版《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。

(2)软件产品的质量往往靠不住。

(3)一般软件很难维护。

(4)软件生产效率很低。

(5)软件开发成本越来越大。

(6)软件成本与开发进度难以估计。

- (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。

2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。

造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。

(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。

(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。

3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。

在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。

(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。

将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。

- 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。

4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。

软件工程习题解答

软件工程习题解答

第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。

其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。

①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。

软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。

其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。

A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。

这时既没有(A),也没有(B),程序员只能用机器指令编写程序。

第二阶段(20世纪60年代),称为“基本软件期”。

出现了(A),并逐渐普及。

随着(B)的发展,编译技术也有较大的发展。

第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。

这一时期,与硬件价格下降相反,软件开发费用急剧上升。

人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。

第四阶段(20世纪70年代中期至今),称为“软件工程”时期。

软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。

如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。

A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章软件工程概述一. 填空题1. 软件的发展过程 , , , .2. 基于软件的工作方式,软件可以划分为 , , , .3. 在软件发展的第四阶段计算机体系结构迅速地从环境转变为环境 .4. 在计算机系统中,软件是 , 而硬件是 .5. 软件危机是在软件发展第阶段末期,随着第代计算机和诞而产生。

6. 文档一般可分为面向的文档,面向的文档,面向的文档和面向的文档。

7. 软件生存期若分为三个大的阶段,, .8. 它是经过阶段评审后的软件配置成分(各个阶段产生的文档或程序代码)。

9. 在软件的生存周期开发阶段要经三个步骤 , , 。

10. 瀑布模型是以文档为驱动、适合于的软件项目的模型。

11. 螺旋模型将开发过程分为几个螺旋周期,在每个螺旋周期内为,,和四个步骤。

12. 软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了____。

采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对____ 进行识别和分析,并采取相应的对策。

螺旋线第一圈的开始点可能是一个____ 。

从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。

13. 软件开发模型 , , , , , .14. 软件工程面临的问题有 , , , .15. 面向对象方法学把客观世界的事物或实体都看成对象,把对象作为分析设计的元素,把所有对象都划分成对象类,类可以派生和 .16.基于软件的功能划分可以把软件划分为 , ,和。

17.计算机系统发展的早期所形成的一系列错误概念和做法,已经严重地阻碍了计算机软件的开发,甚至有的根本无法维护,只能提前报废,造成大量人力、物力的浪费,从而导致软件危机。

为了研究解决的方法,计算机科学技术领域中的一门新兴的学科逐步形成了,这就是。

18.软件工程是指导的一门工程学科。

采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,这就是软件工程。

19.为了开发出低成本高质量的软件产品,软件工程学应遵守以下基本原则: , ,和 , 。

20.原型模型是从需求分析开始。

软件开发者和用户在一起定义,说明需求,并规划出定义的区域。

然后快速设计软件中对用户/客户可见部分的表示。

快速设计导致了原形的建造,原形由用户/客户评估,并进一步求精。

二. 选择题1.软件是一种 ( )性工业产品.A.理论B.知识C.消耗D.体力2.软件的主要功能和结构是在( )阶段决定的.A.分析设计 B编程 C.测试 D.维护3.在下列哪个阶段()技术特点是多用户,实时,数据库,软件产品A.第一阶段 B.第二阶段 C.第三阶段 D.第四阶段4. 允许多个联机用户同时使用计算机是下列哪个软件()A.分时软件 B.应用软件 C.交互式软件 D.微型软件5. 下列哪一模型是软件的基础模型()A.螺旋模型 B.瀑布模型 C.原型模型 D.第四代模型6. 瀑布模型的存在问题是()A.用户容易参与开发 B.缺乏灵活性 C.用户与开发者易沟通 D. 适用可变需求7.螺旋模型的开发实施基本和( )模型相吻和.A.瀑布B.再利用组装C.螺旋D.原型8.软件生命周期中所花费用最多的阶段是()A.详细设计 B.软件编码 C.软件测试 D.软件维护9.()是软件生存期中的一系列相关软件工程活动的集合,它由软件规格说明、软件设计与开发、软件确认、软件改进等活动组成。

A.软件过程B.软件工具C.质量保证D.软件工程10.综合测试是在软件周期的( )阶段制定的,在综合测试完成的.A.需求分析 B. 概要设计 C. 综合测试 D.确认测试11.确认测试计划在软件生存周期的( )阶段制定的,在确认测试阶段完成的.A.需求分析B.概要设计C.综合测试D.确认测试12. 下列关于瀑布模型的描述正确的是()。

A. 瀑布模型的核心是按照软件开发的时间顺序将问题简化。

B. 瀑布模型具有良好的灵活性。

C. 瀑布模型采用结构化的分析与设计方法,将逻辑实现与物理实现分开。

D. 利用瀑布模型,如果发现问题修改的代价很低。

13.软件计划阶段要求()的交互和配合。

A.分析人员和设计人员B.分析人员和用户C.设计人员和用户D.代码开发人员和用户14.软件危机是指在软件开发和维护中所产生的一系列严重的问题,在这些问题中相对次要的因素是() A.文档质量B.程序中的解释C.软件性能D.开发进度15.软件计划的任务是为项目负责人提供对软件资源、成本和进度的估价。

其中对系统各种功能的界限划分应属于下列哪种任务?A.分析B.估价 C.制定进度 D.进度分配16.软件文档时影响软件可维护性的重要因素,软件系统的文档可分为用户文档和系统文档。

导致软件开发进度与软件文档完全脱节的根本原因是()A.文档规范程度低B.生成文档的工具不够先进C.开发者不公重视D.工程化程度尚低17.瀑布模型把软件生存周期划分为软件定义、()与运行及维护三个阶段,每一个阶段又可细分为若干更小的阶段。

A.可行性分析B.详细设计 C.编码阶段 D.软件开发18.软件开发的原型化方法最有效的应用领域是()A.科学计算 B.工程设计 C.管理信息 D.实时控制19.软件生命周期过程中,用户的参与主要在()A.软件定义阶段 B.软件开发阶段 C.软件维护阶段 D.整个软件生命周期过程中20.结构化生命周期方法是将软件生命周期的各项活动规定为按固定次序连接的若干阶段的工作,因其特征而一般称为( )A.层次模型B.瀑布模型C.螺旋模型D.对象模型三. 名词解释1软件2系统软件3实时处理软件4.软件工程5.软件危机6.软件生存周期7.瀑布模型8.螺旋模型四. 简答题1.说出软件的特点.2.简述软件的种类 .3.简述关键软件的特点.4.软件危机主要有哪些表现?其产生的原因是什么?5.软件工程有哪些原则?6.简述软件工程目标和面临的主要问题。

7. 软件生成周期一般可分为哪几个阶段?8. 软件的质量保证工作不能等到编码阶段结束之后再进行,简述其理由?9. 简述软件工程研究的基本内容与目标10. 在用瀑布模型开发软件时,每项开发活动均应具有哪些特征11. 简述第四代技术模型的优点和缺点。

简述在软件开发模型中原型模型的优点和缺点,适用范围和不适用范围第一章习题答案一. 填空题答案1.程序设计阶段程序系统阶段软件工程阶段第四阶段2. 实时处理软件分时软件交互式软件批处理软件3. 集中的主机分布的客户/服务器4. 逻辑部件物理部件5. 二三6. 管理人员开发人员用户使用维护人员7. 计划阶段开发阶段维护阶段8. 基准配置9. 设计编码测试 10. 软件需求明确 11. 制定计划风险分析开发实施用户评估12. 风险分析风险概念项目13.瀑布模型螺旋模型第四代技术模型原型模型构件组装模型混合模型 14. 软件费用可靠性可维护性可重用性及生产率等 15. 基本继承16.系统软件支撑软件应用软件17.大型软件软件危机计算机软件工程学18.计算机软件开发和维护 19.分解抽象和信息隐蔽一致性确定性20.软件的总目标待开发软件的需求二. 选择题答案1.C2.B3.A4.B5.B6.D7.A8.D9.D 10.B 11 A 12 C 13 B 14 D 15 B 16 D 17 D 18 C 19 A 20C三. 名词解释答案1. 软件的定义如下:在运行中能提供所希望的功能和性能的指令集;使程序能正确运行的数据结构;描述程序研制过程和方法所用的文档。

2.系统软件:是与计算机硬件紧密配合以使计算机的各个部件与相关软件及数据协调、高效工作的软件。

3. 实时处理软件:指在事件或数据产生时,立即处理,并及时反馈信号,控制需要监测和控制的过程的软件。

4. 软件工程是指导计算机软件开发和维护的一门学科5. 软件危机指的是软件开发和维护过程中遇到的一系列严重问题6.软件生存周期: 就是从提出软件产品开始,直到该软件产品被淘汰的全过程7. 瀑布模型又称生存周期模型,由B.M.Boehm提出,是软件工程的基础模型。

其核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作8. 螺旋模型将瀑布模型与演化模型结合起来,并且加入两种模型均忽略了的风险分析,弥补了两者的不足四. 简答题答案1.软件既是知识产品,又是与汽车,建筑物一样的工业产品,此外,软件还具有类似艺术,学术那样的知识性创造和特点,因此,可以说软件就是独特的特点软件的特点如下:软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象性;软件是通过人们的智力活动,把知识与技术转化成信息的一种产品,是在研制、开发中被创造出来的;在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题;软件的开发和运行经常受到计算机系统的限制,对计算机系统有着不同程度的依赖关系;软件的开发尚未完全摆脱手工的开发方式;软件的开发费用越来越高,成本相当昂贵;软件的开发是一个复杂的过程,因而管理是软件开发过程中必不可少內容。

2. 软件的种类:基于软件的功能划分:系统软件支撑软件应用软件基于软件工作方式划分:实时处理软件分时软件交互式软件批处理软件基于软件规模的划分:微型软件小型软件中型软件大型软件甚大型软件极大型软件基于软件失效的影响进行划分:基于软件服务对象的范围划分:定制软件产品软件3.1)可靠性质量要求高;(2)常与完成重要功能的大系统的处理部件相联; 3)含有的程序可能对人员、公众、设备或设施的安全造成影响。

还可能影响到环境的质量和关系到国家的安全和机密。

4.软件危机主要表现如下:产品不符合用户的实际需要:软件开发生产率提高的速度远远不能满足客观需要,软件的生产率远远低于硬件生产率和计算机应用的增长速度,使人们不能充分利用现代计算机硬件提供的巨大潜力。

软件产品的质量差;对软件开发成本和进度的估计常常不准确;软件的可维护性差;软件文档资料通常既不完整也不合格;软件的价格昂贵,软件成本在计算机系统总成本中所占的比例逐年上升。

造成软件危机的原因是:软件的规模越来越大,结构越来越复杂。

软件开发管理困难而复杂。

软件开发费用不断增加。

软件开发技术落后。

生产方式落后。

开发工具落后,生产率提高缓慢。

5. 软件工程原则如下:用分阶段的生存周期计划严格管理;坚持进行阶段评审;实行严格的产品控制;采用现代程序设计技术;应能清楚地审查结果;合理安排软件开发小组的人员6.软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。

包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。

相关文档
最新文档