《软件工程》复习题
一、单项选择题
1. ( C )是把对象的属性和操作结合在一起,构成一个独立的对象,其内部信息对外界是隐蔽的,外界只能通过有限的接口与对象发生联系。 A.多态 B.继承 C.封装
D.消息
2.Jackson方法是在软件开发过程中常用的方法,使用Jackson方法时,可以实现( A A.从数据结构导出程序结构 B.从模块结构导出数据结构 C.从数据流图导出初始结构图 D.从模块结构导出程序结构
3.下列模型属于成本估算方法的有(A ) A.COCOMO模型
B.McCall模型 C.McCabe度量法
D.时间估算法
4.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称为( C ) A.软件工程 B.软件周期 C.软件危机
D.软件产生
5. 在软件生存周期中,(D)阶段所占用的工作量最大,约70%。 A.分析 B.设计 C.编码 D.维护 6. 软件测试的目的是( B )。
A.评价软件的质量 B.发现软件的错误 C.找出软件中所有错误 D.证明软件是正确的 7.模块的内聚性最高的是( D ) A.逻辑内聚 B.时间内聚 C.偶然内聚
D.功能内聚
8.在SD方法中全面指导模块划分的最重要的原则是( B ) A.程序模块化 B.模块独立性 C.模块低耦合
D.模块高内聚
9.下列属于维护阶段的文档是( C ) A.软件规格说明
B.用户操作手册
)
C.软件问题报告 D.软件测试分析报告
10.快速原型模型的主要特点之一是( D ) A.开发完毕才见到产品
B.及早提供全部完整的软件产品 D.及早提供工作软件
C.开发完毕后才见到工作软件
11.因计算机硬件和软件环境的变化而作出的修改软件的过程称为( B ) A.教正性维护 C.完善性维护
B.适应性维护 D.预防性维护
12.类库这种机制是( A )级别的信息共享。 A.不同应用
B.不同类 C.同一应用
D.同一类
13.只有单重继承的类层次结构是( C )层次结构。 A.网状型
B.星型 C.树型
D.环型
14.软件详细设计主要采用的方法是( D ) A.模块设计 C.PDL语言
B.结构化设计 D.结构化程序设计
15.下列关于JSP方法不正确的说法是( D ) A.JSP方法主要用于规模不大的数据处理系统
B.JSP方法不明确的划分软件概要设计和详细设计的两个阶段 C.JSP方法适用于输入数据和输出数据之间有对应关系的问题求解
D.JSP方法根据输入、输出的数据结构,按一定的规则映射成软件的体系结构。 16.面向对象分析是对系统进行( A )的一种方法 A. 需求分析 C. 设计评审
B. 程序设计 D. 测试验收
17.黑盒测试在设计测试用例时,主要需要研究( A ) A.需求规格说明与概要设计说明 C.项目开发计划
B.详细设计说明
D.概要设计说明与详细设计说明
18.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。设计这组测试用例的方法是( C ) A.条件覆盖法
B.等价分类法 D.错误推测法
C.边界值分析法
19.下列文档与维护人员有关的有( C ) A.软件需求说明书 C.概要设计说明书
B.项目开发计划 D.操作手册
20.软件按照设计的要求,在规定时间和条件下达到不出故障,持续运行的要求的质量特性称为( B ) A.可用性 二、填空题
1.结构化程序设计方法是使用三种基本控制结构构造程序。 2.软件模块独立性的两个定性度量标准是耦合和内聚。 3. 数据流图和数据字典共同构成了系统的逻辑模型。 4. 在E-R图中包含实体、联系和属性。
5. 汽车有一个发动机,汽车与发动机之间的关系是一对一的关系。 6.瀑布模型是以文档为驱动、适合于瀑布类型的软件项目的模型。
7.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个自外向内集成的过程。 8.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和数据存储对象。 三、名词解释
2. 多态性;
同一操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。
3. CASE:
在软件工程活动中,软件工程师和管理员按照软件工程的方法和原则,借助于计算机及其软件工具的帮助,开发、维护、管理软件产品的过程称为计算机辅助软件工程(Computer-Aided Software Engineering,CASE)。 四、简答题
1. 什么是数据流图?数据流图的绘图元素有哪几种?
答:数据流图简称DFD,是SA方法中用于表示系统逻辑模型的一种工具。它以图形的方式描述数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。数据流图有四种基本图形符号:“→”箭头表示数据流;“○”圆或椭圆表述加工;“=”双杠表示数据存储;“”方框表示数据的源点或终点
B.可靠性 C.正确性
D.完整性
2. 简述结构化程序设计方法的基本要点。
答:一. 采用自顶向下,逐步求精的程序设计方法 在需求分析,概要设计中,都采用了自顶向下,逐层细化的方法。
二. 使用三种基本控制结构构造程序 任何程序都可由顺序、选择、重复三种基本控制结构构造。 1)用顺序方式对过程分解,确定各部分的执行顺序。 2)用选择方式对过程分解,确定某个部分的执行条件。
3)用循环方式对过程分解,确定某个部分进行重复的开始和结束的条件。
4)对处理过程仍然模糊的部分反复使用以上分解方法,最终可将所有细节确定下来。 三. 主程序员组的组织形式
3. 下图是某学籍管理的一部分,模块A的两个不同设计方案如下图所示,你认为哪个设计方案较好?请陈述理由。
( b )
( a )
4. UML给出了哪些表达关系的术语?简述他们的概念。(P146) 五、应用题
1. 一个制造商生产一辆或多辆汽车,它可与零个或多个运输商签订运货合同。试绘制汽车、制造商、经销商、运输商四个实体间的实体-关系图。(P123)
2. 在学校图书馆管理系统中,读者类主要包括教师类和学生类两个子类,每一类都有编号、姓名
等属性,可以进行读者的增加、删除等操作;图书类主要包括书籍类和期刊类两个子类,有编号(书号或刊号)、名称(书名或刊名)、出版(出版社或杂志社)等属性,可以进行图书的增加、删除等操作;流通类包括借书、还书和检索三个操作子类,主要包含有读者、图书和时间等属性,主要操作是进行借书、还书的登记和图书的查询;在读者类和流通类之间存在着多对一的联系,表示可以有一个或多个读者可以进行流通操作;在流通类和图书类之间存在一对多的联系,表示在一个流通操作中,可以借阅、归还或检索一本或多本图书,试绘制图书馆管理系统的类图。