杭电_-_穆海伦_-_软件工程_期末试题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.在黑盒测试中,着重检查输入条件组合的方法是( )。
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.。