华佗小知识
您的当前位置:首页软件工程期终试题B

软件工程期终试题B

来源:华佗小知识
2006学年第二学期期终考试《软件工程课程 试卷B

班级: 姓名: 学号: 成绩:

一、多项选择题(每小题2分,共24分)

1 画分层DFD图的基本原则有( ACD )

A、数据守恒原则 B 分解的可靠性原则

C、子、父图平衡的原则 D 数据流封闭的原则

2 提高程序效率的根本途径在于( BC )

A 编程时对程序语句进行调整 B 选择良好的设计方法

C 使程序最大限度的简洁 D 选择良好的数据结构与算法

3、软件工程管理的对象是( B )

A 软件开发人员 B 软件工程项目

C 软件开发过程 D 软件开发速度

4、软件测试的主要特点是( AC )

A 软件测试的开销大 B 软件测试要依靠工具

C 软件不能进行“穷举”测试 D 软件测试要依靠人工

5、以下属于完善性维护的有( BD )

A 解决开发是未能测试各种可能条件带来的问题

B 增加联机求助命令

C 缩短系统的应答时间,使其达到特定要求

D 为软件的运行增加监控设施

6CMM 表示( A )

A 软件过程成熟度模型 B 软件过程工业化控制

C 国际软件质量认证 D 软件统一性标准

7UML 语言支持的建模方式有( ABD )。

A 静态建模 B 动态建模

C 模块化建模 D 功能建模

8、在E-R 模型中,包含以下基本成分( C )

A 数据、对象、实体 B 控制、联系、对象

C 实体、联系、属性 D 实体、属性、联系

9、画DFD 图的主要目的是( AD )

A 作为需求分析阶段用户与开发者之间交流信息的工具

B 对系统的数据结构进行描述

C 对目标系统的层次结构进行描述

D 作为分析和设计的工具

10、自底向上的成本估算法的特点是( B )

A 简单、工作量小、误差大

B 精度高,但缺少子任务(模块)间的联系

C 估算较精确,但区分类比较困难

D 复杂、不可行,一般不采用此种方法

11、以下属于完善性维护的有( BD )。

A、解决开发时未能测试各种可能条件带来的问题;

B、增加联机求助命令;

C、缩短系统的应答时间,使其达到特定要求;

D、为软件的运行增加监控设施。

12、为使程序中数据说明更易于理解和维护,必须遵循以下原则( ABC )。

A、数据说明的次序应当规范化;

B、一个语句说明多个变量时,各变量名按字母顺序排列;

C、对于复杂的数据结构,要加注释,说明在程序实现时的特点;

D、定义变量名应按字母顺序排列。

二、简答题(每小题10分,共30分)

1、什么是需求分析?需求分析阶段的基本任务是什么?

2、等价分类法的基本思想是什么?

3、为什么面向对象的开发方法为软件IC(软件集成)及软件重用技术提供了良好的环境?

三、问题描述为:储户用存折取款,首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。

请确定系统的类,并给出你认为最重要的2-3 个类的描述模板。(20分)

四、现在有一个医院病房监护系统,用户提出的系统功能要求如下:

在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到监视系统进行分析处理。在中心值班室里,值班护士使用监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。

当病症出现异常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即打印病人的病情报告和更新病历。(共26分)

1 分别画出采用结构化分析方法和UML 建模语言建立的需求分析模型(只画顶层)。

2 以医院病房监护系统为例,分析比较结构化开发方法与面向对象的开发方法的主要特点,结合该实例说明:为什么面向对象的开发方法更加优越。

二、简答题(每小题10分,共30分)

1、什么是需求分析?需求分析阶段的基本任务是什么?

答:需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的

基础上,进一步了解、确定用户需求。准确地回答“系统必须做什么?” 的问题。获得

需求规格说明书。还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和

软件系统运行的环境。它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的

关系。

需求分析的基本任务包括:

(1)抽取需求分析现行系统存在需要解决的问题。获取足够多的问题领域的知识,需求

抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方

法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的

知识获取等。

(2)模拟和分析需求需求分析和模拟又包含三个层次的工作。首先是需求建模。需求模

型的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。需

求概念模型的要求包括实现的性:不模拟数据的表示和内部组织等;需求模拟技术又

分为企业模拟、功能需求模拟和非功能需求模拟等。

(3)传递需求传递需求的主要任务是书写软件需求规格说明。

(4)认可需求就是对需求规格说明达成一致,其主要任务是冲突求解,包括定义冲突和

冲突求解两方面。常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些

只能用人的因素去控制。

(5)进化需求客户的需要总是不断(连续)地增长,但是一般的软件开发又总是落后于客

户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。对于传统的变化

管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。当前的发展是软件

家族法,即产品线方法。多视点方法也是管理需求变化的一种新方法,它可以用于管理不

一致性, 并进行关于变化的推理。

2、等价分类法的基本思想是什么?

答:根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,

从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类

其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中

其他测试用例也会有错误。

3、为什么面向对象的开发方法为软件IC(软件集成)及软件重用技术提供了良好的环境?

答:软件复用是将已有的软件成分用于构造新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。

复用的软件成分—称为可复用构件(Reusable Component),可以从旧软件中提取,也可以专门为复用而开发。

面向对象方法之所以特别有利于软件复用,是由于它的主要概念及原则与软件复用的要求十分吻合。支持复用的OO 概念与原则是:对象与类、抽象、封装、继承与一般——特殊结构、整合与整体——部分结构、粒度控制、多态性。

对象与类:OO 方法用对象描述问题域中的事务,并用类作为同种对象的抽象表示。类是系统的基本构成单位,它符合可复用构件所应具备的那些特性:完整性、性、可标识性、一般性、抽象、封装:尤其是OO 方法的对象封装性,为软件复用技术提供了良好的条件。而继承机制本质上就是一种复用机制,因此面向对象方法为软件复用提供了一个良好的环境。

三、问题描述为:储户用存折取款,首先填写取款单,根据“帐卡”中的信息检验取款单与存折,如有问题,将问题反馈给储户,否则,登录“储户存款数据库”,修改相应数据,并更新“帐卡”,同时发出付款通知,出纳向储户付款。

请确定系统的类,并给出你认为最重要的2-3 个类的描述模板。(20分)

答:确定系统的类:

储户、存折、取款单、帐卡、储户存款数据库、付款

四、现在有一个医院病房监护系统,用户提出的系统功能要求如下:

在医院病房监护系统中,病症监视器安置在每个病房,将病人的病症信号实时传送到监视系统进行分析处理。在中心值班室里,值班护士使用监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,系统会定期自动更新病历。

当病症出现异常时,系统会立即自动报警,通知值班医生及时进行处理,同时立即打印病人的病情报告和更新病历。(共26分)

1 分别画出采用结构化分析方法和UML 建模语言建立的需求分析模型(只画顶层)。

2 以医院病房监护系统为例,分析比较结构化开发方法与面向对象的开发方法的主要特点,结合该实例说明:为什么面向对象的开发方法更加优越。

1

2. 面向对象的方法具有以下主要特点:

①对软件开发过程所有阶段进行综合考虑。

②软件生存期各阶段所使用的方法、技术具有高度的连续性,用符合人类认识世界的思维方式来分析、解决问题。

在医院病房监护系统中,一但建立了系统的USE CASE 模型后,无论在需求分析、软件设计,甚至实现阶段,所建立的静态模型和动态模型都具有相同的描述方式,描述模型的一致性,不仅为开发者带来方便,也更直观的描述系统的特性。

而结构化方法,是以数据流、数据封闭性为基础,从对数据进行加工的角度进行需求分析,建立分层的DFD 图(如上图)。而在软件总体设计阶段,则用模块结构图来进行描述,详细设计阶段又是新的描述方式(如N-S 图、PAD 图等),总之,由于不同阶段有不同的描述方式,需要进行多次转换,不仅为开发者带来诸多不便,也影响了对系统直观、准确的描述。

因篇幅问题不能全部显示,请点此查看更多更全内容