中南大学软件工程复习题及参考答案._第1页
中南大学软件工程复习题及参考答案._第2页
中南大学软件工程复习题及参考答案._第3页
中南大学软件工程复习题及参考答案._第4页
免费预览已结束,剩余7页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南大学复习题及参考答案软件工程一、选择题: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 的说明,下列属软件

2、配置项的是(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.

3、适应性维护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.

4、 组件图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.下列属面向对

5、象软件开发方法的有()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的用例图中,扩展关

6、系是一种()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.满足用户功能

7、需求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提供了两种描述整体/ 部分关系的方法,分别是和。2. 软件是计算机程序、及的完整集合, 将其统称为软件配置,这些项称为软件配置项。通过正式复审的软件配置项

8、称为,只有通过正式的变化控制过程才能改变它。3.纯收入是指在整个生存周期之内的与投资之差。4.瀑布模型是以驱动的软件生存周期模型,适合需求明确的软件系统开发。5.在单元测试期间,应该为被测模块编写相应的测试软件,一般地模块接收测试数据,并把数据传给被测模块,而模块则模拟实际模块完成少量数据处理。6.IDEF0 方法用严格的自顶向下、逐层分解的方式进行系统的功能描述,其顶层图将图在建模范围内分解成个主要部分得到。7. 如果一个模块完成多个逻辑上相近或相关的功能,并且每次调用只选择该模块中的一个功能执行,则称此模块为内聚的模块。8. 程序静态分析的对象是。常生成各种引用表,如列出各模块中出现的全部

9、标号。9. 在数据流图中,每个加工至少有一个和一个。10. 两个小组独立地测试同一个程序,第一组发现25 个错误,第二组发现30 个错误,在两个小组发现的错误中有15 个是共同的,那么可以估计程序中的错误总数是。11. 设 E 为程序图G中边的总数; N 为程序图中结点的总数,则该程序图的环形复杂度为。12. 汽车有一个发动机。若用 UML描述汽车和发动机之间的关系,则它们之间是_关系。13.自顶向下结合的渐增式测试法,在组合模块时有两种组合策略,即策略和策略。14.在基本路径测试中, 以详细设计为基础, 导出控制流程图的拓扑结构 :程序图,在计算了程序图的之后,确定只包含独立路径的基本路径图

10、,其中独立路径是包括一组的一条路径。从程序图来看,一条独立路径是至少包含有一条在其他独立路径中未有过的边的路径。15.在多层次的结构图中,其模块结构的层次数称为结构图的。结构图中同一层模块的最大模块数称为结构图的。16.耦合性是指两个模块之间的关系,模块之间的联系越复杂,每个模块的独立性就。17.可行性研究实质上是进行了一次过程。18.需求分析的任务是。19.NS 图的主要优点是它强制设计人员使用技术,从而可保证软件设计的质量。20.结构型模式涉及如何组合类和对象,从而构成更大的对象,一是采用来组合接口或实现形成更大的结构;另一种方式通过方式来形成。21.为了便于对照检查,测试用例应由和预期的

11、两部分组成。22.软件开发时,一个错误发现得越晚,为改正它所付出的代价就。23.在 UML的用例图中,根据参与者与用例关系的不同,参与者可分为和次要参与者,参与者之间的关系只有关系。24.评价软件质量可以从三个方面进行,即产品或中间产品、和项目。25.软件配置管理是一组用于在计算机软件的整个生存周期内管理的活动。26.通过抽象,可以确定组成软件的。通过信息隐蔽,可以定义和实施对模块的过程细节和局部数据结构的。27.UML 表示法的基础是,它描述建模元素的语义。28.条件覆盖是指设计足够的测试用例,使得至少出现一次。29.面向数据流图的结构化分析方法是根据的原则,按照系统中数据处理的流程,用数据

12、图来建立系统的模型。30.评估软件企业的质量管理有两种方法,一种是按照认证,另外一种是按照CMM认证。31.风险估计从两个方面来度量, 一是估计,二是估计与风险相关的问题出现后将会带来的损失。三、名词解释题:1. 集成测试2. 设计模式3. 信息隐藏4. 用例5. 结构化方法6.MVC四、判断题:1.测试计划、测试用例和出错统计等一般不用长期保存。( )2.在面向对象方法中,需求分析和设计没有差别。()3.应用设计模式使得软件灵活,可重用性提高,应该尽量多使用。()4. UML 是一种建模语言,可以被任何面向对象方法使用。()5.任何系统都需要对数据进行处理,因而数据流图可描述任何系统。()6

13、.软件开发就是编写程序代码。( )7.面向对象软件开发最适合采用迭代、增量式的开发模型。()8.设计模式是一种可以重用的面向对象软件设计方案。()9.软件测试就是检查程序是否正确。()10.软件项目计划在可行性研究阶段就已定稿。()11.软件工程认为软件设计的最终目标是要取得最佳方案。()12.只要对软件进行严格的测试,就能发现软件中的所有错误。()13.初级技术人员在编码阶段参与软件项目的程度在各类人员中最高。()14.单元测试常常在编码阶段进行。()15. CMM 描述和分析了软件过程能力的发展与改进的程度。()16.为了加快开发速度,可以一边写程序,一边设计文档。()17.没有发现任何错

14、误的测试是无效的测试。()18.软件结构图中不能有控制信息流动。()19.单元测试常常由独立的测试小组进行。()20.用例建模只能用于面向对象软件系统的开发。()21.数据流建模方法是一种自顶向下的需求分析方法。()22.为了减少程序的长度,最好不要在程序中增加注释。()五、简答题:1. 在需求分析和设计阶段建立原型的好处有哪些?2. 什么是模块的扇入和扇出?3. UML 的特点是什么?4. 层次图和层次方框图有何区别?5. 软件测试对象应包括哪些内容?6. 试简要叙述文档在软件工程中的作用。7. 为何螺旋模型主要适合开发人员和用户为同一个组织机构成员的软件项目的开发?8. 软件测试为何需要尽

15、早和不断地进行?9. 简要说明如何实现 MVC。10. 试给出一种开源软件框架,并简要说明开源软件存在的问题。11. IDEF0 方法有什么特点?12. 快速原型模型有几种?各有何特点?六、综合题:1. 某网络学院决定开发一个管理所有学生和教师信息的交互式网络系统,该系统提供如下服务:( 1)浏览学生信息:网络学院的任何人员,包括学生和老师,均可以浏览学院任何学生的信息,包括姓名、学号和专业名称。( 2)浏览教师信息:网络学院的任何人,包括学生和老师,均可以浏览学院任何教师的信息,包括姓名、工号和职称。( 3)登录:网络学院给学院每个人一个账号。拥有授权帐号的学生和老师,可以使用系统提供的页面

16、设置个人密码,并使用该帐号和密码向系统注册。( 4)修改个人信息:学生或老师向系统注册后,可以发送电子邮件或使用系统提供的页面,对个人信息进行修改。( 5)删除个人信息:只有网络学院的管理人员才能删除不再是学院学生或老师的人员的有关信息。试问哪些是参与者?哪些是用例?并用UML的用例图描述系统行为。2. 试据下述伪代码描述的模块,改用NS图描述。Begin abDo Until x6 If xl thenfIf x4 then Do Until x5 iEnd Until ElseghEnd ifElseSelect Case x2Case 1:Do While x3cEnd WhileCas

17、e 2:dCase 3:eEnd SelectEnd ifEnd UntilEnd3. 某五星级宾馆共有H间客房。每间客房的房间号、房间等级、床位数以及占用状态分别存放在数组ROOM、RANK、 NBED和 STATUS中。房间等级用整数表示。房间状态有:空闲(0表示)和占用(1表示)。客房以房间为单位出租。试设计一个算法,依据散客的要求预定房间,要求输入为:人数M,房间等级要求R(R为 0表示任意等级均可) ;输出为:可供选择的房间号。要求用程序流程图描述算法。4. 某医院打算开发一个以计算机为中心的患者监护系统,以解决医院人手不够和对危重病人的及时监护。该系统应能做到以下几点:随时接受每个

18、病人的生理信号;定时记录病人情况形成患者日志;当病人生理信号超出医生规定的安全范围时向值班护士发告警信息;此外,护士在需要时,还可要求系统印出指定病人的病情报告。试椐此叙述绘出对应的DFD图。5. 试采用设计模式描述算术表达式(不含圆括号)的设计方案。算术表达式是由加、减、乘、除和操作数构成的表达式,操作数假定为实数。6. 请根据如下程序流程图设计该程序段的判定覆盖测试用例,其中输入为A,B,X ,输出为 X。abFc(A>1) (B=0)TX=X/2dFTe(A=2) (X>1)X=X+2参考答案一、选择题:1A2A3 C 4B 5B 6C7C8C 9B 10 B 11B 12A

19、 13C 14 A15 C16 B17A18C19C 20A 21 B22 C23 A24C25A26C 27B 28B29 C30 C31C32B33A 34B 35C36 C37 B38A39B40C 41B 42A43C 44 B 45A二、填空题:1聚集组合2描述计算机程序的文档数据 基线3累计经济效益 ( 折合成现在值 )4文档5驱动模块桩模块6 A-03-67逻辑8源程序标号交叉引用表9输入流输出流10 5011 E N+212 聚合13深度优先广度优先14. 环形复杂性 以前没有处理的语句或条件15. 深度 宽度16依赖越低17大大压缩简化了的系统分析和设计过程18确定系统必须完

20、成哪些工作19结构化20. 继承 对象组合21输入数据预期输出结果22越大23主要参与者泛化24. 过程25. 变化26过程实体存取限制27 UML元模型28判定表达式中每个条件的各种可能的值29分解与抽象功能30. ISO900131. 风险发生的可能性三、名词解释题:1 集成测试 也称组装测试或联调。是指在单元测试的基础上,将所有模块按照概要设计要求组装成一个完整的系统而进行的测试。模块组装的方式有两种:渐增式和非渐增式。2 设计模式 是普通面向对象设计问题的解决方案,这类问题以一组交互类的形式出现,用户根据需要定制这些交互类以形成专门的设计。所有设计模式均可以从四个方面加以描述:模式名称

21、、问题描述、解决方案和效果。3 信息隐藏 是指在模块设计时,使得一个模块内包含的信息( 过程或数据 ) ,对于不需要这些信息的其他模块来说是不能访问的。这样,改变模块的内部过程和数据的设计不会影响到其它模块。4 用例 是参与者为达到某个目的而与系统进行的一系列交互,执行结果将为参与者提供可度量的价值。从参与者的角度来看,用例应该是一个完整的任务,在一个相对较短的时间内完成。5 结构化方法 是一种传统的软件开发方法,其总的指导思想是自顶向下、初步求精、单入口、单出口,其基本原则是抽象和功能分解。6MVC即模型、视图、控制器。其中,模型是应用对象,其包含一些数据值,维护数据并提供数据的访问方法。视

22、图显示模型的部分或说有数据,多个视图可以以不同的方式来显示模型中数据。控制器处理用户输入事件。四、判断题:1X 2 X 3 X 4 56X 7 8 9 X 10X11X 12X 13 14 15 16X17 18 X19 X 20.X 21. 22. X五、简答题:1在需求分析和设计阶段建立原型的好处有:( 1)增进开发人员和用户对系统需求的一致理解,明确软件需求,尤其是功能含糊的需求。( 2)原型提供了一种有力的学习手段,能够使用户尽早接触系统。( 3)原型可以用来识别或化解风险。( 4)原型有的可以原封不动地成为产品,有的略加修改就可以成为最终系统的一个组成部分,这样有利于建成最终系统。2

23、扇入则定义为一个模块被调用(或控制)的模块个数;扇出表示一个模块直接调用(或控制)的其他模块数目。3 UML的特点是:( 1)统一了面向对象方法的有关概念和描述方法;( 2)表达能力强,能对各种并发分布式系统进行建模,且UML还提供了扩展机制;( 3) UML专注于一种标准的建模语言,而不是一个开发过程。4层次图主要用来描绘软件的层次结构,矩形框代表一个模块,矩形框之间的连线表示模块之间的调用关系,常与 IPO 图一起形成 HIPO 图。层次方框图主要描述系统的组成关系,一般自用域需求分析。5软件测试并不等于程序代码测试,其应该贯穿于软件定义与开发的整个期间。因此,需求分析、概要设计以及程序编

24、码等各阶段所得的文档,包括需求规格说明、概要设计说明、详细设计规格说明以及源程序代码都应成为软件测试的对象。6在软件工程中,文档的作用是:( 1)提高软件开发过程的能见度;( 2)记录开发过程的有关信息便于使用与维护;( 3)作为开发人员阶段工作成果和结束标志;( 4)提高开发效率;( 5)提供软件运行、维护和培训有关资料;( 6)便于用户了解软件功能、性能。7因为如果开发人员和用户属于不同的组织机构,则一般在正式的软件开发之前均需要签订合同,所有的风险分析均必须在签订合同之前完成。但螺旋模型需要在软件开发的每一个阶段都进行风险分析,当重要风险不能解决时,项目应该终止。由此螺旋模型可能因为风险

25、使得合同在完成之前就终止,从而导致法律诉讼。故螺旋模型不适合开发人员和用户属于不同组织机构的情况。8软件测试不应仅仅作为一个独立的软件开发阶段,而应贯穿到软件开发的各个阶段中。通过各阶段的评审,在早期把错误解决,以减少错误放大效应,这样不仅可以提高软件质量,而且也是降低软件成本的一个重要措施。由此,软件测试应该尽早和不断地进行。9MVC是 Model View Controller的简写。 "Model"代表的是应用的业务逻辑(通过JavaBean,EJB 组件实现),"View"是应用的表示层(由JSP 页面产生), "Controller&

26、quot;是提供应用的处理过程控制(一般是一个Servlet),通过MVC把应用逻辑,处理过程和显示逻辑分成不同的组件实现。10 Struts是采用 Java Servlet/JavaServer Pages技术,开发Web应用程序的开源应用框架。Struts框架主要有如下功能:1)包含一个controllerservlet,能将用户的请求发送到相应的Action对象;2)JSP自由 tag 库,并且在 controllerservlet中提供关联支持, 帮助开发人员创建交互式表单应用;3) . 提供了一系列实用对象,如XML处理、通过Java reflection APIs自动处理JavaB

27、eans 属性、国际化的提示和消息等。开源软件存在的主要问题有: ( 1)技术服务支持较少; ( 2)版本控制困难; ( 3)性能不够稳定; ( 4)文档不全,等等。11 IDEF0 方法的特点是:( 1)采用方框和箭头等简单的图形符号描述系统的活动和数据流,描述活动所受到的约束条件及实现机制,清楚地反映了系统的功能。( 2)采用严格的自顶向下、逐层分解的方式建立系统功能模型。顶层确定系统范围,采用抽象原则,然后有控制的逐步展开有关活动的细节,符合SA方法的分析策略。同时,IDEF0 规定每张图至少有3个、最多有6 个方框,上界6 保证采用层次性描述复杂问题的可理解性,下界3 保证分解有意义。12根据原型的不同作用,有三类原型模型:探索型原型。这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。实验型原型。 这种原型主要用于设计阶段, 考核实现方案是否合适, 能否实现, 对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。演化型原型。这种原型主要用于及早向用户提交一个原型系统,该原型系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论