杭电_-_穆海伦_-_软件工程_期末试题2015
- 格式:doc
- 大小:1.87 MB
- 文档页数:6
软件工程期末考试参考题及答案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);}}}```答案:该代码使用了工厂模式。
2015年软件工程期末考试试题及答案(机密)解析班级姓名学号一.简要回答下列各问题(共40分,每个小题5分)(1) 阐述软件工程的定义。
答:●是指导计算机软件开发和维护的一门工程学科;●采用工程的概念、原理、技术和方法来开发和维护软件;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:●缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
●软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
●软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
●随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点:●可强迫开发人员采用规范化的方法。
●严格地规定了每个阶段必须提交的文档。
●要求每个阶段交出的所有产品都必须是经过验证的。
缺点●由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格说明与用户需求之间有差异,就会发生这种情况。
●瀑布模型只适用于项目开始时需求已确定的情况。
1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
●逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。
●项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
●优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。
因此,最重要的系统服务将接受最多的测试。
1、2、瀑布模型把软件生命周期划分为八个阶段:问题的定义、可行性研究、软件需求分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三个大的阶段:计划阶段、开发阶段和( C)。
A、详细计划B、可行性分析C、运行阶段D、测试与排错2、从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大(C )。
A、详细设计阶段B、概要设计阶段C、需求分析阶段D、测试和运行阶段3、在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标(A )。
A、需求分析阶段B、详细设计阶段C、概要设计阶段D、可行性研究阶段4、软件工程的出现主要是由于(C )。
A.程序设计方法学的影响B.其它工程科学的影响C. 软件危机的出现D.计算机的发展5、软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是(C )A、硬件环境B、软件开发的环境C、软件开发工具和软件开发的环境D、开发人员的素质6、软件开发常使用的两种基本方法是结构化和原型化方法,在实际的应用中,它们之间的关系表现为( B)A、相互排斥B、相互补充C、独立使用D、交替使用7、UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法(C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高(B )A、结构化方法B、原型化方法C、面向对象的方法D、控制流方法9、结构化分析方法是一种预先严格定义需求的方法,它在实施时强调的是分析对象的(B )A、控制流B、数据流C、程序流D、指令流10、软件开发的结构化生命周期方法将软件生命周期划分成(A )A、计划阶段、开发阶段、运行阶段B、计划阶段、编程阶段、测试阶段C、总体设计、详细设计、编程调试D、需求分析、功能定义、系统设计11、软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为(A )A、瀑布模型B、对象模型C、螺旋模型D、层次模型12、软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( C)A、分析阶段B、设计阶段C、编码阶段D、测试阶段三.判断1.软件的开发与运行经常受到硬件的限制和制约。
《软件工程》期末考试参考题及答案1----0bb20b5e-6ea6-11ec-a26c-7cb59b590d7d《软件工程》期末考试样题一、填空1.软件开发模型有瀑布模型、螺旋模型、第四代技术模型、原型模型、构件组装模型、混合模型。
2.可行性研究一般可以从经济可行性、技术可行性、运营可行性、法律可行性和开发可行性等方面进行研究。
3.现在向银行存款,年利率为i,若希望在n年后从银行得到f元,现在应该存入的钱数为f/(1+i)。
4.数据流图的基本符号包括数据输入的源点和数据输出、处理、数据流和数据存储文件的汇点。
5.jackson图除了可以表达程序结构外,还可以表达数据结构,它首先要分析数据结构,并用适当的工具来描述。
6.详细设计工具包括图形工具、表格工具和语言工具。
7.ipo图由输入、处理和输出三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
8.面向对象技术是一套关于如何处理软件系统与现实世界之间的关系,从什么角度研究问题、分析和解决问题,以及如何构建系统的软件方法论。
面向对象方法是一种软件开发方法,它利用对象、类、继承、封装、聚合、消息传输、多态等概念来构造系统。
二、单项选择题1.下列哪个图是N-S图()的组成部分。
a.b.aabbac.whilemd.ab3.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。
a、制定计划B.实施项目C.风险分析D.程序编码n三、多项选择题1.软件危机可以表现为(abcd)。
a、该产品不能满足用户的需求。
B.软件产品的质量很差。
C.软件的可维护性差。
软件的价格很贵2.jackson图中一般可能包括(abcd)。
a、标题B.表体C.表名D.字段名3.关于内容耦合的描述正确的是(ad)。
a、内容耦合是最高程度的耦合b、应该尽量使用内容耦合c、高级语言通常设计为允许内容耦合d、如果一个模块有多个入口,可能发生内容耦合4.以下是非标准书写格式(BCD)。
a、写入时,使用空格分隔B,并在一行上写入多个语句c、嵌套结构不使用分层缩进的写法d、程序中不加注释四、真假问题(付诸表决)√“括号中表示正确的和”√“为错误的人”用“×”)1.软件生存周期是从软件开始开发到开发结束的整个时期。
最新国家开放大学电大《软件工程》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《软件工程》题库及答案一一、选择题(请从四个可选项中选择最佳答案。
60分,每题3分)1.下面的哪个选项不是软件工程的宗旨( )。
A. 开发满足用户需求的软件B.研究算法C.及时交付软件D.生产无故障软件2.针对需求不确定的软件开发,比较好的模型是( )。
A. 快速原型化模型 B.瀑布模型C.软件成熟度模型 D.系统化模型3.可行性分析研究的费用大约是项目总经费的( )。
A. 2% B.6%C.20% D.5%04.业务需求描述的是( )。
A.功能需求 B.用户需求C.用户的具体业务流程 D.软件的目标、规模和范围5.一个数据流程图中的图形符号有且仅有( )种。
A.3 B.5C.4 D.76.非直接耦合的模块独立性最强,( )的模块独立性最弱。
A.内容耦合 B.数据耦合C.控制耦合 D.外部耦合7.信息隐藏的核心内容是( )。
A.把数据都放在公共的区域B.数据不能被其他模块访问C.一个模块的内部信息不允许其他模块直接访问D.把信息加密,只能让有密钥的模块访问8.面向过程的方法最关心的是过程,而过程实施的对象是作为过程( )传递的。
A. 参数 B.主体C.过程 D.数据结构9.( )用于描述系统的功能集。
A.组件视图 B.逻辑视图C.用例视图 D.对象视图10.用( )模型描述系统的组织结构。
A.组织 B.CMMC.数据 D.静态11.对象模型描述现实世界中实体的对象以及它们之间的关系,表示目标系统的静态数据结构。
在面向对象方法中,由( )实现。
A.顺序图 B.类图C.状态图 D.组件图12.如果对象之间的耦合是通过( )来实现的,则这种耦合就是交互耦合。
《软件工程导论》期末考试-试题与答案一、填空题1.软件工程中的结构化分析 SA 是一种面向________的分析方法.2.软件模块独立性的两个定性度量标准是_________________.3.软件开发是一个自顶向下逐步细化和求精的过程,而软件测试是一个________的过程。
4. ________和数据字典共同构成了系统的逻辑模型5. ___________是一种黑盒测试技术,这种技术把程序的输入域划分为若干个数据类,据此导出测试用例。
二、单选题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. Jackson 方法是在软件开发过程中常用的方法,使用 Jackson 方法时可以实现______。
A.从数据结构导出程序结构B.从数据流图导出初始结构图C.从模块结构导出数据结构D.从模块结构导出程序结构7.软件测试时为了________而执行程序的过程.A.纠正错误B.发现错误C.避免错误D.证明错误8.在软件系统中,一个模块应具有什么样的功能,这是由_____决定的。
A.总体设计B.需求分析C.详细设计D.程序设计9.面向对象分析是对系统进行_________的一种方法。
河南师范大学计算机与信息工程学院2013―2014学年度 2010级计算机科学与技术专业期末考试《软件工程》A 卷1. 软件:是计算机系统中与硬件相互依存的一部分,它包括程序数据及其相关文档软件生命周期模型:是描述软件开发过程中各项活动如何执行的模型 软件危机:是计算机软件开发和维护过程中所遇到的一系列严重的问题软件生存周期:软件从定义开始,经过开发,使用和维护,直到最终退役的全过程 2. 软件工程 将系统的、规范的、可度量的工程化方法用于软件开发、运行和维护的过程3. 结构化分析方法:是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。
它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。
结构化分析的步骤如下:①分析当前的情况,做出反映当前物理模型的DFD ;②推导出等价的逻辑模型的DFD ;③设计新的逻辑系统,生成数据字典和基元描述;④建立人机接口,提出可供选择的目标系统物理模型的DFD ;⑤确定各种方案的成本和风险等级,据此对各种方案进行分析;⑥选择一种方案;⑦建立完整的需求规约。
4. 软件工程三要素:过程、方法、工具5. 软件开发工具:是支持软件开发人员开发和维护软件活动而使用的软件1. 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案(F )2. SA 方法是面向数据流,建立在数据封闭原则上的需求分析方法(T )3. 模块的设计要力求做到高内聚、低耦合(T )4. 软件开发、设计几乎都是从头开始,成本和进度很难估计。
(F )5. 类图用来表示系统中类和类之间的关系,它是系统动态结构的描述(F )6. 划分模块可以降低软件复杂度和工作量,所以应该将模块划分得越小越好。
(F )7. 一个好的开发人员应具备的素质和能力包括善于与周围人员团结协作,建立良好的人际关系,善于听取别人的意见。
(T)8. 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。
2014年--2015年杭电软件工程期末试题回忆(穆海轮的课)一.单选题(10分)二.多选题(20分)三.大题(70分)1. 某高校一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩【问题1】(4分)使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
【问题2】(3分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
【问题4】(3分)简要叙述在本例中运用了哪几条画分层DFD图的指导原则。
【问题5】(4分)数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。
简要说明数据流图和程序流程图在适用场合与作用上的区别。
【问题1】E1考试委员会,E2主讲教师,E3选课学生,E4教务处【问题2】D1学生信息文件D2课程信息文件D3课程单元信息文件D4课程成绩文件 D5无效成绩文件【问题3】E4教务处—>3记录无效成绩 (具体处理意见) ,2记录无效成绩—> 4生成成绩列表(有效成绩),4生成成绩列表—>5生成最终成绩单(成绩单内容)【问题4】第一层DFD应当是基本系统模型注意父图和子图的平衡,维护信息的连续性区分局部文件和局部外部项遵守加工编号原则【问题5】数据流图是用来交流对系统的认识和分析及设计系统的工具;只是描绘数据在软件中的流动和被处理的逻辑过程。
不需考虑怎样具体实现这些功能。
程序流程图便于直观地展现程序控制流程,不去考虑全局结构;只是用来描绘控制结构。
2 . 下图为某程序模块的N_S图,试画出相应的程序流程图、PAD图和程序图,并计算其环域复杂度。
(15分)PAD图(上图)程序流程图(上图)程序图(上图)环域复杂度为:6+1=73.。
软件工程期末试题及答案(word版可编辑修改)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(软件工程期末试题及答案(word 版可编辑修改))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为软件工程期末试题及答案(word版可编辑修改)的全部内容。
软件工程期末试题及答案(六)选择题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.在黑盒测试中,着重检查输入条件组合的方法是( )。
软件工程期末试题(一)单项选择题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. 时序图13. 对象实现了数据和操作的结合,使数据和操作( C )于对象的统一体中。
《软件工程》期末考试试卷一、填空题(在括号内填写正确的答案,每空1分,共25分)1.软件工程学的基本原则包括、、一致性、确定性等。
2.软件生存周期一般可分为、可行性研究、、设计、编码、、运行与维护阶段。
3.成本估计方法主要有、和算法模型估计三种类型。
4.数据流图的基本符号包括、、、。
5.JSD是一种典型的的分析设计方法。
6.详细设计的工具有、表格工具和。
7.IPO图由、处理和三个框组成。
这个图的特点是能够直观的显示三者之间的关系。
8.面向对象技术是一整套关于如何看待和的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。
面向对象方法是一种运用、、、、聚集、消息传送、多态性等概念来构造系统的软件开发方法。
9.分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的。
10.程序测试是对编码阶段的语法错、和进行查找的编码执行活动。
二、单项选择题(将一个正确的答案代码填入括号中,每小题2分,共10分)1.下列哪个阶段不属于软件生存期的三大阶段()。
A、计划阶段B、开发阶段C、编码阶段D、维护阶段2.下列哪个图不是N-S图的构件()。
3.对于下列各图,有关描述中正确的是()。
A、数据A和B同时输入变成CB、数据A变换成B和CC、数据A或数据B(不能同时)输入,变换成CD、数据A变换成B和C4.下列哪种方法不是度量效益的方法()。
A、货币的时间价值B、算法模型估计C、投资回收期D、纯收入5.下列描述错误的是()。
A、数据流图将各种信息流抽象成数据流的形式B、数据流图不反映控制关系、调用关系C、数据流图不反映处理逻辑的先后顺序D、数据流图不反映数据的流向XYA、WHILE MBB、XYC、UNTIL NCD、BCBCCC三、多项选择题(将正确的答案代码填入括号中,每小题3分,共15分)1.需求分析阶段应该完成的文档资料包括()。
A、系统规格说明B、数据要求C、用户系统描述D、修正的开发计划2.下列关于模块的描述,正确的是()。
软件⼯程期末考试题(含答案)⼀、选择题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分)(将答案写在题号前的()中)( C )1. 软件是( )。
A. 处理对象和处理规则的描述B. 程序C. 程序及其文档D. 计算机系统( B )2. 软件需求规格说明的内容不应包括( )。
A. 主要功能B. 算法的详细描述C. 用户界面及运行环境D. 软件的性能( B )3. 程序的三种基本控制结构是( )。
A. 过程、子程序和分程序B. 顺序、选择和重复C. 递归、迭代和回溯D. 调用、返回和转移( D ) 4. 面向对象的分析方法主要是建立三类模型,即( )。
A) 系统模型、ER模型、应用模型B) 对象模型、动态模型、应用模型C) E-R模型、对象模型、功能模型D) 对象模型、动态模型、功能模型( C ) 5. 在E-R模型中,包含以下基本成分( )。
A) 数据、对象、实体B) 控制、联系、对象C) 实体、联系、属性D) 实体、属性、操作( A ) 6. 各种软件维护的类型中最重要的是( )。
A) 完善性维护 B) 纠错性维护 C) 适应性维护 D) 预防性维护( B ) 7.软件测试的目标是( )。
A. 证明软件是正确的B. 发现错误、降低错误带来的风险C. 排除软件中所有的错误D. 与软件调试相同( D )8.软件生命周期中所花费用最多的阶段是( )A.详细设计B.软件编码C.软件测试D.软件维护( C )9.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0, 1.0],现从输入的角度考虑一组测试用例:-1.001, -1.0, 1.0,1.001.设计这组测试用例的方法是( )A.条件覆盖法B.等价分类法C.边界值分析法D.错误推测法( D )10、详细设计的基本任务是确定每个模块的( )设计A.功能B.调用关系C.输入输出数据D.算法( A )11.设函数C(X)定义问题X的复杂程序,函数E(X)确定解决问题X需要的工作量(时间)。
班级姓名学号一.简要回答下列各问题(共40分,每个小题5分)(1) 阐述软件工程的定义。
答:●是指导计算机软件开发和维护的一门工程学科;●采用工程的概念、原理、技术和方法来开发和维护软件;●把证明正确的管理技术和最好技术综合运用到软件开发中;●研究经济地开发出高质量的软件方法和技术;●研究有效维护软件的方法和技术。
(2) 简述软件危机的原因。
答:●缺乏软件开发的经验和有关软件开发数据的积累,使得开发计划很难制定。
●软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
●软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
●随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
●缺少有效的软件评测手段,提交用户的软件质量不能完全保证。
(3) 画出软件生存周期的瀑布模型的示意图,并简单评述其优缺点。
(4) 画出软件生存周期的增量模型的示意图,并简述其优点。
优点:● 可强迫开发人员采用规范化的方法。
● 严格地规定了每个阶段必须提交的文档。
● 要求每个阶段交出的所有产品都必须是经过验证的。
缺点● 由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。
如果需求规格说明与用户需求之间有差异,就会发生这种情况。
● 瀑布模型只适用于项目开始时需求已确定的情况。
1-2 瀑布模型示意图●能在较短时间内向用户提交可完成一些有用的工作产品,即从第1个构件交付之日起,用户就能做一些有用的工作。
● 逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。
● 项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。
● 优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。
因此,最重要的系统服务将接受最多的测试。
2014年--2015年杭电软件工程期末试题回忆(穆海轮的课)
一.单选题(10分)
二.多选题(20分)
三.大题(70分)
1. 某高校一个成绩管理系统,记录并管理所有选修课程的学生的平时成绩和考试成绩
【问题1】(4分)使用说明中的词语,给出图1-1中的外部实体E1~E4的名称。
【问题2】(3分)使用说明中的词语,给出图1-2中的数据存储D1~D5的名称。
【问题3】(6分)数据流图1-2缺少了三条数据流,根据说明及数据流图1-1提供的信息,分别指出这三条数据流的起点和终点。
【问题4】(3分)简要叙述在本例中运用了哪几条画分层DFD图的指导原则。
【问题5】(4分)数据流图是在系统分析与总体设计阶段宏观地描述系统功能需求的重要图形化工具,程序流程图也是软件开发过程中比较常用的图形化工具。
简要说
明数据流图和程序流程图在适用场合与作用上的区别。
【问题1】E1考试委员会,E2主讲教师,E3选课学生,E4教务处
【问题2】D1学生信息文件D2课程信息文件D3课程单元信息文件
D4课程成绩文件 D5无效成绩文件
【问题3】E4教务处—>3记录无效成绩 (具体处理意见) ,
2记录无效成绩—> 4生成成绩列表(有效成绩),
4生成成绩列表—>5生成最终成绩单(成绩单内容)
【问题4】第一层DFD应当是基本系统模型
注意父图和子图的平衡,维护信息的连续性
区分局部文件和局部外部项
遵守加工编号原则
【问题5】数据流图是用来交流对系统的认识和分析及设计系统的工具;只是描绘数据在软件中的流动和被处理的逻辑过程。
不需考虑怎样具体实现这些功能。
程序流程图便于直观地展现程序控制流程,不去考虑全局结构;只是用来描绘控制
结构。
2 . 下图为某程序模块的N_S图,试画出相应的程序流程图、PAD图和程序图,并计算其环域复杂度。
(15分)
PAD图(上图)
程序流程图(上图)
程序图(上图)环域复杂度为:6+1=7
3.。