软件工程习题 大家参考一下_第1页
软件工程习题 大家参考一下_第2页
软件工程习题 大家参考一下_第3页
软件工程习题 大家参考一下_第4页
软件工程习题 大家参考一下_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、 精品文档就在这里-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- - 一:1什么是软件?软件可以分类为那些? 软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。系统软件 操作系统, 数据库管理系统, 设备驱动程序, 通信处理程序等 支撑软件 文本编辑程序,文件格式化程序,磁盘向磁带向数据传输的程序, 程序库系统,支持需求分析、设计、实现、测试和支持管理的软件 应用软件 商业数据处理软件, 工程与科学计算软件, 计算机辅助设计制造软件, 系统仿真软件, 智能产品嵌入软件, 办公自动化软件, 计算机辅助教学软件 可复用软件 软件构件

2、2什么是软件工程? 软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好技术结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。 3软件生存期由哪3个时期组成?每个时期又划分为哪些阶段? 软件定义时期问题定义、可行性研究和需求分析。 软件开发时期由概要设计、详细设计、编码和测试4个阶段组成 软件运行维护时期改正性维护,适应性维护,完善性维护,预防性维护 4软件生存期模型有哪些? 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 统一过程 5软件工程知识体系包括那些知识域?

3、二:1软件工程三要素是什么? 三要素:方法、工具和过程。 软件工程方法为软件开发提供了 “如何做” 的技术; 软件工具为软件工程方法提供了自动的或半自动的软件支撑环境; 过程是为了获得高质量的软件所需要完成的一系列任务框架,它规定-精品 文档- 精品文档就在这里 -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- - 了完成各项任务的工作步骤 2结构化方法的基本思想是什么? 把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。 3面向对象方法是以什么概念为基础的方法? 面向对象方法(Object

4、-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。 4什么是形式化方法? 形式化方法是一种基于形式化数学变换的软件开发方法,它可将系统的规格说明转换为可执行的程序。 5UML的特点。 1)统一标准 UML不仅统一了Booch、OMT和OOSE等方法中的基本概念,还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影响。已经成为OMG的标准。 (2)面向对象 UML支持面向对象技术的主要概念,它提供了一批基本的表示模型元素的图形和方法,能简洁明了地

5、表达面向对象的各种概念和模型元素。 (3)可视化,表达能力强大 UML是一种图形化语言,用UML的模型图形能清晰地表示系统的逻辑模型或实现模型。UML还提供了语言的扩展机制,用户可以根据需要增加定义自己的构造型、标记值和约束等。 (4)独立于过程 UML是系统建模的语言,不依赖特定的开发过程。 (5) 容易掌握使用 UML概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。 (6)与编程语言的关系 支持UML的一些CASE工具(如Rose)可以根据 UML所建立的系统模型自动产生Java、C+ 等代码框架。 三1结构化分析方法 结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化

6、设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。 四1软件设计的原则。 1) 分而治之 2) 分而治之是人们解决大型复杂问题时通常采用的策略。将大型复-精品 文档- 精品文档就在这里- -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 杂的问题分解为许多容易解决的小问题,原来的问题也就容易解 决了。 3) 模块独立性模块的独立性是指软件系统中每个模块只涉及软件要求的具体的4) 子功能,而和软件系统中其他的模块的接口是简单的。例如,若一

7、个模块只具有单一的功能且与其他模块没有太多的联系,那么, 我们则称此模块具有模块独立性 5) 提高抽象层次抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充6) 分地注意与当前目标有关的方面。当我们进行软件设计时,设计开始时应尽量提高软件的抽象层次,7) 按抽象级别从高到低进行软件设计8) 复用性设计将复用复用是指同一事物不做修改或稍加修改就可以多次重复使用。 的思想用于软件开发,称为软件复用。 我们将软件的重用部分称为软构件。可以直接使用已有也就是说,在构造新的软件系统时不必从零做起, 的软构件即可组装(或加以合理修改)成新的系统。 9) 灵活性设计 保证软件灵活性设计的关键是抽象。1

8、0) 越接近金字塔的顶端,面向对象系统中的类结构类似一座金字塔,11) 抽象程度就越高。一个系统的任何代码、理想情况下,的反义词是“具体”。“12) 抽象”逻缉、概念在这个系统中都应该是唯一的,也就是说不存在重复 的代码。 结构化软件设计划分为哪两个阶段?设计任务分别是什么? 213) 概要设计阶段和详细设计阶段。14) 系结构设计:体系结构设计定义软件的主要结构元素及其之间15) 体 的关系。口设计:接口设计描述用户界面,软件和其他硬件设备、其他接16) 以及各种构件之间的内部接口。软件系统及使用人员的外部接口,据设计:传统方法主要根据需求阶段所建立的实体关系图数17) ER图)来确定软件涉

9、及的文件系统的结构及数据库的表结构。(过程设计:过程设计的主要工作是确定软件各个组成部分内的算 法及内部数据结构,并选定某种过程的表达形式来描述各种算法。- 精品- 文档 精品文档就在这里- -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 3什么是模块?模块的分类。一个软件系统通常由很多模块组成,结构化程序设计中的函数和子程序都可称为模块,它是程序语句按逻辑关系建立起来的组合 体。 传入模块,传出模块,变换模块,协调模块 修改为等价的结构化流程图,并用标4-494.13. 将图4课后习题 PAD图分别表示。图、和准流程图、N-S 1名词解释:软件测试、测试用例、黑盒

10、测试、白盒测试。六:设计规格是在软件投入生产性运行之前,对软件需求分析、软件测试 说明和编码的最终复审,是软件质量控制的关键步骤。体现测试测试用例是指对一项头顶的软件产品进行测试任务的描述,输入数据,内容包括测试目标,测试环境,方案、方法、技能和策略。 测试步骤,预期结果,测试脚本等,并形成文档。测试人员完全不考虑程序内黑盒测试是把测试对象看做一个黑盒子,检查程序部的逻辑结构和内部特性,只依据程序的需求规格说明书, 的功能是否符合它的功能说明。 是对软件的过程性细节做细致的检查。白盒测试它允许测这一方法是把测试对象看做一个打开的盒子或透明的盒子,试人员利用程序内部的逻辑结构及有关信息,设计或选

11、择测试用例, 对程序所有逻辑路径进行测试。 文档+数据结构+1软件:完成特定功能的程序 :指计算机软件的开发和维护过程中所遇到的一系列严重问题2软件危机 要经历的漫长时期一个软件从定义、开发、使用和维护直至最终被废弃,4软件生命周期: 它描绘信息流和数据从输入移动到输出过程中所经受的变换数据流图:一种图形化技术,5 数据字典:数据字典是关于数据数据信息的集合,也就是对数据流图中包含的所有元素的6 定义集合 图):是一种面向问题的数据模型,按照用户的观点对数据建立模型7概念性数据模型(ER 8数据对象:是对软件必须理解的复合信息的抽象 9复合信息:指具有一系列不同性质或属性的事物,仅有单个值的事

12、物不是数据对象 模块:由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表他10 模块化:把程序划分成独立命名且可独立访问的模块,每个模块完成一个子功能11 模块独立:每个模块完成一个相对独立的特定子功能,并且和其他模块关系简单12选择和循环三种基本控制结 13结构程序设计经典定义:如果一个程序代码块仅仅通过顺序结构化程 14 构进行连接,且每个代码块只有一个入口一个出口,则称这个程序结构化语句的程序设计方法,最好仅在检测出错误时才使序设计更全面定义:尽可能少用GO TO GO TO语句用,而且应该总是使用前项 耦合:是对一个软件结构内不同模块间互联程度的度量15 内聚:标志着一个模块

13、内各个元素彼此之间互联程度的度量16 17编码:就是把软件设计结果翻译成用某种程序设计语言书写的程序 18编码风格:指不影响程序正确性和效率的前提下,有效编排和合理组织程序的基本原则 软件的可靠性:是程序在给定的时间间隔内,按照规格说明书规定成功地运行概率 21- 精品- 文档 精品文档就在这里- -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 22 软件可用性:是程序在给定的时间点,按照规格说明书规定成功地运行概率 23软件维护:是软件已经交付使用后,为了改正错误或满足新的需要而修改的软件的过程对象:由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起

14、构成的24 统一体实例:由某个特定的类所 25类:是对具有相同属性和行为的一个或多个对象的描述 26 描述的一个具体对象 消息:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明27 方法:就是对象所能执行的操作,也就是类中所定义的服务28 属性:就是类中所定义的数据,它是对客观世界实体所具有的性质抽象29狭义的说是 继承:广义的说是指能够直接获得已有的性质和特征,而不必重复定义它们30面向对象分析:抽取和整理用户需求 子类自动地共享基类中定义的数据和方法的机制 31 并建立问题域精确模型过程 32 软件设计:从抽象概括到具体实践过程 33抽象:抽出事物的本质特征而暂时不考虑它们细节

15、 34逐步求精定义:为了能集中精力解决主要问题而尽量推迟对问题细节考虑 35局部化指:把一些关系密切的软件元素物理放的彼此靠近 36深度表示软件结构中控制的层数,它往往能错略标志一个系统的大小和复杂程度 37宽度是软件结构内同一个层次上模块总数的最大值。宽度越大系统越复杂 38扇出是一个模块直接控制的模块数目,扇出过大或过小都不好扇入是有多少上级模块直接调用它,扇入越大则共享该模块的上级模块数目越多这是有39 但也不能好处的 违背模块独立原理单纯追求高扇入逻辑覆盖的分类。2 由于覆盖测试的目标不同,逻辑覆盖又可分为: 语句覆盖 判定覆盖 判定条件覆盖 条件组合覆盖 路径覆盖 3等价类划分方法中

16、选择测试用例的原则。 在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类. 在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可确立一个有效等价类和一个无效等价类. 在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类. 在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类. 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则). 在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类

17、进 .一步的划分为更小的等价类-精品 文档- 精品文档就在这里- -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 说明其异同测试,4比较测试和也可以是公司内部的用户在模拟实际操作环测试是由一个用户在开发环境下进行的测试,境下进行的测试。 测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。 测试不同的是,开发者通常不在测试现场,由用户记下遇到的所有问题。与5软件测试过程的4个步骤。 单元测试、组装测试、确认测试和系统测试 七:UML中有哪几种类图?每种类图的作用是什么? 用例图 类图 交互图 状态图 活动图 实现图 用例模型描述的是外部执行者(acto

18、r)所理解的系统功能 类图描述类和类与类之间的静态关系,它是从静态角度表示系统的,因此类图属于一种静态模型。 顺序图描述对象之间的动态交互关系,着重表现对象间消息传递的时间顺序 协作图是顺序图的一种变化形式,用于描述相互协作的对象间的交互关系和链接关系。 状态图描述一个特定对象的所有可能的状态以及引起状态转换的事件。 活动图用来捕捉用例的活动,使用框图的方式显示动作及其结果 构件图描述软件构件及构件之间的依赖关系,显示代码的静态结构。 部署图描述处理器、设备和连接,它显示系统硬件的物理拓扑结构及在此结构上执行的软件。 九1.体系结构的概念和作用 软件体系结构是具有一定形式的结构化元素,即构件的

19、集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。 作用(1)体系结构的表示有助于风险承担者(项目干系 人)进行交流。 (2)体系结构突出了早期设计决策。 (3)软件体系结构是可传递和可复用的模型。 2.调用-返回风格的体系结构包含哪些? 1主程序/子程序体系结构2面向对象风格3.层次结构 分布式系统结构的优点 (1) 资源共享。分布式系统允许硬件、软件等资源共享使用。 (2) 经济性。 (3) 性能与可扩展性。 (4) 固有分布性。 (5) 健壮性 3.客户/服务器体系结构 的组成,三层C/S体系结构分成哪三

20、层? 服务器、客户机和网络三部分组成。, 表示层、应用逻辑层和数据层三个部分 4.B/S体系结构的优缺点。 (1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。 -精品 文档- 精品文档就在这里 -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- - (2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础。 缺点:(1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。 (2)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。 (3)B/S体系结构的数据提交

21、一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 十一1.软件维护的概念和分类。 软件维护是指在软件运行/维护阶段对软件产品所进行的修 改就是所谓的维护。根据维护工作的性质,软件维护的活动 可以分为以下4种类型。 改正性维护 适应性维护 完善性维护 预防性维护 2.程序修改的步骤. 分析和理解程序、实施修改以及重新验证程序。 十二1.过程要素的构成。 (1) 输入; (2) 输出; (3) 活动及进一步分解的任务(或作业); (4) 资源是支持活动执行所必须的,包括人员、设备及相关的耗费; (5) 测量与验证能保证过程中的相关元素是合格的(在图中这些过程元素标有记号

22、); (6) 过程目标,如活动取得的效果是增值。 2.软件过程成熟度的概念 软件过程成熟度(Software Process Maturity)是软件过程改进的一个重要概念,它是指: 一个特定软件过程得到清晰的定义、管理、测量、控制的有效程度。成熟度意味着能力的增长具有潜力,并表示组织软件过程是珍贵的,他在组织内所有项目中的应用是一致的。 3.什么是CMM CMM是能力成熟度模型Capability Maturity Model三个英文单词第一个字母组成的事实上,该模型最早提出时,它指的是软件过程能力成熟度模型。 该模型按软件过程的不同成熟度划分了5个等级,1级被认为成熟度最低,5级则成熟度最

23、高。 4.CMMI模型的等级划分 成熟度等级(ML,Maturity Level)初始级(ML1) 已管理级( ML2) 已定义级(ML3) 已量化管理级(ML4) 优化级(ML5) 能力等级(CL,Capability Level)完备级(CLO) 已实施级(CL1) 已管理级(CL2)已定义级(CL3) 定量管理级(CL4) 优化级(CL5) -精品 文档- 精品文档就在这里- -各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 十三1.软件项目管理的目标。)达到项目预期的软件产品功能和性能要求。也就是软件产品达(1 到了用户已认可的需求规格说明的要求。 )时限要求

24、。项目应在合同规定的期限内完成。 2( (3)项目开销限制在预算之内。 软件项目管理涉及哪几个方面。2.、Process、ProductPeople人员、产品、过程和项目,即所谓4P(、 。Project) 补充习题;传统方法学也称生命1简述传统方法学软件设计的基本原理及内容。 周期方法学或结构化范型。来完)原理:采用结构化技术(结构化分析、结构化设计和结构化实现并使用适当的软件工具或软件工程环境来支成软件开发的各项任务, 持结构化技术的运用。然后顺序地内容:把软件生命周期的全过程依次划分为若干个阶段,采用生命周期方法学可以大大提高软件开发的完成每个阶段的任务。 成功率,软件开发的生产率也能明

25、显提高。至少各列写出KPACMM5个等级的名称以及每个等级所包含的2 KPA出2个 初始级 答 需求管理、项目策划等 可重复级 已定义级组织过程焦点、组织过程定义等 已管理级过程定量管理、软件质量定量管理 优化级缺陷预防、技术革新管理等 个术语的概念 3解释里程碑、基线与检查点等3比较实际与检查点指在规定的时间间隔内对项目进行检查答 划之间的差异计 并根据差异进行调整。配置项在项目生命周期的不同时间点上或一组里程碑指一个 通过正式评审而进入正式受控的一种状态。 完成阶段性工作的标志基线 G.J.Myers4以的观点,简述对软件测试的定义。给出了关于测试的一些规则,这些规则也可以看作是测试的G.

26、Myers 目标或定义。 (1) 测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方(2) (3) 成功的测试是发现了至今为止尚未发现的错误的测试。案;“为了发现程序中的错误而从上述规则可以看出,测试的正确定义是 执行程序的过程” 个要点。简述面向对象方法学的4 概括地说,面向对象方法学具有下述4个要点:5作为融合了数据及在数据上的操作行为的统一的软把对象(object)(1) 件构件。 把所有对象都划分成类(2) (class)-精文 精品文档就在这里- 各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有- 的关系,把若干个

27、相)与子类(或称为派生类(3) 按照父类(或称为基类 (也称为类等级)。关类组成一个层次结构的系统 (4) 对象彼此间仅能通过发送消息互相联系。 6. 列举出5个详细设计阶段的常用工具。,判定表,判定树,过程程序流程图,盒图,PAD图(问题分析图) 设计语言 7简述什么是系统流程图。它的基本思想是用图形答:系统流程图是描述物理系统的传统工具。符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表。系统流程图表达的是部件的信息流程,而不表示格、人工过程等) 对信息进行加工处理的控制过程。 8为什么数据流图要分层?用一个数据流图是不够答:这了表达数据处理过程的数据加工情况,需要按照问题的层次

28、结构进行逐步的。为表达稍为复杂的实际问题, 分解,并以分层的数据流图反映这种结构关系。 9软件的质量反应为哪些方面的问题?不符合需求的软件就不具备质答:软件需求是度量软件质量的基础, 量。用来指导软件人员用工程化的方在各种标准中定义了一些开发准则,如果不遵守这些开发准则,软件质量就得不到保证。 法来开发软件。如果软件只满足那些精往往会有一些隐含的需求没有明确地提出来。 软件质量也不能保证。确定义了的需求而没有满足这些隐含的需求,随着用它随着应用的不同而不同,软件质量是各种特性的复杂组合。 户提出的质量要求不同而不同。 简单传述软件可维护性度量的含义。(5分)10答:可维护性度量表示软件系统维护

29、工作的强度或维护工作量的大 小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、 可移植性、可靠性、有效性和可用性的度量。 ? 其耦合度的顺序如何耦合性有哪几种类型11公 数据耦合标记耦合控制耦合外部耦合低:非直接耦合 共耦合 内容耦合:高? 12什么是软件危机?为什么会产生软件危机主要软件危机是指软件在开发和维护过程中遇到的一系统严重问题, 包含二方三是如何维护数量不断膨胀的已一是如何开发利用软件,面的问题,有软件。产生软件危机的原因,一方面与软件本身的特点有关,另一 方面和软件开发与维护的方法不正确有关。简述需求分析工作可以分成哪四个方面?软件需求分析的有哪三13 个基本原则?:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定-精文 精品文档就在这里 -各类专业好文档,

温馨提示

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

最新文档

评论

0/150

提交评论