




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章(1) 名词解释1. 软件答:软件的含义为:1、当运行时,能够提供所要求功能和性能的指令或计算机程序集合;2、该程序能够满意地处理信息的数据结构;3、描述程序功能需求以及程序如何操作和使用所要求的文档7. 软件工程答:软件工程全面的定义为:1、应用系统的、规范的和可量化的方法去开发、运行和维护软件,即软件的工程化应用;2、对1中所述方法的研究(二)问答题4. 什么是软件危机?答:软件危机是20世纪60年代末提出来的。主要表现为:进度拖后按年计、成本超出可多达一个数量级、生产率极低、软件质量低劣到甚至根本不能使用,而且难以管理等。此后,许多工业界的观察员和评论员,包括国内外许多作者所编写的教科书和有关论文,无一例外地都把与软件开发相联系的问题看做软件危机。第二章(1) 名词解释1. 软件工程模式(软件工程范例、软件生存期、软件生存期模型、软件开发过程、软件生存期过程)答:软件工程模式:软件工程包含4个关键元素:方法、语言、工具和过程。方法提供如何构造软件的技术;语言用以支持软件的分析、设计和实现;工具为方法和语言提供自动化或半自动化的支持。软件工程的过程是黏合剂,把方法、语言和工具黏结在一起,它能使计算机软件开发理性化和适时化。软件工程用上面所讨论的一系列方法、语言、工具和过程的步骤所组成。这些步骤通常叫做软件工程模式。有的叫做软件工程范例、软件生存期模型、软件开发过程,也有的叫做软件生存期过程或软件过程等,总之,他们的含义相同。(二)问答题2、 原型开发模型与瀑布模型有何不同?答:原型开发模型就是在项目的早期尽快生产出一个便宜的和简化的系统原型版本,用户对原型进行评价并修改需求,直到该原型能够满足用户的需求为止。而瀑布模型的实质是面向阶段的、线性的或传统的开发策略,除了确认和验证外,其它所有阶段都是线性执行的。4、OO(面向对象)生存期模型与传统的生存期模型有何区别?答:OO(面向对象)生存期模型与传统的生存期模型相比较,在性质上具有更多的递增和迭代的性质。对于软件系统的开发,传统的生存期模型有逻辑数据设计和逻辑过程设计这两个不同的阶段;而OO(面向对象)生存期模型则把这两个阶段合并为一个既包含数据,又包含过程的类,即完成高层分析和设计使用的类应包含数据和服务。第三章(1) 名词解释1. 软件需求答:软件需求是指:1、用户解决问题或达到目标所需的条件或权能;2、系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能;3、一种反映上面1或2所描述的条件或权能的文档说明。7、软件需求规格说明答:软件需求规格说明是在对用户需求分析的基础上,把用户的需求规范化、形式化而写成的。目的是为软件开发提出总体要求,作为用户和开发人员之间的相互了解和共同开发的基础10、数据流图(DFD)答:数据流图是一种描述信息流和数据从输入到输出变换的应用图形技术。DFD可以表示一个系统或软件在任何层次上的抽象。17、数据字典(DD)答:数据字典也叫做需求字典,是描述被定义对象内容的一种准格式语法规则。它包含以下信息:名称,别名,何处用/怎样用,内容描述,附加信息。35.模块独立性答:模块独立性是模块化、抽象和信息隐藏概念的产物,是通过开发具有单一功能和其它模块没有过多交互作用的,模块来达到的。36.聚合答:聚合是信息隐藏概念的一种自然延伸,是模块内部各组成部分之间的联系,是模块功能相对强度的量度。44.耦合答:耦合也是信息隐藏概念的一种自然延伸,是模块与模块之间的联系,是模块之间相对独立性的量度。53. 体系结构设计答:体系结构设计的主要目标是开发一个模块化的程序结构,并给出各个模块之间的控制关系。另外,体系结构设计融合了程序结构和数据结构,接口定义使数据流经程序。体系结构设计包括:1、模块大小;2、深度/宽度与扇出/扇入;3、判定的作用域和模块的控制域。54. 过程设计答:在数据和体系结构建立以后,就可以进入过程设计。过程设计必须定义过程的细节。过程设计包括:1、结构化程序设计;2、图形设计表示法;3、表格设计表示法;4、过程设计语言。65.变换流答:变换流的数据流图是一个线性结构,有输入、变换和输出三部分组成。66. 事务流答:事务流的数据流图有一个事务处理中心,它将输入分为许多互相平行的加工路径,以后根据输入的属性,选择某一加工路径。85. 可重用软件答:可重用模块必须具备某些特殊的性质:1、最重要的是,它们必须都有简单和清晰的接口;2、它们应该有高的自包含,即它们应该尽可能地不依赖任何其他模块或数据结构;3、它们必须提供一些很通用的功能。(二)问答题5.分析员应该具备哪些条件?答:1.有掌握抽象概念,并能把其整理为逻辑划分和根据每一个逻辑划分综合分解的能力;2.有从冲突或混惑中吸取恰当事实的能力;3.有弄清用户环境的能力;4.有把硬件和软件系统用于用户环境的能力;5.有较好的用书面和口头形式进行沟通的能力;6.有“从树木见森林”的能力。10. 数据流图的作用是什么?答:DFD可以表示一个系统或软件在任何层次上的抽象,DFD可以分层表示信息流和功能的进一步细节。12. 数据字典的作用是什么?答:数据字典提供了一种有组织的方式来表示每个数据对象和控制项的特性。第四章(1) 名词解释1. 对象答:客观世界的问题都是由客观世界中的实体及其相互关系构成的,我们将客观世界中的实体抽象为问题空间中的对象。由于研究的问题不同,面向的对象也就不同,因此对象是不固定的,一个人、一把椅子、一本书都可以是一个对象。对象是一个封闭了数据和操作的实体。2. 属性答:属性描述了在特定问题空间中的对象的含义。对象的结构特性由属性表示,数据描述了对象的状态,操作可操纵私有数据改变对象的状态。3. 操作答:描述以某种方式改变对象的一个或多个属性值。操作必须了解对象属性的性质,必须能处理从属性中抽取出来的数据结构。一般包含三大类:1.以某种方式(如添加、删除、修改、选取)处理数据;2.执行一次计算;3.监控对象的某个控制事件发生。5. 消息答:对象不会无缘无故的执行某个操作,只有接受别的对象的请求,才会进行某一操作,这种请求对象执行某一操作或回答某些信息的要求称为消息。对象之间通过消息的传递来实现相互作用。消息是在对象之间必须建立的一种通信机制。8. 继承答:在描述一个类时定义了一组属性和操作,而这些属性和操作可被该类的成员所继承。继承是属性和操作由父类向子类传递,软件的可重用性、 程序成分的可重用性都是通过继承类中的属性和操作而实现的。利用继承性,在定义一个新对象时只需定义其个性,而不必定义对象的全部特征。11. 封装答:封装是将对象的各种独立的外部特征与内部细节分开,即对象的具体数据结构和各种操作实现的细节对于对象外的一切都是隐藏的。对象将其实现细节隐藏在内部,因此无论是对象功能的完善扩充,还是对象实现的修改,影响仅限于改内部对象,而不会对外界产生影响。这也保证了面向软件的可构造性和易扩充性。30. UML答:UML是指统一建模语言,是近年来推出的一种基于OO方法的建模图形语言,用于对软件系统进行说明、构造、可规化和文档的建立。41. 类图答:类图展示了一组类、接口、协作和它们之间的关系。类图通常包括以下4项内容:类、接口、关系和协作。类图可以包含注释和约束。48. 用例图答:用例图展示了一组用例、参与者、系统边界及它们之间的关系。用例图通常包括以下内容:用例、参与者、系统边界、关联、泛化和依赖关系。用例图可以包含注释和约束。(2) 问答题4. 面向对象方法具有哪些主要特征?答:面向对象方法具有对象、类、消息、继承和封装的特征,还有抽象、多态性等特征。抽象就是忽略一个主题中与当前目标无关的那些方面,以便更加充分地注意与当前目标有关的方面。继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种共性方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类得特性,新类称为子类或派生类,而原始类则称为父类或基类。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊需要。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其对象。多态性是指允许不同类额对象对同一消息作响应。多态性包括参数化多态和包含多态性。5. 面向对象的基本要点是什么?答:1.数据的抽象,即类与子类的概念及相互关系;2.数据及对它的操作一体化,即封装的概念与方法;3.属性与操作由父类向子类传递,即继承的概念与方法;4.客观事物之间的相互关系用统一的信息传递方法来描述。6. 面向对象涉及哪几项主要活动?如何对应用系统建模?答:(1)涉及的主要活动有:1.确定对象;2.确定属性;3.定义操作;4.对象间通信;5.完成对象定义;6.确定结构;7.定义主题;8.定义实例联系和消息路径。(2)分析者可以靠说明类、对象、属性和操作这些主要成分为一个问题建模。在建模中综合了对象的分类、属性的继承和消息的通信。7. 面向对象设计设计哪几项主要活动?如何对应用系统设计?答:(1)涉及的主要活动有:1.模块化;2.抽象;3.信息隐藏;4.弱耦合;5.强内聚。(2)系统的设计:1.定义问题;2.为真实世界问题域的软件实现,开发一个非形式化的解决策略(过程描述);3.按下列步骤将非形式化的过程描述形式化。a.确定对象及其属性;b.确定可能适用于对象的操作;c.根据给出的对象和操作间的关系,建立接口;d.确定将为对象提供实现描述的设计细节。4.重复步骤2、3和4;5.细化OOA阶段所做的工作,找出子类、消息性质和其它详尽的细节;6.表示与对象属性关联的数据结构;7.表示与每一操作关联的过程细节。13. UML的主要目的是什么?答:1.使用OO概念为系统(不仅是软件)建模;2.为概念产品与可执行产品之间建立一个清晰的耦合;3.创建一种人和机器都可以使用的语言。14. UML的主要特点是什么?答:1.UML最重要的是将Booch、OMT和OOSE的概念融合在一起;2.UML吸收了现有方法中能够提供的功能,特别是关于并发和分布式系统的描述元素;3.UML使用图形符号和正文语法为系统建模,它们用来描述用户的层次模型,在语义上是UML元模型的实例。15. UML结构由哪些基本元素组成?答:1.UML结构块由事物、关系和图构成。事物包括:结构事物、行为事物、分组事物和注释事物;关系包括:关联、依赖、泛化;图包括:静态、模型图和动态模型图。2.UML规则。包括命名、范围、可见性、完整性、执行;3.UML的公共机制。包括规格说明、修饰、通用划分、扩展机制。23. 什么是RUP?它与Jacobson、Booch和Rumbaugh三人提出的统一软件开发过程有什么不同?它具有哪些特征?答:RUP是统一过程。它是Jacobson、Booch和Rumbaugh三人提出的“统一软件开发过程”中所描述的更通用的过程的一个特定和详尽的实例。它具有以下特征:RUP是一种软件工程过程;RUP是一种过程产品;RUP有自己的过程框架;RUP包含了6项实践并在软件开发过程中担任4个角色。第六章(1) 名词解释18. 软件质量保证答:软件质量保证是一项有计划的、系统的和规范性活动。它包括质量保证策略和质量保证活动。19. 质量保证策略答:质量保证策略是以检测为重点、以过程管理为重点、以新产品开发为重点的基本策略。质量保证从产品计划和设计开始,知道投入使用和售后服务的软件生存期的每一阶段中的每一步骤,每一个有关人员,包括用户、软件开发人员、项目经理、销售人员和软件质量保证小组成员来严把质量关,保证软件的高质量。20. 质量保证活动答:1、技术方法的选用;2、正式技术评审的实施;3、多层次的软件测试;4、标准的执行;5、修改的控制;6、度量和报告制度;7、记录和记录保存;8、SQA小组的活动。52. 软件配置管理答:软件生存期各个阶段的交付项,包括描述程序的文档、程序,以及包含在程序内部或外部的数据,它们组成了整个配置。软件配置管理就是对这些交付项修改的管理。53. 基线答:基线按IEEE1990定义为:已经通过正式技术评审和批准的规格说明或软件产品,它可以作为进一步开发的基础,并只能通过正式修改控制规程才能实现修改。(2) 问答题1、 软件质量的含义是什么?答:软件质量的定义:1、与明确确定的功能和性能需求的一致性;2、与明确成文的开发标准的一致性;3、与所有专业开发的软件所期望的隐含的特性的一致性。35、 CMM结构如何?CMM成熟度分为哪5级?答:CMM是一个概念模型,它给出了一个号软件机构如何开发和维护高质量软件产品的思路,它也是一个描述模型,它描述了一个具有某个级别的软件机构所具有的主要特征,它又是一个系统框架,它为一个软件机构改进其软件过程能提供一种改进的途径。CMM的成熟度级别分为:1级:初始级;2级:可重复级;3级:已定义级;4级:已管理级;5级:优化级。45、 什么是传统软件的量度?它包括哪些量度?答:传统软件的量度是对软件复杂性、软件可靠性、软件可用性和软件安全性的量度。它包括:1、代码行复杂性量度;2、Halstead软件科学量度;3、McCade复杂性量度;4、功能点复杂性量度。51、 Berard定义了哪5个OO软件特殊量度的特性?它们与传统的方法有哪些异同?答:5个OO软件特殊量度特性:1、局域性;传统方法,量度放在函数内部结构和复杂性上(如模块规模、聚合度、环路复杂性等)或放在功能与其它函数(模块)的耦合方式上,OO方法把类(对象)作为一个完整实体的量度。2、封装;传统方法,量度的重点分别在代码行的计数和环路的复杂性,OO方法量度的重点不是单一的模块,而是包含数据(属性)和过程(操作)的包。3、信息隐藏;OO方法和传统方法基本一样。4、继承性;传统不支持这种特性,OO方法中则是一个重要的关键特性。5、抽象。传统方法和OO方法都能用到。OO量度可用一个类度量的项作为抽象的表示。第7章(1) 名词解释1、 软件测试答:软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。2、 黑盒测试答:可以测试系统的每一个功能是否都达到了预期的要求,这种方法叫做黑盒测试。黑盒测试着眼于软件的外部特性,而不考虑软件的内部逻辑结构。黑盒测试是指在软件的接口上进行测试,即看它能否满足功能要求,输入能否被正确地接收,并正确地输出结果,以及能否保持外部信息的完整性等。3、 白盒测试答:若已知产品的内部活动方式,可以测试它的内部活动是否都符合设计要求,这种方法叫做白盒测试。白盒测试检查软件内部的逻辑结构,以仔细检查过程的细节为基础,通过提供一组指定条件和循环的测试用例,对软件的逻辑路径进行测试,可以在不同点检查程序的状态,以确定实际状态与预期状态是否一致。36、纠错答:纠错就是确定错误在程序中的确切位置和性质,并改正它。而纠错的困难在于错误的定位。42、 OOA和OOD评审答:OOA和OOD的评审包括正确性和一致性。正确性:主要涉及如下问题:分析和设计模型所使用的符号,语法是否正确(即模型与真实世界是否一致)?类得关联(实体间的关联)是否正确反映了真实世界对象间的关联?一致性:OOA和OOD模型(包括分析、设计和编码层次(类、属性、操作、消息)不仅正确,而且保持一致性。一致性可以用模型内容各实体间的关联性来判断。(2) 问答题9、 软件测试的过程和步骤是什么?答:软件测试的过程经历测试、评价、可靠性评价、纠错。软件测试实际上分为4步:单元测试、集成测试、确认(功能)测试、系统(实例)测试。它们将顺序地实现。15、 什么是软件测试中的逻辑覆盖?什么是语句、分支、条件、分支/条件、多重和循环覆盖?一般软件测试至少应保证哪些逻辑必须被覆盖?为什么?答:逻辑覆盖又称白盒测试,是以程序内部逻辑为基础的的测试技术。它考虑的是程序内部逻辑覆盖额程度。语句覆盖是指设计的测设用例使程序中的每条语句至少执行以此;分支覆盖是指使程序中每个分支至少有一次“真值”和一次“假值”,或者说每个分支都至少通过一次;条件覆盖是指设计足够的测试用例使分支中的各个条件的所有可能的情况都至少执行一次;分支/条件覆盖设计的测试用例使分支中的各个条件的所有可能结果至少出现一次,同时使各分支本身的所有可能结果也至少出现一次;多重覆盖就是使各个判定中条件的所有可能组合都至少出现一次;循环覆盖也是一种白盒测试技术,主要用来检查循环构造的有效性;一般软件测试至少应保证语句逻辑必须被覆盖,因为语句逻辑是最弱的逻辑覆盖,是其他逻辑覆盖的基础。17、 什么是边界值分析?它与等价划分有什么不同?这种方法如何使用?答:边界值分析也是一种黑盒测试技术,就是在设计测试用例时,选择一些边界值。它与等价划分的区别在于以下两点:1、边界值分析不是从等价类中随便选一个数据作为代表,而是选一个或几个特定值,是这个等价类的每个边界都作为测试的目标;2、边界值分析不仅要考虑输入条件,而且还要考虑输出情况(即输出等价类)。它的使用分为五步:1、如果某个输入条件规定了数据的大小,可以选择正好等于边界值的数据作为贺礼的测设用例,同时还要选择正好越过边界值的数据作为不合理的测设用例;2、如果某个输入条件规定了数据的个数,则可分别设计边界值和超过边界值的测设用例;3、对每个输出条件使用第1条;4、对每个输出条件使用第2条;如果程序的输入或输出是有序集合(如顺序文件、线性表等)则应把注意力放在集合的第一个和最后一个元素上。第八章(1) 名词解释1、 软件维护答:软件维护并不只是修正错误。按维护的性质不同,软件维护可分为:修正维护、适应性维护、完善性维护和预防性维护。软件测试不可能揭露软件系统中所有的潜伏的错误。所以这些程序在使用过程中还将发生错误,诊断和改正这些错误的过程称做改正性维护;为了适应新的环境变化而进行的修改活动,称为适应性维护;软件投入使用并运行的过程中,用户还会不断提出增加新功能、修改现有功能、进行一般性改进的需求。为了满足这些需求,需要进行完善性维护;为了改进软件未来的可维护性和可靠性,或者为了给未来的改进提供更好的基础而对软件进行修改,该活动通常叫做预防性维护。6、 可维护性答:软件的维护的各种特点都受到软件可维护性的影响,所以软件可维护性可以定义为:软件能够被理解、改正、适应和完善,以适应新的环境的难易程度。7、 维护的副作用答:所谓维护的副作用,是指由于修改而导致的错误或其它多余动作的发生。三类主要的副作用:修改代码的副作用;修改数据的副作用;修改文档的副作用。(2) 问答题2. 、软件维护分哪几种类型?根据统计,在软件维护中,哪种类型的维护所占的比重最大?哪种类型的维护所占的比重最小?能说出它们的原因吗?答:软件维护可分为:修正维护、适应性维护、完善性维护和预防性维护。完善性维护所占比重最大,预防性维护所占比重最小。因为一个软件投入使用并正常运行的过程中,用户还会不断提出新功能、修改现有功能、进行很多改进需求;而预防性维护活动较少,并且可以采取再生工程技术。6、 什么是软件维护的副作用?如何预防软件维护的副作用?答:所谓维护的副作用,是指由于修改而导致的错误或其它多余动作的发生。三类主要的副作用:修改代码的副作用;修改数据的副作用;改文档的副作用。预防软件维护的副作用:一般可在回归测试过程中对修改代码的副作用造成的软件故障进行查找和改正;完善的设计文档可以限制修改数据的副作用;在软件再次交付使用前,对整个软件配置进行评审将大大减少修改文档的副作用。第九章(1) 名词解释1、 软件目的和工作范围答:软件目的:确定产品的总体目标(从用户角度),而不考虑其如何具体实现。工作范围:确定与产品相关的主要数据、功能、性能、接口、可靠性及约束。它们的描述必须是无二义性的和可理解的,而且必须是可界定(可度量)的。2、 人力资源答:人力资源就是参与项目开发的人员,一般可以分为4类:用户、开发人员、项目管理者和高级管理者。12、 COCOMO成本模型答:COCOMO成本模型即结构性成本模型,是最精确、最易于使用的成本估算方法之一。(2) 问答题4、成本估算方法有哪几种?它们基于什么原理?答:成本估算方法有基本的两种:自顶向下和自底向上。自顶向下的方法是对整个项目的总的开发时间和总的工作量做出估算,然后把它们按阶段、步骤和工作单元进行分配;自底向上的方法则正好相反,分别估算各个工作单元所需的工作量和开发时间,然后相加,就得出总的工作量和总的开发时间。5、 影响软件成本的主要因素有哪些具体方面?答:主要因素有:系统规模;数据库;系统复杂性;程序类型;文档;环境与项目属性。还有影响成本估算的因素有如:人员、技术、环境、策略、甚至政治等。10、 什么是软件风险?为什么要进行风险分析与管理?答:软件风险就是在软件开发中存在不确定性和损失的风险,它包括项目风险、技术风险和商业风险。风险分析与管理是一系列帮助软件工程小组理解和管理不确定性问题的的步骤。风险是潜在的危险,不管是否发生,识别风险,评价其发生的概率,估算其影响,并建立问题实际发生时的应急计划是非常必要的。11、 软件风险分哪几种类型?每一种类型包括哪些具体内容和问题?答:分为三种类型:项目风险、技术风险和商业风险。项目风险是指潜在的预算、速度、人力、资源、用户需求、项目规模、复
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学物业必考题目及答案
- 西柏坡观后感300字(15篇)
- 我的暑假生活作文生活作文(7篇)
- 时间和位移课件
- 古诗文鉴赏教学计划:古韵今风
- 海上日出文本深度解读与教学建议:小学高年级语文教学案例
- 海外游子诗词欣赏:羁旅情怀的诗词教学教案
- 我想对您说小学生作文15篇范文
- 纪念馆消防知识培训课件信息
- 2025年汽车维修工职业技能鉴定试卷(汽车维修成本控制)
- 民航英语说课课件
- AI大模型数字港口业务架构总体设计方案
- 2025年高考全国一卷英语试题真题文档版(含答案)
- 消化性溃疡疾病的护理
- 模具公司品质管理制度
- 2025-2030年中国少儿期刊出版行业市场深度调研及前景趋势与投资研究报告
- 2025年河南开封水务投资集团有限公司招聘笔试参考题库含答案解析
- 学校食材供应商实地考察核心内容清单
- JG/T 220-2007铜铝复合柱翼型散热器
- 行车安装使用安全协议书
- T/CCAA 39-2022碳管理体系要求
评论
0/150
提交评论