第一部分 选择题
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 测试验收
13、因计算机硬件和软件环境的变化而作出的修改软件的过程称为(   )
  A.校正性维护                    B.适应性维护
  C.完善性维护                    D.预防性维护
14、一个模块内部各程序都在同一数据结构上操作,这个模块的内聚性称为  )
A、时间内聚    B、功能内聚
C、信息内聚    C、过程内聚
15.面向对象技术中,对象是类的实例。对象有三种成份:(  )、属性和方法(或操作)
A. 标识  B. 规则  C. 封装  D. 消息
16.数据字典是用来定义_(   )中的各个成份的具体含义的。
A.流程图            B.功能结构图
C.系统结构图         D.数据流图
17.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了(   )
A.软件危机           B.软件工程
C.程序设计革命       D.结构化程序设计
18.软件详细设计主要采用的方法是(    )
  A.模块设计         B.结构化设计
  C.PDL语言         D.结构化程序设计
19.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.01.0],现从输入的角度考虑一组测试用例:-1.001-1.01.01.001。设计这组测试用例的方法是(      )
  A.条件覆盖法        B.等价分类法
  C.边界值分析法        D.错误推测法
20.程序的三种基本控制结构是 (  )。 
  A.过程、子程序和分程序  B.顺序、选择和重复 
    C.递归、堆栈和队列      D.调用、返回和转移
第二部分 非选择题
1.软件由程序、       组成。
2.需求分析方法包括 :   的分析方法 、面向过程流的分析方法、   的分析方法。
3.一般的软件开发环境应有    的支持,有适宜的文档和评审,采用交互处理方式。
4. 1978WaltersMcCall提出了包括    、准则和  的三层次软件质量度量模型。
5.需求分析的主要任务是实现用户需求的        和完全化。
6.交互图描述对象之间的    。它又可分为顺序图(sequence diagram)    两种形式。
7.顺序图强调对象之间消息发送的   。合作图更强调对象间的    关系。
8.软件过程设计中最常用的技术和工具主要为      、流程图、盒图、   PDL语言。
9.采用任一种软件设计方法都将产生系统的  设计、系统的数据设计和系统的 设计。
10. 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是    关系。
三、名语解释题(本大题共5小题,每小题3分,共15分)
1.软件工程 [ 教材]
2.适应性维护
3数据字典 
4.系统响应时间
5.重构工程 
四、简答题(本大题共5小题,每小题5分,共25分)
1、规模度量有哪些优点和缺点?
2、软件总体结构设计的目标是什么?
3、人们总是希望编制清晰、紧凑、高效的程序,但这些特性在编码时往往互相矛盾,一般应依次考虑哪些原则?
4.黑盒测试旨在测试软件是否满足功能要求,它主要诊断哪几类错误?
5 使用哪些工具可帮助开发人员使用快速原型技术完成开发任务?
五、综合应用题(第一小题5分,第二小题10分,第三小题5分,共20分)
1.请使用N-S图和PDL语言描述下列程序的算法。
在数据A(1)A(10)中求最大数和次大数。
2高考录取统分子系统有如下功能:
  1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;
  2)计算录取线分:根据标准分、招生计划文件中的招生人数,计算录取线,存入录取线文件。
  试根据要求画出该系统的数据流程图,并将其转换为软件结构图。
3UML关系包括关联、聚合、泛化、实现、依赖等5种类型,请将合适的关系填写在下列描述的( )中。
  ① 用例及其协作之间是( )关系。
  ② 在学校中,一个学生可以选修多门课程,一门课程可以由多个学生选修,那么学生和课程之间是( )关系。
  ③ A的一个操作调用类B的一个操作,且这两个类之间不存在其他关系,那么类A和类B之间是( )关系。
  ④ MFC类库中,Window类和DialogBox类之间是( )关系。
  ⑤ 森林和树木之间是( )关系。
《软件工程》期末试题(2)答案
第一部分 选择题
单项选择题(本大题共20小题,每小题1分)
    1A    2D      3A      4D        5D
6 C   7C      8D      9D      10A
11 A    12A     13 14C        15A
16 D  17A   18D  19C      20B
第二部分 非选择题
二、填空题(本大题共10小题,每小题2分,共20分)
1.数据、文档
2.面向数据流、面向对象
3.软件开发方法学
4.质量要素、度量
5.一致化、精确化
6.消息传递、合作图
7.时间序、动态协作
8.结构化程序设计、判定表
9.总体结构设计、过程
10.关联
三、名语解释题(本大题共5小题,每小题3分,共15分)
1.软件工程 [ 教材] 软件工程是运用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理的方法。
2.适应性维护 是为适应环境的变化而修改软件的活动。
3数据字典  数据字典由数据条目组成,数据字典描述、组织和管理数据流图的数据流、加工、数据源及外部实体。
4.系统响应时间 指当用户执行了某个控制动作后(例如,按回车键,点鼠标等),系统作出反应的时间(指输出所期望的信息或执行对应的动作)。
5.重构工程  也称修复和改造工程,它是在逆向工程所获信息的基础上修改或重构已有的系统,产生系统的一个新版本。
四、简答题(本大题共5小题,每小题5分,共25分)
1、规模度量优点和缺点分别是:
优点:用软件代码行数估算软件规模简单易行。
缺点:代码行数的估算依赖于程序设计语言的功能和表达能力;
采用代码行估算方法会对设计精巧的软件项目产生不利的影响;
在软件项目开发前或开发初期估算它的代码行数十分困难;
代码行估算只适用于过程式程序设计语言,对非过程式的程序设计语言不太适用等等。
2、软件总体结构设计的目标是:
产生一个模块化的程序结构并明确各模块之间的控制关系,此外还要通过定义界面,说明程序的输入输出数据流,进一步协调程序结构和数据结构。
3、人们总是希望编制清晰、紧凑、高效的程序,但这些特性在编码时往往互相矛盾,一般应次考虑下列原则:
编制易于修改、维护的代码;    编制易于测试的代码;
必须将编程与编文档的工作统一开来;编程中采用统一的标准和约定,降低程序复杂性;
限定每一层的副作用,减少耦合度; 尽可能地重用
4、黑盒测试旨在测试软件是否满足功能要求,它主要诊断的错误为:
不正确或遗漏的功能;
界面错误;
数据结构或外部数据库访问错误;
性能错误;
初始化和终止条件错误。
5使用相应的工具可帮助开发人员使用快速原型技术完成开发任务如下:
用户界面自动生成工具、支持数据库应用的开发工具包、四代语言及相应的开发环境、软件重用工具等都可以直接服务于快速原型的构造与进化。
五、综合应用题(第一小题5分,第二小题10分,第三小题5分,共20分)
1.答案:
PDL语言描述:
GET(a[1],a[2],...a[10]) 
max=a[1];
max2=a[2];
FOR i=2 TO 10
IF 
ELSE  a[i]>max
max2=max;
max=a[i];
IF a[i]>max2
max2=a[i];
ENDIF
ENDIF
ENDFOR
PUT(max,max2)
END
2、答案:
1)数据流图:
2)软件结构图
3、 答案:  ① 实现 关联 依赖 泛化 聚合

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。