软件工程天津大学作业答案
天大17春秋软件工程在线作业二
一、单选题(共20道试题,共100分。
)V1.一个面向对象系统的体系结构通过它的()关系确定。
A.类与对象B.成分对象和对象C.过程和对象D.类与对象2.软件生命周期的最后的一个阶段是()。
A.书写软件文档B.软件维护C.稳定性测试D.书写详细用户说明图上下层之间的关系是()。
A.调用关系B.组成关系C.继承关系D.嵌套关系4.在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是()。
D.流程图5.可维护性的特性中,相互矛盾的是()。
A.可修改性和可理解性B.可测试性和可理解性C.效率和可修改性D.可理解性和可读性6.功能模型中所有的()往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A.数据流图B.概念模型图C.状态迁移图D.事件追踪图7.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是()A.设计稳定B.变换分析C.事务分析D.模块独立性8.维护阶段的文档是()。
A.软件需求说明B.操作手册C.软件问题报告D.测试分析报告是软件开发过程中用于()阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程10.结构化程序设计的一种基本方法是()。
A.筛选法B.递归法C.迭代法D.逐步求精法11.维护中,因误删除一个标识符而引起的错误是()副作用。
B.数据C.编码D.设计12.在详细设计阶段,一种二维树型结构并可自动生成程序代码的描述工具是()。
D.判定树13.可维护性的特性中相互促进的是()。
A.可理解性和可测试性B.效率和可移植性C.效率和可修改性D.效率和结构好14.指出PDL是下列哪种语言()。
A.高级程序设计语言B.伪码式C.中级程序设计语言D.低级程序设计语言15.所有的对象可以成为各种对象类,每个对象类都定义了一组()。
A.说明B.方法C.过程D.类型16.软件维护困难的主要原因是()。
习题参考答案天津大学计算机科学与技术学院
第1章 软件与软件工程 1、软件及软件工程定义 答:软件是能够完成预定功能和性能,并对相应数据进行加工的程序和描述程序及其操作的文档。
软件 = 程序+数据+文档 程序 = 算法+数据结构软件工程:为了克服软件危机,在软降的开发生产过程中采用工程化的方法,采用一系列科学的,现代化的方法和技术开发软件,将工程化的思想贯穿到软件开发和维护的全过程。
2、软件危机的原因答:软件危机答:软件开发和维护过程中遇到的一系列严重问题。
导致软件危机的原因:1)软件的规模加大、复杂性提高、性能增强 2)软件是逻辑产品, 尚未完全认识其本质和特点3)缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法 4)用户对软件需求的描述和软件开发人员对需求的理解往往存在差异,用户经常要求修改需求,开发人员很难适应5)软件开发的技术人员和管理人员缺乏软件工程化的素质和要求,对工程化的开销认识不足3、简述瀑布模型及其特点1. 试简述瀑布模型软件开发方法的基本过程。
答:1)软件开发过程与软件生命周期是一致的;2)相邻二阶段之间存在因果关系;3)需对阶段性产品进行评审4、简述一下螺旋模型及其特点开发 时期计划时期))答:螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;(3)实施工程:实施软件开发和验证;(4)客户评估:评价开发工作,提出修正建议,制定下一步计划5、简述一下原型模型及其特点答:原型模型的优点是:(1)可及早为用户提供有用的产品。
(2)可及早发现问题,随时纠正错误。
(3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。
(4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。
原型模型的缺点是:(1)缺乏丰富而强有力的软件工具和开发环境。
2022年天津大学软件工程专业《计算机网络》科目期末试卷B(有答案)
2022年天津大学软件工程专业《计算机网络》科目期末试卷B(有答案)一、选择题1、当一台计算机从FTP服务器下载文件时,在该FTP服务器上对数据进行封装的5个转换步骤是()。
A.数据、报文、IP分组、数据帧、比特流B.数据、IP分组、报文、数据帧、比特流C.报文、数据、数据帧、IP分组、比特流D.比特流、IP分组、报文、数据帧、数据2、局域网和广域网之间的差异是()。
A.所使用的传输介质不同B.所覆盖的范围不同C.所使用的协议不同D.B和C3、如果IPv4的分组太大,则会在传输中被分片,那么在()地方将对分片后的数据报重组。
A.中间路由器B.下一跳路由器C.核心路由器D.H的端主机4、若将网络21.3.0.0/16划分为128个规模相同的子网,则每个子网可分配的最大IP地址个数是()。
A.254B.256C.510D.5125、若Hub再生比特流过程中,会产生1.535us延时,信号传播速度为200m/us,不考虑以太网帧的前导码,则H3与H4之间理论上可以相距的最远距离是()。
A.200mB.205mC.359mD.512m6、同一局域网上的两个设备具有相同的静态MAC地址,其结果是()A.首次引导的设备使用该地址,第二个设备不能通信B.最后引导的设备使用该地址,第一个设备不能通信C.这两个设备都能正常通信D.这两个设备都不能通信7、可靠的传输协议中的“可靠”指的是()。
A.使用面向连接的会话B.使用“尽力而为”的传输C.使用滑动窗口来维持可靠性D.使用确认机制来确保传输的数据不丢失8、如果用户程序使用UDP进行数据传输,那么()协议必须承担可靠性方面的全部工作。
A.数据链路层B.网络层C.传输层D.应用层9、下面信息中()包含在TCP首部中而不包含在UDP首部中。
A.目标端口号B.序号C.源端口号D.校验号10、在TCP/IP协议簇中,应用层的各种服务是建立在传输层提供服务的基础上的。
下列协议组中()需要使用传输层的TCP建立连接。
软件工程课后习题(含答案)
第一章练习题一、填空题1、软件工程三要素是:方法、工具、过程。
2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。
二、名词(术语)解释:1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。
可靠性是衡量软件质量的一个重要目标。
2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。
三、问答题1、面向对象方法的优点是什么?答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。
(2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。
2、可视化开发方法的优点有哪些?答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。
(2)软件开发简单,易学、易上手。
(3)专业或非专业人员都能参与软件开发活动。
第二章练习题一、填空题:1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工程活动。
2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。
3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。
4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。
二、简答题:1、瀑布模型的优点有哪些?答:1、强迫开发人员采用规范的技术方法;2、严格地规定了每个阶段必须提交的文档;3、每个阶段结束前必须正式进行严格的技术审查和管理复审。
2、瀑布模型的缺点是什么?答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。
2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。
3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
19春[天津大学]《软件工程》在线作业二(100分答案)
【奥鹏】[天津大学]《软件工程》在线作业二试卷总分:100 得分:100第1题,()应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、论域分析B、高层分析C、实例的建立D、类的开发正确答案:第2题,可维护性的特性中相互促进的是()。
A、可理解性和可测试性B、效率和可移植性C、效率和可修改性D、效率和结构好正确答案:第3题,在详细设计阶段,可自动生成程序代码并可作为注释出现在源程序中的描述工具是()。
A、PADB、PDLC、IPOD、流程图正确答案:第4题,程序的三种基本控制结构是()。
A、过程、子程序和分程序B、顺序、选择和重复C、递归、堆栈和队列D、调用、返回和转移正确答案:第5题,下列哪个语言提供指针且不存在布尔类型,并且它广泛应用于系统程序设计语言()。
A、PASCALB、DEPHIC、ADAD、C正确答案:第6题,在下述情况下,从供选择的答案中,选出合适的()描述工具。
当算法中需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能。
A、程序流程图形B、NS图C、PDA图或PDLD、判定表正确答案:第7题,JSP方法是一种面向()的设计方法。
A、对象B、数据流C、数据结构D、控制结构正确答案:第8题,程序设计语言的技术特性不应包括()。
A、数据结构的描述性B、抽象类型的描述性C、数据库的易操作性D、软件的可移植性正确答案:第9题,在商业系统的开发中应用最广的语言是()。
A、PROLOG语言B、SMALLTALK语言C、FORTRAN语言D、COBOL语言正确答案:第10题,面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch方法B、UML语言C、OMT方法D、Coad方法正确答案:第11题,软件维护费用高的主要原因是()。
A、生产率高B、生产率低C、人员多D、人员少正确答案:第12题,程序的三种基本控制结构的共同特点是()。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案1.简答题1.1 什么是软件工程?软件工程是一门研究和应用如何以系统化、规范化、可量化的方式开发和维护软件的学科,涉及到软件的设计、构建、测试、部署和维护等全生命周期的过程。
1.2 软件工程的目标是什么?软件工程的目标是提高软件开发过程的效率和质量,确保软件项目按时、按需求交付,并且能够满足用户的期望。
1.3 软件生命周期有哪些阶段?常见的软件生命周期包括需求分析、系统设计、详细设计、编码、测试、部署和维护等阶段。
1.4 什么是软件需求?软件需求是指对于软件系统所需满足的问题或需求的描述,包括功能需求、性能需求、接口需求等。
1.5 软件开发过程有哪些模型?常见的软件开发过程模型包括瀑布模型、迭代模型、螺旋模型、敏捷开发等。
2.客观题2.1 软件测试的目的是什么?a) 发现软件中的错误和缺陷b) 验证软件是否符合需求和规格c) 提高软件的可靠性和质量d) 以上皆是答案:d) 以上皆是2.2 瀑布模型的特点是什么?a) 瀑布模型是一种线性顺序的软件开发过程模型b) 各个开发阶段是相互独立的c) 开发过程按照需求分析、设计、编码、测试等顺序进行d) 以上皆是答案:d) 以上皆是2.3 敏捷开发的原则是什么?a) 个体和交互胜过流程和工具b) 可工作的软件胜过详尽的文档c) 客户合作胜过合同谈判d) 响应变化胜过遵循计划e) 以上皆是答案:e) 以上皆是3.计算题3.1 请计算以下代码的覆盖率:(假设代码行数为100行,已执行代码行数为80行)覆盖率 = 已执行代码行数 / 代码行数 100% = 80 / 100 100% = 80%3.2 请计算以下缺陷密度的值:(假设代码行数为1000行,代码中的缺陷数为10个)缺陷密度 = 缺陷数 / 代码行数 1000 = 10 / 1000 1000 = 103.3 请计算以下代码的复杂度:(假设代码中包含的判断语句有20个,循环语句有5个)复杂度 = 判断语句数 2 + 循环语句数 3 = 20 2 + 5 3 = 40 + 15 = 554.附件本文档涉及附件:无5.法律名词及注释本文涉及的法律名词及注释:无。
南开21春学期(1709-2103)《软件工程与软件测试技术》在线作业答案1
南开21春学习(1709-2103)《软件工程与软件测试技术》在线作业提示:本材料为21春南开课程辅导资料,仅供学习参考!!!!一、单选题 (共 25 道试题,共 50 分)1.每个对象可用它自己的一组属性和它可以执行的一组( )来表征。
【A】操作【B】功能【C】行为【D】数据[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:A2.下列错误的是【A】在软件设计中应该追求尽可能松散耦合的系统【B】可以研究、测试或维护任何一个模块,而不需要对系统的其他模块有很多了解。
【C】模块间联系简单,发生在一处的错误传播到整个系统的可能性就很大【D】模块间的耦合程度强烈影响系统的可理解性、可测试性、可靠性和可维护性[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:C3.在结构化分析方法中,用以表达系统内数据的运动情况的工具有( )【A】数据流图【B】数据词典【C】结构化英语【D】判定树与判定表[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:B4.软件测试的目的是尽可能发现软件中的错误,通常( )是代码编写阶段可进行的测试,它是整个测试阶段的基础。
【A】集成测试【B】系统测试【C】验收测试【D】单元测试[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:D5.在面向数据流的软件设计方法中,一般将信息流分为( )。
【A】数据流和控制流【B】变换流和控制流【C】事务流和控制流【D】变换流和事务流[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:D6.模块独立性是软件模块化所提出的要求,衡量模块独立性的度址标准是模块的()【A】内聚性和耦合性【B】局部化和封装化【C】抽象和信息隐藏【D】逐步求精和结构图[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:A7.需求工程的主要目的是( )。
【A】系统开发的具体方案【B】进一步确定用户的需求【C】解决系统是"做什么的问题"【D】解决系统是"如何做的问题"[提示]:本题为课程学习资料,请认真复习并回答!【正确答案】:C8.软件需求分析阶段的工作,可以分为以下 4 个方面:对问题的识别、分析与综合、编写需求分析文档以及( )。
[答案][天津大学]2020春《软件工程》在线作业2
1.面向对象的主要特征除对象唯一性、封装、继承外,还有()。
A.完整性B.多态性C.可移植性D.兼容答案:B2.维护中,因误删除一个标识符而引起的错误是()副作用。
A.设计B.编码C.文档D.数据答案:B3.一个面向对象系统的体系结构通过它的()关系确定。
A.过程和对象B.类与对象C.类与对象D.成分对象和对象答案:D4.为适应软硬件环境变化而修改软件的过程是()。
A.预防性维护B.适应性维护C.校正性维护D.完善性维护答案:B5.在商业系统的开发中应用最广的语言是()。
A.SMALLTALK语言B.PROLOG语言C.FORTRAN语言D.COBOL语言答案:D6.Jackson方法主要适用于规模适中的()系统的开发。
A.科学计算B.文字处理C.数据处理D.实时控制答案:C7.功能模型中所有的()往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A.状态迁移图B.概念模型图C.数据流图D.事件追踪图答案:C8.一个程序如果把它作为一个整体,它也是只有一个入口、一个出口的单个顺序结构,这是一种()。
A.自顶向下设计B.结构程序C.组合的过程D.分解过程答案:C9.一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是()。
A.设计稳定B.模块独立性C.变换分析D.事务分析答案:A10.PDL是软件开发过程中用于()阶段的描述工具。
A.需求分析B.详细设计C.编程D.概要设计答案:C11.20世纪60年代后期,由Dijkstra提出的,用来增加程序设计的效率和质量的方法是()。
A.结构化程序设计B.模块化程序设计C.标准化程序设计D.并行化程序设计答案:A12.可维护性的特性中相互促进的是()。
A.效率和结构好B.效率和可移植性C.效率和可修改性D.可理解性和可测试性答案:D13.通过执行对象的操作改变对象的属性,但它必须通过()的传递。
《软件工程》作业与参考答案
一、填空(15分)1、需求分析的任务:1)。
确定目标系统的综合要求A。
目标系统的功能要求B。
目标系统的性能要求C。
目标系统运行的环境要求D。
目标系统的扩展要求2)。
分析目标系统的数据要求A。
需要哪些数据?B。
数据之间有什么联系?C。
数据有什么属性及数据结构?D。
对数据的处理逻辑?3)。
导出目标系统的逻辑模型4)。
修正系统流程图5)。
修正系统开发计划6)。
开发原型系统2、模块设计准则1)、改进软件结构提高模块独立性(低耦合高内聚)2)、模块规模要适中3)、深度、宽度、扇入及扇出要适当4)、设计单入口单出口的模块5)、模块功能应该可以预测6)、降低接口的复杂性7)、模块的作用域应该在控制域之内3、软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题,具体表现在哪些方面?1)、无法开发复杂程度高的软件2)、成本和进度估计不准3)、无统一科学的规范,软件不可维护4)、无质量保证,可靠性差5)、软件常不能满足用户的需求6)、无适当的文档资料7)、软件生产率太低4 、总体设计的任务1)、设计系统的物理实现方案2)、设计软件的整体结构,划分程序功能模块,决定模块间的接口关系和传递信息; 3)、设计系统全局的存贮数据结构4)、设计系统I/O的方式和格式;5)、设计系统安全性、出错处理及代码等6)、设计组装测试计划。
5、从下列关于结构化程序设计的叙述中选出5条正确的叙述。
①程序设计比较方便,但比较难以维护。
②便于由多个人分工编制大型程序。
③软件的功能便于扩充。
④程序易于理解,也便于排错。
⑤在主存储器能够容纳得下的前提下,应使模块尽可能大,以便减少模块的个数。
⑥模块之间的接口叫做数据文件。
⑦只要模块之间的接口关系不变,各模块内部实现细节的修改将不会影响别的模块。
⑧模块间的单向调用关系叫做模块的层次结构。
⑨模块越小,模块化的优点越明显。
一般来说,模块的大小都在10行以下。
答:正确的叙述有②、③、④、⑦、⑧。
软件工程作业含答案
软件⼯程作业含答案软件⼯程第⼀章作业 (1)1.1什么是计算机软件?软件的特点是什么? (1)1.2 简述软件的分类,并举例说明。
(1)1.4 什么是软件⼯程? (1)1.5 简述软件⼯程的基本原则。
(1)1.6 软件⽣存周期分哪⼏个阶段?分别简述各个阶段的任务。
(1)1.9 简述各类软件过程模型的特点。
(2)1.10 敏捷软件开发的特点是什么? (2)1.12 简述敏捷软件开发的原则。
(2)第2、3章 (3)2.1简述系统⼯程的任务。
(3)2.2基于计算机的系统由哪些元素组成? (3)2.3简述可⾏性分析的任务。
(3)3.1需求⼯程的重要性是什么?举出⾝边由于需求分析失败⽽造成整个项⽬失败的例⼦。
(3)3.2需求⼯程具体包括哪些步骤?每个步骤的具体任务是什么? (3)3.3⼀个系统分析员应该具备哪些思想素质和基础知识?请说明理由。
(4)3.4列出在制定需求获取策略时的3种主要考虑因素。
(5)3.6举例说明⼀个系统的3个不同类型的⾮功能需求 (5)3.8软件需求分析的操作性原则和需求⼯程的指导性原则是什么? (5)3.9软件需求规约主要包括哪些内容?⾃⼰寻找⼀个实例,亲⾃写⼀个需求规约。
(5)3.10需求验证应该有哪些⼈参加?画出⼀个过程模型,说明需求评审应该如何组织。
5第4章 (5)4.1 简述软件设计阶段的基本任务 (5)4.2 软件设计与质量的关系是怎么样的? (6)4.4 简述模块、模块化及模块化设计的概念。
(6)4.6 耦合和软件可移植性的概念有何关系?举例说明⾃⼰的结论。
(6)4.7⽤⾃⼰的话描述信息隐蔽概念,并讨论信息隐藏与模块独⽴两概念之间的关系。
(6)4.8什么是模块独⽴性?设计中为什么模块要独⽴?如何度量独⽴性?模块功能独⽴有何优点? (6)4.9软件设计规约主要包括哪些内容? (7)第5章结构化分析与设计 (7)5.1 简述数据流图的主要思想,概述使⽤数据流图进⾏需求分析的过程。
《软件工程》练习题答案
《软件工程》练习题一答案一、单选题1.C 2.A 3.C 4.D 5.B6.C 7.C 8.C 9.D 10.D11.D 12.A 13.B 14.A 15.A16.A 17.D 18.A 19.D 20.B21.A 22.C 23.C 24.A 25.C26.C 27.B 28.C 29.B 30.C31.A 32.D 33.C 34.B 35.C36.A 37.B 38.C 39.C 40.D41.B 42.D 43.B 44.A 45.D46.C 47.B 48.D 49.D 50.B51.A二、填空题1.软件配置管理2.容错功能3.11 4.模块5.F/(1+(n*i))6.管理技术7.软件工具软件开发环境8.数据字典DD9.可测试性10.父图子图11.数据结构12.防错程序设计13.空间14.可行性研究15.需求16.需求建模技术17.层数18.经济19.概率20.过程21.IPO 22.资源23.数学24.重复25.模块数26.系统约束27.从属28.软件工程29.复杂30.外部31.风险估算32.文档33.数据源34.动态多变量35.数据流图36.三种基本控制结构37.事务分析设计38.功能39.用户组织的管理模式及规范40.符号表示习惯41.不可再分解的42..软件需求明确43.累计经济效益(折合成现在值)44.硬件/操作系统45.差别估算法三、判断题1.错2.对3.对4.错5.错6.错7.对四、名词解释1.软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
2.数据字典是用来定义数据流图中的各个成分的具体含义的。
它以一种准确的、无二义性的说明方式为系统的分析、设计及维护提供了有关元素的一致的定义和详细的描述。
3.内聚性是模块独立性的衡量标准之一,它是指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
4.JSP方法是面向数据结构的设计方法,其定义了一组以数据结构为指导的映射过程,它根据输入、输出的数据结构,按一定的规则映射成软件的过程描述,即程序结构。
021014[软件工程] 天津大学考试题库及答案
软件工程复习题一、单项选择题1、需求分析阶段的任务是确定( D )。
A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能2、软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了__(1)__。
采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对__(2)__ 进行识别和分析,并采取相应的对策。
螺旋线第一圈的开始点可能是一个__(3)__ 。
从第二圈开始,一个新产品开发项目开始了,新产品的演化沿着螺旋线进行若干次迭代,一直运转到软件生命期结束。
(1) A.版本管理 B.可行性分析 C.风险分析 D.系统集成( C )(2) A.系统 B.计划 C.风险 D.工程( C )(3) A.原型项目 B.概念项目 C.改进项目 D.风险项目( B )二、名词解释1、软件生命周期:答:一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
2、CASE:答:CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD(计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
3、数据字典:答:用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:数据流,数据项,数据存储,基本加工。
4、数据流图:答:数据流图DFD是一种图形化技术,它描绘了信息流和数据从输入到输出的过程所经历的变换。
三、简答题1、什么是黑盒测试法?答:所谓黑盒测试是指在完全不考虑程序的内部结构和处理过程的前提下,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持外部信息的完整性。
软件工程答案(共五则范文)
软件工程答案(共五则范文)第一篇:软件工程答案软件工程课后习题答案殷锋主编·天津科学技术出版社注:有些可能错误,读者自己注意第一章一、填空题:1、软件是计算机系统中与硬件相互依存的另一部分,是包括、、及相关文档的的完整集合2、软件工程包括三要素:方法、工具和过程。
3、软件开发的基本方法包括和二、选择题:1、C2、B3、C第二章一、填空题:1、软件生存周期的各个过程可以分成三类,及主要生存周期过程、支持生存周期过程和组织的生存周期过程。
2、软件生存周期包括计划、需求分析、设计、程序编码、软件测试和运行维护6个阶段。
3、软件过程改进(SPI)帮助软件企业对其软件过程的改变进行计划,制定以及实施。
二、填空题1、A2、B三、判断题1、√2、X第三章三、填空题:1、可行性研究的目的是用最小的代价,在尽可能短的时间内,确定够解决2、可行性研究在进行简要需求分析和设计时,要在高层次上以进行3、需求分析阶段产生的最重要的文档是。
4、为解决一个复杂的问题,往往采取的策略是5、SA方法中使用半形式化的描述方式表达需求,采用的主要描述工具是流图和E-R图。
6、数据流图中有四种负号元素,它们是点7、数据字典中有四类条目,分别是8、在IDEF0图中,表示系统功能的图形成为图。
9、在画分层的DFD时,父图与子图的输入/输出的数据流要10、用于描述基本加工的小说明的三种描述工具是定表。
二、选择题1、A2、C3、B4、B5、D6、D7、D8、A9、D10、A11、C12、B第四章一、填空题1、变换型系统由3部分组成:。
2、模块的分解的基本原则是。
3、在软件开发的过程中必须遵循的软件工程原则有:和模块独立性。
二、选择题1、D2、A3、A4、A5、B三、判断题1、√2、X3、X4、√5、X第五章二、填空题1、软件测试是为了而执行程序的过程。
2、运行被测程序的方法称为测试。
3、动态测试中,主要测试软件功能的方法称为法4、选择测试用例,使得被测程序中每个判定的每个分支至少执行一次,这种逻辑覆盖标准为判定/覆盖法。
15春天津大学《软件工程》在线作业料试卷试卷(最新)
15春天津大学《软件工程》在线作业料一、单选题(共20 道试题,共100 分。
)1. 各种需求分析方法都有它们共同适用的()。
A. 说明方法B. 描述方式C. 准则D. 基本原则正确答案:D2. DFD中的每个加工至少有()。
A. 一个输入流或一个输出流B. 一个输入流和一个输出流C. 一个输入流D. 一个输出流正确答案:B3. 结构化设计方法在软件开发中,用于()。
A. 测试用例设计B. 软件概要设计C. 程序设计D. 软件详细设计正确答案:B4. 进行需求分析可使用多种工具,但()是不适用的。
A. 数据流图(DFD)B. 判定表C. PAD图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. 基线可作为软件生存期中各开发阶段的一个检查点。
软件工程作业(答案参考)
软件工程第一次作业1)软件工程适用范围?答:软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等方面。
在现代社会中,软件应用于多个方面。
典型的软件比如有电子邮件、嵌入式系统、人机界面、办公套件、操作系统、编译器、数据库、游戏等。
同时,各个行业几乎都有计算机软件的应用,比如工业、农业、银行、航空、政府部门等。
这些应用促进了经济和社会的发展,使得人们的工作更加高效,同时提高了生活质量。
2)软件工程如何控制系统开发的复杂性的?答:可理解性(understandability)。
系统具有清晰的结构,能直接反映问题的需求。
可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植或重用。
3)以你的经验,举例说明一个成熟的软件通常采用什么方法来适应现实世界的变化的?答:以猎豹游览器为例,开始软件投入市场公测,软件自带收集错误报告的程式,当遇到问题软件错误,会将相关信息反馈到接受错误信息的服务器,已方便程序员及时发现问题加以修复,修复完成后提供程序更新,循环此法提供软件运行稳定性,另外还有用户反馈的相关功能,对软件的建议也会收集到服务器,按实用性需求程序员可在原有程序上开发调整更适合用户使用的程序。
4)假设某软件公司,能为同一个用户开发两个不同层次的软件:一个层次的软件功能非常强大,在满足用户所有需求的基础上,还能提供大大超过用户需求的其他更多更强的功能;另一个层次的软件仅仅能满足用户需求,但没有提供其他额外的功能。
请问如果你是项目负责人,你会选择为客户开发那个层次的软件?答:我会选择仅仅满足用户需求的软件。
因为太多的功能,相对于非专业的人员,在用户体验上可能会造成困扰,太多的功能会导致难以操作。
而且功能强大的软件还会给用户费用上带来不必要的投入,软件是以人为本,方便用户工作,达到提高工作效率的目的。
若然日后此用户需要更多功能的时候,我们还是可以向其软件公司提供升级功能解决用户需求。
《软件工程》作业及答案
《软件工程》作业第一章1.什么是软件危机,它有哪些典型表现?答: 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
2.简述产生软件危机的原因和解决的思路。
答:软件危机产生的原因一方面与软件本身的特点有关,另一方面,是与已有软件开发、维护的方法不正确有密切关系。
解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
即采用工程化的原则和方法组织软件开发是摆脱软件危机的一个主要出路。
3.什么是软件工程?它有哪些本质特性?答: 软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
奥鹏满分作业 天津大学《软件工程》在线作业一
《软件工程》在线作业一
软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是()。
A:硬件环境
B:软件开发的环境
C:软件开发工具和软件开发的环境
D:开发人员的素质
答案:C
下列几种类型中,耦合性最弱的是()。
A:内容型
B:控制型
C:公共型
D:数据型
答案:D
软件设计一般分为总体设计和详细设计,它们之间的关系是()。
A:全局和局部
B:抽象和具体
C:总体和层次
D:功能和结构
答案:A
从结构化的瀑布模型看,在它的生命周期中的八个阶段中,下面的几个选项中哪个环节出错,对软件的影响最大()。
A:详细设计阶段
B:概要设计阶段
C:需求分析阶段
1。
奥鹏满分作业 天津大学《软件工程》在线作业二
《软件工程》在线作业二
在下述情况下,从供选择的答案中,选出合适的()描述工具。
当算法中
需要用一个模块去计算多种条件的复杂组合,并根据这些条件完成适当的功能。
A:程序流程图形
B:NS图
C:PDA图或PDL
D:判定表
答案:D
维护阶段的文档是()。
A:软件需求说明
B:操作手册
C:软件问题报告
D:测试分析报告
答案:C
项目的应用领域是选择编程语言关键的因素之一,不适合作为项目应用领域的
类型是()。
A:系统软件
B:数据处理与数据库应用
C:实时处理
D:UNIX操作系统
答案:D
每个对象可用它自己的一组属性和它可以执行的一组()来表征。
A:行为
B:功能
C:操作
1。
奥鹏天津大学21春 《软件工程》在线作业一.doc
1.在软件的需求分析中,开发人员要从用户那里解决的最重要的问题是()。
A.要让软件做什么B.要给该软件提供哪些信息C.要求软件工作效率怎样D.要让软件具有何种结构【参考答案】: A2.结构化设计方法在软件开发中,用于()。
A.测试用例设计B.软件概要设计C.程序设计D.软件详细设计【参考答案】: B3.确认测试中,作为测试依据的文档是()。
A.需求规格说明书B.设计说明书C.源程序D.开发计划【参考答案】: A4.在程序的描述与分析中,用以指明数据来源.数据流向和数据处理的辅助图形是()。
A.瀑布模型图B.数据流图C.数据结构图D.业务流【参考答案】: B5.软件结构图中,模块框之间若有直线连接,表示它们之间存在着()关系。
A.调用B.组成C.链接D.顺序执行【参考答案】: A6.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高()。
A.结构化方法B.原型化方法C.面向对象的方法D.控制流方法【参考答案】: B7.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法()。
A.基于瀑布模型的结构化方法B.基于需求动态定义的原型化方法C.基于对象的面向对象的方法D.基于数据的数据流开发方法【参考答案】: C8.在结构化的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标()。
A.需求分析阶段B.详细设计阶段C.概要设计阶段D.可行性研究阶段【参考答案】: A9.软件设计将涉及软件的构造、过程和模块的设计,其中软件过程是指()。
A.模块间的关系B.模块的操作细节C.软件层次结构D.软件开发过程【参考答案】: B10.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的()。
A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法【参考答案】: C11.判定表和判定树是数据流图中用以描述加工的工具,它常描述的对象是()A.逻辑判断B.层次分解C.操作条目D.组合条件【参考答案】: D12.在软件需求分析和设计过程中,其分析与设计对象可归结成两个主要的对象,即数据和程序,按一般实施的原则,对二者的处理应该()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程复习题
2、软件生命周期
3、需求分析
4、集成测试
5、CASE
6结构化分析方法
7、数据字典
8、数据流图
答案:
1、软件工程
用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
2、软件生命周期
一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
3、需求分析
开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。
4、集成测试
集成测试也称组装测试或联合测试。
是指在单元测试的基础上,将所有模块按照设计要求组装成一个完整的系统进行的测试。
组装模块的方式有两种:渐增式测试和非渐增式测试。
5、CASE
CASE是一组工具和方法的集合,可以辅助软件开发生命周期各阶段进行软件开发。
CASE把软件开发技术、软件工具和软件开发方法集成到一个统一而一致的框架中,并且吸收了CAD计算机辅助设计)、软件工程、操作系统、数据库、网络和许多其他计算机领域的原理和技术。
因而,CASE领域是一个应用、继承和综合的领域。
6结构化分析方法:
结构化分析方法是需求分析中使用最多的方法之一,适用于数据处理类型软件的需求分析。
基本思想是采用自顶向下,逐步分解的方法分析整个系统,有效地控制系统开发的复杂性。
7、数据字典:
用来定义数据库流图中的各个成分的具体含义。
有以下四类条目:数据流,数据项,数据存储,基本加工。
8、数据流图:
数据流图DFD是一种图形化技术,它描绘了信息流和数据从输入到输出的过程所经历的变换。
二、简答题
1、什么是黑盒测试法?
2、什么是软件生存周期模型?有哪些主要模型?
4、简述软件工程目标和面临的主要问题。
5、简述结构化程序设计方法的基本要点。
8、简述面向对象设计的准则。
9、简述面向对象设计的启发规则。
10、简述文档在软件工程中的作用。
11、什么是软件危机?
12、什么是白盒测试法?
13、简述提高可维护性的方法。
14、可行性研究的任务是什么?答案:
简答题
1、什么是黑盒测试法?
答:所谓黑盒测试是指在完全不考虑程序的内部结构和处理过程的前提下,在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接受输入数据产生正确的输出信息,并且保持外部信息的完整性。
因此,又称为功能测试。
2、什么是软件生存周期模型?有哪些主要模型?
生存周期模型:描述软件开发过程中各种活动如何执行的模型。
对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有:瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
3、简述面向对象方法的要点。
答:关键是四个要点:1、客观世界是由对象组成;2、对象划分为对象类,类由数据与方法组成;3、按子类与父类的关系,把类组成一个层次结构;4、对象彼此之间仅能通过传递消息互相联系。
4、简述软件工程目标和面临的主要问题。
答:软件工程是一门工程性的学科,其目标主要是成功地建造一个大型软件系统。
包括:付出较低的开发成本;达到要求的软件功能;取得较好的软件性能;开发的软件易于移植;需要较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。
面临的主要问题是:软件费用软件可靠性软件维护软件生产率软件重用。
5、简述结构化程序设计方法的基本要点。
答:(1)采用自顶向下,逐步求精的程序设计方法。
(2)使用三种基本控制结构构造程序,分别是顺序,选择和循环
(3)采用主程序员组的组织形式。
6简述多态性。
答:多态性指面向对象技术中,子类对象可以象父类对象那样使用,同样的消息即可以发送给父类对象也可以发送给子类对象。
多态性机制增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且提高了可重用性和可扩充性。
7、简述在项目开发时,选择程序设计语言应考虑因素。
答:(1项目的应用领域;(2)软件开发的方法(3)软件执行的环境(4)算法和数据结构的复杂性(5)软件开发人员的知识
答:模块化,抽象,信息隐藏,弱耦合,强内聚,可重用。
9、简述面向对象设计的启发规则。
答:1设计结果应该清晰易懂;2、一般一具体结构的深度应适当;3.设计简单类;
4.使用简单的协议;
5.使用简单的操作;
6.把设计变动减至最小;
10、简述文档在软件工程中的作用。
答:(1)提高软件开发过程的能见度(2)提高开发效率(3)作为开发人员阶段工作成果和结束标志(4)记录开发过程的有关信息便于使用与维护;(5)提供软件运行、维护和培训有关资料;(6)便于用户了解软件功能、性能。
11、什么是软件危机?
软件发展第二阶段的末期,由于计算机硬件技术的进步,计算机运行速度、容量、可靠性有显著的提高,生产成本显著下降,这为计算机的广泛应用创造了条件。
一些复杂的、大型的软件开发项目提出来了,但是,软件开发技术的进步一直未能满足发展的需要。
在软件开发中遇到的问题找不到解决办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
12、什么是白盒测试法?
答:所谓白盒测试就是在知道产品内部工作过程或程序内部结构和处理过程的前提下,检验产品内部动作是否按照规格说明书的规定正常进行或按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按照预定要求正确工作的测试方法。
因此白盒测试又称为结构测试或逻辑测试。
13、简述提高可维护性的方法。
答:(1)建立明确的软件质量目标(2)利用先进的软件开发技术和工具(3)建立明确的质量保证工作(4)选择可维护的程序设计语言(5)改进程序文档
14、可行性研究的任务是什么?
答:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
三、概要设计是什么?其基本任务是什么?
答案:把一个软件需求转换为软件表示时,首先设计出软件总的体系结构。
称为概要设计或结构设计。
基本任务:
⑴设计软件系统结构,具体为:
采用某种设计方法,将一个复杂的系统按功能划分为模块。
确定每个模块的功能。
确定模块之间的调用关系。
确定模块之间的接口(模块之间传递的信息)
评价模块的结构质量
⑵进行数据结构及数据库的设计
⑶编写概要设计的文档
主要内容有:概要设计说明书,数据库说明书(DBMS勺简介,概念模型,逻辑设计,结果)用户手册,修订测试计划(测试的策略、方法、步骤)
⑷评审:是否完整地实现了规定的功能、性能要求。
设计方案是否可行。
关键的 处理及内部接口定义的正确性,有效性,各部分的一致性。
四、某图书管理系统有以下功能:
(1) 借书:输入读者借书证。
系统首先检查借书证是否有效,若有效,对于第 一次借书的读者,在借书证上建立档案。
否则,查阅借书文件,检查该读者所借 图书是否超过10本,若已达10,拒借,未达10本,办理借书(检查库存,修 改库存目录并将读者借书情况录入借书文件。
)
(2) 还书:从借书文件中读出与读者有关的记录,查阅所借日期,如超期( 3 个月)作罚款处理。
否则,修改库存目录与借书文件。
(3) 查询:通过借书文件,库存目录文件查询读者情况、图书借阅及库存情况, 打印统计表。
把上面数据流程图转换为软件结构图和IPO 图 答案:
修 幸 存
»是首欢苦书
建立ra
书档翟
还书址翹
图书育理系统一一咗确定能否惜书"的【肥图。