《现代软件工程应用技术》-现代软件工程应用技术习题答案9787568239899杨晶洁_第1页
《现代软件工程应用技术》-现代软件工程应用技术习题答案9787568239899杨晶洁_第2页
《现代软件工程应用技术》-现代软件工程应用技术习题答案9787568239899杨晶洁_第3页
《现代软件工程应用技术》-现代软件工程应用技术习题答案9787568239899杨晶洁_第4页
《现代软件工程应用技术》-现代软件工程应用技术习题答案9787568239899杨晶洁_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目一习题答案一、选择题答案:(1)B(2)C(3)C(4)D(5)C(6)B(7)D(8)D二、填空题答案:1、软件硬件2、检查和诊断机器系统3、软件工具软件工程环境软件工程管理4、方法层过程、技术层5、对象三、简答题1.什么是软件?软件包含哪些内容?答:软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。2什么是软件危机?软件危机有哪些表现形式?答:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括地说,主要包含两方面的问题:如何开发软件,怎样满足对软件日益增长的需求;如何维护数量不断膨胀的已有软件。软件危机的主要表现如下:(1)对软件开发成本和进度的估计常常很不准确。(2)用户对“已完成的”软件系统不满意的现象经常发生。(3)软件产品的质量常常靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占比例逐年上升。(7)软件开发速度跟不上计算机硬件的发展速度。3.软件生命周期各个阶段是如何划分的?试述各阶段的基本任务。答:任何一个软件产品或者软件系统就像人的生存周期(孕育、诞生、成长、衰亡)一样,都要经历软件定义、软件开发、运行维护(三个大的时期)直至被淘汰这样一个全过程,这个过程可以分别分成若干个阶段,每个阶段相对独立又彼此有联系。上一阶段的工作是下一阶段工作的依据,下一阶段是上一阶段的进化,而且更接近于问题的解决。具体讲,软件生存周期大致可以分为7个阶段:问题定义、可行性分析和项目开发计划、需求分析、设计、编码、测试、运行和维护。其中:(1)软件定义时期:这个时期的主要任务是定义所要开发的软件,主要解决的问题是待开发的软件要“做什么”的问题。通常把软件定义时期又进一步划分为问题定义、可行性分析和项目开发计划和需求分析三个阶段。(2)软件开发时期:本时期的主要任务是设计和实现在前一个时期所定义的软件,主要解决的问题是该软件“怎么做”的问题。它通常由下述四个阶段组成:概要设计,详细设计,编码和测试。其中前两个阶段又称为系统设计,常用的设计方法有结构化设计方法和面向对象设计方法,后两个阶段又称为系统实现。(3)运行和维护时期:本时期的主要任务是保证软件在一个相当长的时期内能够持久地正常运行。本阶段是软件生命周期的最后一个阶段,也是持续时间最长,代价最大的一个阶段。软件工程学的主要目的就是提高软件的可维护性,并降低维护的代价。把整个生存周期划分为若干个阶段,是实现软件生产工程化的重要步骤。赋予每个阶段相对独立的任务,逐步完成每个阶段的任务,能够简化每个阶段的工作,容易确立系统开发计划,还可以明确系统各类开发人员的分工与职务范围,以便分工协作,保证质量。每个阶段都要有技术审查和管理复查,从技术和管理两方面对这个阶段的开发成果进行检查,及时决定系统是否继续进行,还是停工或是返工。应防止到开发结束才发现进行工作存在的问题造成不可挽回的损失和失败的浪费现象。每个阶段都进行复审,主要检查是否有高质量的文档资料,前一个阶段结束了,后一个阶段才能开始。4.常见的传统结构化开发模型有哪些?各自有什么特点?答:瀑布模型的特点: 符合软件开发的思维过程,并且容易理解和运用。 通过设置里程碑,明确每阶段的任务与目标。 支持结构化软件开发,可为各阶段制定开发计划,进行成本预算。 通过阶段评审,将开发过程纳入正确轨道。 严格的计划性保证软件产品的按时交付。快速原型的特点: 渐增型 用于验证软件需求的原型 用于验证设计方案的原型(1)用户参与了软件系统开发的所有阶段,从而使用户的需求可以及时地准确地得到满足,系统的实用性较强。(2)采用快速原型模型,用户可以尽早地接触和使用未来系统的原型,有利于后期的使用和维护。(3)快速原型模型开发软件,其周期大为缩短,开发费用较少,而瀑布模型的特点是周期长、费用高。(4)和瀑布模型比较,快速原型模型更适用于解决有不确定因素的问题或用户界面要求高的中型系统。螺旋模型的特点:(1)设计上的灵活性,可以在项目的各个阶段进行变更。(2)以小的分段来构建大型系统,使成本计算变得简单容易。(3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。(4)随着项目推进,客户始终掌握项目的最新信息,从而能够和管理层有效地交互。(5)客户认可这种公司内部的开发方式能带来的良好的沟通和高质量的产品。喷泉模型的特点:(1)喷泉模型不像瀑布模型各个阶段有明显的界限,所以开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。(2)由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随时加入各种信息、需求与资料的情况。构件组装模型的特点:(1)构件组装模型导致了软件的复用,提高了软件开发的效率。(2)构件可由一方定义其规格说明,被另一方实现,然后供给第三方使用。(3)构件组装模型允许多个项目同时开发,降低了费用,提高了可维护性。(4)可实现分步提交软件产品。5.简述结构化方法(面向过程)和面向对象方法的区别?解答:(1)处理问题时的出发点不同结构化方法强调过程抽象化和模块化,以过程为中心;面向对象方法强调把问题域直接映射到对象及对象之间的接口上,用符合人们通常思维方式来处理客观世界的问题。(2)处理问题的基本单位和层次逻辑关系不同结构化方法把客观世界的问题抽象成计算机可以处理的过程,处理问题的基本单位是能够表达过程的功能模块,用模块的层次结构概括模块或模块间的关系和功能;面向对象方法是用计算机逻辑来模拟客观世界中的物理存在,以对象的集合类作为处理问题的基本单位,尽可能使计算机世界向客观世界靠拢,它用类的层次结构来体现类之间的继承和发展。(3)数据处理方式与控制程序方式不同结构化方法是直接通过数据流来驱动,各个模块程序之间存在着控制与被控制的关系;面向对象方法是通过用例(业务)来驱动,是以人为本的方法,站在客户的角度去考虑问题。6.阐述结构化方法(面向过程)和面向对象方法的优缺点?项目面向对象结构化设计基本思想自底向上设计库类自顶向下设计过程,逐步求精,分而治之概念或术语名词对象、类、消息、继承等过程、函数、数据等编程的语言C++、VB、JAVA等C、BASIC、FORTRAN等逻辑工具对象模型图、数据字典动态模型图、功能模型图数据流图、系统结构图、数据字典状态转移图、实体关系图处理问题的出发点面向问题面向过程控制程序方式通过“事件驱动”来激活和运行程序通过设计调用或返回程序可扩展性只需修改或增加操作,而基本对象结构不变,扩展性好功能变化会危及整个系统,扩展性差重用性好不好层次结构的逻辑关系用类的层次结构来体现类之间的继承和发展用模块的层次结构概括模块和模块之间的关系和功能分析、设计、编码的转换方式平滑过渡,无缝连接按规则转换,有缝连接运行效率相对低相对高项目二习题答案一、判断题答案:12×3×456二、选择题:答案1.B2、A.B3、ACD4、B5、D6、A7、A三、简答题答:1、UML的定义是什么?它的组成部分有哪些?UML(UnifiedModelingLanguage)为面向对象软件设计提供统一的、标准的、可视化的建模语言。UML用来描述模型的内容主要由三部分构成:一是事物(Things);二是关系(Relationships);三是图(Diagrams)。2、如何识别参与者?答:系统的参与者可分为两类,一类是人,包括系统的使用者、维护者等,另外一类是其他系统。3、类和对象之间有什么类似之处?答:都有名称、属性和方法,类是由对象抽象出来的。4、在类图中,多重性表示什么?答:1┅*:多重性(用数字和*表示)1个或多个;5、时序图和协作图的差别是什么?答:协作图和时序图都表示出了对象间的交互作用,但是它们侧重点不同。时序图清楚地表示了交互作用中的时间顺序(强调时间),但没有明确表示对象间的关系。协作图清楚地表示了对象间的关系(强调空间),但时间顺序必须从顺序号获得。协作图和时序图可以相互转化。项目三习题答案一、填空题答:1、软件功能和性能2、分析和归纳找出规律3、由顶向下4、召开审查大会5、问题定义报告6、写出需要分析报告7、不断认识逐步细化“做什么”“值得做否”二、选择题:答:1.A2、.D三、简答题1.需求分析阶段的主要任务是什么?答:一般说来,需求分析阶段的任务包括下述几方面。(1)确定对系统的综合需求(2)分析系统的数据需求(3)导出系统的逻辑模型(4)修正系统开发计划(5)开发原型系统2.需求分析要经过哪些步骤?答:需求分析一般分为4个步骤:获取需求、提炼需求、描述需求和验证需求。3.需求分析有哪两种主要分析方法?它们各自的分析步骤是什么?答:结构化分析方法的基本步骤是采用由顶向下对系统进行功能分解的方法,画出分层数据流图;由后向前定义系统的数据和加工,绘制数据词典和加工说明;最终写出软件需求规格说明书。结构化分析的方法是对业务需求采取了数据“输入-加工-输出”,数据与数据加工相分离,在分析中着重于功能的分解。面向对象分析(Object-OrientedAnalysis,OOA)是利用面向对象的概念和方法来开发一系列模型,这些模型描述计算机软件,从而满足客户定义的需求。使用面向对象分析方法进行应用系统需求分析时,不是从考虑对象开始,而是从理解系统的使用方式开始。如果系统是人机交互的,则考虑人使用的方式;如果系统涉及过程控制,则考虑机器使用的方式;如果系统是协调和控制应用的,则考虑其他程序使用的方式。面向对象分析方法从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后建立对象关系、对象行为模型。4.软件需求分析规格说明书由哪些部分组成?各部分的主要内容是什么?答:软件需求规格说明书简称为需求说明,它是软件项目计划与软件项目实施之间的桥梁,是软件设计的依据,因此必须具有准确性和一致性。任何含混不清、前后矛盾或者某个微小的错漏,都可能导致误解或铸成系统的大错,在纠正时将会付出巨大的代价。软件需求规格说明书的内容:【引言】编写目的:阐明编写需求说明书的目的,指明读者对象。项目背景:包括项目的用户单位、开发单位等经济关系;该软件系统与其他系统的关系。定义:列出文档中所用到专业术语的定义和缩写词的原文。参考资料:包括项目核准的计划任务书、合同或上级批文;项目开发计划;文档所引用的资料、规范和标准。同时,列出这些资料的作者、标题、编号、发表日期、出版单位或资料来源。【任务概述】目标。运行环境。【功能需求】功能划分。功能描述。【性能需求】数据精确度。时间特性:包括响应时间、更新处理时间、数据转换传输时间、运行时间等。适应性:在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。【运行需求】用户界面:包括屏幕格式、报表格式、菜单格式、输入/输出等。硬件接口。软件接口。故障处理。【非功能性需求】软件系统的可使用性、安全保密性、可维护性、可移植性等。5.什么是结构化分析方法?该方法使用什么描述工具?答:结构化分析方法是是最经典的面向数据流的需求分析方法。结构化分析方法是结构化方法家族中的一员,在结构化方法家族中还有结构化分析方法、结构化程序设计方法等。结构化分析方法适用于数据处理类型软件的需求分析,它提供的工具包括数据流图、数据字典、判定表和判定树。项目四习题答案一、填空题答:1.理解系统的“使用实例”2.结构化分析方法3.对象模型、对象关系模型、对象行为模型。4.类二、选择题答:1.B2.B3B.三、思考题1.什么是面向对象技术?面向对象方法的特点是什么?答:面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然地描述客观世界中的有关事物。面向对象技术的基本特征主要有抽象性、封装性、继承性和多态性。2.什么是类?类与传统的数据类型有什么关系?答:类是对一类具有相同特征的对象的描述。传统的数据类型只能描述类的属性。3.怎样进行领域分析?答:领域分析的目标是发现或创建可广泛应用的类,使它们可以被复用,在某个特定的应用领域中,公共的、可复用的标识、分析和规约,表现形式为公共的对象、类、部件和框架。步骤如下:4.类和对象之间的关系?答:对象的基本特征是由对象的属性和操作组成的,一个类就是描述了此类对象的属性和操作。任何对象都是某个类的实例。5.简述面向对象需求分析的步骤?答:面向对象分析方法进行应用系统需求分析时,不是从考虑对象开始,而是从理解系统的使用方式开始。如果系统是人机交互的,则考虑人使用的方式;如果系统涉及过程控制,则考虑机器使用的方式;如果系统是协调和控制应用的,则考虑其他程序使用的方式。面向对象分析方法从理解系统的“使用实例”开始,基本步骤是:定义系统的用例,在领域分析的基础上建立问题域的类(对象模型),然后建立对象关系、对象行为模型。项目五习题答案一、填空题答:1.结构化软件设计、面向对象软件设计2.概要设计文档、详细设计3.面向数据流4.面向对象分析模型5.客户端/服务器6.数据管理设计。7.对象的描述8.算法和数据结构设计、程序构件和接口设计。二、思考题1.简述结构化软件设计的实施步骤。答:结构化的软件设计方法是一种面向数据流的设计方法,在面向数据流的方法中,数据流是考虑一切问题的出发点。结构化软件设计方法的中心任务就是把数据流图表示的系统分析模型转换为软件结构的设计模型,利用结构图(StructureChart,SC)来确定软件的体系结构与接口,从而描述软件的总体结构。结构化设计方法的实施要点是:首先研究、分析和审查数据流图,从软件的需求规格说明中明确数据流加工的过程;其次根据数据流图决定问题的类型,通常有两种典型类型:变换型和事务型,针对不同的类型分别进行分析处理;然后由数据流图推导出系统的初始结构图;最后改进系统的初始结构图,直到获得符合要求的结构图为止。2.简述结构化软件设计变换型分析和事物型分析的过程。答:变换型分析过程:1)重新分析数据流图重新分析数据流图的出发点是描述系统中的数据是如何流动的,从而绘制数据流图。2)找出系统的逻辑输入、逻辑输出和中心变换部分为了确定系统的逻辑输入和输出,可以从数据流图的物理输入端开始直到数据流不再被看做是系统的输入为止,构成软件的输入部分。从物理输出端到逻辑输出,构成软件的输出部分;输入部分和输出部分之间是中心变换部分。3)给软件结构分层首先设计一个主模块,并用系统的名字为它命名,作为结构的顶层,也就是结构的第0层,它的功能是调用下一层模块,从而推动完成系统所要做的各项工作。主模块设计好之后,紧接着是结构图的第1层设计,在软件结构的顶层和第1层设计好以后,进行二级分解,自顶向下、逐步细化。事务分析方法的具体步骤如下:1)明确事务源利用需求分析得到的数据流图和数据词典,从问题定义和需求分析的结果中,能识别出需要处理的事务。通常,事务来自物理输入设备。2)规划适当的事务型结构在确定数据流图所具有的事务型特征之后,根据模块划分的合理性,建立适当的事务型系统结构图。3)建立事务处理模块在事务分析中,如果发现在系统内有类似的事务,可以把它们组成一个事务处理模块。4)定义操作模块所实现的全部细节模块3.面向对象设计的任务是什么?请画出将面向对象分析转换为设计模型的过程。答:在软件设计阶段,主要任务是体系结构设计、数据设计、过程设计和接口设计。在面向对象设计中,体系结构的设计表现为具有控制流程对象之间的协作,数据和过程被封装为类/对象的属性和操作,接口被封装为对象之间的消息。分析模型设计模型对象-关系模型消息设计类与对象建模类与对象设计用例、对象-行为模型系统设计4.在面向对象设计中系统设计的过程是什么?答:划分子系统;确定需要并行运行的子系统,并为它们分配处理器;描述子系统之间的通信;确定系统资源的管理和控制;确定人机交互(用户界面)构件;选择实现数据管理和任务管理的基本策略。项目六习题答案一、选择题答:1.B2、B3.A4.A.二、简答题1.详细设计的基本任务主要有哪几点?答:详细设计的主要任务就是确定软件各个组成部分的算法以及各部分的内部数据结构和各个组成部分的逻辑过程。2.详细设计时应该遵守哪些原则?答:在详细设计阶段,要设计各个模块的实现方法,并精确地表达各种算法,为此,需要采用恰当的表达工具。表达过程说明的工具叫做详细设计工具,它可分为如下三类:·图形工具。把设计细节用图形方式描述出来。·表格工具。用表格表达过程细节,表格列出各种可能的操作及条件,描述了输入、处理、输出信息。·语言工具。可以用高级语言的伪码来描述过程细节。3.传统的软件设计工具有哪些?答:传统的表达工具一般包括流程图、伪语言。4.设计用户界面时应该注意哪些问题?答:置界面于用户的控制之下,减少用户的记忆负担,保持界面的一致性。5.设计数据库时应该把握哪些原则?答:不同的数据存储管理模式,相应的操作方法设计也不同。(1)关系型数据库管理系统。被存储的对象需要知道应该访问哪些数据库表,如何访问所需要的行,以及如何更新。另外,还要定义一个ObjectServer类,声明它的对象提供以下服务:·通知对象保存自己。·检索已存储的对象,以便其他子系统使用。(2)面向对象数据库管理系统。·扩展的关系型数据库途径:与关系型数据库管理系统定义数据格式的方法相同。·扩展的面向对象程序设计语言途径:无须增加操作,在数据库管理系统中已经为每个对象提供了“存储自己”的行为。项目七习题答案一.选择题答:1.B.2.A.3.C.4.B5.A.6.B二、简答题1.如何评价一个好的程序员?好的程序员应该有哪些素质?答:1)团队合作意识。项目开发是一个团队的工作,所以,要求每个层次的工作人员都要具有团队精神和协作能力,把高水平程序员说成是独行侠是不切实际的,任何个人的力量都是有限的,所以,要求程序员时刻想着团结才能胜利,不能单打独斗。2)培养模块化思维能力。程序编写过程中,程序员的很多工作都是重复的,这样,就会浪费很多人力,这时,就应该提倡程序的模块化工作,将很多重复的工作独立定义为模块,这样,以后再次用到就可以重复使用了。有些软件研发单位,如果在每次研发过程中都能考虑到这些问题,就能避免浪费大量的时间。而一些小公司,只要一升级,全部代码重写,浪费了程序员宝贵的时间和精力。3)培养测试习惯。很多人认为,项目组中的测试人员是专门来做测试的,所以,经常将测试工作推到测试组,不进行自测,这是错误的。一个问题越早解决,它的代价就越低,所以,程序员要保证自己写的代码段是正确、无误的才可以交付。2.程序员升为项目经理后是否还要编程?答:需要,只是适当就可以,否则技术管理能力会落后。3.目前开发信息管理系统软件主要会使用哪些开发工具?能否在项目实施阶段,不同的程序员用不同的开发工具?答:C#或JAVA较适合该系统的开发。4.程序中的注释越多越好吗?试举例说明。答:不是。/*定义学生类型*/structstudent{intnum;/*定义学生学号*/charname[10];/*定义学生姓名*/intscore[5];/*定义学生成绩*/intsum;/*定义学生总分*/intaver;/*定义学生平均分*/intmc;/*定义学生名次*/}stu[5];/*定义学生数组*/这样的注释,面面具到,显然不好5.编程语言选择时应该注意什么?答:1)二义性程序设计语言通常是无二义性的,编译程序总是根据语法,按一种固定方法来解释语句,但有些语法规则易使人用不同的方式来解释语言,这就产生了心理上的二义性。2)简洁性程序员要掌握一种语言,就要记住语句的种类和格式、各种数据类型、各种运算符、各种内部函数和内部过程,这些成分数量越多,简洁性越差,程序员越难以掌握。3)局部性和顺序性人的记忆特性对使用语言的方式有很大的影响。局部性指语言的联想性,在编码过程中,由语句组合成模块,由模块组装成系统结构。并在组装过程中实现模块的高内聚、低耦合,使局部性得到加强,提供异常处理的语言特性则削弱了局部性。4)可重用性软件公司的利润,在很多程度上与编程语言能否提供可重用的软件成分有关,复用的模块数越多,工作量就越少。5)可维护性项目开发后期的主要开销是维护工作,所以源程序的可维护性对复杂的软件开发项目尤其重要,选择程序设计语言时,源程序的可读性、语言文档化特性对软件的可维护性具有重大影响,必须考虑到项目的可维护性问题,越是功能强大的语言,其维护性越强。6)可移植性可移植性是指程序从一个计算机环境移植到另一个计算机环境的难易程度。计算机环境是指不同机型、不同的操作系统版本及不同的应用软件包。项目八习题答案一、选择题答:1.A2.B3.C4.A5.A6.B7.D8.B.D9.D.10.B.11.A.12.C.二、简答题1.常用的黑盒测试用例设计方法有哪些?各有什么优缺点?答:(1)等价类划分等价类划分法是典型的黑盒测试方法,该方法设计测试用例时完全不必考虑软件结构,只需考虑需求规格说明书中的功能要求。等价类划分法是把程序的输入域划分成若干部分,然后从每个部分中选取少数代表性数据当作测试用例。(2)边界值分析法边界值分析法是一种补充等价类划分法的测试用例设计技术,它不是选择等价类的任意元素,而是选择等价类边界的测试用例。(3)错误推测法使用等价类划分和边界值分析技术,可以帮助我们设计出具有代表性的,因而也就容易暴露程序错误的测试方案。但是,不同类型、不同特点的程序通常又有一些特殊的容易出错的情况。(4)因果图法前面所介绍的等价分类法和边界值分析法,都着重考虑输入条件,但未考虑输入条件之间的关系。因果图方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。2.白盒测试的方法都有哪些?答:(1)逻辑覆盖法逻辑覆盖法是以程序内部的逻辑结构为基础的测试技术,它考虑的是测试数据执行程序的逻辑覆盖程度。(2)路径覆盖法在实践中,一个不太复杂的程序,其路径组合可能是一个庞大的数字,要在测试中覆盖所有的路径是不现实的。所以,需要把覆盖的路径数压缩到一定限度内。基本路径覆盖就是这样一种方法,它在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径的集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每一条可执行语句至少被执行一次。3.软件的测试步骤是什么?答:单元测试、集成测试、确认测试、系统测试和验收测试4.调试的策略都有哪些?答:1)设置断点2)单步执行3)输出调试信息4)日志5)事件追踪6)转储文件7)栈回溯8)观察和修改数据5.面向对象测试由那几个部分组成?答:面向对象测试包括三部分,面向对象分析测试(OOATest)、面向对象设计测试(OODTest)、面向对象编程测试(OOPTest)。6.什么是软件测试?软件测试的目标有哪些?答:软件测试是为发现错误而执行的一个程序或系统的过程”。测试的目的包括以下几点:(1)测试是程序的执行过程,目的在于发现错误。(2)测试是为了证明程序有错,而不是证明程序无错误。(3)一个好的测试用例是在于它能发现至今未发现的错误。(4)一个成功的测试是发现了至今未发现错误的测试。测试的下列目标为:(1)确保产品完成了它所承诺或公布的功能,并且所有用户可以访问到的功能都有明确的书面说明。(2)确保产品满足性能和效率的要求。使用起来系统运行效率低(性能低)、或用户界面不友好、用户操作不方便(效率低)的产品不能说是一个有竞争力的产品。(3)确保产品是健壮的和适应用户环境的。健壮性即稳定性,是产品质量的基本要求,尤其对于一个用于事务关键或时间关键的工作环境中。7.黑盒测试与白盒测试有什么区别?答:黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。是一种从用户观点出发的测试。用这种方法进行测试时,被测程序被认为是一个打不开的黑盒子,在不考虑程序内部结构和内部特征,测试者只知道该程序输入和输出之间的关系或程序功能的情况下,依靠功能需求规格说明书,来确定测试用例和推断测试结果的正确性。白盒测试也称作结构测试或逻辑驱动测试,它是知道产品内部工作过程,通过测试来检测产品内部程序是否按照规格说明书的规定正常进行。按照程序内部的结构测试程序,检验程序中的每条通路是否都能按预定要求正确工作,而不考虑它的功能。8.软件维护的内容是什么?答:改正性维护:诊断和改正在系统开发阶段已发生而系统测试阶段尚未发现的错误的过程称为改正性维护。适应性维护:是为了适应变化了的环境和管理需求而进行的修改软件的活动。完善性维护:是为了满足用户在使用过程中提出增加新的功能或修改已有功能,是满足用户日益增长的需要而进行的工作;预防性维护:为了改进应用软件的可靠性和可维护性,为了适应未来的软硬件环境的变化,而增加预防性的新的功能而修改软件的工作。9.什么是软件的可维护性?如何衡量软件的可维护性?答:软件的可维护性就是软件能够被维护人员理解、校正、适应及增强功能的容易程度。简言之就是指软件维护的难易程度.要做到软件的可维护性(可理解、可测试、可修改、可靠性、可移植性、可使用性、效率)要注意以下3点:1)建立明确的软件质量目标和优先级,可使用提高软件质量的技术和工具,如:面向对象技术,软件体系结构思想等;2)进行明确的质量保证审查;选择可维护的程序设计语言;3)做好程序的文档等等。4)具体如何维护?例如维护网站,最主要的就是看看网站上有何设计上的漏洞,定期检查网站邮箱的收取和整理。局域网的维护就是故障的排除,当一个局域网出现问题时,你能独立的进行解决,查看一下网络连通性等方面是否有故障,多了解一些网络知识就行。例如:IIS,防火墙,pop,网络安全等方面的知识。答:10.在软件开发过程中应该采取哪些措施提高软件产品的可维护性?建立明确的软件质量目标,使用先进的软件开发技术和工具,建立明确的质量保证进行明确的质量保证审查,选择可维护的程序设计语言,改进程序的文档。项目九习题答案一、填空题答:l.管理文档、用户文档2.国际标准、国家标准、行业标准、企业标准、项目标准。二、思考题答:1.实施软件工程标准化能给开发工作带来什么益处?解决软件危机仅靠技术措施是非常困难的,需要有先进的管理措施。人们更注重项目管理和采纳形式化的标准和规范,并以各种生命周期模型来指导项目的开发进程。软件工程的范围从当初只是使用程序设计语言编写程序,扩展到整个软件生存周期,同时还有许多技术管理工作(如过程管理、产品管理和资源管理)以及确认与验证工作(如评审和审计、产品分析和测试等),这些都已成为软件工程标准化的内容。2.简述国际标准ISO9000-3在软件行业相关部分的主要内容。答:(1)ISO9000—3标准仅适用于依照合同进行的订货软件开发,也就是在按照双边合同进行的软件开发过程中,需方彻底要求供方进行质量保证活动的标准。(2)ISO9000—3标准对供需双方的责任都做了明确的规定,并没有单纯地把义务全加在供方。(3)对包含合同在内的全部工序进行审查,并彻底文档化。(4)在ISO9000—3标准中,指南性地叙述了供需双方应如何合作才能进行有组织的质量保证活动以制作出完美的软件。(5)供方应实施内部质量审核制度。(6)合同审查,在ISO9000-3中规定供方应对每项合同进行审查。(7)需方的需求规格说明,这是针对软件特点而加入的内容。(8)开发计划管理,这是ISO9000-3的核心内容之一。(9)质量计划管理,这是开发计划管理的组成部分。(10)设计和实现,这是开发的具体化,即直接把用户需求规格说明转换成软件产品活动。(11)测试和验证,测试需要从各个软件单元到完整的软件产品。(12)验收。当供方已对产品进行认证,准备交付时,供需双方一起进行验收活动。(13)复制、交付和安装。(14)配置管理,版本变更与升级。(15)文档控制,包括工作程序文档、计划文档、产品文档的建立、审批和发布等。(16)质量记录,包括质量记录的认同、收集、索引、文件化、存储和维护。(17)测量,对软件产品的开发、生产过程进行测量。(18)采购,供方应确保购入的产品或服务符合指定的要求,并归档。(19)培训,通过教育、训练、实习等方式,提高对质量发生影响的所有人员的素质和水平。(20)其他支持。供方应提供开发与管理的工具和技术等。3.依据软件项目开发中的经验,试总结编写开发文档的经验。答:1)必须描述如何使用这个系统,没有这种描述即使是最简单的系统也无法使用。2)必须描述怎样安装和管理这个系统。3)必须描述系统需求和设计。4)必须描述系统的实现和测试,以便使系统成为可维护的。4.描述各软件工程标准之间的区别?答:(1)国际标准。国际标准主要由国际联合机构制定和公布,提供各国参考的标准,其中最著名的就是ISO(InternationalStandardsOrganization)国际标准化组织。(2)国家标准。国家标准由国家政府机构制定、批准,是适用于全国范围的标准。·GB:中国国家技术监督局是中国的最高标准化机构,它所公布实施的标准简称“国标”,常以“GB”字母开头。·ANSI:美国国家标准协会。·Bs:英国国家标准。·JIs:日本工业标准。(3)行业标准。行业标准由行业机构、学术团体制定,并适用于某个业务领域的标准,如IEEE(InstituteofElectricalandE1ectronicsEngineers)—美国电气与电子工程师学会。(4)企业标准。企业标准又称为企业规范,是一些大型企业或公司制定的适用于本组织的规范。例如,美国IBM公司制定的《软件程序设计开发指南》仅供该公司内部使用。(5)项目标准。项目标准又称为项目规范,是由某一科研生产项目组织制定的,且为该项任务专用的软件工程规范。5.项目开发总报告应该包含哪些内容?答:1)可行性分析(研究)报告2)系统开发计划3)软件需求分析报告4)软件测试计划5)系统结构设计说明书6)详细设计说明书7)软件测试报告8)项目开发总结报告项目十习题答案一、填空题答:l.资源、有效、控制2.计划、责任组织3.时间管理、质量管理4.资源视图二、思考题1.MicrosoftProject2013系列产品有哪些版本?各种版本又有哪些特点?答:第一版微软Project为微软ProjectforWindows95,发布于1995年。其后版本各于1998、2000、2003、2006、2010年发布。第一个版本的MicrosoftProject是于1984年一家与微软合作的公司发布给DOS使用。微软于1985年买了这个软件并发布第二版本的Project。第三版本的Project于1986年发布。第四版本的Project也于1986年发布,这是最后一个DOS版本的Project。第一个Wind

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论