2014年 研究生 现代软件工程期末考试

合集下载

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案1. 考试题目:软件需求工程考试要求:根据给定的需求文档,完成以下题目。

题目一:根据给定的需求文档,设计一个在线购物系统。

请根据以下要求完成系统设计:(1)使用UML类图绘制系统的类结构;(2)使用UML时序图描述用户登录和浏览商品的流程;(3)使用UML活动图描述用户下订单的流程。

答案:(1)类图如下所示:[在这里插入UML类图图片](2)时序图如下所示:[在这里插入UML时序图图片](3)活动图如下所示:[在这里插入UML活动图图片]题目二:根据给定的需求文档,设计一个在线学习系统。

请根据以下要求完成系统设计:(1)使用UML用例图描述系统的功能需求;(2)使用UML活动图描述学生完成在线学习的流程;(3)使用UML状态图描述学生的学习状态变化。

答案:(1)用例图如下所示:[在这里插入UML用例图图片](2)活动图如下所示:[在这里插入UML活动图图片](3)状态图如下所示:[在这里插入UML状态图图片]2. 考试题目:软件设计模式考试要求:根据给定的题目,选择并解答以下问题。

题目一:分析以下代码,判断其使用了哪种设计模式,并阐述该设计模式的作用和优势。

```javapublic interface Car {void drive();}public class Sedan implements Car {@Overridepublic void drive() {System.out.println("Driving a sedan car."); }}public class SUV implements Car {@Overridepublic void drive() {System.out.println("Driving an SUV car."); }}public class CarFactory {public Car createCar(String type) {if (type.equals("sedan")) {return new Sedan();} else if (type.equals("suv")) {return new SUV();} else {throw new IllegalArgumentException("Invalid car type: " + type);}}}```答案:该代码使用了工厂模式。

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

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

《软件工程》 期末考试试卷考生注意: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)根据销售公司转来的内部合同(产品型号、规格、数量、交获日期)制定车间月生产计划。

(2)根据车间实际生产日报表、周报表调整月生产计划(3)以月生产计划为以及,制定产品设计(结构、工艺)及产品组装月计划。

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

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

一、选择题1.瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。

八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和_。

( C ),A .详细计划B .可行性分析C .运行阶段 D.测试与排错2.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试年勺系统测试阶段的目标( A )A .需求分析阶段B .详细设计阶段 C.概要设计阶段 D .可行性研究阶段,3.软件工程的出现主要是由于(C ) ,A.程序设计方法学的影响B.其它工程科学的影响C.软件危机的出现D.计算机的发展,4.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实旅的主要保证是(C)A.硬件环境B.软件开发的环境C.软件开发工具和软件开发的环境D.开发人员的素质5.软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为(B)A.相互排斥B相互补充C独立使用 D.交替使用6.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C)A.基于瀑布模型的结构化方法 B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法 D.基于数据的数据流开发方法7.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B)A.结构化方法B原型化方法C面向对象的方法 D.控制流方法8.结构化分析方法是一个预先严格定义需求的方法,它在实施时强调的是分析对象的(B)A.控制流 B.数据流 C.程序流 D.指令流9.软件开发的结构化生命周期方法将软件生命周期划分成(A)A.计划阶段.开发阶段.运行阶段B.计划阶段.编程阶段.测试阶段C.总体设计.详细设计.编程调试 D.需求分析.功能定义.系统设计10.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是(C)A.分析阶段 B.设计阶段 C.编码阶段 D.测试阶段11.适合于面向对象方法学的软件生存周期模型是(B)A.瀑布模型 B.喷泉模型 C.螺旋模型 D.增量模型12.从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大的是(C)A.详细设计阶段B.概要设计阶段C.需求分析阶段D.测试和运行阶段13.从实用角度看,数据规范化在大多数场合选用第____范式。

软件工程期末考试参考题及答案

软件工程期末考试参考题及答案

一、填空题(每空1分, 共20分)1.软件生存周期一般可分为__问题定义__、可行性研究、_需求分析_____、设计编码、__测试________、运行与维护阶段。

2.按软件旳功能进行划分, 软件可以划分为系统软件、支撑软件和应用软件。

3.可行性研究重要集中在如下四个方面经济可行性、技术可行性、法律可行性和抉择。

4.顾客界面旳可使用性是顾客界面设计最重要旳也是最基本旳目旳。

5.常见旳软件概要设计措施有3大类: 以数据流图为基础构造模块构造旳___构造化设计措施_________, 以数据构造为基础构造模块旳__jackson措施__________, 以对象、类、继承和通信为基础旳__面向对象设计措施__________。

6.__数据流图________和__数据字典___共同构成系统旳逻辑模型。

7.软件测试旳措施有__分析措施________和___非分析措施_______(即黑盒法)。

8.单元测试一般以___白盒_____________测试为主, ___黑盒______测试为辅。

9.成本估计措施重要有__自底向上估计________、_自顶向下估计_________和算法模型估计三种类型。

二、单项选择题(每题2分, 共10分)1.下列哪个阶段不属于软件生存周期旳三大阶段( C )。

A.计划阶段B.开发阶段2. C.编码阶段 D.维护阶段3.需求分析是(A )。

A. 软件开发工作旳基础B. 软件生存周期旳开始C. 由系统分析员单独完毕旳D. 由顾客自己单独完毕旳原型化措施是软件开发中一类常用旳措施, 它与构造化措施相比较, 更需要( B )。

A. 明确旳需求定义B.完整旳生命周期C、较长旳开发时间D、纯熟旳开发人员软件维护时, 对测试阶段未发现旳错误进行测试、诊断、定位、纠错, 直至修改旳回归测试过程称为( A )。

A、改正性维护B、适应性维护C、完善性维护D、防止性维护一般说来, 投入运行旳软件系统中有错误(A )。

软件工程期末考试参考考试试题

软件工程期末考试参考考试试题

软件工程期末考试参考试题一、填空题1、软件生存周期一般可分为问题定义、可行性研究、需求分析、设计编码、测试、运行与维护阶段;2、按软件的功能进行划分,软件可以划分为系统软件、支撑软件和应用软件;3、可行性研究主要集中在以下四个方面经济可行性、技术可行性、法律可行性和抉择;4、用户界面的可使用性是用户界面设计最重要的也是最基本的目标;5、常见的软件概要设计方法有3大类:以数据流图为基础构造模块结构的结构化设计方SD,以数据结构为基础构造模块的Jackson方法,以对象、类、继承和通信为基础的面向对象设计方法OOD;6、数据流图和数据字典共同构成系统的逻辑模型;7、软件测试的方法有分析方法和非分析方法即黑盒法;8、单元测试一般以白盒测试为主,黑盒测试为辅;9、成本估计方法主要有自底向上估计、自顶向下估计和算法模型估计三种类型;10.文档document—一种数据媒体和其上所记录的数据;11机器语言、汇编语言:依赖于机器,面向机器12.软件有效性efficiency,指软件系统的时间和空间效率;13.软件定义过程可通过软件系统的可行性研究和需求分析两个阶段来完成;14.软件定义的基本任务是确定软件系统的工程需求,也就是要搞清“做什么”;15.为了使用户需求逐步精细化、完全化、一致化,通常采用需求建模技术;16.一个软件的深度是指其控制的层数;17.以详细设计说明书为输入,将该输入用某种程序设计语言翻译成计算机可以理解并最终可运行的代码的过程叫编码过程;18.软件维护是软件生命周期的最后一个阶段19.软件工程由方法、工具和过程三部分组成,称软件工程的三要素;20.基于计算机系统的软件要素中的软部件由程序、数据和文档组成;21.数据流图就是用来刻画数据流和转换的信息系统建模技术;它用简单的图形记号分别表示数据流、转换、数据源以及外部实体;22.被继承的类我们称之为基类父类,在基类的基础上新建立的类我们称之为派生类子类;23.流程图也称为程序框图是最常用的一种表示法,它有顺序、分支和循环三个基本控制构件;24.机器语言和汇编语言,也称为低级语言;25.软件测试是执行程序发现并排除程序中潜伏的错误的过程;26.软件可维护性,是指软件产品交付使用后,在实现改正潜伏的错误、改进性能等属性、适应环境变化等方面工作的难易程度;27.软件可理解性,指系统具有清晰的结构,能直接反映问题的需求;28在实体-关系图简称E-R图中,数据对象实体用长方形、关系用菱形、属性用椭圆表示;29.建立数据流模型要遵循的原则包括:每个加工至少应有一个输入数据流以反映被处理数据的来源和一个输出数据流来反映加工的结果30.从工程管理的角度软件设计可分为概要设计和详细设计两大步骤;31.通过向用户提供视觉和听觉上的反馈,保持用户与界面间的双向通信,是提高界面可交互性的措施之一;32.程序设计语言的可靠性是指程序设计语言本身不出错或对错误的纠正能力;33.对发现错误较多的程序模块,应进行重点测试;34.测试用例中,不仅要选择合理的输入数据,还要选择不合理的输入数据;二、单项选择题1. 下列哪个阶段不属于软件生存周期的三大阶段C;A、计划阶段B、开发阶段C、编码阶段D、维护阶段2. 需求分析是A;A、软件开发工作的基础B、软件生存周期的开始C、由系统分析员单独完成的D、由用户自己单独完成的3. 原型化方法是软件开发中一类常用的方法,它与结构化方法相比较,更需要B;A、明确的需求定义B、完整的生命周期C、较长的开发时间D、熟练的开发人员4. 软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为A;A、改正性维护B、适应性维护C、完善性维护D、预防性维护5. 一般说来,投入运行的软件系统中有错误A;A、不是不可以理解的B、是不能容忍的C、是要求退货的理由D、是必然的6、对在数据流图中每一个命令的图形元素均给以定义是BA、条目定义B、数据字典C、数据定义D、数据说明7、软件的可行性研究中不包括DA、法律可行性B、技术可行性C、经济可行性D、政治可行性8、根据用户在软件使用过程中提出的建设性意见而进行的维护活动称为C;A.纠错性维护B.适应性维护C.改善性维护D.预防性维护9、人机界面的风格大致经过了B代的演变;A.三B.四C.五D.六10、以下不属于白盒测试技术的是DA.逻辑覆盖B.基本路径测试C.循环覆盖测试D.等价类划分11、为改正软件系统中潜藏的错误而进行的维护活动称为A;A.纠错性维护B.适应性维护C.改善性维护D.预防性维护12、从事物的组成部件及每个部件的属性、功能来认识事物;这种方法被称为A的方法;A、面向对象B、面向数据C、面向过程D、面向属性13、判定表由四部分组成:左上部列出B;A.条件组合与动作之间的对应关系B.所有条件C.所有可能的动作D.可能的条件组合14、面向对象的分析和设计OOA&OOD方法出现在20世纪C年代中期;、耦合度也可以分为七级:其中最松散的耦合是A;A.非直接耦合B.数据耦合C.特征耦合D.控制耦合16、面向对象方法是将现实世界的事物以对象的方式B到计算机世界的方法;A.对应B.映射C.反映D.反射17、盒图也称为D或Chapin图;这种表达方式取消了流程线,它强迫程序员以结构化方式思考和解决问题;A.流程图B.框图C.判定表图18、描述静态数据结构的概念模式是A;A、E-R图B、DFDC、结构图D、框图19、结构化程序设计理论认为,实现良好的程序结构要应用A的分析方法;A、自顶向下B、自底向上C、面向对象D、基于组件20、在结构化程序设计当中,不建议使用D;A、分支语句B、循环语句C、子程序调用语句D、转向语句21、软件生产过程中,需求信息由D给出;A、程序员B、项目管理者C、软件分析设计人员D、软件用户22、在下列的基本成分中,哪个不是数据流程图的基本成分DA、信息处理B、信息存储C、外部实体D、系统状态23、与设计测试数据无关的文档是D;A、需求说明书B、设计说明书C、源程序D、项目开发设计三、多项选择题每小题2分,共10分1. 下面哪些测试属于白盒测试AE;A、基本路径测试B、等价类划分C、边界值分析D、错误推测E、逻辑覆盖测试2. 下列哪些选项是属于内容耦合ABC;A、一个模块直接访问另一个模块的内部数据B、一个模块有多个入口C、一个模块不通过正常入口转到另一模块内部D、一个模块只有一个入口3. 下列属于度量效益方法的是ABC;A、货币的时间价值B、投资回收期C、收入D、投资回报率4. 数据流图是用于表示软件模型的一种图示方法,在下列可采用的绘制方法中,哪些是常采用的ACD;A、自顶向下B、自底向上C、分层绘制D、逐步求精5. 软件设计中一般将用到图形工具,下列哪种些可用作设计的图形工具ACD;A、结构图B、实体联系图C、IPO图D、层次图四、判断题;1、在进行总体设计时应加强模块间的联系;×2、系统结构图是精确表达程序结构的图形表示法;因此,有时也可以将系统结构图当作系统流程图使用;×3、用黑盒法测试时,测试用例是根据程序内部逻辑设计的;×4、在程序调试时,找出错误的位置和性质比改正该错误更难;√5、以对象、类、继承和通信为基础的面向对象设计方法OOD也是常见的软件概要设计方法之一;√6、如果通过软件测试没有发现错误,则说明软件是正确的;×7、快速原型模型可以有效地适应用户需求的动态变化;√8、模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品;√9、集成测试主要由用户来完成;×10、软件危机完全是由于硬件问题引起的;×11.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一;√12.一个好的开发人员应具备的素质和能力不包括具有良好的书面和口头表达能力;×13.在用户需求分析时观察用户手工操作过程不是为了模拟手工操作过程,而是为了获取第一手资料,并从中提取出有价值的需求;√14.快速原型技术适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合;√15.流程图也称为程序框图是最常用的一种表示法;√16.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤;√17.理想的人机界面应针对具有典型个性的特定的一类用户设计;√18.数据输入的一般准则中包括尽量增加用户输入的动作;×19.用穷举测试是较现实的测试方法;×20、编码时应尽可能使用全局变量×21、重视程序结构的设计,能使程序具有较好的层次结构√22、程序中的注解越少越好×23.纠错性维护是改正运行期间发现的潜伏错误;√24.软件可移植性portability,是指软件从一个计算机系统或环境移植到另一个上去的难易程度;√25.软件复杂性不能反映出软件的可理解性、模块化、简单性等属性;×26.当程序内的分支数和循环数增加时,VG值将随之增加,即程序的复杂性增大;√27.一般来说,设计软件时应尽量使用数据耦合,减少控制耦合,限制外部环境耦合和公共数据耦合,杜绝内容耦合;√28.设计用户界面只需要计算机科学的理论和知识,而不一定需要认知心理学以及人-机工程学、语言学等学科的知识;×29.第四代语言4GL还局限在某些领域内,如数据库查询语言;√30.不同程序设计语言在程序的效率上的差异不大;×31.编码的依据是详细设计说明书;√32.程序文档应该包括代码的功能、代码的完成者等内容;√33.软件项目定义部分由制定软件项目开发计划、需求分析2个阶段组成;√34.预防性维护是修改软件,以适应软硬件环境的变化;×35.开发大型软件易产生疏漏和错误,往往是产生软件危机的原因之一;√36.据统计,软件维护人员为了分析和理解原软件系统所花费的工作量约占整个维护工作量的60%以下;×37.数据流图中各构成元素的名称不一定必须具有明确的含义以代表对应元素的内容或功能;×38.软件设计也可看作将需求规格说明逐步转换为软件源代码的过程;√39.最高耦合度是数据耦合;×40.人机界面Human-ComputerInterface,简称HCI又称人-机接口或用户界面;√41.在同一用户界面中,所有的菜单选择、命令输入、数据显示和其他功能应采用不同的形式和风格;×42.判定覆盖必然满足语句覆盖;√43.为提高可交互性一般对大多数操作动作应允许用户恢复;同时应尽量减少用户记忆的信息量;√44.编程中应采用统一的标准和约定,降低程序的复杂性;√45.软件在使用过程中维护不十分复杂;×46.软件可重用性reusability,是指软部件可以在多种场合使用的程度;√47.缺乏有力的方法学的指导和有效的开发工具的支持,这往往是产生软件危机的原因之一;√48.快速原型技术的适用于软件产品要求大量的用户交互、或产生大量的可视输出、或设计一些复杂的算法等场合;√49.流程图也称为程序框图是最常用的一种表示法;√50.面向数据设计方法一般都包括下列任务:确定数据结构特征;用顺序、选择和重复三种基本形式表示数据等步骤;√51、在软件维护过程中改善性维护是为适应环境的变化而修改软件的活动;×52.螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动;√53.数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义;×语言编译器是一个CASE工具;√55.软件是指用程序设计语言如PASCAL,C,VISUALBASIC等编写的程序,软件开发实际上就是编写程序代码;×56.软件模块之间的耦合性越弱越好;√57.数据库设计说明书是一个软件配置项√58.在面向对象的软件开发方法中,每个类都存在其相应的对象,类是对象的实例,对象是生成类的模板;×59.过程描述语言可以用于描述软件的系统结构;×60.快速原型模型可以有效地适应用户需求的动态变化;√61.模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品;√62.可行性研究进一步研究问题分析阶段所确定的问题是否有可行的解;√63.并发系统中遇到的一个主要问题是定时问题;√64.面向对象建模得到的模型包含系统的3个要素,即静态结构、交互次序和数据变换;√65.软件重用是提高软件开发生产率和目标系统质量的重要途径;√66.判定覆盖不一定包含条件覆盖,条件覆盖也不一定包含判定覆盖;√67.PowerDesigner是一个CASE工具;√68.在进行需求分析时需同时考虑维护问题;×69.UML是一种面向对象的分析设计方法,即OOA/OOD方法;×70.在面向对象的软件开发方法中,每个类都存在其相应的对象,对象是类的实例,类是生成对象的模板;√五、简答题1、什么是软件危机为什么会产生软件危机答:软件危机是指软件在开发和维护过程时所遇到的一系列问题;主要包含二方面的问题:一是如何开发软件以满足社会对软件日益增长的需求,二是如何维护数量不断增长的已有软件;产生软件危机的原因:一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关;2、耦合性有哪几种类型 其耦合度的顺序如何其中,1、2、3属于弱耦合,4属于中度耦合,5、6属于较强耦合、7属于强耦合;非直接耦合数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合其中,1、2、3属于低内聚,4属于中内聚,5、6属于高内聚;3、简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则答:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审;三个基本原则:①必须能够表达和理解问题的数据域和功能域;②必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;③要给出系统的逻辑视图和物理视图;4、什么是黑盒测试法答:黑盒测试法把程序看成一个黑盒子,完全不考虑程序的内部结构和处理过程,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据,产生正确地输出信息;5、什么是软件生存周期答:一个软件从定义到开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期;软件生存周期就是从提出软件产品开始,直到软件产品被淘汰的全过程;6、在需求分析阶段,建立目标系统的逻辑模型的具体做法是什么内内聚聚性性低高 模块独立性强 弱 耦合性低 高答:系统流程图是描述物理系统的传统工具;它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件程序、文件、数据库、表格、人工过程等;系统流程图表达的是部件的信息流程,而不表示信息进行加工处理的控制过程;7、为什么数据流图要分层答:为了表达数据处理过程的数据加工情况,用一个数据流图是不够的;为表达稍微复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系;8、软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量;在各种标准中定义了一些开发准则,用来指导软件人员用工程化的方法来开发软件;如果不遵这些开发准则,软件质量就得不到保证;往往会有一些隐含的需求没有明确地提出来;如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证;软件质量是各种特性的复杂组合;它随着应用的不同为不同,随着用户提出的质量要求不同而不同;9、软件工程的基本原则有抽象、信息隐藏、模块化和其他哪些内容软件工程必须遵循那些基本原则答:1抽象2信息隐藏2分3模块化2分4局部化5一致性6完全性7可验证性2分10、常用的软件项目的估算方法主要有哪4种1自顶向下的估算方法2自底向上的估算方法3差别估算法4根据经验估算公式11、原型法模型一般适应哪些场合它适合于那些不能预先确切定义需求的软件系统的开发,更适合于那些项目组成员包括分析员、设计员、程序员和用户不能很好交流或通信有困难的情况;12、简答结构化程序设计的内容及基本要点;内容:是程序设计技术,它采用自顶向下逐步求精的设计方法和单入口单出口的控制构件;基本要点:1采用自顶向下,逐步求精的程序设计方法;2使用三种基本控制结构构造程序,分别是顺序,选择和循环3采用主程序员组的组织形式;4采用单入口单出口的模块形式;13、瀑布模型一般适应哪些场合瀑布模型一般适用于功能、性能明确、完整、无重大变化的软件系统的开发;例如操作系统、编译系统、数据库管理系统等系统软件的开发;应用有一定的局限性;14、软件工程的目标是什么答:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品;15、螺旋模型的适应场合有哪些答:适应场合:支持需求不明确、特别是大型软件系统的开发,并支持面向规格说明、面向过程、面向对象等多种软件开发方法,是一种具有广阔前景的模型;16、软件开发风险分析实际上就是贯穿于软件工程过程中的一系列风险管理步骤,它包括哪些主要内容答:1风险标识2风险估算3风险评价4风险驾驭和监控;17、软件生存周期中的软件开发过程由概要设计和其它哪几个阶段组成答:1详细设计2实现3组装设计4验收测试18、实体—关系Entity-Relation图简称E-R图,是表示数据对象及其之间关系的图形语言机制;19、需求评审标准按照重要性的次序包括哪些内容答:1正确性2无歧义性3完全性4可验证性5一致性6可理解性7可修改性8可追踪性;20、计算机软件——与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据;21、需求分析的任务是什么答:需求分析的任务是确定待开发的软件系统“做什么”;具体任务包括确定软件系统的功能需求、性能需求和运行环境约束,编制软件需求规格说明书、软件系统的验收测试准则和初步的用户手册;22、软件项目的成本管理——估算软件项目的成本,作为立项和签合同的依据之一,并在软件开发过程中按计划管理经费的使用;23、快速原型技术的基本思想是什么答:在软件开发的早期,快速开发一个目标软件系统的原型,让用户对其进行评价并提出修改意见,然后开发人员根据用户的意见对原型进行改进;24、程序设计语言有哪些特点答:1一致性2二义性3紧致性4局部性25、可将软件生存周期划分为哪3个过程和哪9个阶段答:13个过程是:软件定义过程、软件开发过程、软件使用与维护过程;29个阶段有:可行性研究、需求分析、概要设计、详细设计、实现、组装测试、验收测试、使用与维护、退役;六、分析设计题1. 某“调整工资”处理模块接受一个“职称”的变量,根据职称的不同助教,讲师,副教授,教授作不同的处理,其中若是助教还必须输入工龄,只有工龄超过两年才能调整工资;请用等价类划分法设计测试用例;答:设计测试用例:2. 当行李重量超过30公斤时,对头等舱的国内乘客超重部分每公斤收费4元,对其它舱的国内乘客超重部分每公斤收费6元,对国外乘客超重部分每公斤收费比国内乘客多一倍,对残疾乘客超重部分每公斤收费比正常乘客少一半;用判定树表示计算行李费的算法;3、画出与图1所示的程序流程图对应的流图,并试计算其环形复杂度VG;解:1流图如图2所示:2计算其环形复杂度:VG=E–N+2=13–10+2=5。

软件工程期末考试复习题及答案

软件工程期末考试复习题及答案
(3分)
用户手册要使用专门术语,并充分地描述该软件系统的结构及使用方法。
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..17.
(3分)
Alpha测试由用户在开发者的场所进行,并且在开发者对用户的“指导”下进行测试,开发者负责记录发现的错误和使用中遇到的问题。
.得分:
0知识点:
软件工程作业题,软件工程展开解析.答案对.解析..18.
.得分:
3知识点:
软件工程作业题,软件工程展开解析.答案对.解析..6.
(3分)
数据流图和数据字典共同构成系统的物理模型。
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..7.
..8.
(3分)
需求分析是提取、建模、规格说明和复审的过程。
.得分:
3知识点:
软件工程,软件工程作业题展开解析.答案对.解析..9.
(4分)
CMU/SEI推出的()将软件组织的过程能力分为五个成熟度级别,每一个级别定义了一组过程能力目标,并描述了要达到这些目标应该具备的实践活动。
A. CMM
B. PSP
C. ISO-9000
D. RUP
得分:
0知识点:
软件工程,软件工程作业题展开解析.答案A .解析..9.
(4分)
若要保证开发出来的软件局部优化,而且能尽早发现设计上的错误,应采用()
.得分:
0知识点:
软件工程,软件工程作业题展开解析.答案错.解析..16.
(3分)
软件结构一般要求顶层扇出比较少,中层扇出较高,底层模块有高扇入。
.得分:
0知识点:
软件工程作业题,软件工程展开解析.答案错.解析..17.

《软件工程与UML》期末试题及答案

《软件工程与UML》期末试题及答案

软件工程与UML建模复习题B一:单选题1.是在系统之外,透过系统边界与系统进行有意义交互的任何事物A).相关系统B).Use Case C).Class D).Actor2.软件工程是以为核心A).过程B).面向对象C).软件开发D).质量3.“系统应具有很高的可靠性,使用该产品的前3个月,系统不应该出现崩溃(数据不可恢复)的现象”,这属于A).功能性需求B).客观需求C).主观需求D).非功能性需求4.“系统每天晚上自动生成进货报表”,Actor是: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.设C(X)定义问题X的复杂性函数,E(X)定义解决问题X所需要工作量的函数,对于两个问题p1和p2,一般情况下如果C(p1)<C(p2) 则A).E(p1)>E(p2) B).C(p1+p2)=C(p1)+C(p2)C).E(p1+p2)>E(p1)+E(p2) D).E(p1+p2)<E(p1)+E(p2)A).用例图B).类图C).数据流程图D).顺序图11.模块尺寸太大时,应A).分解以提高内聚B).分解以提高耦合C).合并以提高内聚D).分解以降低内聚12. 是指有定义完备接口的、明确规定了上下文以来关系的合成单元,它可以被第三方开发、并且能够被独立地部署,具有自包含的属性,其内部构造和特征不可见。

中国海洋大学2014-2015学年软件工程期末考试试卷及参考答案A

中国海洋大学2014-2015学年软件工程期末考试试卷及参考答案A

中国海洋大学2014-2015学年第一学期期末考试试卷及参考答案信息科学与工程学院《软件工程》课程试题(A卷)考试说明:本课程为闭卷考试,可携带文具,满分为:100 分。

一、填空题(本大题共20个空,每空1分,共20分)(1)软件生命周期由、和三个时期组成,每个时期又可进一步划分成若干个阶段。

(2)可行性研究主要是从、和三个方面研究可行性。

(3)是输入、处理和输出图的简称。

(4)是对一个软件结构内不同模块之间互连程度的度量。

(5)结构程序设计中只使用、和3种基本的控制结构。

(6)软件维护主要包括、、和四种。

(7)用面向对象方法开发软件一般要建、、和三种模型。

(8)软件测试的目的是发现错误,通常把测试方法分成和两大类。

二、简答题(本大题共5小题,每小题6分,共30分)(1)请简要说明面向对象方法学的要点。

(2)请说明软件设计过程中应该遵循的基本原理。

(3)简述用例图的作用和包含的模型元素。

(4)问题空间和解空间有何区别?(5)请简要说明决定软件可维护性的因素。

三、条件测试可用于检查程序模块中所包含逻辑条件是否正确。

在布尔变量和关系操作符只出现一次且没有公共变量的情况下,BRO(Branch and Relational Operator)测试保证能发现条件中的分支和条件操作符错误。

考虑条件C1: (E1= E2) & (E3< E4),其中E1, E2, E3, E4是关系表达式,“&”表示逻辑“与”,“<”和“=”是关系运算符,为了检查C1中的关系操作符错误,请给出C1的条件约束,并给出求解过程(本题15分)。

四、PAD是问题分析图(problem analysis diagram)的英文缩写,它的基本符号如图一所示。

请使用PAD图重画图二中的程序流程图(本题15分)。

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

2014年研究生现代软件工程期末考试
2014年6月20日
某软件企业已经具有5年以上的开发经历,为了进一步拓展市场和提升市场竞争能力,在三个项目组以及SQA小组选拔了一些技术骨干作为SEPG小组成员,期望在公司内部推广CMM,争取在3年之内能够通过CMM3 的评级认证。

公司管理层要求一年内通过CMM2评级,第三年申请CMM3的资质认证并争取通过评审。

为此,三个项目组的项目经理与SEPG和SQA小组成员共同商讨如何能够满足近期和远期目标。

经了解,发现三个项目组的管理方式各不相同,开发方法也不统一:项目组A:采用传统的演化模型并使用基于数据流图的结构化方法进行系统开发;
项目组B:采用基于面向对象方法的UP模型进行系统开发;
项目组C:采用极限编程方法进行开发;
问题一:SEPG要求各项目组的项目经理给出各自项目组的基于里程碑的软件开发过程及相应的文档编制计划。

(15分)
问题二:为了CMM3的目标SEPG根据各小组的软件开发过程决定采用通用的面向对象方法定义一个公司级的统一软件工程过程并给出基于KPA组织过程定义必须执行的活动(Key Practices)。

(15分)
问题三:SQA小组基于SPEG定义的公司级的软件工程过程,参考ISO的质量模型开始着手制定CMM3需要的针对软件需求分析阶段的质量评估模型及其必须的尺度度量准则。

(20分)
除此之外,项目组A各人员组成的工资待遇如下:1、项目经理:12000;2、工程师_X:5000;3、工程师_Y:6500;3、工程师_Z:3000;公司规定项目经理有权掌握项目40%经费进行管理,其中包括项目组的人员成本和平时加班补贴(平时加班按工资的2倍支付,国家法定假日3倍支付)。

此时,公司交付给项目组A一个必须在2个月完成的项目,要求项目必须按照客户的具体需求完成分析、设计和开发任务,并能实现20%的利润,同时项目经理自己也打算给自己保留5%经费作为自己奖励。

具体需求如下:
有一个医院期望开发一个《医院取药告知管理系统》。

该系统要求实现病人在交费处使用自己的就医卡交费完毕后,系统会根据当前的取药人数分配取药窗口和相应的药剂师。

每个窗口的药剂师按顺序使用系统,并接收系统分配的药单。

药剂师配药完成后使用系统功能显示并通知病人取药。

每个取药窗口有一个大屏幕显示取药的病人名称,每个人取药时间为2分钟并反复显示并广播病人的姓名;超过两分钟没来取药的病人信息会转到屏幕下方的滚动条滚动显示,可以显示多人姓名。

取过药的病人信息随即被清除。

取药大厅设置多台自动查询机,病人使用就医卡扫描后,查询机会显示病人姓名、取药窗口号以及在本病人之前未取药的人数或者是否处于超时等待取药。

作为项目经理,请根据上述功能需求回答以下问题:
问题四:给出该系统的功能列表(以用例表示)开发和后期维护的报价。

(15)
问题五:给出系统开发的进度安排,并确定关键任务路径上的人员安排使得项目进度效率最高且成本最低。

(15分)
问题六:请根据自己熟悉的编程语言估算该系统的KLOC、C K(技术状态常数),并由此根据“软件方程”计算该系统开发的工作量。

(10分)
问题七:给出开发周期内TOP5的风险因素。

(10分)。

相关文档
最新文档