中南大学软件工程历届试卷

合集下载

软工历年考题(加答案)

软工历年考题(加答案)

试卷一中南大学考试试卷2006--2006 学年学期时间110分钟软件工程课程48 学时 3 学分考试形式:闭卷专业年级:总分100分,占总评成绩100 %注:此页不作答题纸,请将答案写在答题纸上1.填空题(本题20分,每小题2分)1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。

2. 需求分析的基本任务是(确定用户需要软件做什么)。

3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(边界值分析法)。

4. 根据程序流程图划分的模块通常是(过程)内聚的模块。

5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。

6. UML的定义包括UML语义和(UML表示法)两个部分。

7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。

8. IDEF1X图用来描述系统的(数据)模型,主要有实体、联系和(属性)三种成分,其中实体可分为独立实体和(依赖实体),且一个实体只能在图中出现一次。

二、简答题(本题30分,每小题5分)1. 什么是软件工程?软件工程和计算机科学有何区别?答:软件工程是指导软件开发和维护的工程性学科;计算机科学着重于原理和理论,软件工程与计算机科学不同,软件工程着重于如何建造软件系统,软件是计算机中看不见摸不着的逻辑部分,以程序、数据和文档的形式出现。

2. 面向对象方法和结构化方法有何区别与联系?答:区别:面向对象从所处理的数据入手,以数据为中心来描述系统,其基本思想是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界的方法与过程,基本原则为:对象+类+继承+消息通信结构化方法首先关心的是功能,强调以模块为中心,其基本思想是自顶向下,逐步求精,单入口,单出口,基本原则为:抽象与功能的分解联系:软件开发过程中,在需求分析和规格说明阶段采用结构化方法,在设计和实现阶段采用面向对象方法。

《软件工程》试卷参考答案

《软件工程》试卷参考答案

考试试卷课程名称:软件工程一、选择题1、软件是一种实体。

A.有形的C.虚拟的答案:D 2、在一个用面向对象编程语言实现的软件系统中,当一个对象内的一个方法被激活,则称之为向该对象发送-A.命令B.代码C.消息D.数据答案:C 3、在整个软件过程中,哪个阶段花费最长的时间和最多的成本?A.分析B.设计C.实现D.维护答案:D 4、是语义上相连的、由边界符号界定的、由一个聚合标识符标识的一系列程序语句。

A.for 循环B.模块C.if 语句D.文件答案:B 5、好的软件设计,模块应该是。

A.低内聚、高耦合B.低内聚、低耦合C.r¾内聚、低耦合D.高内聚、高耦合答案:C6、针对下面这个用例图,哪个说法是错误的?B.物理 D.逻辑A.学生能够与系统中的用例A交互。

B.用例A的成功执行必须包括用例B的成功执行。

C.如果用例A执行,用例C也必须执行。

D,用例C可能不被激活。

答案:C7、顺序图与协作图都是图。

A.交互B.状态C.协作D.顺序答案:C8、以下关于软件系统中的实体的说法,哪个是正确的?A.实体类必须有属性。

B.实体类必须是实实在在的物理实体。

C.实体类不与逻辑类和边界类打交道。

D,用例图中的参与者是系统的外部,所以参与者肯定不能成为软件系统内部的实体类。

答案:A9、以下哪个是自顶向下实现与集成的缺点?A.逻辑模块得不到充分的测试。

B.操作模块得不到充分的测试。

C.主要设计错误发现的晚。

D.故障隔离。

答案:B10、软件测试oA.谁都能做,不需要计划和技术B.对于高水平的软件开发团队来说是不需要的,或可有可无的C.是紧接在实现阶段后面的一个阶段D.包括可执行测试和非执行测试答案:D11、使软件系统适应新的操作系统而做的维护是维护。

A.纠错性维护B.完善性维护C.适应性维护D.哪个也不是答案:C128、以下哪个软件生命周期模型是最好的?A.瀑布模型B.快速原型模型C,增量模型D.不能简单地比较优劣,要具体情况具体分析答案:D13、多态与动态绑定是所特有的。

软件工程学试题及答案

软件工程学试题及答案

软件工程学试题及答案一、单项选择题(每题2分,共10分)1. 软件工程的目的是()。

A. 提高软件的生产率B. 提高软件的运行效率C. 降低软件的生产成本D. 提高软件的可维护性答案:A2. 下列哪项不是软件需求分析的任务?()。

A. 确定软件的功能需求B. 确定软件的性能需求C. 确定软件的界面需求D. 确定软件的测试需求答案:D3. 软件生命周期中,()阶段是确定软件需求的阶段。

A. 需求分析B. 系统设计C. 编码D. 测试答案:A4. 软件测试的目的是()。

A. 证明软件是正确的B. 证明软件存在错误C. 发现软件中的错误D. 证明软件不存在错误答案:C5. 软件危机主要表现在()。

A. 软件成本B. 软件质量C. 软件进度D. 所有选项答案:D二、多项选择题(每题3分,共15分)1. 软件工程的基本原理包括()。

A. 用分阶段的生命周期计划严格管理B. 强调开发过程的迭代性质C. 采用合适的编程规范D. 强调软件工具的使用答案:ABD2. 软件需求分析的常用方法包括()。

A. 数据流图B. 用例图C. 状态转换图D. 流程图答案:ABC3. 软件测试的类型包括()。

A. 单元测试B. 集成测试C. 系统测试D. 验收测试答案:ABCD4. 软件维护的类型包括()。

A. 校正性维护B. 适应性维护C. 完善性维护D. 预防性维护答案:ABCD5. 软件工程中常用的设计模式包括()。

A. 单例模式B. 工厂模式C. 观察者模式D. 策略模式答案:ABCD三、简答题(每题5分,共20分)1. 简述软件工程中的模块化设计原则。

答案:模块化设计原则要求将系统分解成若干个模块,每个模块具有高内聚、低耦合的特点,以便于系统的开发、测试、维护和理解。

2. 描述软件需求分析的重要性。

答案:软件需求分析是软件开发过程中的关键步骤,它确保了开发团队对用户需求有清晰的理解,有助于避免开发出不符合用户需求的软件,减少返工和成本。

2022年中南大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年中南大学软件工程专业《操作系统》科目期末试卷B(有答案)

2022年中南大学软件工程专业《操作系统》科目期末试卷B(有答案)一、选择题1、()是操作系统中采用的以空间换取时间的技术。

A.Spooling 技术B.虚拟存储技术C.覆盖与交换技术D.通道技术2、为了使多个进程能有效地同时处理输入和输出,最好使用()结构的缓冲技术。

A.缓冲池B.循环缓冲C.单缓冲D.双缓冲3、考虑页面替换算法,系统有m个页帧(Frame)供调度,初始时全空:引用串(Reference String)长度为p.包含了n个不同的页号,无论用什么算法,缺页次数不会少于()A.mB.pC.nD.min(m,n)4、作业在执行中发生缺页中断,经操作系统处理后应让其执行()指令。

A.被中断的前一条B.被中断的那一条C.被中断的后·条D.启动时的第一条5、当系统发生抖动(Trashing)时,可以采取的有效措施是()。

I.撤销部分进程 II.增大磁做交换区的容量 III.提高用户进程的优先级A. 仅IB.仅IIC.仅IIID.仅I,II6、设计实时操作系统时,首先应该考虑系统的()。

A.可靠性和灵活性B.实时性和可靠性C.分配性和可靠性D.灵活性和实时性7、下列选项中,会导致用户进程从用户态切换到内核态的操作是()I.整数除以零 II.sin函数调用 III.read系统调用A.仅I、IIB.仅I、IIIC.仅II、IIID. I、II和II8、驱动调度算法中,()算法可能会随时改变移动臂的运动方向。

A.电梯调度B.最短寻道时间优先C.扫描D.单向扫描9、下列算法中,用于磁盘调度的是(),A.时间片轮转法B.LRU算法C.最短寻道时间优先算法D.高优先级算法10、进程调度算法中,可以设计成可抢占式的算法有()。

A.先来先服务调度算法B.最高响应比优先调度算法C.最短作业优先调度算法D.时间片轮转调度算法11、有两个并发执行的进程P1和P2,共享初值为1的变量x。

P1对x加1,P2对x减1。

2、软件工程复习题及答案

2、软件工程复习题及答案

中南大学现代远程教育课程考试(专科)复习题及参考答案软件工程一、单项选择题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、可开发性12、在瀑布模型中,将软件开发划分为若干个时期,软件项目的可行性研究一般被归属于()A、定义时期B、分析论证时期C、调研时期D、初始阶段13、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的()A、数据流B、数据元素C、数据结构D、数据约束14、软件维护是软件得以正常运行的重要环节,按照软件工程方法的理解,一般软件维护应该开始于()A、修改源代码B、阅读设计文档C、阅读源代码D、修改设计文档15、以实体、联系和属性等基本概念为基础的实体联系图是基本实体联系图。

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)

软件工程期末试卷(十套含答案)一、选择题(每题1分,共5分)A. 方法论B. 工具C. 过程D. 人员2. 下列哪一项不是软件生命周期的阶段?A. 需求分析B. 设计C. 编码D. 销售与市场A. 瀑布模型B. 喷泉模型C. 增量模型D. 敏捷模型4. 下列哪种方法不是软件需求获取的方法?A. 问卷调查B. 访谈C. 观察D. 编码A. 单一职责原则B. 开放封闭原则C. 里氏替换原则D. 依赖倒置原则二、判断题(每题1分,共5分)1. 软件工程的目标是生产出高质量的软件产品。

(√/×)2. 在软件开发过程中,需求分析阶段是最重要的阶段。

(√/×)3. 软件开发模型只有瀑布模型和喷泉模型两种。

(√/×)4. 在面向对象方法中,类是现实世界中实体的抽象。

(√/×)5. 软件测试的目的是证明软件的正确性。

(√/×)三、填空题(每题1分,共5分)1. 软件工程的三要素包括方法论、工具和______。

2. 软件生命周期包括需求分析、设计、编码、测试和______。

3. 在面向对象方法中,对象是现实世界中实体的______。

4. 软件开发模型包括瀑布模型、喷泉模型、增量模型和______。

5. 软件测试的目的是发现软件中的______。

四、简答题(每题2分,共10分)1. 简述软件工程的目标。

2. 简述软件生命周期的阶段。

3. 简述面向对象方法的基本概念。

4. 简述软件开发模型的作用。

5. 简述软件测试的目的。

五、应用题(每题2分,共10分)1. 假设你是一个软件开发人员,你需要为一个图书馆开发一个图书管理系统。

请列出该系统的需求。

2. 请解释瀑布模型和喷泉模型的区别。

3. 请解释面向对象方法中的继承和多态的概念。

4. 请解释软件测试中的黑盒测试和白盒测试的区别。

5. 请解释软件维护的类型。

六、分析题(每题5分,共10分)1. 假设你是一个软件开发人员,你需要为一个在线购物网站开发一个支付系统。

中南大学软件测试技术考试试卷

中南大学软件测试技术考试试卷
C . 9
D 12
12.针对程序段:IF ( X > 10 ) AND ( Y < 20 ) THEN W = W / A,对于(X , Y)的取值,以下组测试用例能够满足判定覆盖的要求。D
A . ( 30 , 15 ) ( 40 , 10 )
B . ( 5 , 25 ) ( 10 , 20 )
C . ( 3 , O ) ( 30 , 30 )

1.在进行性能测试时,我们通常会进行压力测试和负载测试,请简述什么是压力测试和负载测试,主要区别是什么。(10分)
负载测试是模拟实际软件系统所承受的负载条件的系统负荷,通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。负载测试更多地体现了一种方法或一种技术。
详细设计阶段:数据结构,算法是否正确,编码规范
编码阶段:单元测试,集成测试
系统验收阶段:测试系统是否完成了需求规格说明书中的所有内容
9.简述LOADRUNNER作用,描述其在实践中的基本操作步骤(10分)
答出主要步骤,并有说明即可得分
a.选择协议:LOADRUNNER在录制的过程中就可以通过脚本语言将通信过程录制下来。所以只要明确了被测软件的通信过程和所使用的协议,LOADRUNNER才能正确的录制脚本。
1.软件文档按照其产生和使用的范围可分为开发文档、管理文档和用户文档。其中开发文档不包括(B)。
A.软件需求说明B.可行性研究报告
C.维护修改建议D.工程开发计划
2.软件维护成本在软件成本中占较大比重。为降低维护的难度,可采取的措施有D

中南大学软件工程复习题及参考答案

中南大学软件工程复习题及参考答案

中南大学复习题及参照答案软件工程一、选择题:1.下面哪些UML图描述系统行为( A )A.用例图B.类图C.对象图2.属于概要设计活动旳是( A )A.软件构造设计B.数据构造设计C.算法设计3.属行为型设计模式旳是(C)A.组合模式B.工厂措施模式C.观测者模式4.下列说法对旳旳是( B )A.UML是软件开发措施B.UML是系统描述语言C.UML是软件开发过程5. 根据程序流程图划分旳模块一般是( B )A. 信息内聚旳模块B. 过程内聚旳模块C.逻辑内聚旳模块6.假如某程序中旳比较个数是m,则其McCabe环形复杂度为( C )A.m-1B.mC.m+17.按ISO9000-3旳阐明,下列属软件配置项旳是( C )A.软件开发措施B.软件开发组织管理制度C.软件开发协议8. 软件测试旳目旳是( C )A.证明软件无错B.发现软件中旳所有错误C.尽量发现软件系统中旳错误9.软件重构关注旳是( B )A. 软件体系构造B. 模块细节C.软件性能10.软件项目开发计划旳内容有( B )A. 数据分析B.风险分析C.功能分析11.在UML旳类图中,描述整体与部分关系旳有( B )A.泛化关系B.聚合关系C.依赖关系12.软件过程能力成熟度模型CMM用以评价(A)A.软件过程能力B.组织能力C.学习能力13. 因计算机硬件和软件环境旳变化而作出旳修改软件旳过程称为( C )A. 完善性维护B. 改正性维护C.适应性维护14. 对项目软件而言,软件功能需求信息重要由谁提供( A )A.软件顾客B.软件开发人员C.软件项目管理人员15. IDEF0图反应不出(C)A.系统做什么B.系统功能由谁做C.系统怎样做16. 原型模型是一种什么开发过程模型(B)A.自顶向上B. 由外至内C.增量式17. 系统流程图描述(A)A.物理系统B.逻辑系统C.软件体系构造18.需求规格阐明书旳内容不应当包括( C )A.软件确认准则B.软件旳性能描述C.算法过程旳详细描述19.适合需求模糊或需求不确定系统开发旳软件开发模型有( C )A. 瀑布模型B. RAD模型C.原型模型20.UML图中描述系统构造旳有( A )A. 组件图B. 次序图C.状态图21.面向对象措施是一种什么软件开发措施( B )A.层次化B.迭代增量式C.逐渐求精22.不可以用来衡量软件可维护性旳有()A.可靠性B.可用性C.可行性23. 系统分析员在需求分析最终负责编写()A.顾客手册B. 概要设计阐明书C.可行性研究汇报24.为了提高软件旳可靠性、可维护性等而对软件旳修改称为()A.改正性维护B.适应性维护C.防止性维护25.在构造化措施中,为使需求变化对软件影响较小,应当使软件构造()A. 与问题构造对应B. 与问题构造独立C.与顾客界面对应26.单元测试旳计划应当在什么阶段完毕()A. 需求分析B. 概要设计C.详细设计27. 下列属面向对象软件开发措施旳有()A. LCP措施B. OMT措施C.IDEF0措施28.强调信息隐藏旳软件工程设计措施有()A.Jackson措施B.Parnas措施C.SA/SD措施29.描述系统动态行为旳模型有()A.包图B.软件构造图C.状态图30.考虑输入条件组合旳测试用例设计措施有()A.等价分类法B.语句覆盖法C. 因果图法31. 下列能减少支援性维护活动旳有()A.运用软件包B.进行配置管理C.对顾客进行合适培训32. 只支持单重继承旳程序设计语言有()A.C++B.DelphiC. C33. IDEF0图旳顶层图是()A. A0图B.A-0图C.A-1图34. 在UML旳用例图中,扩展关系是一种()A. 泛化关系B.依赖关系C.关联关系35.独立测试小组开始介入测试是在()A.模块测试阶段B.集成测试阶段C.确认测试阶段36. 在成本估计中轻易低估局部问题旳措施是()A. 基于经验模型旳估计B. 自底向上估计C. 自顶向下估计37.在IDEF1X图中,假如子实体与父实体存在联络,则子实体将继承父实体旳()A.所有属性B.主关键字属性C.非主关键字属性38. 构造化分析措施使用旳工具有()A. 数据流图B.类图C.软件构造图39. 白盒测试设计用例旳措施是()A. 等价分类法B.基本途径覆盖法C.因果图法40. 在衡量软件质量时,最重要旳原则是()A. 可维护性好B. 可用性好C. 满足顾客功能需求41. 瀑布模型是一种()A. 演化模型B. 次序模型C. 增量模型42. 模块旳独立程度可以由什么定性原则度量()A. 耦合度B. 复杂度C.可靠性43.如下选项中,不属于对象旳特点有()A. 继承B. 多态C. 封闭44. 面向数据构造旳设计措施有()A.Parnas措施B.Jackson措施C. IDEF0措施45. 与UML配合最佳旳软件开发措施是()A.RUP措施B.Coad/Yourdon措施C.IDEF4措施二、填空题:1.统一建模语言UML提供了两种描述整体/部分关系旳措施,分别是和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

填空题(本题20分,每小题2分)
1. 瀑布模型是以文档为驱动、适合于(软件需求确定的)软件项目的开发。

2. 需求分析的基本任务是(确定用户需要软件做什么)。

3. 若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。

设计这组测试用例的方法是(边界值分析法)。

4. 根据程序流程图划分的模块通常是(过程)内聚的模块。

5. 软件的分类,按其功能可分为:系统软件、(支撑软件)和应用软件。

6. UML的定义包括UML语义和(UML表示法)两个部分。

7. 客观世界中的若干类,通常有两种主要的结构关系:即分类结构和( 整体与部分结构)。

四、测试题(本题16分,每小题8分)
某程序的程序流程图如下图所示,试据此回答下述问题:
1. 计算程序的环形复杂度;
2. 设计测试用例,满足基本路径覆盖。

四.(1)环路复杂性=判断数+1=6+1=7(个)
(2)路径1:(0)—①—(13)—(19)
路径2:(0)—②—③—(14)—(19)
路径3:(0)—②—④—⑤—(15)—(19)
路径4:(0)—②—④—⑥—⑦—(16)—(19)
路径5:(0)—②—④—⑥—⑧—⑨—(17)—(19)
路径6:(0)—②—④—⑥—⑧—⑩—(18)—(19)
路径7:(0)—②—④—⑥—⑧—⑩—(12)—(19)
一、填空题(本题30分,每小题1.5分)
1、软件是计算机程序、(描述计算机程序的文档)及(数据)的完整集合,将其统称为软件配置,这些项称为软件配置项。

通过正式复审的软件配置项称为(基线),只有通过正式的变化控制过程才能改变它。

2、通常,将软件生命周期全过程中使用的一整套技术方法的集合称为方法学,包含三个要素,即方法、(工具)和(过程)。

传统方法学采用(结构化)技术来自顶向下顺序地完成软件开发的各项任务,而面向对象方法是一种以(数据)为主线,把数据和对数据的操作紧密地结合起来的方法,其开发过程是一个多次迭代的演化过程。

3、软件测试的目标是(暴露程序中的错误),因而从心理学角度来看,由程序作者对自己编写的程序进行测试是不恰当的。

设计测试方案是测试阶段的关键技术问题,测试方案一般包括(测试目的)、输入的测试数据
和(预期的结果)。

4、模型是为了理解事物而对事物作出的一种抽象,由(一组图示符号一组图示符号)和(组织这些符号的规则)组成。

对象模型描述了系统的静态结构,通常使用UML提供的(类图)图来描述。

5、需求分析的基本任务是(准确地回答系统必须做什么),在需求分析结束前,系统分析员应该写出(软件需求规格说明书),以书面的形式准确描述软件需求。

6、面向数据流的设计方法把(信息流)映射成软件结构,依据其类型的不同,有两种不同的映射方法,分别是(变换分析)和(事物分析)方法。

7、软件设计一般分为(概要设计 )和(概要设计 )两个阶段。

二、简答题(本题18分,每小题6分)
1、瀑布模型是软件工程中应用最广泛的过程模型,试述采用瀑布模型进行软件开发的基本过程,该过程有何特点?
答案:
1、瀑布模型规定了各项软件工程活动,包括需求分析、规格说明、设计、编码、测试和维护,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级而下。

瀑布模型的特点是:阶段间具有顺序性和依赖性;清楚区分逻辑设计和物理设计,尽可能推迟程序的物理实现;每个阶段都必须完成规定的文档,且每阶段结束前需要对完成的文档进行评审。

2、什么是软件配置管理?软件配置管理和软件维护有何不同?
答案
2、软件配置管理是在软件生命周期内管理变化的一组活动,用来:标识变化、控制变化、确保适当地实现了变化、向相关人员报告变化。

软件配置管理和软件维护的区别是:软件配置管理是一组追踪和控制活动,在软件项目启动时就开始,并一直持续到软件被淘汰后才终止;软件维护是一组软件工程活动,发生于软件交付给用户并投入运行之后。

3、试举例说明聚集关系中共享聚集和组合聚集有何不同。

答案
3、如果在聚集关系中部分对象可同时参与多个整体对象的构成,则该聚集称为共享聚集。

例如,一个课题组包含许多成员,每个成员又可以是另一个课题组的成员,则课题组和成员之间是一种共享聚集的关系。

如果部分对象完全隶属于整体对象,并与整体对象共存,则该聚集称为组合聚集。

例如,在屏幕上一个窗口由文本框、列表框、按钮和菜单等构成,且一旦关闭了窗口,则各组成部分也消失,则窗口和它的组成部分之间的关系为组合聚集关系。

三、分析题(本题20分)
某住宅安全系统使用传感器(如红外探头等)来检测各种意外情况,如非法进入、火警等,其顶层DFD图如图3-1所示。

房主可以在安装该系统时配置安全监控设备,如传感器、报警器等,也可在系统运行时修改配置,通过录像机和电视机监控与系统连接的所有传感器,并通过控制面板上的键盘与系统进行信息交互。

在安装过程中,系统给每个传感器赋予一个编号和类型,并设置房主密码以启动和关闭系统,设置传感器事件发生时应该自动拨出的电话号码。

当系统检测到一个传感器事件时,就激活报警,拨出预置的电话号码,并报告位置等有关信息。

请回答以下问题:
(1)图3-1中A,B,C分别是什么?(6分)
(2)第0层DFD图如图3-2所示,则图中W,X,Y,Z分别是什么?(8分)
(3)请说明如何采用DFD图计算功能点数。

(6分)
图3-1 住宅安全系统顶层DFD图
图3-2住宅安全系统第0层DFD图
答案(1)、A:控制面板 B、报警器 C、传感器
(2)、W: 用户配置请求 X: 用户密码 Y: 传感器状态 Z: 告警信息
(3)、利用DFD图计算功能点数的步骤如下:首先通过DFD图获取输入项数、输出项数、查询数、主文件数和外部接口数,然后计算未调整的功能点数,再计算技术复杂因子,最后计算功能点数。

四、设计题(本题15分)
某汽车租赁公司打算采用计算机系统来管理汽车租赁业务,其设计方案采用UML类图描述如图4-1所示。

图4-1中的类有:Renter(租赁者)、Person(人)、Company(租赁公司)和Automobile(汽车)。

租赁公司既可将汽车租给个人,也可将汽车租给其他租赁公司。

在设计时暂不考虑未租出去的汽车。

请回答以下问题:
(1)试说明图4-1设计方案存在的问题。

(7分)
(2)针对图4-1设计方案中存在的问题,给出改进的设计方案,并用UML类图描述。

(8分)
图4-1 汽车租赁业务管理系统设计方案
答案(1)图4-1设计方案存在的问题如下:1)未能完全反映租赁关系的内容,如租赁日期等;2)公司、被租赁汽车和租赁者三者之间的关系未能描述。

(2)改进后的类图如下图所示。


图中,Tenancy表示一次租赁对应的事项。

五、(1)程序流程图如下:
(2)MaCabe环形复杂度为7。

(3)满足基本路径覆盖的测试用例共7个,假定各节点的编号如下图示,则测试用例如下表所示。

序号基本路径输入:期末考试成绩输入:平时成绩预期结果:成绩
1a->b->c->d->l90优优
2a->b->c->g->l90差良
3a->b->e->f->g->l80优良
4a->b->e->f->j->l80差及格
5a->b->e->h->i->j->
70优及格
l
65差不及格
6a->b->e->h->i->k->
l
7a->b->e->h->k->l54优(或差)不及格
填空题(本题30分,每空2分)
1. 软件测试的目的是(发现错误)。

2. 软件按服务对象可分为项目软件和(产品软件)。

3. 在常见的软件生存期模型中,(螺旋)模型是风险驱动的。

4. UML通过三种扩展机制来扩充UML的建模能力,分别是(约束)、构造型和(标记值)。

5. 在软件测试用例的设计方法中,白盒法以(程序内部数据结构 )为依据设计测试用例,
6. 在面向对象设计原则中,(组装复用)原则要求在新的对象里尽量使用已有的类对应的对象,并通过(委派)达到复用已有功能的目的。

7. 状态图描述一个类对象所经历的( 各种状态)以及事件发生时状态的(转移条件 ).
8.SOFL软件开发方法学认为,在需求分析和规格说明阶段应该采用( 结构化)方法,而在设计和实现阶段则应该采用(面向对象)方法。

9. 可行性研究的内容包括(技术可行性)、经济可行性和(操作可行性 )。

10. IDEF0图的主要元素是简单的盒子及箭头,其中盒子代表系统的功能,而箭头表示系统处理的(数据约束 )。

相关文档
最新文档