软件工程概论复习题(答案)[1]
软件工程(概论)习题与答案
一、单选题1、软件产品与物质产品有很大的区别,软件产品是一种()产品。
A.有形B.消耗C.逻辑D.文档正确答案:C2、在()年的NATO会议上,软件工程的术语被首次提出。
A.1966B.1968C.1970D.1972正确答案:B3、软件开发中实现映射的基本手段是()A.抽象B.分层C.隔离D.建模正确答案:D4、下列哪项不属于软件工程框架的三元组。
()A.目标B.范围C.原则D.活动正确答案:B5、下列哪个不是软件维护的类型。
()A.完善性维护B.纠错性维护C.适应性维护D.更新性维护正确答案:D6、只有高水平的(),才能生产出高质量的软件产品。
A.软件开发技术B.软件开发工具C.软件工程管理D.项目开发经验正确答案:C二、多选题1、下列关于软件的说法正确的是()A.软件是通过定制进而生产制造出来的B.软件没有磨损老化问题。
C.软件开发的成本很高D.软件开发和运行必须依赖计算机环境正确答案:B、C、D2、下列软件属于系统软件的是()A.操作系统B.编译器C.中间件D.浏览器正确答案:A、B3、下述软件属于支撑软件的是()A.财务管理软件B.编译器C.中间件D.数据库正确答案:C、D4、下述软件属于应用软件的是()A.财务管理软件B.数据库C.编译器D.浏览器正确答案:A、D5、软件工程是一门交叉性学科,下列哪些学科是软件工程涉及的?A.数学B.计算机科学C.管理科学D.工程科学正确答案:A、B、C、D6、下列属于软件模型的是()A.概念模型B.设计模型C.实现模型D.部署模型正确答案:B、C、D7、软件需求阶段所要完成的任务包括()A.需求获取B.需求完善C.需求定义D.需求规约正确答案:A、C、D三、填空题1、软件工程概念的提出是为了解决()。
正确答案:软件危机2、软件设计阶段包括()和()两个阶段。
正确答案:总体设计、详细设计3、软件开发是实现()的概念和处理逻辑到()的概念和处理逻辑的映射。
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年1.需求不明确或可能发生变化的大型复杂软件系统适合使用瀑布模型来开发。
参考答案:错误2.V模型是对瀑布模型的修正,强调测试验证;V模型中的各个开发阶段之间强调最大重叠。
参考答案:错误3.在需求工程中,主要产生三类重要的文档:项目前景和范围文档、用户需求文档、需求规格说明书。
其中,用例文档可以用来代替用户需求文档,起到记录、交流领域信息和用户期望的作用。
参考答案:正确4.软件结构设计是()。
参考答案:从数据流图导出初始结构图5.模块化、信息隐藏、抽象和逐步求精的软件设计原则有助于得到高内聚、低耦合的软件产品。
参考答案:正确6.在软件生存周期各个阶段,工作量最大的是需求分析阶段。
参考答案:错误7.快速原型模型的缺点之一就是缺少项目标准,不断修改原型可能导致原型质量低下;容易退化为边做边改。
参考答案:正确8.与设计测试用例无关的文档是()。
参考答案:项目开发计划9.软件的几种维护中,以()占比最高。
参考答案:完善性维护10.软件测试用例主要由输入数据和()两部分组成。
参考答案:预期输出结果11.软件开发全过程的测试工作都可以实现自动化。
参考答案:错误12.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为()。
参考答案:内部变量13.不属于白盒测试的技术是()。
参考答案:边界值分析14.项目的前景和范围文档、用户需求文档都被视为属于(),重点都是用户的现实世界。
参考答案:用户文档15.系统需求规格说明书、软件需求规格说明书、硬件需求规格说明书、接口需求规格说明书和人机交互文档一起被用于系统开发,都被认为是()。
参考答案:开发文档16.原型方法的最大有点就是能够及早地发现并解决系统开发中的不确定性,从而降低软件项目失败的风险。
参考答案:正确17.软件生存周期中所花费用最多的阶段是()。
软件工程概论
参考答案第1章一、填空题1.C omputer Aided Software Engineering2.定义阶段、开发阶段、支持阶段3.可行性研究、项目开发计划、需求分析、软件设计、编码、测试、维护4.软件危机5.软件开发、运行、维护6.瀑布、增量7.线性二、选择题1.B2.A3.C4.A5.B6.B三、问答题1.答:(1)在计算机软件的开发和维护过程中所遇到的一系列严重问题,长期找不到解决这些问题的办法,使问题逐渐积累起来,形成了尖锐的矛盾,从而导致了软件危机。
(2)表现:开发的软件不能满足用户要求;无完整、规范的文档,难以维护;项目计划不周,进度拖延;软件质量差。
(3)原因:缺乏正确的理论指导,开发人员各行其是;软件规模越来越大,无开发管理经验;软件复杂度越来越高,而开发技术不相适应;缺少先进的开发工具,开发方式落后。
2.答:软件工程是用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程研究的主要内容是软件开发技术和软件开发管理两个方面。
在软件开发技术方面,主要是研究软件开发方法、软件开发过程、软件开发工具和环境。
在软件开发管理方面,主要是研究软件管理学、软件经济学、软件心理学等。
3.答:软件生存周期模型是描述软件开发过程中各种活动如何执行的模型。
软件生存周期模型确立了软件开发和演绎中各阶段的次序限制以及各阶段活动的准则,确立开发过程所遵守的规定和限制,便于各种活动的协调,便于各种人员的有效通信,有利于活动重用,有利于活动管理。
4.答:软件生存周期是指一个软件从提出开发要求开始直到该软件报废为止的整个时期。
把整个生存周期划分为若干阶段,使得每个阶段有明确的任务,使规模大、结构复杂和管理复杂的软件开发变得容易控制和管理。
软件生存周期在各阶段有不同的划分。
在划分软件生存周期阶段时,应遵循的一条基本原则是:各阶段的任务应尽可能相对独立,同一阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂程度,简化不同阶段之间的联系,有利于软件项目开发的组织管理。
软件工程概论期末复习题
软件工程概论期末复习题Document number【980KGB-6898YT-769T8CB-246UT-18GG08】期末总复习1.选择、判断、简答2.判定树和判定表3.用例图、类图、对象模型、顺序图等4.McCabe环路复杂性度量;5.黑盒测试和白盒测试6.数据流图7.成本效益分析习题一、判定树和判定表1.请用判定表画出以下问题的行为逻辑。
人们往往根据天气情况决定出门时的行装;天气可能下雨,也可能不下雨;天气可能变冷,也可能不变冷。
如果天气要下雨,出门时带上雨伞;如果天气变冷,出门时要穿上大衣。
2. 某厂对部分职工重新分配工作的政策是:年龄在20岁以下者,初中文化程度脱产学习,高中文化程度当电工。
20岁至40岁之间,中学文化程度,男性当钳工,女性当车工,大学文化程度都当技术员。
年龄在40岁以上者,中学文化程度当材料员,大学文化程度当技术员。
请用结构化语言﹑判定表或判定树描述上述问题的加工逻辑。
二、McCabe环路复杂性度量某程序的描述如下:if (( a > b && i > 10)|| (a < b && i <= 5) ) k = a;else k = b;1)画出单个条件的嵌套的分支结构;(5分)2)计算该结构的McCabe环路复杂性度量;(5分)3)为完成基本路径测试,求它的一组独立的路径。
(5分)三、测试:变量的命名规则一般规定如下:变量名的长度不多于30个字符,第一个字符必须为英文字母,其他字母可以是英文字母、数字以及下划线的任意组合。
请用等价分类法设计测试用例。
四、数据流图某教务系统具备以下功能,输入用户ID号及口令后,经验证进入教务管理系统,根据请求进行分类处理,可进行如下功能的处理:1)查询成绩:查询成绩以及从名次表中得到名次信息。
2)学籍管理:根据学生总成绩确定名次信息。
3)成绩处理:处理单科成绩并输入成绩表中。
软件工程导论复习题含答案
软件工程导论复习题含答案软件工程习题集第1章概述(一)单项选择题1.“软件危机”产生的主要原因是(a)。
a.软件日益巨大b.开发方法不当c.开发人员编写程序能力差d.没保护不好软件2.软件就是一种(b)性工业产品。
a.理论b.科学知识(或逻辑)c.消耗d.体力3.需求分析是在(b)进行的。
a.用户b.用户和分析设计人员之间c.开发人员内部4.软件的主要结构和功能就是在(a)阶段同意的。
a.分析设计b.编程c.测试d.维护5.软件就是计算机系统中与硬件相互依存的另一部分,它的组成部分就是(d)。
d.使用和维护人员间a.程序、数据b.程序、文档c.程序d.程序、数据、文档6.在软件工程时期,决定软件质量的主要因素是(a)a.管理水平b.个人程序技术c.小组技术水平d.硬件的发展7.在软件开发模型中,提出最早、应用最广泛的模型是(a)。
a.瀑布模型b.喷泉模型c.增量模型d.螺旋模型8.瀑布模型把软件生存周期划分为软件定义、软件开发与(c)三个阶段,而每一阶段又可分为若干更小的阶段。
a.详细设计b.可行性分析c.运转及保护d.测试与排错9.计算机辅助软件工程,简称(d)。
a.sab.sdc.scd.case10.软件危机是软件产业化过程中出现的一种现象,下述现象中:(c)是其主要表现。
①软件须要快速增长难以满足用户。
②软件开发成本提升。
③软件开发进度难以掌控。
④软件质量难于确保。
a.③和④b.③和④c.全部d.①、②和③11软件工程的发生主要就是由于(c)。
a.程序设计方法学的影响c.软件危机的出现b.其他工程科学影响d.计算机的发展12、软件生成周期模型有多种,下列选项中,(c)不是软件生存周期模型。
a.螺旋模型b.增量模型c.功能模型d.瀑布模型(二)简答题1.软件产品的特点是什么?2.软件生产的发展经历了哪几个时代?各有何特征?3.软件危机的概念、表现形式、产生原因、化解途径4.详述主要的软件生存期模型(或软件开发模型)。
软件工程概论课后答案
第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
软件工程概论(高起专)学习指南 西交大考试题库及答案
软件工程概论(高起专)学习指南一、填空题1、软件是一种(B)产品。
A、有形B、逻辑C、物质D、消耗2、软件工程学的目的应该是最终解决软件生产的(B)问题。
A、提高软件的开发效率B、使软件生产工程化C、消除软件的生产危机D、加强软件的质量保证3、与计算机科学的理论研究不同,软件工程是一门(B)学科。
A、理论性B、工程性C、原理性D、心理性4、在计算机软件开发和维护中所产生的一系列严重的问题通常称为软件危机,这些问题中相对次要的因素是(D)。
A、文档质量B、开发效率C、软件功能D、软件性能5、软件工程学科出现的主要原因是(C)。
A、计算机的发展B、其他工程科学的影响C、软件危机的出现D、程序设计方法学的影响6、软件工程是一种(A)分阶段实现的软件程序开发方法。
A、自顶向下B、自底向上C、逐步求精D、面向数据流7、有关计算机程序功能、设计、编制、使用的文字或图形资料称为(B)。
A、软件B、文档C、程序D、数据8、(A)是计算机程序及其说明程序的各种文档。
A、软件B、文档C、数据D、程序9、软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。
A、软件生存周期B、软件过程C、软件开发方法D、软件开发模型10、软件开发环境中最主要的组成部分是(C)。
A、软件工具B、项目管理工具C、软件工具D、需求分析工具11、在软件的开发与维护过程中,用来存储、更新、恢复和管理一个软件的多版本,它是(D)工具。
A、文档分析B、项目管理C、成本估算D、版本控制12、数据集成指不同软件工程能相互(B)。
A、合作B、交换数据C、交流D、通信13、一个CASE工作台是一组(B),支持设计、实现或测试等特定的软件开发阶段。
A、工具集B、软件包C、平台集D、程序包14、控制集成是指工具激活后能控制其他(A)的操作。
A、工具B、系统C、软件D、应用15、(D)是指CASE系统嵌入了关于过程活动、阶段、约束和支持这些活动所需的工具的知识。
软件学院《软件工程概论》试题及答案
软件工程概论考试试卷科目: 软件工程概论专业: 软件工程一、 单项选择题:在每小题列出的四个备选答案中只有一个答案是符合题目要求。
请将正确答案填入“单项选择题答题表”对应的格中。
(每小题1分, 本题共计20分)1. 瀑布模型的关键不足在于( )。
A. 过于简单B. 不能适应需求的动态变更C. 过于灵活D. 各个阶段需要进行评审 C .过于灵活 D .各个阶段需要进行评审2. 软件危机的表现不包括( )。
A. 软件质量不可靠B. 软件几乎是不可维护的C. 测试过程中发现的错误较多D. 缺少文档 C .测试过程中发现的错误较多 D .缺少文档3. 软件可行性研究一般不考虑( )。
A. 是否有足够的人员和相关的技术来支持系统开发B. 是否有足够的工具和相关的资源来支持系统开发C. 待开发软件是否有市场、经济上是否合算D. 待开发的软件是否会有质量问题D.待开发的软件是否会有质量问题4. 需求分析的任务不包括()。
A. 确定对系统的综合要求B. 分析系统的数据要求C. 设计模块内部算法的处理过程D. 导出逻辑模型并修正开发计划D.导出逻辑模型并修正开发计划5. ()和数据流图共同构成系统的逻辑模型, 没有它, 数据流图就不完整。
A. 系统流程图B. E-R图C. 数据字典D. 层次方框图C.数据字典 D.层次方框图6. 使用实体-联系图(ER图)建立的概念性数据模型中包含3种互相关联的信息: ()。
A.数据对象, 属性, 方法 B.数据对象, 属性, 联系C.数据表, 属性, 联系 D.数据表, 实体, 联系C. 数据表,属性,联系D. 数据表,实体,联系C.数据表,属性,联系 D.数据表,实体,联系7. 为了提高模块的独立性, 模块之间最好使用()。
A.控制耦...B.公共耦...C.内容耦...D.数据耦合A. 控制耦合B. 公共耦合C. 内容耦合D. 数据耦合8. 在总体设计阶段, 可用来描绘软件结构的图形工具不包括()。
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年
软件工程概论_北京联合大学中国大学mooc课后章节答案期末考试题库2023年1.下面不属于软件的组成的是()。
答案:记录2.瀑布模型的存在问题是()。
答案:缺乏灵活性3.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。
答案:软件危机4.数据耦合、公共耦合、标记耦合、控制耦合的耦合性从低到高的顺序是()。
答案:数据、标记、控制、公共5.在软件设计方法中全面指导模块划分的最重要的原则是()。
答案:模块独立性6.软件测试的目的是()。
答案:发现软件的错误7.需求分析最终结果是产生()。
答案:需求规格说明书8.软件详细设计的主要任务是确定每个模块的()。
答案:算法和使用的数据结构9.软件结构图中,模块框之间若有直线连接,表示它们之间存在()。
答案:调用关系10.在详细设计阶段,采用的描述工具有()。
答案:程序流程图11.因计算机硬件和软件环境的变化而作出的修改软件的过程称为()。
答案:完善性维护12.下面不属于软件维护的策略的是()。
答案:定期检测维护13.对于螺旋模型,下列()不是利用笛卡尔坐标表达的活动。
答案:程序编码14.在下面的软件开发方法中,哪一个对软件设计和开发人员的开发要求最高( )。
答案:原型化方法15.软件开发中常采用的结构化生命周期方法,由于其特征而一般称其为( )。
答案:瀑布模型16.软件开发的瀑布模型,一般都将开发过程划分为:分析、设计、编码和测试等阶段,一般认为可能占用人员最多的阶段是( )。
答案:测试阶段17.软件项目计划一般不包括以下哪项内容()。
答案:软件开发标准的选择和制定18.若有一个计算类型的程序,它的输入量只有一个X,其范围是[-1.0,1.0],现从输入的角度考虑一组测试用例:-1.001,-1.0,1.0,1.001。
设计这组测试用例的方法是( )。
答案:边界值分析法19.耦合的强弱取决于()。
答案:模块间接口的复杂程度20.面向数据流的设计方法根据()映射软件结构。
软件工程概论 西交大考试题库及答案
软件工程概论一、单项选择题(本大题共137小题,每小题2分,共274分)1.软件是一种( B )产品A.有形B.逻辑C.物质D.消耗2.一个CASE工作台是一组( A ),支持设计、实现或测试等特定的软件开发阶段。
A.工具集B.软件包C.平台集D.程序包3.研究软硬件资源的有效性是进行( A )研究的一方面。
A.技术可行性B.经济可行性C.社会可行性D.操作可行性4.SA方法是一种( A )A.自顶向下逐层分解的分析方法B.自底向上逐层分解的分析方法C.面向对象的分析方法D.以上都不是5.需求分析最终结果是产生( C )A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书6.软件工程方法学的研究内容包含软件开发技术和软件工程管理两个方面,其期望达到的最终目标是(A )A.软件开发工程化B.消除软件危机C.实现软件可重用D.程序设计自动化7.增量模型是一种( B )模型A.整体开发B.非整体开发C.灵活性差D.较晚产生工作软件8.技术可行性要解决( D )。
A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题9.在数据流图中,有名字及方向的成分是( C )A.控制流B.信息流C.数据流D.信号流10.结构化分析方法(SA)最为常见的图形工具是( C )A.程序流程图B.实体联系图C.数据流图D.结构图11.软件工程方法得以实施的主要保证是( C )A.硬件环境B.开发人员的素质C.软件开发工具和软件开发的环境D.软件开发的环境12.瀑布模型的问题是(B )A.用户容易参与开发B.缺乏灵活性。
软件学院《软件工程概论》试题及答案
软件学院考试试卷及标准答案20XX— 20XX学年第一学期课程名称:软件工程概论┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄一、单项选择题:在每小题列出的四个备选答案中只有一个....答案..是符合题目要求。
请将正确答案填入“单项选择题答题表”对应的格中。
未填入答题表、错选或多选均不得分。
(每小题1分,本题共计35分)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.HIPO图7. ()和数据流图共同构成系统的逻辑模型,没有它,数据流图就不完整。
A.系统流程图 B.E-R图C.数据字典 D.层次方框图8. 需求分析的任务不包括...()。
A.确定对系统的综合要求 B.分析系统的数据要求C.从技术角度分析系统是否可行 D.导出逻辑模型并修正开发计划9. 要将一个复杂的系统分析清楚,传统软件工程常用方法是结构化分析方法,结构化分析方法就是()。
软件工程概论期末测试试卷含答案
《软件工程概论》期末测试试卷(A卷)一.单项选择题(每题1分,共22分)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.构造化程序设计旳一种基本措施是()。
A.筛选法B.迭代法C.逐渐求精法D.递归法11.不适合作为科学工程计算旳程序设计语言是()。
A.Pascal B.CC.Fortran D.Prolog12.只有单重继承旳类层次构造是()层次构造。
A.网状型B.星型C.树型D.环型13.面向对象旳开发措施中,()将是面向对象技术领域内占主导地位旳原则建模语言。
A.Booch措施B.Coad措施C.UML语言D.OMT措施14.瀑布模型本质上是一种()。
A.线性次序模型B.次序迭代模型C.线性迭代模型D.和早见产品模型15.软件维护产生旳副作用,是指()。
A.开发时旳错误B.隐含旳错误C.因修改软件而导致旳错误D.运行时误操作16.软件详细设计旳重要任务是确定每个模块旳()。
【可编辑全文】软件工程概论答案
可编辑修改精选全文完整版软件工程概论答案第1章软件与软件工程的概念1.1 举出你所知道的应用软件的例子。
办公软件、游戏软件、财务软件、银行软件、人事管理软件、工资管理软件、学籍管理软件等。
1.2 认为“软件就是程序,软件开发就是编程序。
”这种观点是否正确?为什么?认为“软件就是程序,软件开发就是编程序。
”这种观点是错误的。
首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。
1.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。
1.4 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
典型表现:(1)对软件开发成本和进度的估计常常很不准确。
(2)用户对“已完成的”软件系统不满意的现象经常发生。
(3)软件产品的质量往往靠不住。
(4)软件常常是不可维护的。
(5)软件通常没有适当的文档资料。
(6)软件成本在计算机系统总成本中所占的比例逐年上升。
(7)软件开发生产率提高的速度,既跟不上硬件的发展速度,也远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:除了软件本身的特点,其原因主要有以下几个方面:(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。
(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。
(3) 软件开发过程不规范。
如,没有真正了解用户的需求就开始编程序。
(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。
需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。
(5) 缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。
1.5 什么是软件工程?软件工程是指导计算机软件开发和维护的工程学科。
《软件工程概论》课程知识 复习 学习材料 试题与参考答案
《软件工程概论》课程知识复习学习材料试题与参考答案一、单选题1.原型化方法是一种(A)型的设计过程。
A.自外向内B.自顶向下C.自内向外D.自底向上2.下述任务中,不属于软件工程需求分析阶段的是(D)。
A.分析软件系统的数据要求B.确定软件系统的功能需求C.确定软件系统的性能要求D.确定软件系统的运行平台3.在软件生存周期中,用户主要是在(A)参与软件开发。
A.软件定义期B.软件开发期C.软件维护期D.整个软件生存周期过程中4.表示集成是指一个系统中的工具使用共同的风格以及采用共同的用户交互标准集。
表示集成有三种不同级别:窗口系统集成、命令集成和(D)。
A.数据集成B.平台集成C.界面集成D.交互集成5.软件开发环境支持一定的(C)或按照一定的软件开发模型组织而成。
A.软件生存周期B.软件过程C.软件开发方法D.软件开发模型6.技术可行性要解决(D)。
A.存在侵权否B.成本-效益问题C.运行方式可行D.技术风险问题7.瀑布模型是一种(D)。
A.软件开发方法B.软件生存周期C.程序设计方法学D.软件生存周期模型8.面向数据流的软件设计方法可将(C)映射成软件结构。
A.控制结构B.模块C.数据流D.事务流9.一个CASE工作台是一组(A),支持设计、实现或测试等特定的软件开发阶段。
A.工具集B.软件包C.平台集D.程序包10.软件工程学的目的应该是最终解决软件生产的(B)问题。
A.提高软件的开发效率B.使软件生产工程化C.消除软件的生产危机D.加强软件的质量保证11.目前有若干种软件生存周期模型。
例如瀑布模型、增量模型、螺旋模型等。
其中基于知识的模型也称为(B)。
A.演化模型B.智能模型C.变换模型D.喷泉模型12.可行性分析中,系统流程图用于描述(A)。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统13.软件生存周期模型有多种,下列选项中,(C)不是软件生存周期模型。
A.螺旋模型B.增量模型C.功能模型D.瀑布模型14.从结构化的瀑布模型看,在软件生命周期中的八个阶段中,下面的几个选项中,(C)出错,对软件的影响最大。
《软件工程概论》题集
《软件工程概论》题集一、选择题(每题2分,共20分)1.软件工程的目标是提高软件的( )。
A. 开发效率B. 维护效率C. 质量和生产率D. 可靠性和复用性答案:C2.在软件开发的生命周期中,需求分析阶段的主要任务是( )。
A. 确定软件开发方法B. 编写程序代码C. 确定软件系统的功能需求D.进行系统测试答案:C3.下列选项中,不属于软件设计原则的是( )。
A. 开闭原则B. 依赖倒转原则C. 迪米特法则D. 尽早编码原则答案:D4.在结构化分析方法中,数据流图(DFD)用于描述( )。
A. 数据在系统中的流动和处理过程B. 软件的模块结构C. 软件的层次结构D. 软件的控制流程答案:A5.白盒测试和黑盒测试的主要区别在于( )。
A. 测试者是否知道程序的内部结构B. 测试是否使用测试用例C. 测试是否在系统开发完成后进行D. 测试是否关注性能答案:A6.敏捷开发方法强调( )。
A. 严格遵循预先定义的计划B. 快速响应变化,交付可用的软件C. 详细的文档和过程控制D. 尽量避免与客户沟通答案:B7.下列哪项不是软件配置管理(SCM)的目标( )。
A. 标识变更B. 控制变更C. 确保变更的正确实施D. 消除所有错误答案:D8.在软件项目中,风险管理的目的是( )。
A. 消除所有风险B. 最小化风险对项目的影响C. 将风险转移给第三方D. 仅关注技术风险答案:B9.面向对象编程(OOP)的三大特征是( )。
A. 封装、继承、多态B. 数据抽象、过程控制、模块化C. 模块化、结构化、封装D. 过程控制、继承、多态答案:A10.软件复用是通过( )来提高软件开发效率的。
A. 使用已有的软件组件B. 增加开发人员数量C. 延长开发时间D. 采用新的开发工具答案:A继续二、填空题(每题2分,共14分)1.软件工程是一种(应用计算机科学、经济学、管理学和其他工程学科的知识和实践,以系统化、规范化、量化的方法开发、运行和维护软件的过程)。
软件工程概论的练习题及答案
概述一、填空题1、软件由计算机程序、数据和文档组成。
2、软件是一种逻辑产品,它与物质产品有很大的区别。
3、计算机系统由硬件、软件、使用计算机的人、数据库、文档和执行过程组成。
4、软件的发展,到现在为止,经历了三个阶段:程序设计、程序系统和软件工程。
5、程序设计时代的生产方式是个体手工艺者,程序系统时代的生产方式是手工作坊,软件工程时代的生产方式是工程化。
6、软件工程是一门综合性的交叉学科,它涉及计算机学科工程学科、管理学科和数学学科。
7、计算机科学的成果都可用于软件工程,但计算机科学着重于理论和原理,软件工程着重于建造软件系统。
8、软件工程研究的主要内容是方法、过程和工具等三个方面。
9、软件开发各阶段任务的划分应尽可能相对独立,同一阶段任务的性质应尽可能相同。
10、瀑布模型是将软件生存期各个活动规定为依线性顺序连接的若干阶段的模型。
它规定了各阶段的活动由前至后,相互衔接的固定次序,如同瀑布流水,逐级下落。
11、演化模型是一种非整体开发模型。
先开发一个原型软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的产品。
12、螺旋模型将开发过程分为几个螺旋周期。
在每个螺旋周期内分为四个工作步骤:制定计划、风险分析、开发实施、用户评估。
13、喷泉模型是一种以用户要求为动力,以对象为驱动的模型。
它使开发过程具有迭代性和无间隙性,适用于面向对象开发方法。
二、单项选择题1、软件产品的生产主要是C。
A. 制造B. 复制C. 开发D. 研制2、个体手工劳动是B时代的软件生产方式。
A. 程序系统B. 程序设计C. 软件工程D. 程序编码3、软件工程是一门C学科。
A. 理论性B. 原理性C. 工程性D. 心理性4、软件开发费用只占软件生存期全部费用的B。
A. 1/2B. 1/3C. 1/4D. 2/35、在软件开发过程中大约要花费C%的工作量进行测试和调试。
A. 20B. 30C. 40D. 506、准确地解决“软件系统必须做什么”是B阶段的任务。
软件工程概论课后习题答案
软件工程概论课后习题答案第一题:答案:软件危机是指在软件开发过程中所遇到的一系列问题和挑战。
具体表现为软件项目超过预算、延迟交付、功能缺陷等现象。
造成软件危机的原因包括需求不明确、项目管理不善、技术问题等。
解决软件危机的方法包括引入软件工程的概念和方法、改善需求管理、加强项目管理等。
第二题:答案:软件生命周期是指软件从被提出需求到废弃的整个过程。
常见的软件生命周期模型包括瀑布模型、迭代模型、螺旋模型等。
瀑布模型是最经典的软件生命周期模型,按照顺序划分为需求分析、系统设计、编码、测试、运维等阶段。
迭代模型是将开发过程划分为多个迭代周期,并在每个迭代周期中完成需求分析、设计、编码、测试等工作。
螺旋模型则是将开发过程划分为多个风险评估和迭代的阶段,将风险管理纳入软件开发的全过程。
第三题:答案:软件过程是一组相互关联的活动,用于开发和维护软件系统。
常见的软件过程模型包括瀑布模型、迭代模型、敏捷开发等。
瀑布模型是将软件开发过程划分为需求分析、系统设计、编码、测试、运维等阶段,按照顺序逐个进行。
迭代模型则是将软件开发过程划分为多个迭代周期,每个迭代周期都包含需求分析、设计、编码、测试等活动。
敏捷开发则是一种以人和交互为核心的开发方法,强调迭代开发和灵活响应变化。
第四题:答案:软件质量是指软件产品满足用户需求和期望的程度。
常见的软件质量特性包括正确性、健壮性、可靠性、可维护性、可移植性等。
正确性是指软件是否满足用户需求和规格说明。
健壮性是指软件在异常情况下的容错能力。
可靠性是指软件在一定条件下的稳定性和可信度。
可维护性是指软件是否容易进行修改和维护。
可移植性是指软件在不同环境下的可移植性和兼容性。
第五题:答案:软件测试是通过对软件进行测试活动,检测和预防软件中的缺陷和错误。
常见的软件测试方法包括黑盒测试、白盒测试、灰盒测试等。
黑盒测试是基于需求规格说明进行测试,主要检查软件的功能是否满足需求。
白盒测试是基于软件内部结构进行测试,主要检查软件的代码是否符合规范和逻辑正确。
软件工程习题解答
第一章软件工程概论一、填空题⑴ 软件是计算机系统中与硬件相互依存的部分,它是包括(A)、(B)、及(C)的完整集合。
其中,(A)是按事先设计的功能和性能要求执行的指令序列,(B)是使程序员能够正确操纵信息的数据结构,(C)是与程序开发、维护和使用有关的图文材料。
①软件②程序③代码④硬件⑤文档⑥外设⑦数据⑧图表⑵ 开发软件时,对于提高软件开发人员工作效率至关重要的是(A)。
软件工程中描述软件生存周期的瀑布类型一般包括计划、(B)、设计、编码、测试、维护等几个阶段。
其中,设计阶段在管理上可以依次分成(C)和(D)两个步骤。
A:① 程序开发环境② 操作系统的资源管理功能③ 开发程序人员数量④ 计算机的并行处理能力B:① 需求分析②需求调查③可行性分析④问题定义C、D:① 方案设计② 代码设计③ 概要设计④ 数据设计⑤ 运行设计⑥ 详细设计⑦ 故障处理设计⑧ 软件体系结构设计⑶ 有人将软件的发展过程划分为四个阶段,第一阶段(20世纪50年代),称为程序设计的“原始时期”。
这时既没有(A),也没有(B),程序员只能用机器指令编写程序。
第二阶段(20世纪60年代),称为“基本软件期”。
出现了(A),并逐渐普及。
随着(B)的发展,编译技术也有较大的发展。
第三阶段(20世纪60年代末至70年代中期)称为“程序设计方法时代”。
这一时期,与硬件价格下降相反,软件开发费用急剧上升。
人们提出了(C)和(D)等程序设计方法,设法降低软件的开发费用。
第四阶段(20世纪70年代中期至今),称为“软件工程”时期。
软件开发技术不再仅仅是程序设计技术,而是包括了软件开发的各个阶段。
如(E)、(F)、编码、单元测试、综合测试、(G)及其整体有关的各种管理技术。
A、B、C、D:① 汇编语言② 操作系统③ 虚拟存储器概念④ 高级语言⑤ 结构化程序设计⑥ 数据库概念⑦ 固件⑧ 模块化程序设计E、F、G:① 使用和维护② 兼容性的确认③ 完整性的确认④ 设计⑤ 需求定义⑥ 图像处理二、简答题⑴ 软件工程过程有哪几种基本活动,试加以说明。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程概论复习题答案一、单选题1.软件工程的纵向分解是把软件开发分为几个(B)A.模块B.阶段C.子系统D.过程2.McCall软件质量度量模型中属于面向软件产品操作的是(D)A.适应性B.可重用性C.可测试性D.可用性3.快速原型模型中,用于及早向用户提交一个原型系统的是(D)A.实验型原型B.探索型原型C.提交型原型D.演化型模型4.软件维护中,因重新初始化控制标志或指针而引起的错误是以下哪一项的副作用(B)A.文档B.数据C.编码D.设计5.软件维护费用高的主要原因是(B)A.生产率高B.生产率低C.人员多D.人员少6.根据对软件开发机构调查的结果可知,各类维护活动所占的比重是(A)A.完善性占50%,适应性占25%,校正性占21%,其他维护占4%B.完善性占25%,适应性占50%,校正性占21%,其他维护占4%C.完善性占21%,适应性占25%,校正性占50%,其他维护占4%D.完善性占21%,适应性占50%,校正性占25%,其他维护占4%7.下列属于用白盒技术设计测试用例的是(B)A.错误推测B.逻辑覆盖C.等价类划分D.因果图8.有助于培养良好的编程风格并且第一个体现了结构化编程思想的程序设计语言的是(A)A.PASCALB.FORTRAN C.DL/1D.C9.在软件详细设计过程中不采用的工具为(C)A.判定表B.PDL C.数据流图D.IPO图10.根据输入输出的数据结构产生程序结构的设计方法是(B)A.PARNAS方法B.JACKSON方法C.WIRTH方法D.DIJKSTRA方法11.在软件设计中,为解决一个大而复杂的问题把软件系统划分为一个个完成某一特定的子功能的方法称为(C)A.细化B.结构化C.模块化D.抽象化12.结构化方法在建立软件系统的结构模块时按照以下哪种方法进行?(B)A.由底向上B.自顶向下C.随机D.回归13.两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为(C )A.控制耦合B.公告耦合C.标记耦合D.数据耦合14.结构化设计是以哪个阶段产生的DFD图为基础,按一定的步骤映射成软件结构?(B)A.可行性分析B.需求分析C.概要设计D.详细设计15.结构化方法的基本原则是功能的分解和( C )A.模块化B.信息隐藏C.抽象D.细化16.数据字典和数据流图共同构成了系统的(B)A.物理模型B.逻辑模型C.原型D.目标模型17.软件需求不应包括(C )A.功能要求B.环境需求C.标准实现的空间需求D.用户界面要求18.项目开发计划是什么类型的文档?( D )A.设计性B.进度表示C.需求分析D.管理性19.瀑布模型是一种什么类型?( B )A.风险驱动模型B.线性开发模型C.增量模型D.迭代模型20.软件工具一般是为软件开发人员和维护活动而使用的(C )A.硬件环境B.说明书C.软件D.程序21.瀑布模型存在的问题是(B )A.用于容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求22.可将软件生存周期划分为3个过程,可行性研究属于其中的(A )A.软件定义过程B.软件开发过程C.软件设计过程D.软件运行与维护过程23.经济可行性研究的范围包括(C )A.资源有效性B.管理制度C.效益分析D.开发风险24.需求分析中开发人员要从用户那里了解(A )A.软件做什么B.用户使用界面C.输入的信息D.软件的规模25.交互设计不包括( C )A.角色设计B.目标设计C.算法设计D.任务设计26.一个模块的(B )是指能直接控制模块的模块数。
A.扇出数B.扇入数C.宽度D.深度27.将软件组装成系统的一种测试技术叫( A )A.集成测试B.单元测试C.集合测试D.系统测试28.为了进一步改善软件系统的可维护性和可靠性,并为以后的改进奠定基础的软件维护称为(D)A.纠错性维护B.适应性维护C.改善性维护D.预防性维护29.项目管理中成本估算时测算快,误差大,适用于准备开发阶段的估算方法是(B )A.类比估算法B.专家估算法C.参数估算法D.COCOMO方法30.面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以有父类,下层可以有子类,这种层次结构系统的一个重要性质是(A ),一个类获得其父类的全部描述(数据和操作)。
A.传递性B.继承性C.复用性D.并行性31.软件生命周期中所花费最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护32.在纤细设计阶段,经常采用的工具有( A )A.PAD B.SA C.SC D.DFD33.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。
A.结合B.隐藏C.封装D.抽象34.统计表明,软件测试工作往往占软件开发总工作量的(B)%以上。
A.20 B.40 C.60 D.8035.为了提高软件产品的质量和可靠性,对某些无法避开的差错,使其影响减至最小程度所采用的技术是( A )A.容错技术B.避开错误技术C.检测技术D.排错技术36.软件复杂性的常用度量方法包括( D )A.BOEHM度量法B.可扩充度量法C.线性度量法D.代码行度量法37.面向对象的要素包含( B )A.对象的唯一性B.抽象C.继承性D.分类性38.构造原型时,主要考虑(B )A.全部功能B.原型要体现的特征C.全部细节D.全部要求39.维护中,因修改文件的打开或关闭而引起的错误是(C)A.文档副作用B.数据副作用C.编码副作用D.设计副作用40.诊断和消除程序在使用过程中发生错误的过程称为( A )A.校正性维护B.适应性维护C.完善性维护D.预防性维护42.在软件测试中,首先对每个模块分别进行单元测试,然后再把所有的模块按设计要求组装在一起测试,称为( D )A.确认测试B.系统测试C.渐增式测试D.非渐增式测试43.源代码的可维护性表现了程序设计语言的( B )A.心理特性B.工程特性C.技术特性D.传统特性44.以下软件生存周期的活动中,要进行软件结构设计的是(B )A.测试用例设计B.概要设计C.程序设计D.详细设计45.能够清楚地表示复杂的条件组合与应做的动作之间的对应关系的工具是( C )A.结构化语言B.PAD图C.判定表D.程序流程图46.需求分析方法必须能够表达和理解问题的数据域和( C )A.数据流B.用户类型C.功能域D.应用领域47.在软件生存期的各个阶段中跨越时间最长的阶段是( D )A.需求分析阶段B.设计阶段C.调试阶段D.维护阶段48.软件工程管理的对象是( B )A.软件开发人员B.软件工程项目C.软件开发过程D.软件开发速度49.CMM表示( A )A.软件过程成熟度模型B.软件过程工业化控制C.国际软件质量认证D.软件统一性标准50.自底向上的成本估算法的特点是(B)A.简单、工作量小、误差大B.精度高,但缺少子任务(模块)间的联系C.估算较精确,但区分类比较困难D.复杂、不可行,一般不采用此种方法二、简答题1.答:需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行性分析的基础上,进一步了解、确定用户需求。
准确地回答“系统必须做什么?”的问题。
获得需求规格说明书。
还涉及到软件系统的目标、软件系统提供的服务、软件系统的约束和软件系统运行的环境。
它还涉及到这些因素和系统的精确规格说明,以及系统进化之间的关系。
需求分析的基本任务包括:(1)抽取需求:分析现行系统存在需要解决的问题。
获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等。
(2)模拟和分析需求:需求分析和模拟又包含三个层次的工作。
首先是需求建模。
需求建模的表现形式有自然语言、半形式化(如图、表、结构化英语等)和形式化表示等三种。
需求概念模型的要求包括实现的独立性;不模拟数据的表示和内部组织等;需求模拟技术又分为企业模拟、功能需求模拟和非功能需求模拟等。
(3)传递需求:传递需求的主要任务是书写软件需求规格说明。
(4)认可需求:对需求规格说明书达成一致,其主要任务是冲突求解,包括定义冲突和冲突求解两方面。
常用的冲突求解方法有:协商、竞争、仲裁、强制、教育等,其中有些只能用人的因素去控制。
(5)进化需求:客户的需求总是不断(连续)地增长,但是一般的软件开发又总是落后于客户需求的增长,如何管理需求的进化(变化)就成为软件进化的首要问题。
对于传统的变化管理过程来说,其基本成分包括软件配置、软件基线和变化审查小组。
当前的发展是软件家族法,即产品线方法。
多视点方法也是管理需求变化的一种新方法,它可以用于管理不一致性,并进行关于变化的推理。
2.答:根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。
如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。
3.软件费用、软件可靠性、软件可维护、软件生产率和软件重用。
4.软件配置管理用于整个软件工程过程。
其目的是协调整个软件的开发,使得混乱减少到最小程度,使得变更所产生的错误达到最小并最有效地提高生产率;它的主要目标是:标识变更;控制变更;确保变更的正确实现;报告有关变更。
5.软件复杂性主要表现在程序复杂性,而程序的复杂性主要是指模块内程序的复杂性。
它直接关联到软件开发费用的多少、开发周期长短和软件潜伏错误的多少。
减少程序的复杂性,可提高软件的简单性和可理解性,并使软件开发费用减少,开发周期缩短,软件内部潜伏错误减少。
6.软件产品作为逻辑产品,具有无形性、生产就是开发研究、不会坏、不会磨损、成本昂贵、生产主要靠脑力劳动。
7.结构图是软件系统的模块层次结构,反映了整个系统的功能实现,即将来程序的控制体系。
准则:高内聚、低耦合,作用范围在控制范围内,软件的深度、宽度、扇入、扇出适当、模块大小适中,接口简单清晰易懂。
8.测试是为了发现错误而执行程序的过程。
一个好的测试用例能够发现至今尚未发现的错误。
一次成功的测试是发现了至今尚未发现的错误的测试。
软件测试的原则:设计测试用例时,要给出测试的预期结果。
要设计不合理输入的测试用例。
除了检查程序是否做了应该做的工作,还有检查程序是否做了不应该做的工作。
应制订测试计划并严格执行,排除随意性。
长期保存测试用例,为维护提供方便,在对程序进行修改之后,要进行回归测试。
充分注意测试中国的群集现象。
9.使用有可维护性的程序设计语言、及时更新文档、使用先进技术和工具、明确软件质量目标、明确质量保证工作。