陇东学院2012 ——2013 学年第二学期计算机科学与技术 专业 软件工程 课程试卷(期末B)
一、选择题(每小题2分,共20分)。
在软件开发的各种资源中,____D____是最重要的资源。(2分)
A. 开发工具 B. 方法
C. 硬件环境 D. 人员
单元测试的测试用例主要根据___A___的结果来设计。(2分)
A. 需求分析 B. 源程序 C. 概要设计 D. 详细设计
维护中因删除一个标识符而引起的错误是_______D____副作用。(2分)
A.文档 B.数据 C. 设计 D. 编码
在SD方法中全面指导模块划分的最重要的原则是_____D_______。(2分)
A.程序模块化 B.模块高内聚
C.模块低耦合 D.模块独立性
模块的内聚性最高的是______D______。(2分)
A.逻辑内聚 B.时间内聚 C.偶然内聚 D.功能内聚
软件生命周期中所花费用最多的阶段是( D )
A.详细设计 B.软件编码
C.软件测试 D.软件维护
软件测试方法中的静态测试方法之一为( A )
A.计算机辅助静态分析 B.黑盒法hgukl
C.路径覆盖 D.边界值分析
在详细设计阶段,经常采用的工具有( A )
A.PAD B.SA C.SC D.DFD
可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出( B )的回答。
A.确定 B.行或不行 C.正确 D.无二义
以下不属于逻辑覆盖的是( D )。
A.语句覆盖 B.判定覆盖 C.条件覆盖 D.基本路径
二、简答题(共40分)。
采用黑盒技术设计测试用例有哪几种方法?这些方法各有什么特点?(5分)
㈠等价类划分。等价类划分是将输入数据域按有效的或无效的(也称合理的或不合理的)划分成若干个等价类,测试每个等价类的代表值就等于对该类其它值的测试。㈡边界值分析。该方法是将测试边界情况作为重点目标,选取正好等于,刚刚大于或刚刚小于边界值的情况,根据这些情况选择测试用例。㈢错误推测。错误推测法没有确定的步骤,凭检验进行。它的基本思想是列出程序中可能发生错误的情况,根据这些情况选择测试用例。㈣因果图。因果图能有效的检测输入条件的各种组合可能会引起的错误。因果图的基本原理是通过画因果图,把用自然语言描述的功能说明转换为判定表,最后为判定表的每一列设计一个测试用例。
软件工程的七条基本原理。(5分)
1、用分阶段的生命周期计划严格管理
2、坚持进行阶段评审
3、实行严格的产品控制
4、采用现代程序设计技术
5、结果应能清楚地审查
6、开发小组的人员应该少而精
7、承认不断改进软件工程实践的必要性
什么是软件危机?其产生的原因是什么?(5分)
当软件开发技术的进步不能跟上硬件技术的进步,未能满足发展的要求,致软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。主要表现为:<1>经费预算经常突破,完成时间一再拖延;<2>开发的软件不能满足用户要求;<3>开发的软件可维护性差;<4>开发的软件可靠性差。造成软件危机的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的。共产生原因主要有以下几方面:<1>软件的规模越来越大,结构越来越复杂;<2>软件开发管理困难而复杂;<3>软件开发费用不断增加;<4>软件开发技术落后;<5>生产方式落后;<6>开发工具落后,生产率提高缓慢。
什么是数据字典?其作用是什么?它有哪些条目?(5分)
数据字典(简称DD)是用来定义数据流图中的各个成分的具体含义的,它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。他和数据流图共同构成了系统的逻辑模型,是需求规格说明书的主要组成部分。数据字典是为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样,要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下四类条目:数据流、数据项、数据存储、基本加工。数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。
软件生命周期的阶段划分及各阶段的文档。(5分)
20世纪70年代提出的软件生命周期的瀑布模型,典型地刻画了软件生命周期的阶段划分,它把软件生命周期划分为8个阶段,分别是问题定义、可行性研究、需求分析、总体设计、详细设计、程序编制、测试和运行与维护。
需求分析的基本任务及步骤。(5分)
需求分析阶段的基本任务是要准确的定义新系统的目标,为了满足用户需要,回答系统必须“做什么”的问题。本阶段要进行以下几方面的工作:㈠问题识别。双方确定对问题的综合需求,这些需求包括:功能需求、性能需求、环境需求、用户界面需求,另外还有可靠性、安全性、保密性、可移植性、可维护性等方面的需求。㈡分析与综合,导出软件的逻辑模型。分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。这里也包括对数据域进行分解,并分配到各个子功能上,以确定系统的构成及主要成份,并用图文结合的形式,建立起新系统的逻辑模型。㈢编写文档。编写“需求规格说明书”、编写初步用户使用手册、编写确认测试计划、修改完善软件开发计划。
可行性研究的基本任务及步骤。(5分)
首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把他们清楚地列举出来。然后,分析员进行简要的需求分析,抽象