清华大学2006年软件工程期末试卷

合集下载

《软件工程》期末考试及答案

《软件工程》期末考试及答案

第 1 页 共 4 页 (软件工程)《软件工程》 期末考试试卷考生注意:1.本试卷共有五道大题,满分100分.2.考试时间90分钟。

3.卷面整洁,字迹工整。

4.填写内容不得超出密封线.一、名词解释题(每小题3分,共15分) 1。

软件生存周期模型2.数据字典DD3。

内聚性4.JSP 方法5。

多态性二、填空题(每空2分,共20分)1.在软件开发过程中要产生大量的信息,要进行大量的修改, 能协调软件开发,并使混乱减到最低程度。

2.规定功能的软件,在一定程度上对自身错误的作用具有屏蔽能力,则称此软件具有 的软件。

3.McCall 提出的软件质量模型包括 个软件质量特性。

4.软件可维护性度量的七个质量特性是可理解性、可测试性、可修改性、可靠性、 、可使用性和效率。

5. 为了便于对照检查,测试用例应由输入数据和预期的 两部分组成.6. 程序设计语言的心理特性主要表现在 、简洁性、传统性、局部性和顺序性。

7。

软件结构是以 为基础而组成的一种控制层次结构。

8。

使用类创建对象的过程实际上是类的 过程。

9. 结构化语言是介于自然语言和 之间的一种半形式语言。

10. 若年利率为i,不计复利,n 年后可得钱数为F,则现在的价值P= 。

三、简答题(每小题5分,共20分)2。

以G 。

J.Myers 的观点,简述对软件测试的目的。

3。

就程序设计语言的工程特性而言,对程序编码有哪些要求?4.模块的内聚性包括哪些类型?四、理论应用题(每小题15分,共30分)PDL语言描述在数组A(1)~A(10)中找最大数的算法。

2.根据下列条件使用等价类划分法设计测试用例。

某一8位微机,其八进制常数定义为:以零开头的数是八进制整数,其值的范围是—177~177,如05,0127,-065。

五、实践应用题(每小题15分,共15分)1.某电器集团公司下属的厂包括技术科、生产科等基层单位.现在想建立一个计算机辅助企业管理系统,其中:生产科的任务是:(1)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案

《软件工程》期末复习题及答案1.运用所掌握的知识,通过抽象,给出该系统的结构,这就是A.系统建模B.软件开发C.问题求解D.验证确认3.结构化分析方法给出了一种能表达功能模型的工具是()。

A.HIP0图 B.PAD图 C.N-S图 D.DFD图7.在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则根据黑盒测试中的等价类划分技术,下面划分正确的是()。

A.可划分为2个有效等价类,2个无效等价类B.可划分为1个有效等价类,2个无效等价类C.可划分为2个有效等价类,1个无效等价类D.可划分为1个有效等价类,1个无效等价类10.是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;继承是指子类可以自动拥有父类的全部属性和服务;()是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。

A.继承B.多态C.消息D.封装11.分层DFD中父子平衡是指()。

A.父加工的数据流数目与子图中数据流数目相同B.父图应包含子图中的全部数据流C.子图应包含父图中的全部数据流D.父加工和子图的输入数据和输出数据应分别保持一致2.在建模过程中,可用以描述加工的工具是()。

A.数据流 B.判定树 C.数据字典 D.数据存储13.以下软件生存周期的活动中,要进行软件结构设计的是()。

A.测试用例设计 B.概要设计C.程序设计 D.详细设计16.CMMI 成熟度等级中的第四级为()。

A.已定义级B.已定量管理级C.持续优化级D.已重复17.以下选项中,最适合于用交互式计算机软件解决的问题是()。

A.非结构化决策问题B.半结构化决策问题C.结构化决策问题D.确定性问题18.系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。

不是系统测试的内容()。

A.路径测试 B.可靠性测试 C.安装测试 D.安全测试19.项目管理工具中,将网络方法用于工作计划安排的评审和检查的是()。

《软件工程》期末试卷及答案

《软件工程》期末试卷及答案

《软件工程》期末试卷及答案一、选择题(每题2分,共20分)1. 下列哪项不是软件工程的基本目标?A. 提高软件的生产率B. 提高软件的质量C. 减少软件的开发成本D. 提高软件的可维护性答案:D2. 软件工程的三要素不包括以下哪项?A. 方法B. 工具C. 管理模式D. 知识库答案:D3. 下列哪种软件过程模型适用于需求不明确的项目?A. 水平模型B. 增量模型C. 迭代模型D. 瀑布模型答案:C4. 在软件项目管理中,项目经理负责以下哪项工作?A. 软件需求分析B. 软件设计C. 软件编码D. 项目计划与组织答案:D5. 以下哪种编程语言不属于面向对象编程语言?A. JavaB. C++C. PythonD. C答案:D6. 下列哪种软件测试方法属于静态测试?A. 单元测试B. 集成测试C. 系统测试D. 代码审查答案:D7. 以下哪种软件维护类型占总维护工作量的比例最大?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:C8. 下列哪种软件文档是软件开发过程中必须编写的?A. 项目计划书B. 需求规格说明书C. 设计文档D. 测试报告答案:B9. 下列哪种软件工程方法学强调开发过程的结构化和规范化?A. 结构化分析方法B. 面向对象分析方法C. 原型法D. 敏捷开发方法答案:A10. 以下哪个软件工具不属于CASE(计算机辅助软件工程)工具?A. 代码生成器B. 代码审查工具C. 项目管理工具D. 数据库管理系统答案:D二、填空题(每题2分,共20分)11. 软件工程的基本原则包括抽象、封装、模块化、层次化和信息隐藏等,其中______是一种将信息、数据和操作封装在一起的方法。

答案:封装12. 软件开发过程分为需求分析、设计、编码、测试和维护五个阶段,其中______阶段是软件开发过程中的核心阶段。

答案:设计13. 代码行(LOC)和功能点(FP)是衡量软件规模的两个指标,其中______是一种基于软件功能需求的规模度量方法。

软件工程期末试题(含答案)

软件工程期末试题(含答案)

软件工程期末试题(含答案)预览说明:预览图片所展示的格式为文档的源格式展示,下载源文件没有水印,内容可编辑和复制一、填空题(每空1分,共25分)1.软件生存周期一般可以划分为,问题定义、可行性研究、需求分析、设计、编码、测试和运行和维护。

2.基于软件的功能划分,软件可以划分成___系统软件_、支撑软件、应用软件__三种。

3.可行性研究,应从经济可行性、技术可行性、运行可行性、法律可行性和开放方案可行性等方面研究。

4.系统流程图是描绘物理系统的传统工具。

它的基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件5.数据流图的基本四种成分:数据输入的源点和数据输出汇点、加工、数据流和数据存储文件。

6.结构化分析方法是面向_数据流_进行需求分析的方法。

结构化分析方法使用_数据流图DFD_与_数据字典_来描述。

7.继承性是自动地共享类、子类和对象中的方法和数据的机制。

8.软件详细设计工具可分为3类,即_图示工具_、_设计语言_和_表格工具_。

9.为了在软件开发过程中保证软件的质量,主要采取下述措施:_审查__、复查和管理复审、___测试_。

10.大型软件测试包括单元测试、集成测试、确认测试和系统测试四个步骤。

二、单项选择题(每小题2分,共20分)1.软件设计中划分模块的一个准则是( C )。

A、低内聚低耦合 B.低内聚高耦合 C.高内聚低耦合 D.高内聚高耦合2.Jackson设计方法是由英国的M. Jackson提出的,它是一种面向( C )的软件设计方法。

A、对象 B.数据流 C.数据结构 D.控制结构3.试判断下列叙述中,哪个(些)是正确的( C )。

a、软件系统中所有的信息流都可以认为是事务流b、软件系统中所有的信息流都可以认为是变换流c、事务分析和变换分析的设计步骤是基本相似的A、aB、bC、cD、b和c4.( A )是用户和设计交换最频繁的方法。

A、原型化方法B、瀑布模型方法 C. 螺旋模型方法D、构件组装模型5.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是( C )。

软件工程期末试题及答案

软件工程期末试题及答案

软件工程期末试题及答案一、选择题(每题2分,共20分)1. 以下哪项不是软件工程的基本目标?A. 提高软件的生产效率B. 提高软件的质量C. 减少软件的开发成本D. 增加软件的复杂性答案:D2. 下面哪个不属于软件工程的三个主要过程?A. 软件规格B. 软件开发C. 软件测试D. 软件维护答案:A3. 下列哪种编程范式主要用于降低软件复杂性?A. 面向对象编程B. 过程式编程C. 函数式编程D. 逻辑编程答案:A4. 以下哪个不属于软件项目的管理活动?A. 项目计划B. 风险管理C. 质量保证D. 软件开发答案:D5. 以下哪个不是软件需求分析的工具?A. 数据流图(DFD)B. 实体关系图(ERD)C. 状态转换图(STD)D. 类图答案:B6. 以下哪个不属于软件设计的原则?A. 模块化B. 抽象C. 封装D. 继承7. 以下哪种测试方法主要用于检测软件的功能是否满足需求?A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:C8. 以下哪个不属于软件维护的类型?A. 适应性维护B. 完善性维护C. 纠错性维护D. 预防性维护答案:D9. 以下哪个不属于软件项目管理工具?A. Microsoft ProjectB. JiraC. TrelloD. Visual Studio10. 以下哪个不属于敏捷软件开发的特点?A. 短周期迭代B. 客户参与C. 重构D. 线性开发流程答案:D二、填空题(每题2分,共20分)1. 软件工程的基本目标包括提高软件的生产效率、提高软件的质量和______。

答案:减少软件的开发成本2. 软件工程的三个主要过程分别是软件规格、软件开发和______。

答案:软件维护3. 软件需求分析的主要工具包括数据流图(DFD)、实体关系图(ERD)和______。

答案:状态转换图(STD)4. 软件设计的原则包括模块化、抽象、封装和______。

答案:继承5. 软件测试的四个层次分别是单元测试、集成测试、系统测试和______。

(完整word版)软件工程期末试卷(十套含答案)

(完整word版)软件工程期末试卷(十套含答案)

软件工程期末试题(一)单项选择题1。

瀑布模型的存在问题是(B )A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( C )A。

软件工程 B.软件周期C.软件危机D.软件产生3。

数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是( B )A.数据、公共、标记、控制B。

数据、标记、控制、公共C.控制、数据、标记、公共D。

控制、数据、公共、标记4。

在SD方法中全面指导模块划分的最重要的原则是( D )A.程序模块化B.模块高内聚C.模块低耦合D。

模块独立性5.软件测试的目的是( B )。

A.评价软件的质量 B. 发现软件的错误C.找出软件的所有错误 D. 证明软件是正确的6.在设计测试用例时,( A )是用得最多的一种黑盒测试方法.A.等价类划分B。

边界值分析C。

因果图D。

判定表7。

需求分析最终结果是产生( B )。

A。

项目开发计划 B. 需求规格说明书C。

设计说明书D。

可行性分析报告8. Jackson图中,模块框之间若有直线连接,表示它们之间存在(B )。

A. 调用关系B. 组成关系C. 链接关系D。

顺序执行关系9。

软件详细设计的主要任务是确定每个模块的( C )。

A. 功能B。

外部接口 C。

算法和使用的数据结构 D. 编程10.为了提高软件的可维护性,在编码阶段应注意( D )A。

保存测试用例和数据 B.提高模块的独立性C.文档的副作用D.养成好的程序设计风格11.设年利率为i,现存入p元,若计复利,n年后可得钱数为(B)A.p﹡(1+i﹡n) B.p﹡(i+1)nC.p﹡(1+i)﹡n D.p﹡(i+n)12.在考察系统的一些涉及时序和改变的状态时,要用动态模型来表示。

动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是( A ).A .状态图B。

数据流图C。

系统结构图D。

(完整word版)06级本科--软件工程期末考卷A卷参考答案

(完整word版)06级本科--软件工程期末考卷A卷参考答案
2.请根据下面的任务安排表,画出任务网络图、甘特图、标识关键路径和阶段里程碑位置。
任务名称
起始日期
结束日期
需求分析
2008.3.1
2008.3.13
测试计划
2008.3.13
2008.3.15
概要设计

2008.3.16
2008.3.20
编码
2008.3.20
查询帐户明细查询帐户余额修改密码用户帐户明细查询用户登陆帐户余额查询输入帐号密码帐户数据修改密码输入旧密码和新密码修改密码验证密码输入查询条件输入余额查询命令读取查询读取查询验证结果输出显示设备结果输出显示设备engineeringqualitymaintenancenoticemaintenancetaskbook6324regularlyvisitsystemsinceengineeringdelivereddayupeachquarterorganizationvisitgroupvisitgroupprojectmanagerunitsproductiontechnologyaboutbusinesssectorheadcomposition
E-R图
DFD图第0层
DFD第1层
2008.3.26
测试方案设计
2008.3.16
2008.3.19
产品测试
2008.3.26
2008.3.30
文档整理
2008.3.28
2008.3.30
任务网络图:
甘特图
任务网络图3分
甘特图3分
标识关键路径2分
阶段里程碑位置2分。
3.设有一个程序,读入三个整数,代表三角形的三条边。输出表明三角形是不规则的、等腰的或等边的。请采用黑盒的等价类划分方法,设计一组测试用例。

软件工程期末考试试卷与答案2

软件工程期末考试试卷与答案2

学年学期期末考试卷卷课程《软件工程》考试时间: 120 分钟班级姓名学号一、填空题(每空1分,共30分)1、软件是计算机系统中的的逻辑成分,其主要内容包括:_____________、______________、_____________和用户文档。

2、按软件工作方式分,软件可分为_____________、______________、交互式软件和批处理软件。

3、主要的软件工程方法有:___________________、___________________和面向对象方法。

4、软件生命周期可细分为可行性研究、项目计划、___________________、___________________、___________________、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段。

5、对软件项目的可行性分析,主要包括__________________、__________________和应用可行性3个方面。

6、需求分析涉及面向用户的__________________和面向开发者的__________________。

7、进行需求有效性验证时,一般需要对需求文档草稿从________________、_________________、__________________、现实性等几个方面进行有效性验证。

8、概要设计主要包括三个方面的设计,分别是_________________、__________________和数据结构设计。

9、模块的独立性一般采用__________________和__________________两个定性的技术指标进行度量。

10、模块的__________是指模块直接调用的下级模块的个数;模块的__________是指模块受到了多少个直接上级模块的调用。

11、数据库结构设计包括逻辑结构设计和____________________。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 当 5 角硬币投入机器时调用函数 addHalf (2) 当按下退回硬币按钮时调用函数 returnHalfs (3) 当按下按钮给出饮料时调用函数 vend (4) 当可以给出饮料时变量 allowVend 置为 1,否则置为 0 要求:对下面的程序执行代码走查(其中行号仅用于标识,不是代码的一部分),直接在代码上指 出错误所在之处(不包括注释问题),简要说明理由并改正错误。
5
三、(共 10 分)在本课程的实验项目中,你们经历了团队组织与开发管理的过程,并应用面向对象 技术进行软件的设计与实现。请结合该实验项目,回答以下问题:
(1) 你使用的配置管理工具是什么?其版本存取的控制流程是什么? (2) 为什么需要定义软件需求的优先级? (3) 为什么需要将整个系统划分成若干子系统?子系统的划分应符合什么原则? (4) 分析类图与设计类图有什么不同? (5) 在类设计中,你建议使用什么方法进行属性的设置和读取?这样做有什么好处?
ProductB_FactoryB ProductB_FactoryA
(2) 如果要增加新的产品(Product)类型,如在已有的 AbstractProductA 和 AbstractProductB 外再增加新的 AbstractProductC 及相应的具体子类,则应如何修改上述类图以适应这个需 求变化?
C. 需求被明确定义时使用的一种合适方法
D. 需求不明确时使用的一种合适方法
7. 基于组件的开发模型是(
)。
A. 只适用于计算机硬件设计
B. 不能支持可重用组件的开发
C. 在面向对象技术获得支持的情况下应用得更好
D. 增加了开发风险和成本
8. 软件项目规划的第一步是(
)。
A. 确定项目预算
B. 选择团队的组织模型
1
Class CoinBox {
2
unsigned total;
3
unsigned curHalfs;
4
unsigned allowVend;
5
Public:
6
CoinBox() {
7
total = 0;
8
allowVend = 0;
9
curHalfs = 0;
10
}
11
void returnHalfs() {
《软件工程》试题(2006.6.14)
பைடு நூலகம்
班级:



姓名:



学号:


合计
一、(共 30 分)每空选择一个正确的答案,将相应字母或序号填入如下的( )中。
1. 软件工程的基本目标是(
)。
A. 消除软件固有的复杂性
B. 开发高质量的软件
C. 努力发挥开发人员的创造性潜能 D. 更好地维护正在使用的软件产品
)准则。
A. 从来不为个人获利而窃取数据
B. 从来不散布或出售项目中自己工作的信息
C. 从来不故意毁坏或修改别人的程序、文件或数据
D. 从来不侵犯个人、小组或组织的隐私
E. 选项 B、C 和 D
F. 选项 A、B、C 和 D
1
6. 软件开发的增量模型是(
)。
A. 用于大型开发团队项目的最好方法
B. 核心工作产品需要快速开发时使用的一种好方法
Word 最初版本,花费了 55 人年,生成了 149,000 行源代码,晚了 4 年交付使用。客机通常 都是按时并低于预算交付使用,而软件却非如此。请讨论一下开发客机与开发文字处理软件的 不同之处,分析并说明导致这种局面的原因。 2. 软件生命周期主要包括哪些阶段?请简要说明各阶段的主要任务。 3. 下列需求描述是否存在问题?如果有问题,请说明所存在的问题并给出一种正确的描述。
四、(共 10 分) (1) 下图是抽象工厂设计模式的一般结构模型中的类,将类之间的关系补充完整。
AbstractFactory
AbstractProduct_A
Client
ConcreteFactory_A
ConcreteFactory_B
ProductA_FactoryA ProductA_FactoryB AbstractProduct_B
D. 选项 A 和 B
B. 软件与硬件
E. 选项 B 和 C
C. 人
F. 选项 A、B 和 C
4. 软件过程的基本活动是(
)。
A. 分析、设计、实现、测试、演化
B. 沟通、计划、建模、构造、部署
C. 计划、分析、设计、实现、调试
D. 沟通、风险管理、度量、产品化、评审
5. 软件工程师在从事软件工作时应使用下面的(
)配置对象通常不包括在项目数据库中。
A. 设计规格说明书
C. 组织结构描述
B. 可执行程序
D. 测试计划
12. 基线(Baseline)是指在项目生命周期的不同时间点上,一个或一组配置项通过(

而进入正式受控的一种状态。
A. 存取控制
C. 正式评审
B. 质量控制
D. 变更管理
13. 配置状态报告的主要目的是(
C. 压力测试是检测在极限环境中使用系统时施加在用户上的压力
D. 性能测试只对实时系统或嵌入式系统是重要的
26. 类的行为应该基于( A. 数据流图 B. 对象图
)进行测试。
C. 状态图 D. 用例图
27. 下面的(
)说法是正确的。
A. 遗留系统是许多年以前开发的且已经没有商业价值的计算机系统
B. 更换遗留系统是有业务风险的
12
curHalfs = 0;
13
}
14
void addHalf() {
15
curHalfs = curHalfs + 1
16
if ( curHalfs > 3 )
17
allowVend = 1;
18
}
19
void Vend() {
20
if ( allowVend ) {
21
total = total + curHalfs;
C. 确定项目的约束 D. 建立项目的目标和范围
9. 下面的(
)方法最不适合你向团队成员解释他或她为什么表现不合格。
A. 个人谈话
C. 正式报告
B. 项目团队会议
D. 电子邮件
10. 功能点估算技术需要以( A. 信息域 B. 项目进度
)为基础进行问题分解。 C. 软件功能 D. 过程活动
11. 下面的(
序号
测试用例描述
输入参数
startTime
endtime
期望输出
8
)。
A. 模块之间呈现高耦合
B. 实现分析模型中的所有需求
C. 包括所有组件的测试用例
D. 提供软件的完整描述 E. 选项 B 和 D F. 选项 B、C 和 D
20. (
)可以帮助人们简单方便地复用已经成功的设计或体系结构。
A. 商业组件
C. 逆向工程
B. 设计模式
D. 需求规格说明
21. 下面的(
(3) 如果要增加新的具体工厂(Factory)类并继承 AbstractFactory 类,则应如何修改上述类 图以适应这个需求变化?
6
五、(共 10 分)下面给出的 C++程序类 CoinBox 用于实现一个简单的饮料自动售货机,该售货机 只接受 5 角的人民币硬币,一个饮料的售价是 2 元人民币。
(1) 软件应该易于使用。 (2) 系统通过 ADO 与图书资料数据库连接,并从图书资料数据表中获得图书资料的基本
信息。 (3) 由于版权的限制,某些电子资料只能让用户浏览和打印而不能下载。 (4) ATM 系统检验用户存取的合法性。 (5) ATM 系统每周 7 天、每天 24 小时都可以使用。 4. 经过代码审查和单元测试,单个组件的有效性已经得到全面验证,为什么还要进行集成测试? 在集成测试时,增量式集成方法为什么比一次性整体集成方法要好? 5. 下图是 MortgageApplication 对象的状态图,假设有一个要求,即增加一个“Cancelled”状 态,图中除“Closed”状态外的任何状态都可以转换到该状态。请画出修改后的状态图,注意 应给出一种最佳的方法。
17. 分析模型使用(
)描述软件。
A. 体系结构、界面和组件
B. 成本、风险和进度
C. 信息、功能和性能 D. 以上选项都不是
18. 内聚表示一个模块(
)的程度,耦合表示一个模块(
A. 可以被更加细化
B. 仅关注在一件事情上
C. 能够适时地完成其功能
D. 联接其他模块和外部世界
)的程度。
19. 良好设计的特征是(
2. 下面的(
)说法是正确的。
A. 软件危机在 20 世纪 70 年代末期全面爆发
B. 当前先进的软件工程方法已经解决了软件危机的问题
C. 软件危机是指在计算机软件的开发和维护过程中遇到的一系列严重问题
D. 软件危机是指在软件产品中存在一系列的质量问题
3. 下面的(
)是计算机系统的基本元素。
A. 文档
)不是良好编码的原则。
A. 在开始编码之前建立单元测试
B. 建立一种有助于理解的直观布局
C. 保持变量名简短以便代码紧凑
D. 确保注释与代码完全一致
3
22. 下面的(
)界面设计原则不允许用户保持对计算机交互的控制。
A. 允许交互中断
B. 允许交互操作取消
C. 对临时用户隐藏技术内部信息
D. 只提供一种规定的方法完成任务
22
curHalfs = 0;
相关文档
最新文档