《软件工程》期中试题。
班级姓名学号。
一、 选择题。
1、下述表现那些是软件危机的主要表现?( d )
、软件的可维护性差 ⅱ、软件开发的成本和进度不能准确估计。
、开发过程缺乏完整的文档资料 ⅳ、软件需求增长难以满足。
ab、ⅱ和ⅳ c、ⅰ d、全部。
2、下图所示的软件过程模型是( a )。
a、瀑布模型 b、原型模型 c、螺旋模型 d、喷泉模型。
3、数据字典一般由下列( d )元素的定义组成。
、数据的源点和终点 ⅱ、数据流 ⅲ、数据项 ⅳ、数据存储 ⅴ处理。
a、全部 bcde
4、优化软件设计,要求建立( c )的模块集合,以提高模块的独立性。
a、低内聚、低耦合 b、低内聚、高耦合 c、高内聚、低耦合。
d、高内聚、高耦合。
5、下图所示的软件模块结构图,该软件的宽度为( f ),模块a的扇出数为( c )。
a、1 b、2 c、3 d、4 e、5 f、6
6、对软件进行适当的修改,使运行的软件能与处理环境或数据环境的变化相符合的维护活动是( b )。
a、改正性维护 b、适应性维护 c、完善性维护 d、预防性维护。
7、测试的用例由( b )组成。
a、合理的输入数据 b、测试输入数据和预期输出结果
c、测试输入数据和实际输出结果 d、合理的输入数据和不合理的输入数据。
8、考察模块间的接口和各模块之间的联系的测试是( b )。
a、单元测试 b、组装测试 c、确认测试 d、系统测试。
9、不属于黑盒测试的测试用例设计的方法是( d )。
a、等价分类法 b、边界值分析法 c、错误猜测法 d、逻辑覆盖法。
10、软件系统模块结构如图所示,下述说法中( c )属于深度优先的测试方法。
a、m1-m2-m3-m4-m5-m7-m6-m8 b、m1-m2-m4-m8-m3-m5-m6-m7
c、m1-m4-m5-m7-m6-m2-m3-m8 d、m7-m5-m4-m1-m6-m3-m2-m8
说明:m1-m4-m5-m7为主控路径。
11、软件工程的目标是( c )。
a、生产满足用户需要的产品。
b、以合适的成本生产满足用户需要的产品。
c、以合适的成本生产满足用户需要的、可用性好的产品。
d、生产正确的、可用性好的产品。
12、需求分析的产品是( a
a、需求规格说明b、数据流图。
c、判断表d、数据字典。
13、从下列有关系统结构图的叙述中选出正确的叙述。( d )
a、系统结构图中反映的是程序中数据流的情况。
b、系统结构图是精确表达程序结构的图形表示法。因此,有时也可将系统结构当作程序流程图使用。
c、一个模块的多个下属模块在系统结构图中所处的左右位置是无关紧要的。
d、在系统结构图中,上级模块与其下属模块之间的调用关系用有向线段表示。这时,使用斜的线段和水平、垂直的线段具有相同的含义。
14、软件结构图的形态特征能反映程序重用率的是( c )。
a、深度 b、宽度 c、扇入 d、扇出
15、面向对象的软件工程中,识别主类主要靠( b )。
a、技巧 b、经验 c、启发式规则d、面向对象分析理论。
二、 简答。
1、怎样克服软件危机?
解答:课本5页。
1) 吸收其它工程项目中积累的丰富经验、科学原理、技术与方法,在开发软件的过程中应有良好的组织,严格的管理,相互的友好协作;
2) 不断总结经验,探索软件开发中应遵循的原理、过程、技术和方法;
3) 根据不同的应用领域,使用用户常用的自然语言,描述问题,由计算机自动完成推理和运算,从而解决用户提出的问题,即软件开发工程化的方法。
2、试简述著名的软件工程专家b.w.boehm提出的软件工程的7条基本原理。
解答:课本7页。
3、什么是软件生存周期?需求阶段和设计阶段的任务分别是什么?
解答:软件生存周期是指一个软件系统从目标提出到最终被淘汰的整个存在期。概括地说,软件生存周期由软件定义、软件开发和运行维护三个时期组成,每个时期又可进一步划分成若干个阶段。
通常可划分为问题定义、可行性研究、需求分析、概要设计、详细设计、编码和单元测试、综合测试、软件维护8个阶段。
需求阶段的任务是对目标系统实现的功能等提出完整、准确、清晰、具体的要求。
设计阶段的任务是设计程序的体系结构和设计出程序的详细规格说明。
4、系统流程图与数据流图有什么区别?
解答:课本33页。
5、什么是模块?模块具有哪几个特征?总体设计主要考虑什么特性?
解答:课本84页~91页。
模块是数据说明、可执行语句等程序对象的集合,模块可以单独被命名的而且可通过名字来访问,例如,过程、函数、子程序、宏等等都可作为模块。
模块具有输入和输出(参数传递)、功能、内部数据结构(局部变量)和程序**四个特性。
模块化设计的基本原理:把大型软件按规定的原则划分为一个个较小的相对独立又相关的模块,每个模块完成一个子功能,把这些模块集合起来组成一个整体,以完成指定的功能。)
概要设计主要考虑输入、输出(参数传递)和功能两个特性。
总体设计考虑(模块设计的)准则课本63~65页启发规则:
1) 改进软件结构, 提高模块独立性:在对初步模块进行合并、分解和移动的分析、精化过程中力求提高模块的内聚,降低藕合;
2) 模块大小要适中:大约50行语句的**,过大的模块应分解以提高理解性和可维护性;过小的模块,合并到上级模块中;
3) 软件结构图的深度、宽度、扇入和扇出要适当。一般模块的调用个数不要超过5个;
4) 尽量降低模块接口的复杂程度;
5) 设计单入口、单出口的模块。
6) 模块的作用域应在控制域之内。)
6、选择程序设计语言需要考虑的因素?
解答:课本99页。
1) 选择用户熟悉、便于用户维护的语言;
2) 选择目标系统的环境中可以提供的编译程序所能选用的语言;
3) 选择可以得到的软件工具,能支持程序开发中可以利用的语言;
4) 根据工程规模的大小、目标系统应用范围;
5) 选择程序员熟悉的语言;
6) 选择标准化程度高、程序可移植性好的语言;
7) 根据算法与计算的复杂性、数据结构的复杂性选择;
8) 根据实时要求系统需要的响应速度和效率选择相应的语言。
7、白盒测试法和黑盒测试法有什么区别?
解答:白盒测试法完全了解程序的结构和处理过程,这种方法按照程序内部的逻辑结构及有关信息设计或选择测试用例,检查程序中的每条通路是否都能按预定要求正确工作。
黑盒测试着眼于软件的外部特性,不考虑软件内部的逻辑结构和内部特性,只依据程序的需求规格说明书检查程序是否满足功能要求,测试要在软件的接口处进行。
8、软件的维护一般分为哪几类?
解答: 改正性维护:满足用户对已开发产品的性能与运行环境不断提高的要求,进而达到延长软件寿命的目的。
适应性维护:对程序使用期间发现的程序错误进行诊断和改正的过程,配合变化了的环境进行修改软件。
的活动;完善性维护:满足用户在使用过程中提出增加新的功能或修改已有功能的建议而进行的工作;
预防性维护:为了改善未来的可维护性或可靠性而修改软件的工作。
三.综合题。
1、请为某仓库的管理设计一个er模型。该仓库主要管理零件的订购和**等事项。仓库向工程项目**零件,并且根据需要向**商订购零件。(辅导书21页)
2、如图显示某程序的逻辑结构。
试为它设计足够的测试用例,分别实现对程序的判定覆概、条件覆概和条件组合覆概。
tf3、欲开发一个银行的活期存取款业务的处理系统:储户将填好的存/取款单和存折(含现金)交给银行工作人员,然后由系统作以下处理。
a.业务分类处理:系统首先根据储户所填的存/取款单,确定本次业务的性质,并将存/取款单和存折(含现金)交下一步处理;
b.存款处理:系统将存款单上的存款金额分别记录在存折和帐目文件中,并将现金存入现金库;最后将存折还给储户;
c.取款处理:系统将取款单上的取款金额分别记录在存折和帐目文件中,并从现金库提取现金;最后将现金和存折还给储户。
要求完成下列工作:
1) 用数据流图描绘该系统的功能需求;
2) 用面向数据流的方法导出系统结构图;
3) 用你熟悉的一种方法写出模块“获得合理单据”及“分类处理”的算法。
解答:数据流程图。
顶层。存取单、存折。
存折、现金。
一层。存折。
存折、存款单。
存取单。存折d1 帐目 d2 现金帐。
存折、取款单。
存折(现金)
二层。已处理存折单已处理存款单。
合格存折、存款单。
存取单存折。
不合格合格d1 帐目。
单据单据。
软件工程试题
506.下列属于维护阶段的文档是 a.软件规格说明。b.用户操作手册。c.软件问题报告。d.软件测试分析报告。answer c 509.按软件生命周期方法设计软件的过程中,画数据流图属于下面哪个阶段的工作 a.需求分析。b.程序设计。c.详细设计。d.软件维护。answer a 510.经过严密的软...
2024年软件工程考题
诚信应考考出水平考出风格。2011 2012 学年第一学期期末考试试卷。软件工程 开课单位 计算分院 考试形式 闭 开卷 考试时间 2012 年 1 月 8 日 所需时间 120 分钟。一 单项选择题 本大题共 15 题,每题 1 分,共 15 分。1.软件生存周期中时间最长的是阶段。a.维护b.概...
软件工程2019样卷A
浙江工业大学之江学院 2008 2009学年。第一学期 软件工程 期终试卷。考试类型 闭卷 班级姓名学号。注意 请将第二题和第三题的答案填在 中,谢谢!一 名词解释 每题3分,共15分 1 case 2 sa3 桩。4 信息隐藏原则。5 面向对象软件工程。二 选择题 每题1分,共25分 请从供选择的...