(建筑工程管理)软件工程作业答案
【建筑工程管理】软件工程题库带答案
《软件工程》复习题库一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内,每小题1分)1.软件产品的开发主要是( D )。
A.复制B.再生产C.拷贝D.研制2.作坊式小团体合作生产方式的时代是( C )时代。
A.程序设计B.软件生产自动化C.程序系统D.软件工程3.软件工程与计算机科学性质不同,软件工程着重于( C )。
A.理论研究B.原理探讨C.建造软件系统D.原理的理论4.将每个模块的控制结构转换成计算机可接受的程序代码是( A )阶段的任务。
A.编码B.需求分析C.详细设计D.测试5.可行性研究的目的是决定( B )。
A.开发项目B.项目值得开发否C.规划项目D.维护项目6.SA方法用DFD描述( D ) 。
A.系统的控制流程B.系统的数据结构C.系统的基本加工D.系统的功能7.进行需求分析可使用多种工具,但( C )是不适用的。
A. 数据流图(DFD)B. 判定表C. PAD图D. 数据字典8.结构化分析(SA)方法将欲开发的软件系统分解为若干基本加工,并对加工进行说明,下述是常用的说明工具,其中便于对加工出现的组合条件的说明工具是( A )。
a.结构化语言;b.判定树;c.判定表。
A. b和cB. a,b和cC. a和cD. a和b9.软件概要设计结束后得到( B )。
A.初始化的软件结构图B.优化后的软件结构图C.模块详细的算法D.程序编码10.软件设计阶段一般又可分为( B )。
A.逻辑设计与功能设计B.概要设计与详细设计C.概念设计与物理设计D.模型设计与程序设计11.软件设计中划分模块的一个准则是( C )。
A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合12.PDL是软件开发过程中用于( C )阶段的描述工具。
A.需求分析B.概要设计C.详细设计D.编程13.下列语言中哪个语言是低级语言( D )A. PASCALB.VISUAL BASICC. C++D.汇编语言14.软件测试的目的是( B )。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究和应用如何以系统性、规范化、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来的学科。
以下是一些与软件工程相关的习题及答案,希望能帮助您更好地理解这门学科。
一、选择题1、软件生存周期中,解决软件“做什么”的阶段是()A 需求分析B 软件设计C 软件实现D 软件测试答案:A解析:需求分析阶段主要是确定软件系统需要完成的功能和性能,解决软件“做什么”的问题。
2、下面不属于软件设计原则的是()A 抽象B 模块化C 自底向上D 信息隐藏答案:C解析:软件设计的原则通常包括抽象、模块化、信息隐藏等,自底向上一般不是软件设计的原则,常见的是自顶向下的设计方法。
3、软件测试的目的是()A 证明软件没有错误B 发现软件中的错误C 改正软件中的错误D 优化软件的性能答案:B解析:软件测试的目的是为了发现软件中存在的错误,而不是证明软件没有错误或直接改正错误、优化性能。
4、下列模型中,不属于软件生命周期模型的是()A 瀑布模型B 快速原型模型C 增量模型D 螺旋模型E 喷泉模型答案:E解析:瀑布模型、快速原型模型、增量模型和螺旋模型都属于常见的软件生命周期模型,喷泉模型则主要强调软件对象之间的无缝迭代。
5、软件维护中,因修改软件而导致出现新错误的维护属于()A 改正性维护B 适应性维护C 完善性维护D 预防性维护答案:A解析:改正性维护是指改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。
在这种维护中,可能会因为修改软件而引入新的错误。
二、填空题1、软件工程包括()、()和()三个要素。
答案:方法、工具、过程2、软件需求分析阶段的工作,可以分为四个方面:()、()、()和()。
答案:需求获取、需求分析、编写需求规格说明书、需求评审3、软件测试的步骤主要包括()、()、()和()。
答案:单元测试、集成测试、系统测试、验收测试4、面向对象的三大特性是()、()和()。
软件工程课后习题答案
软件⼯程课后习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
软件工程课后习题(含答案)
第一章练习题一、填空题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、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。
(完整版)软件工程课后答案
《软件工程》作业及答案1-1 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2 假设你是一家软件公司的总工程师,当你把图1.1给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3 什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程本质特性:1、软件工程关注于大型程序的构造;2、软件工程的中心课题是控制复杂性;3、软件经常变化;4、开发软件的效率非常重要;5、和谐地合作是开发软件的关键;6、软件必须有效地支持它的用户;7、在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人创造产品。
软件工程习题附答案
软件工程习题附答案软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
在软件工程的学习和实践中,习题是一种重要的学习方法,通过解答习题可以加深对知识的理解和应用。
本文将为您提供一些关于软件工程的习题,并附带答案。
请注意,下文中的答案仅供参考,具体情况还需根据实际情况进行判断和调整。
1. 什么是软件工程?答案:软件工程是一门研究如何以系统性的、规范化的、可定量的方法开发和维护软件的学科。
2. 软件工程的核心原则是什么?答案:软件工程的核心原则是系统分析、设计、编程、测试和维护各个阶段严格按照规范进行,并强调团队协作和项目管理的重要性。
3. 软件生命周期包括哪些阶段?答案:软件生命周期包括问题定义、需求分析、系统设计、编码、测试和维护等阶段。
4. 请简要描述软件工程的开发流程。
答案:软件工程的开发流程一般包括需求分析、系统设计、编码、测试和维护等阶段。
具体而言,首先需要明确需求,然后进行系统设计,确定软件的整体结构和功能。
接着进行编码,将设计好的软件实现为代码。
随后进行测试,检查软件是否符合需求并修复潜在的问题。
最后是维护阶段,对软件进行更新和修复,以保证其长期有效运行。
5. 请列举几种常用的软件开发方法。
答案:常用的软件开发方法包括瀑布模型、迭代模型、敏捷开发等。
6. 什么是瀑布模型?答案:瀑布模型是一种线性顺序型的软件开发方法,各个阶段严格按照顺序进行,上一个阶段的输出作为下一个阶段的输入。
7. 什么是迭代模型?答案:迭代模型是一种反复迭代、循环演化的软件开发方法,每次迭代都会增加新的功能或修复问题。
8. 请简要介绍敏捷开发方法。
答案:敏捷开发方法是一种轻量级的软件开发方法,强调迭代、灵活和快速响应变化。
它鼓励团队协作、自我组织和持续改进。
9. 请列举几种常用的软件测试方法。
答案:常用的软件测试方法包括单元测试、集成测试、系统测试和验收测试等。
10. 什么是单元测试?答案:单元测试是针对软件开发的最小单位——单元(如函数、方法等)进行的测试,用于检查该单元是否符合预期的功能和设计要求。
软件工程课后习题参考答案
软件工程课后习题参考答案软件工程课后习题参考答案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.法律名词及注释本文涉及的法律名词及注释:无。
(建筑工程管理)软件工程模拟题带答案
a1.提示用户输入无效密码,请求再次输入; a2.如果三次输入无效密码,系统自动关闭,退出客户银行卡。 子事件流 b: b1.提示用户余额不够。 b2.返回(5),等待客户重新选择。 要求:请用面向对象方法学对该系统进行分析和设计,按要求用 UML 建立 ATM 机的静态模 型和动态模型。分别完成以下工作: (1)给出 ATM 系统的用例模型(10 分) (2)给出 ATM 系统的类图(10 分) (3)给出 ATM 取款顺序图(时序图)(10 分) (4)给出 ATM 取款协作图(10 分) 答:这道题课本 P281 有,基本壹模壹样,不过感觉课本上的答案不对…. 软件工程期末试卷 B 试题壹、结构化分析和设计(共 20 分,每小题 10 分) 需求陈述: 现有壹图书预定系统,接收由顾客发来的订单,且对订单进行校验,验证过程是根据图书目 录检查订单的正确性,同时根据顾客档案确定是新顾客仍是老顾客,是否有信誉。经过验证 的正确订单,暂存于待处理的订单文件中。对订单进行成批的处理,根据出版社档案,将订 单按照出版社进行分类汇总,且保存订单存根,然后将汇总的订单发往各出版社。 要求:用结构化方法学对图书预定系统进行分析和设计,分别完成以下工作: (1)给出图书预定系统的功能模型(用数据流图表示)。(10 分) (2)给出图书预定系统的软件体系结构(用 H 图或结构图表示)。(10 分)
环形复杂度 3 基本路径 3 条 路径 1:1-2-3-4-6-3-7 对应的测试用例 N=1 路径 2:1-2-3-4-5-6-3-7 对应的测试用例 N=4 路径 3:1-2-3-7 对应的测试用例 N=0 路径 1:1-2-3-4-6-7 对应的测试用例 N=1(???不太确定) 路径 2:1-2-3-4-5-6-7 对应的测试用例 N=4 路径 3:1-2-3-4-6-3-7 对应的测试用例 N=4 试题四、面向对象分析和设计(共 40 分,每题 10 分) 需求陈述: atm 系统包括软件和硬件俩部分,其业务大概分为 4 个部分:查询帐户余额、取款、存款和 更改用户的密码。壹个完整的 atm 系统包括壹下几个模块: (1)读卡机模块允许储户讲银行卡插入读卡机,读卡机识别卡的种类且于显示器上提示用 户输入密码。 (2)输入模块储户能够输入密码和取款金额,且选择要完成的事务。通常于键盘上只设数
软件工程习题及答案解析
一、选择题: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、1/6B、1/5C、1/4D、1/37. 变换型和事务型是程序结构的标准形式。
从某处获得数据,再对这些数据作处理,然后将结果送出是属于。
A、变换型B、事务型8. PAD (Problem Analysis Diagram)图是一种工具。
A、系统描述B、详细设计C、测试D、编程辅助9. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描绘了系统的。
A、总貌B、细节C、抽象D、软件的作者10. 数据流图中,当数据流向或者流自文件时,。
A、数据流要命名,文件不必命名B、数据流不必命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不同的D、数据流和文件均不要命名,通过加工可自然反映出11. 分析员是。
A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导12. 在软件开辟中,有利于发挥集体智慧的一种做法是。
A、设计评审B、模块化C、主程序员制D、进度控制13. 在开辟软件时,可用来提高程序员的工作效率。
A、程序开辟环境B、操作系统的作业管理功能C、编译程序的优化功能D、并行运算的大型计算机14. 结构化程序设计主要强调程序的。
软件工程作业含答案
软件⼯程作业含答案软件⼯程第⼀章作业 (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章软件工程学概述一、选择题1.软件危机具有下列表现()I、对软件开发成本估计不准确II、软件产品的质量往往不可靠III、软件常常不可维护IV、软件成本逐年上升A.I、II和III B.I、III和IVC.II、III和IV D.以上都正确答案:D2. 产生软件危机的原因可能有()I、用户需求描述不精确、不准确II、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和II B.I、II和IVC.II、III和IV D.以上都正确答案:D3. ()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型 D.螺旋模型答案:A4. 为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就是软件工程诞生的基础。
A. 数学B. 软件学C. 运筹学D. 工程学答案:D4、TURBO PASCAL是()软件。
A.系统软件B.人工智能C.事务软件D.应用软件答案:D6.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型答案:C7. 瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B8.软件危机是指()。
A.软件遭到破坏B.软件开发和维护过程中遇到的问题C.软件维护出现困难D.软件不能正常运行系列问题答案:B9. 软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A.固有的B.人为的C.可消除的D.不可降低的答案:A10. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件过程B. 软件测试C .软件生存周期D .软件工程答案:D11.软件的主要特性是( )。
A.高性能B.高成本C.包括程序和文档D.可独立构成计算机系统答案:B12.软件开发方法的主要工作模型有( )A.螺旋模型B.循环模型C.瀑布模型D.专家模型13.软件工程三要素是( )。
软件工程作业及参考答案
软件工程作业1.什么是软件工程?产生软件工程的原因有哪些?答:软件的定义:软件工程是借助工程化的方法进行软件开发(先对软件进行设计再开发)。
软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。
产生软件工程的原因:(1)当时无法在预算内开发出高质量软件;(2)软件开发者无法制定具体目标,无法实现预测所需的资源,无法实现客户的期望;(3)软件工程的重点既在软件,也在工程;(4)软件开发具有复杂性和多变性的特征;(5)软件产品必须随着终端用户需求和目标环境的变化而变化。
2.常见的软件体系结构有哪些?分析它们的优缺点?答:2.1 管道/过滤器风格在管道/过滤器风格中,每个构件都有一组输人和输出,构件读输人的数据流,经过内部处理,然后产生输出数据流。
这里的构件被称为过滤器。
连接件被称为管道。
此风格特别重要的过滤器必须是独立的实体,它不能与其它的过滤器共享数据,而且一个过滤器不知道它上游和下游的标识。
这种风格的优点:(1)使得软构件具有良好的隐蔽性和高内聚、低藕合的特点;(2)有助于设计者将整个系统的输人/输出行为看成是多个过滤器的行为的简单合成;(3)支持软件重用;(4)易于系统维护和增强系统性能;(5)允许对一些如吞吐量、死锁等属性的分析;(6)支持并行执行。
这种风格的缺点:(1)通常导致进程成为批处理的结构;(2)不适合处理交互的应用;(3)数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,导致了系统性能下降,增加了编写过滤器的复杂性,使数据传输量增加。
这种风格经常应用在UnixS hell中编写的应用系统中。
2.2 仓库风格在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的相互作用在系统中会有大的变化。
按控制策略的选取分类,可以产生两个主要的子类。
若输人流中某类时间触发进程执行的选择,则仓库是传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是黑板系统。
(建筑工程管理)软件工程模拟试题
(建筑工程管理)软件工程模拟试题壹壹.选择题(每题1.5分,共30分)(B)1.软件质量因素不包括。
A.正确性B.高性能C.可测试性D.可理解性(A)2.软件可行性研究实质上是要进行壹次需求分析、设计过程。
A.简化、压缩的B.详细的C.彻底的D.深入的(C)3.以下哪个软件生存周期模型是壹种风险驱动的模型A.瀑布模型B.增量模型C.螺旋模型D.喷泉模型(A)4.可行性分析中,系统流程图用于描述。
A.当前运行系统B.当前逻辑模型C.目标系统D.新系统(A)5.结构化分析建立功能模型的工具是A.DFDB.判定树/判定表C.SCD.结构化语言(A)6.检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.系统测试D.单元测试(C)7.于整个软件维护阶段所花费的全部工作中,所占比例最大的是A.校正性维护B.适应性维护C.完善性维护D.预防性维护(B)8.通信内聚是指。
A.把需要同时执行的动作组合于壹起形成的模块B.各处理使用相同的输入数据或者产生相同的输出数据C.壹个模块中各个处理元素均密切关联于同壹功能且必须顺序执行D.模块内所有元素共同完成壹个功能,缺壹不可(B)9.壹个只有顺序结构的程序,其环形复杂度是A.0B.1C.3D.5(B)10.下述四个能力成熟度等级,级别最高的是A.已定义级B.优化级C.可重复级D.已管理级(B)11.结构化程序设计,主要强调的是A.程序的执行效率B.模块大小C.程序的可理解性D.模块关系(B)12.软件调试技术包括A.边界值分析B.演绎法C.循环覆盖D.集成测试(A)13.需求分析中开发人员要从用户那里了解A.软件做什么B.用户使用界面C.输入的信息D.软件的规模(A)14.数据字典是对数据定义信息的集合,它所定义的对象均包含于。
A.数据流图B.程序框图C.软件结构D.方框图(A)15.面向对象的主要特征除唯壹性、继承性、多态性外,仍具有。
A.封装性B.移植性C.完整性D.兼容性(C)16.关于软件维护的说法错误的是。
(建筑工程管理)软件工程资料
软件工程·考试(建筑工程管理)软件工程资料壹.选择题:1.软件工程学的提出是由于软件生产中的软件危机引起的,软件工程学的目的应该是最终解决软件生产的使软件工程化的问题。
2.软件危机通常是指于计算机软件开发和维护中所产生的壹系列严重的问题,这些问题中相对次要的因素是软件性能。
3.软件危机是软件产业化过程中出现的壹种现象,如:软件需求增长难以满足;软件开发成本提高;软件开发进度难以控制;软件质量不容易保证。
4.造成软件危机的主要原因是:软件本身特点,缺乏好的开发方法和手段。
5.软件工程方法学研究内容包含软件开发技术和软件工程管理俩部分,其期望达到的最终目标是软件开发工程化。
6.瀑布模型把软件生命周期分为八个阶段:问题定义、可行性研究、软件需要分析、系统总体设计、详细设计、编码、测试和运行、维护。
八个阶段又可归纳为三大阶段:计划阶段;开发阶段和运行阶段7.从结构化的瀑布模型见,于它的生命周期的八个阶段中,需求分析阶段出错对软件的影响最大。
8.于结构性的瀑布模型中,需求分析阶段定义的标准将成为软件测试中的系统测试阶段的目标。
9.软件工程的出现主要是由于软件危机的出现。
10.软件工程方法学的目的是:使软件生产规范化和工程化,而软件工程方法得以实施的主要保证是软件开发工具和软件开发环境。
11.软件工程方法学中重要的内容之壹是软件工程管理,它包含软件管理学和软件工程经济学,它要达到的目标是以基本的社会经济效益为基础,工程化生产软件。
12.软件工程方法中最普遍应用的方法之壹是结构化生命周期方法(SLC方法),包括:严格定义需求;划分开发阶段;规范文档格式。
13.结构化分析方法是壹种预先严格定义需求的方法,它于实施时强调分析对象的数据流。
14.软件开发的结构化生命周期方法将软件生命周期划分为计划阶段;开发阶段和运行阶段。
15.进行需求分析可使用多种工具:数据流图(DFD);判断表;判定树和数据字典。
16.于软件的需求分析中,开发人员要从用户那里解决的最重要的问题是要让软件做什么。
(建筑工程管理)软件工程参考
(建筑工程管理)软件工程参考单项选择题1、软件工程的出现是由于__A__。
A、软件危机的出现B、计算机硬件技术的发展C、软件社会化的需求D、计算机软件技术的发展2、在McCall 软件质量度量模型中,__C__ 表现了软件承受修改的能力。
A、正确性B、完整性C、灵活性D、互操作性3、为了提高模块的独立性,模块内部最好是____C_____。
A逻辑内聚B、顺序内聚C、功能内聚D、通信内聚4、软件维护中,因重新初始化控制标志或指针而引起的错误是以下 B 的副作用。
A、文档B、数据C、编码D、设计5、下列属于用白盒技术设计测试用例的是___B__。
A、错误推测B、逻辑覆盖C、等价类划分D、因果图6、根据输入、输出的数据结构产生程序结构的设计方法是___B______。
A、PARNAS方法B、JACKSON方法C、WIRTH方法D、DIJKSTRA方法7、两个模块之间传递的是同一个数据结构的地址,这种耦合方式称为____D_____。
A、控制耦合B、公共耦合C、标记耦合D、数据耦合8、瀑布模型是一种____B_____模型。
A、风险驱动模型B、线性开发模型C、增量模型D、迭代模型9、软件维护是软件生命周期中的固有阶段,一般认为,各种不同的软件维护中以___C___ 维护所占的维护量最小。
A、纠错性维护B、代码维护C、预防性维护D、文档维护10、DFD中的每个加工至少需要____D_____。
A、一个输入流B、一个输出流C、一个输入或输出流D、一个输入流和一个输出流11、下面关于PDL语言不正确的说法是____B_____。
A、PDL是描述处理过程怎么做B、PDL是只描述加工做什么C、PDL也称为伪码D、PDL的外层语法应符合一般程序设计语言常用的语法规则12、结构化维护与非结构化维护的主要区别在于__D_______。
A、软件是否结构化B、软件配置是否完整C、程序的完整性D、文档的完整性13、软件测试中,白盒法是通过分析程序的 B 来设计测试用例的。
(建筑工程管理)软件工程第五版张海藩习题参考答案
(建筑工程管理)软件工程第五版张海藩习题参考答案第壹章习题参考答案1.什么是软件危机?软件危机是指于计算机软件的开发和维护过程中所遇到的壹系列严重问题。
这些问题表当下以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)壹般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本和开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及和深入的需要。
2.为什么会产生软件危机?开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是壹个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统壹的、公认的方法论和规范指导,造成软件维护困难。
尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等壹系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术和方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
于开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
推广于实践中总结出来的开发软件的成功的技术和方法,且研究更好、更有效的技术和方法,尽快克服于计算机系统早期发展阶段形成的壹些错误概念和作法。
根据不同的应用领域,开发更好的软件工具且使用这些工具。
将软件开发各个阶段使用的软件工具集合成壹个整体,形成壹个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
6.软件生存周期为什么划分成阶段?任何壹个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程网上作业题第1章软件工程学概述一、选择题1.软件危机具有下列表现()I、对软件开发成本估计不准确II、软件产品的质量往往不可靠III、软件常常不可维护IV、软件成本逐年上升A.I、II和III B.I、III和IVC.II、III和IV D.以上都正确答案:D2. 产生软件危机的原因可能有()I、用户需求描述不精确、不准确II、对大型软件项目的开发缺乏有力的组织与管理III、缺乏有力的方法学和工具的支持IV、软件产品的特殊性和人类智力的局限性A.I和II B.I、II和IVC.II、III和IV D.以上都正确答案:D3. ()分批地逐步向用户提交产品,每次提交一个满足用户需求子集的可运行的产品。
A.增量模型B.喷泉模型C.原型模型 D.螺旋模型答案:A4. 为了克服软件危机,人们提出了用( ) 的原理来设计软件,这就是软件工程诞生的基础。
A. 数学B. 软件学C. 运筹学D. 工程学答案:D4、TURBO PASCAL是()软件。
A.系统软件B.人工智能C.事务软件D.应用软件答案:D6.具有风险分析的软件生存周期模型是()A.瀑布模型B.喷泉模型C.螺旋模型D.增量模型答案:C7. 瀑布模型的关键不足在于()A.过于简单B.不能适应需求的动态变更C.过于灵活D.各个阶段需要进行评审答案:B8.软件危机是指()。
A.软件遭到破坏B.软件开发和维护过程中遇到的问题C.软件维护出现困难D.软件不能正常运行系列问题答案:B9. 软件的复杂性是(),它引起人员通信困难、开发费用超支、开发时间超时等问题。
A.固有的B.人为的C.可消除的D.不可降低的答案:A10. ()是将系统化的、规范的、可定量的方法应用于软件的开发、运行和维护的过程,它包括方法、工具和过程三个要素。
A. 软件过程B. 软件测试C .软件生存周期D .软件工程答案:D11.软件的主要特性是( )。
A.高性能B.高成本C.包括程序和文档D.可独立构成计算机系统答案:B12.软件开发方法的主要工作模型有( )A.螺旋模型B.循环模型C.瀑布模型D.专家模型13.软件工程三要素是( )。
A.高技术人员、方法和工具B.方法、工具和过程C.方法、对象和类D.过程、模型、方法答案:B14.软件工程的目标有( )。
A.易于维护B.低的开发成本C.高性能D.短的开发期答案:B15.软件工程学的目的和意义是( )。
A.应用科学的方法和工程化的规范管理来指导软件开发B.克服软件危机C.做好软件开发的培训工作D.以较低的成本开发出高质量的软件答案:D16. 开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )A. 软件工程B. 软件周期C. 软件危机D. 软件产生答案:C17. 快速原型模型的主要特点之一是( )A. 开发完毕才见到产品B. 及早提供全部完整的软件产品C. 开发完毕后才见到工作软件D. 及早提供工作软件答案:D18.瀑布模型的存在问题是()A.用户容易参与开发B.缺乏灵活性C.用户与开发者易沟通D.适用可变需求答案:B19、软件生存周期模型不包括:()A.瀑布模型B.对象模型C.增量模型D.喷泉模型答案:B20. 下列哪个不属于软件工程的内涵之一( )A.应用完善的科学与工程原理B.经济地开发软件C.高薪聘请软件高手D.开发既可靠又能有效运行的软件答案:C21.在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于()。
A.维护时期B.计划时期C.运行时期D.开发时期答案:B22. 下列哪个办法不属于解决软件危机的途径之一( )A. 研制新一代智能计算机B. 大力扶持软件企业C. 采用软件工程的解决途径D. 采用面向对象的软件设计方法答案:B23.下面哪一项不属于快速原型模型的优点。
A.可及早为用户提供有用的产品。
B.可保证在开发后期,全面发现错误给以纠正。
C.减少技术应用风险,缩短开发时间,减少费用、提高生产率。
D.促使用户主动参与开发活动,促进各类人员的协调,适应需求变化。
答案:B24.下列哪个不属于瀑布模型与传统的程序设计的不同之处()。
A.传统的程序设计开发人员只开发程序,不写文档.B.传统的程序设计重点在问题求解和算法,并只有自己才能读懂.C.瀑布模型的各阶段要第三方介入审察D.传统的程序设计规定各阶段必须写文档.答案:D25.下面哪个模式不属于软件工程的开发模式A.基于瀑布模型的开发模式B.基于原型模型的开发模式C.基于人机对话的开发模式D.基于关系数据库的开发模式答案:C二、填空题1. 软件工程学的内容可包括()、结构、()、()、环境、管理、规范等。
答案:理论方法工具2. 软件生存周期一般可分为问题定义、()、()、设计、()、测试、运行与维护阶段。
答案:可行性研究需求分析编码3.软件=()+()。
答案:程序文档4.软件危机的事实使人们意识到:计算机要推广使用,其关键在于()技术的革新。
答:软件开发5.开发软件需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。
答:软件危机6.软件危机出现于____,为了解决软件危机,人们提出了用____的原理来设计软件,这是软件工程诞生的基础。
答:60年代末工程学7.瀑布模型把软件生存周期划分为软件定义、软件开发和____三个阶段,而每一阶段又可细分为若干个更小的阶段。
答:运行及维护三、判断改错题1. 螺旋模型是在瀑布模型和增量模型的基础上增加了风险分析活动。
()√2.瀑布模型的最大优点是将软件开发的各个阶段划分得十分清晰。
( )×文档驱动3.结构化方法的工作模型是使用螺旋模型进行开发。
( )×两者无关4.软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
( )×软件危机的主要表现:一方面是无法满足日益增长的对软件的需求;另一方面是难以满足对已有的软件系统维护的需要。
5.RCP法与RSP法的主要区别是,前者采用循环渐进的开发方式,原型将成为最终的产品,而后者将被废弃。
( )√四、简答题1. 当沿着螺旋模型的过程流路径向外移时,你认为正在开发或维护的软件发生了什么变化?答:在使用螺旋模型开发软件的过程中,从核心开始,螺旋的第一圈可能产生软件的规格说明,接下来的螺旋可能用于开发一个原型,随后是软件的更完善的版本。
经过计划区域的每一圈是为了调整项目计划,基于从用户评估得到的反馈,调整费用和进度。
沿螺旋线自内向外每旋转一圈,便开发出一个更为完善的、新的软件版本。
2. 快速原型模型有几种?各有何特点?答:根据原型的不同作用,有三类原型模型:⑴探索型原型。
这种类型的原型模型是把原型用于开发的需求分析阶段,目的是要弄清用户的需求,确定所期望的特性,并探索各种方案的可行性。
它主要针对开发目标模糊,用户与开发着对项目都缺乏经验的情况,通过对原型的开发来明确用户的需求。
⑵实验型原型。
这种原型主要用于设计阶段,考核实现方案是否合适,能否实现,对于一个大型系统,若对设计方案心中没有把握时,可通过这种原型来证实设计方案的正确性。
⑶演化型原型。
这种原型主要用于及早向用户提交一个原型系统,该原型系统或者包含系统的框或者包含系统的主要功能。
在得到用户的认可后,将原型系统不断扩充演变为最终的软件系统,它将原型的思路扩展到软件开发的全过程。
3.试说明"软件生存周期"的概念。
答:软件生存周期是指软件产品从考虑其概念开始到该软件产品交付使用,直至最终退役为止的整个过程,一般包括计划、分析、设计、实现、测试、集成、交付、维护等阶段。
(1)计划阶段:确定待开发系统的总体目标和范围,研究系统的可行性和可能的解决方案,对资源、成本及进度进行合理的估算。
软件计划的主要内容包括所采用的软件生命周期模型、开发人员的组织、系统解决方案、管理的目标与级别、所用的技术与工具,以及开发的进度、预算和资源分配。
(2)分析阶段:分析、整理和提炼所收集到的用户需求,建立完整的分析模型,将其编写成软件需求规格说明和初步的用户手册。
通过评审需求规格说明,确保对用户需求达到共同的理解与认识。
需求规格说明明确地描述了软件的功能,列出软件必须满足的所有约束条件,并定义软件的输入和输出接口。
(3)设计阶段:设计阶段的目标是决定软件怎么做,设计人员依据软件需求规格说明文档,确定软件的体系结构,进而确定每个模块的实现算法、数据结构和接口等,编写设计说明书,并组织进行设计评审。
(4)实现阶段:实现阶段是将所设计的各个模块编写成计算机可接受的程序代码,与实现相关的文档就是源程序以及合适的注释。
(5)测试阶段:在设计测试用例的基础上,测试软件的各个组成模块。
然后,将各个模块集成起来,测试整个产品的功能和性能是否满足已有的规格说明。
(6)维护阶段:一旦产品已交付运行之后,对产品所做的任何修改就是维护。
维护是软件过程的一个组成部分,应当在软件的设计和实现阶段充分考虑软件的可维护性。
维护阶段需要测试是否正确地实现了所要求的修改,并保证在产品的修改过程中,没有做其他无关的改动。
5.软件产品的特性是什么?答:a.软件产品是一种逻辑产品。
b.软件产品的生产主是研制,软件产品的成本主要体现在软件的开发和研制上,软件开发完成后,复制就产生了大量软件产品。
c.软件产品不会用坏,不存在磨损、消耗问题。
d.软件产品的生产主要是脑力劳动,还未完全摆脱手工开发方式,而且碰分是"定做"的。
e.软件费用不断增加,成本相当昂贵。
6. 什么是软件危机?其产生的原因是什么?答:软件危机:软件发展第二阶段的末期,由于计算机硬件技术的进步。
一些复杂的、大型的软件开发项目提出来了,但,软件开发技术的进步一直未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,因而导致了软件危机。
主要表现在以下几个方面:a.经费预算经常突破,完成时间一再拖延。
b.开发的软件不通满足用户要求。
c.开发的软件可维护性差。
d. 开发的软件可靠性差。
软件危机产生的原因是由于软件产品本身的特点以及开发软件的方式、方法、技术和人员引起的:a.软件的规模越来越大,结构越来越复杂。
b.软件开发管理困难而复杂。
c.软件开发费用不断增加。
d.软件开发技术落后。
e.生产方式落后。
f.开发工具落后,生产率提高缓慢。
7. 什么是软件工程?它的目标和内容是什么?答:软件工程:用科学知识和技术原理来定义、开发、维护软件的一门学科。
软件工程的目标是成功的建造一个大型软件系统,所谓成功是要达到以下几个目标:a.付出较低的开发成本;b.面到要求的软件功能;c.取得较好的软件性能;d.开发的软件易于移植;e.需要较低的维护费用;f.能按时完成开发任务,及时交付使用;g.开发的软件可靠性高;软件工程的内容:1)软件开发技术:软件开发方法、软件开发过程、软件开发工具和环境。