1、2014年三峡大学硕士研究生招生复试 软件工程 课程考试答案 (B卷) 一、选择题(每小题2分,共10分)1.B 2.D 3.A 4.C 5.B二、判断题(每空2分,共10分) 1.X 2.X 3.X 4. X 5.V三、名词解释(每小题5分,共20分)1. 软件工程:指导计算机软件开发和维护的一门工程学科2.系统流程图:概括的描绘物理系统的传统工具3. 数据字典:简称,就是用来定义数据流图中的各个成分具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述. 4.软件可靠性:程序在给定的时间间隔内,按照规格说明书的规定成功运行的概率。四、问
2、答题 1说明软件危机及其表现,以及为什么会出现软件危机?软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。 软件危机表现在以下四个方面: (1)经费预算经常突破,完成时间一再拖延。由于缺乏软件开发的经验和软件开发数据的积累,使得开发工作的计划很难制定。主观盲目制定计划,执行起来与实际情况有很大差距,使得开发经费一再突破。由于对
3、工作量估计不足,对开发难度估计不足,进度计划无法按时完成,开发时间一再拖延。 (2)开发的软件不能满足用户要求。开发初期对用户的要求了解不够明确,未能得到明确的表达。开发工作开始后,软件人员和用户又未能及时交换意见,使得一些问题不能及时解决,导致开发的软件不能满足用户的要求,因而导致开发失败。 (3)开发的软件可维护性差。开发过程中没有同意的、公认的规范,软件开发人员按各自的风格工作,各行其是,开发过程无完整、规范的文档,发现问题后进行杂乱无章的修改。程序结构不好,运行时发现错误也很难修改,导致维护性差。 (4)开发的软件可靠性差。由于在开发过程中,没有确保软件质量的体系和措施,在软件测试时,
4、又没有严格的、充分的、完全的测试,提交给用户的软件质量差,在运行中暴露出大量的问题。 造成软件危机的原因是: (1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。6)开发工具落后,生产率提高缓慢。2. 可行性研究报告的主要内容?可行性分析的结果是可行性研究报告,内容包括:(1) 系统概述:说明开发的系统名称,提出单位和开发单位。(2) 可行性研究的前提:系统目标;要求;约束和限制;可行性研究的基本准则等。(3) 对现有系统的分析:处理流程,图示说明现有系统的处理流程和数据流程;现有系统存在的问题。 (4
5、) 系统需求:主要功能;主要性能及其要求;操作要求;信息要求;限制性要求。(5) 建议系统:系统目标;处理流程;系统结构,功能,性能;系统技术可行性;投资和效益分析;操作可行性;法律可行性。(6) 其它可选方案:与国内外同类型方案的比较;提出一两个可行性方案供论证和探讨。(7) 制定下一阶段的预算。(8) 结论性意见:由用户方、设计方和投资方共同签署意见。3什么是软件概要设计?该阶段的基本任务是什么?软件概要设计:在需求分析的基础上通过抽象和分解将系统分解成模块,确定系统功能是实现,即把软件需求转换为软件包表示的过程。基本任务:(1)设计软件系统结构(简称软件结构) a.采用某种设计方法,将一
6、个复杂的系统按功能划分成模块(划分) b.确定模块的功能。 (功能)c.确定模块之间的调用关系。 (调用) d.确定模块之间的接口,即模块之间传递的信息。 (接口) e.评价模块结构的质量。 (质量) (2)结构及数据库设计 a.构设计 b.数据库设计:(概念设计、逻辑设计、物理设计) (3)编写概要设计文档(文档主要有:概要设计说明书、数据库设计说明书、用户手册、修订测试计划) (4)评审4. 软件质量保证应做好哪几方面的工作? 解:软件质量保证是软件工程管理的重要内容,软件质量保证应做好以下几方面的工作: (1)采用技术手段和工具。质量保证活动要贯彻开发过程始终,必须采用技术手段和工具,尤其是使用软件开发环境来进行软件开发。 (2)组织正式技术评审。在软件开发的每一个阶段结束时,都要组织正式的技术评审。国家标准要求单位必须采用审查、文档评审、设计评审、审计和测试等具体手段来保证质量。 (3)加强软件测试。软件测试是质量保证的重要手段,因为测试可发现软件中大多数潜在错误。 (4)推行软件工程规范(标准)。用户可以自己制定软件工程规范(标准),但标准一旦确认就应贯彻执行。 (5)对软件的变更进行控制。软件的修改和变更常常会引起潜伏的错误,因此必须严格控制软件的修改和变更。 (6)对软件质量进行度量。即对软件质量进行跟踪,及时记录和报告软件质量情况。