第8章 软件工程 习题与答案
《软件工程》各章课后习题答案

《软件工程》各章课后习题答案软件工程是计算机科学与技术的一门重要学科,旨在研究和应用工程原则和方法来开发高质量的软件系统。
课程中的习题对于加深学生对软件工程理论和实践的理解至关重要。
下面是对《软件工程》各章课后习题的答案,希望能够帮助你更好地掌握软件工程的知识。
第一章:软件工程导论1. 软件工程的定义:答:软件工程是通过应用系统化、规范化和可量化的方法进行软件开发、运行和维护的学科。
2. 软件工程的目标:答:软件工程的目标是提高软件开发的质量、效率和可靠性,使得软件能够满足用户的需求和期望。
3. 软件生命周期模型:答:常见的软件生命周期模型包括瀑布模型、迭代模型、敏捷模型等。
每个模型都有其独特的特点和适用场景。
4. 软件过程模型:答:软件过程模型描述了软件开发过程中的一系列活动和阶段,常见的软件过程模型包括瀑布模型、迭代模型、敏捷模型等。
5. 软件工程的基本原则:答:常见的软件工程基本原则包括分阶段、逐步求精、持续集成、迭代开发、需求优先等。
第二章:软件项目管理1. 软件项目管理的定义:答:软件项目管理是指对软件开发过程中的资源、进度、质量等进行有效管理,以确保软件项目能够按时、按质地完成。
2. 软件项目管理的内容:答:软件项目管理包括项目计划、需求管理、项目进度管理、资源管理、风险管理等方面。
3. 软件项目管理的方法:答:常见的软件项目管理方法包括敏捷项目管理、水平项目管理、里程碑项目管理等。
4. 软件项目管理的工具:答:常用的软件项目管理工具包括甘特图、PERT/CPM网络图、项目管理软件等。
第三章:软件需求分析与规格说明1. 软件需求的定义:答:软件需求是指用户对软件系统的要求和期望,包括功能需求、性能需求、接口需求等方面。
2. 软件需求分析的方法:答:常用的软件需求分析方法包括面向对象分析法、数据流图法、用例分析法等。
3. 软件需求规格说明的格式:答:常见的软件需求规格说明的格式包括自然语言描述、结构化描述、图形描述等。
软件工程第二版答案

里面包含绝大部分的软件工程第二版中的课后习题答案瞿中编第一章仿真试题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、UML是软件开发中的一个重要工具,它重要应用于哪种软件开发方法( )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法8、在下面的软件开发方法中,哪一个对软件设计和开发人员的开发规定最高( )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、软件开发模型是指软件开发的所有过程、活动和任务的结构框架。
软件工程 张海藩 课后习题答案

《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机?软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。
(2)软件产品的质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为什么会产生软件危机?(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。
造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
3.怎样克服软件危机?(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。
在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。
(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。
将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。
4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。
5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。
软件工程课后习题参考答案

软件工程课后习题参考答案软件工程课后习题参考答案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.法律名词及注释本文涉及的法律名词及注释:无。
《软件工程学》第8章 维护-习题

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.黑盒测试法可有效的检查模块的内部逻辑结构的正确性。
……………………()9.在进行需求分析时同时考虑维护问题。
……………………()
10.尽可能在软件开发过程中保证各阶段文档的正确性。
……………………()。
软件工程吴迪第八章课后答案

软件工程吴迪第八章课后答案HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】软件工程课后答案《软件工程》作业及答案1-1什么是软件危机?它有哪些典型表现?为什么会出现软件危机?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
概括地说,软件危机包含下述两方面的问题:如何开发软件,以满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。
软件危机典型表现:对软件开发成本和进度的估计常常很不准确。
用户对“已完成的”软件系统不满意的现象经常发生。
软件产品的质量往往靠不住。
软件常常是不可维护的。
软件通常没有适当的文档资料。
软件成本在计算机系统总成本中所占的比例逐年上升。
软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。
软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。
管理和控制软件开发过程相当困难。
软件是规模庞大,而且程序复杂性将随着程序规模的增加而呈指数上升。
目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。
1-2假设你是一家软件公司的总工程师,当你把图给手下的软件工程师们观看,告诉他们及早发现并改正错误的重要性时,有人不同意你的观点,认为要求在错误进入软件之前就清除它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”你怎么反驳他?1-3什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?答:软件工程是指导计算机软件开发和维护的一门工程学科。
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它。
软件工程习题及答案.doc

软件工程习题及答案:一、选择题:D1. 为了提升测试的效率,应当。
A、随机地选用测试数据B、取全部可能的输入数据作为测试数据C、在达成编码后拟订软件的测试计划D、选择发现错误可能性大的数据作为测试数据D2. 与设计测试数据没关的文档是。
A、需求说明书B、设计说明书C、源程序D、项目开发设计B3. 结构设计是一种应用最宽泛的系统设计方法,是以为基础、自顶向下、逐渐求精和模块化的过程。
A、数据流B、数据流图C、数据库D、数据结构A4. 纲要设计的结果是供给一份。
A、模块说明书B、框图C、程序D、数据结构B5. 需求剖析是由剖析员经认识用户的要求,仔细仔细地调研、剖析,最后应成立目标系统的逻辑模型并写出。
A、模块说明书B、软件规格说明书C、项目开发计划D、合同文档D6. 说明是提升程序可读性的有效手段,好的程序说明占到程序总量的。
A、 1/6B、 1/5C、1/4 D 、 1/3A7. 变换型和事务型是程序结构的标准形式。
从某处获取数据,再对这些数据作办理,而后将结果送出是属于。
A、变换型B、事务型B8. PAD( Problem Analysis Diagram )图是一种工具。
A、系统描述B、详尽设计C、测试D、编程协助A9. 排错一般是在测试发现错误后进行,此中找到错误地点占排错总工作量的。
A、 95%B、 5%C、 50%D、 20%A10. 分层数据流图是一种比较严格又易于理解的描述方式,它的顶层描述了系统的。
A、总貌B、细节C、抽象D、软件的作者B11. 数据流图中,当数据流向或流自文件时,。
A、数据流要命名,文件不用命名B、数据流不用命名,有文件名就足够了C、数据流和文件均要命名,因为流出和流进数据流是不一样的D、数据流和文件均不要命名,经过加工可自然反应出B12. 剖析员是。
A、用户中系统的直接使用者B、用户和软件人员的中间人C、软件的编程人员D、用户和软件人员的领导A13. 在软件开发中,有益于发挥集体智慧的一种做法是。
软件工程 第八章测验 测验答案 慕课答案 UOOC优课 课后练习 深圳大学

第八章测验一、单项选择题(共40.00分)1.()为我们提供了可以进行质量评估的软件表示。
A.需求分析B.设计C.工程计划D.以上均不正确正确答案:B2.用()可以方便地实现单向关联。
A.对象B.容器C.指针D.哈希表正确答案:C3.对于一对多关联来说,保存关联信息的关联对象可以与()合并。
A.''一"端对象B.''多〃端对象C.参与关联的任一个对象D,以上均不正确正确答案:B4.如果一个处理影响或修改了一个对象,那么最好把该处理与处理的O联系在一起。
A. 目标B.触发者C.输入数据D.输出数据正确答案:A二、多项选择题(共33.00分)1.下面哪些是在面向对象设计过程中,可能对OOA产出的问题域模型作的补充或修改?()A.调整需求B,重用已有的类C.把问题域类组合在一起D.采用更高效的实现算法正确答案:ABC2.数据管理子系统中常见的数据存储管理模式包括()oA.光盘库8.文件系统C.关系型数据库D.面向对象数据库正确答案:BCD3.以下哪些属于设计人一机交互界面的准那么?()A.及时提供反应信息B.提供撤销命令C.配色鲜艳醒目D.减少操作步骤正确答案:A B D三、判断题(共27,00分)L从面向对象分析到面向对象设计,是一个逐渐扩充模型的过程。
()A.正确B.错误正确答案:A2.持久性机制应该在设计阶段进行考虑。
()A.正确B.错误正确答案:A3.设计任务管理局部的首要前提是对并发性的分析。
()A.正确B.错误正确答案:A。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章习题(P206-208)一、复习题1.简述软件的特点答:软件相对硬件而言有许多不同特点。
了解这些特别之处能够帮助我们全面.正确地理解计算机软件。
(1)软件是一种逻辑实体,而不是具体的物理实体,具有很强的抽象性。
我们只能把它记录在介质上,或在系统上运行,但却无法直接通过我们的眼睛看到软件的形态。
(2)软件是一个逻辑上复杂而规模上庞大的系统,涉及技术.管理等多方面的问题。
如果将代码比作零件,则一个软件是由成百上千万个零件组成的复合体,而且其结构远较机械装置复杂。
应该说软件的复杂程度高于同等规模的硬件产品。
(3)软件是智力产品,其价值体现在解决问题的知识和能力,而并不体现在软件载体本身。
软件的生产方式与硬件明显不同,设计方法和制造阶段不同;软件的生成成本主要在研发设计上,而大量复制几乎没有成本。
(4)在软件的运行和使用期间,没有硬件的磨损.老化问题。
但软件维护比硬件维护要复杂得多,软件的故障主是由于对软件的改变和使用环境的变化引起的。
(5)软件的开发和运行对硬件有较强依赖关系。
在软件开发有可移植性的问题,现在通常把软件的可移植性作为衡量软件质量的重要因素之一。
(6)软件工作涉及许多社会因素。
软件与人的关系密切,涉及到语言.文化等多方面,甚至关系到的道德领域。
{P182}2.什么是软件危机?主要有哪些表现?其产生的原因是什么?答:软件危机是软件开发领域,特别是在大型软件开发和维护过程中遇到的一系列严重问题的统称。
软件危机主要表现为费用高.开发过程不易控制.工作量估计困难.软件质量低.软件项目失败率高.无法判断大型系统能否正常工作以及软件维护任务重等现象。
产生软件危机的主要原因,一方面是软件本身所固有的抽象性.复杂性等特性;另一方面是人们当时对软件和软件开发过程的不正确认识。
{P182-183}3.简述什么是软件工程答:软件工程是应用计算机科学.数学及管理科学等原理开发软件的工程。
它借鉴系统工程的原则.方法,以提高质量,降低成本为目的。
软件工程是从管理和技术两方面研究如何更好地开发和维护计算机软件的一门学科。
采用工程化方法和途径来开发与维护软件。
{P183-184}4.简述软件工程研究的基本内容与目标答:软件工程研究的内容包括与软件开发相关的理论,结构,过程,方法,工具,环境,管理,规范等。
理论与结构是软件开发的技术基础,包括程序正确性证明理论,软件可靠性理论,软件成本估算模型,软件开发过程模型,模块划分原理等。
软件开发技术包括软件开发方法学,软件工具和软件开发环境。
良好的软件工具可促进方法的研制,而先进的软件开发方法能改进工具。
软件工具的集成构成软件开发环境。
管理技术是提高开发质量的保证,软件工程管理包括软件开发管理和软件经济管理,前者包括人员分配,制定计划,确定标准与配置,而后者的主要内容有成本估算和质量评价。
软件工程的基本目标是提高软件质量,降低软件开发成本为。
{ P183-184 }5.软件生存周期一般可分为哪几个阶段?答:软件生存周期一般可分为:市场分析,可行性研究,以及项目定义阶段;需求分析阶段;设计(总体设计和详细设计)阶段;编码实现阶段;测试阶段;使用与维护阶段等。
{P184-185}6.试比较各种软件开发模型的优点和缺点答:常用的软件开发模型包括瀑布模型.原型模型和螺旋模型。
瀑布模型是软件工程的基础模型。
该模型简单直观,但缺乏灵活性,无法解决软件需求不明确或不准确的问题。
不适合大规模软件项目的开发。
原型模型的优点是支持软件需求开发,该模型提高了开发人员的效率,降低开发费用,缩短开发时间。
原型模型的缺点是容易给人错觉,用户不一定能理解原型与正式系统之间的差别。
管理开销大,并且资源管理也很困难。
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
螺旋模型需要多次迭代,会增加开发成本,延迟提交时间。
{P185-187}7.简述需求分析的任务和过程答:需求分析的根本任务就是要明确项目的目标,也就是准确地回答“系统要做什么”这个问题。
需求本身与系统如何实现是无关的。
对系统的综合需求主要有:系统功能需求.系统性能需求.运行环境需求.将来可能提出的需求。
需求分析过程包括需求的获取.需求分析.需求文档编写.需求管理等一系列活动。
{P196-199}8.简述面向对象的软件工程方法答:面向对象方法在软件工程领域能够全面运用。
它包括面向对象的分析.面向对象的设计.面向对象的编程.面向对象的测试和面向对象的软件维护等主要内容。
面向对象的分析直接针对问题域中客观存在的各项事物建立模型中的对象。
用对象的属性和服务分别描述事物的静态特征和行为。
面向对象的分析主要用于需求分析阶段。
面向对象的设计针对系统的实现运用面向对象方法。
包括把面向对象的分析模型直接搬到面向对象的设计;二是针对具体实现中的人机界面.数据存储.任务管理等因素实现采用与面向对象的分析相同的表示法和模型结构。
面向对象的编程又称作面向对象的实现。
是用一种面向对象的编程语言把面向对象设计模型中的每个成分书写出来。
面向对象的测试是对于用面向对象技术开发的软件,在测试过程中继续运用面向对象技术,进行以对象概念为中心的软件测试。
面向对象的软件工程方法为改进软件维护提供了有效的途径。
程序与问题域一致,各个阶段的表示一致,大大降低了理解的难度。
可提高软件维护效率。
{P193-194}9.什么是软件质量?如何保证软件质量?答:软件质量是指所有描述计算机软件优秀程度的特性的组合。
通俗地说就是,软件满足各功能.性能需求,符合标准的程度,程度高则质量。
IEEE定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体”。
软件质量是各种特性的复杂组合。
它随着应用的不同而不同,随着用户提出的质量要求不同而不同。
用户满意度是衡量软件质量的总体标准。
在软件项目的开发过程中,首先应强调软件总体质量,包括软件正确性.可维护性.健壮性.可用性与效率等多方面。
应在软件工程化生产的整个周期的各个阶段都注意软件的质量。
应制定软件质量标准,定量地评价软件质量。
主要采取的技术措施是审查和测试。
在软件开发的各个阶段都可以分别组织审查和测试,以实现全程的质量管理。
{P199-200}10.简述软件项目管理的内容答:项目管理是指把各种资源组合在一起,在规定的时间.预算和质量目标范围内完成项目的各项工作。
管理工作强调协调各方面的因素,达到整体的最优。
软件项目管理的主要内容包括项目的组织计划.资源管理.质量管理。
其中资源管理包括对项目开发所需的技术.人员.资金等方面的管理。
软件项目管理的手段主要是一系列制度.规范文档和专业管理工具。
{P202-2045}二、练习题(一)填空题1.一个完整的软件包括:____________________________________等几个组成部分。
程序、数据和文档(P62)2、为了便于对照检查,测试用例应由输入数据和预期的_________两部分组成。
输出结果3、结构化语言是介于自然语言和_________之间的一种半形式语言。
形式语言(二)选择题1.在软件开发中,下面任务不属于设计阶段的是______。
A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型D (P185)2.软件维护产生的副作用,是指_____。
A.开发时的错误B.隐含的错误C.因修改软件而造成的错误D.运行时误操作C (P194)3.提高软件质量和可靠的技术大致可分为两大类:其中一类就是避开错误技术,但避开错误技术无法做到完美无缺和绝无错误,这就需要_____。
A.消除错误B.检测错误C.避开错误D.容错B4._____是以提高软件质量为目的的技术活动。
A.技术创新B.测试C.技术创造D.技术评审D (P200)5.面向对象方法学的出发点和基本原则是尽可能模拟人类习惯的思维方式,分析.设计和实现一个软件系统的方法和过程,尽可能接近于人类认识世界解决问题的方法和过程。
因此面向对象方法有许多特征,如软件系统是由对象组成的;________;对象彼此之间仅能通过传递消息互相联系;层次结构的继承。
A.开发过程基于功能分析和功能分解B.强调需求分析重要性C.把对象划分成类,每个对象类都定义一组数据和方法D.对既存类进行调整C (P191)6.软件开发过程中,抽取和整理用户需求并建立问题域模型的过程叫________。
A.可行性研究B.需求分析C.总体设计D.编码实现B (P196)7.为了提高测试的效率,应该________。
A.随机地选取测试数据B.取一切可能的输入数据作为测试数据C.在完成编码以后制定软件的测试计划D.选择发现错误可能性大的数据作为测试数据D (P200-201)8.对象实现了数据和操作的结合,使数据和操作________于对象的统一体中。
A.结合B.隐藏C.封装D.抽象C (191)9.软件测试方法中的静态测试方法之一为________A.计算机辅助静态分析B.黑盒法C.路径覆盖D.边界值分析B (201)10.软件生命周期中所花费用最多的阶段是________A.详细设计B.软件编码C.软件测试D.软件维护D (P185)12.结构化程序设计主要强调的是________A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性D (P188)13.需求分析阶段的任务是确定________A.软件开发方法B.软件开发工具C.软件开发费D.软件系统的功能D (P196)(三)讨论题1.试分析软件何时变得无用?提示:该题主要考虑对软件本质的分析和认识。
软件在运行和使用期间,没有硬件的磨损.老化问题。
但软件维护比硬件维护要复杂得多,软件的故障主是由于对软件的改变和使用环境的变化引起的。
软件的开发和运行对硬件有较强依赖关系。
因此,对于某种具体软件而言,当软件的运行环境变化到一定程度,或对软件的需求变化到一定程度,或者能够运行该软件的硬件退出市场后,这时种软件就会变得无用了。
{P182}2、试论系统开发的分析阶段有什么工作?需求分析阶段主要工作包括需求的获取、分析、编写文档、管理等。
(1)需求的获取需求获取是需求分析阶段的基本活动。
软件的需求来源可以是多方面的,这取决于待开发产品的性质和开发环境。
需求获取的关键是同用户之间的交流,它也是非常容易出现误解和歧义的环节。
需求获取的成功完全依赖于客户和开发者之间的合作效果。
(2)综合分析在需求信息获取的基础上,进行问题分析和方案的综合。
由于需求获取来源的多样性,最初的表达往往是不规范的,描述问题的形式和角度各不相同。
并不是用户提出的所有需求都是合理的,有些甚至是矛盾的,需要用科学的方法,找出系统各元素之间的联系,逐步细化所有的软件功能,接口特性和设计上的限制等。