ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:44.82KB ,
资源ID:6613304      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6613304.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(软件工程习题大家参考一下.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

软件工程习题大家参考一下.docx

1、软件工程习题大家参考一下一:1什么是软件软件可以分类为那些?软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合。系统软件 操作系统, 数据库管理系统, 设备驱动程序, 通信处理程序等支撑软件 文本编辑程序,文件格式化程序,磁盘向磁带向数据传输的程序, 程序库系统,支持需求分析、设计、实现、测试和支持管理的软件应用软件 商业数据处理软件, 工程与科学计算软件, 计算机辅助设计制造软件, 系统仿真软件, 智能产品嵌入软件, 办公自动化软件, 计算机辅助教学软件可复用软件 软件构件2什么是软件工程软件工程是指导计算机软件开发和维护的一门工程学科。采用工程的概念、原理

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

3、为软件工程方法提供了自动的或半自动的软件支撑环境;过程是为了获得高质量的软件所需要完成的一系列任务框架,它规定了完成各项任务的工作步骤2结构化方法的基本思想是什么把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。3面向对象方法是以什么概念为基础的方法面向对象方法(Object-Oriented Method)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。4什么是形式化方法?形式化方法是一种基于形式化数学变换的软

4、件开发方法,它可将系统的规格说明转换为可执行的程序。5UML的特点。1)统一标准 UML不仅统一了Booch、OMT和OOSE等方法中的基本概念,还吸取了面向对象技术领域中其他流派的长处,其中也包括非OO方法的影响。已经成为OMG的标准。 (2)面向对象 UML支持面向对象技术的主要概念,它提供了一批基本的表示模型元素的图形和方法,能简洁明了地表达面向对象的各种概念和模型元素。(3)可视化,表达能力强大UML是一种图形化语言,用UML的模型图形能清晰地表示系统的逻辑模型或实现模型。UML还提供了语言的扩展机制,用户可以根据需要增加定义自己的构造型、标记值和约束等。 (4)独立于过程 UML是系

5、统建模的语言,不依赖特定的开发过程。(5) 容易掌握使用 UML概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。 (6)与编程语言的关系 支持UML的一些CASE工具(如Rose)可以根据 UML所建立的系统模型自动产生Java、C+ 等代码框架。 三1结构化分析方法结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。它的基本思想:把一个复杂问题的求解过程分阶段进行,而且这种分解是自顶向下,逐层分解,使得每个阶段处理的问题都控制在人们容易理解和处理的范围内。四1软件设计的原则。1) 分而治之2) 分而治之是人们解决大型复杂问题时通常采

6、用的策略。将大型复杂的问题分解为许多容易解决的小问题,原来的问题也就容易解决了。3) 模块独立性4) 模块的独立性是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其他的模块的接口是简单的。例如,若一个模块只具有单一的功能且与其他模块没有太多的联系,那么,我们则称此模块具有模块独立性5) 提高抽象层次6) 抽象是指忽视一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。7) 当我们进行软件设计时,设计开始时应尽量提高软件的抽象层次,按抽象级别从高到低进行软件设计8) 复用性设计复用是指同一事物不做修改或稍加修改就可以多次重复使用。将复用的思想用于软件开发,

7、称为软件复用。我们将软件的重用部分称为软构件。也就是说,在构造新的软件系统时不必从零做起,可以直接使用已有的软构件即可组装(或加以合理修改)成新的系统。9) 灵活性设计10) 保证软件灵活性设计的关键是抽象。11) 面向对象系统中的类结构类似一座金字塔,越接近金字塔的顶端,抽象程度就越高。12) “抽象”的反义词是“具体”。理想情况下,一个系统的任何代码、逻缉、概念在这个系统中都应该是唯一的,也就是说不存在重复的代码。13) 2结构化软件设计划分为哪两个阶段设计任务分别是什么?14) 概要设计阶段和详细设计阶段。15) 体系结构设计:体系结构设计定义软件的主要结构元素及其之间的关系。16) 接

8、口设计:接口设计描述用户界面,软件和其他硬件设备、其他软件系统及使用人员的外部接口,以及各种构件之间的内部接口。17) 数据设计:传统方法主要根据需求阶段所建立的实体关系图(ER图)来确定软件涉及的文件系统的结构及数据库的表结构。过程设计:过程设计的主要工作是确定软件各个组成部分内的算法及内部数据结构,并选定某种过程的表达形式来描述各种算法。3什么是模块模块的分类。一个软件系统通常由很多模块组成,结构化程序设计中的函数和子程序都可称为模块,它是程序语句按逻辑关系建立起来的组合体。传入模块,传出模块,变换模块,协调模块4课后习题. 将图4-49修改为等价的结构化流程图,并用标准流程图、N-S图、

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

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

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

12、着一个模块内各个元素彼此之间互联程度的度量17编码:就是把软件设计结果翻译成用某种程序设计语言书写的程序18编码风格:指不影响程序正确性和效率的前提下,有效编排和合理组织程序的基本原则21软件的可靠性:是程序在给定的时间间隔内,按照规格说明书规定成功地运行概率22软件可用性:是程序在给定的时间点,按照规格说明书规定成功地运行概率23软件维护:是软件已经交付使用后,为了改正错误或满足新的需要而修改的软件的过程24对象:由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体25类:是对具有相同属性和行为的一个或多个对象的描述26实例:由某个特定的类所描述的一个具体对象27消息

13、:要求某个对象执行在定义它的那个类中所定义的某个操作的规格说明28方法:就是对象所能执行的操作,也就是类中所定义的服务29属性:就是类中所定义的数据,它是对客观世界实体所具有的性质抽象30继承:广义的说是指能够直接获得已有的性质和特征,而不必重复定义它们狭义的说是子类自动地共享基类中定义的数据和方法的机制31面向对象分析:抽取和整理用户需求并建立问题域精确模型过程32软件设计:从抽象概括到具体实践过程33抽象:抽出事物的本质特征而暂时不考虑它们细节34逐步求精定义:为了能集中精力解决主要问题而尽量推迟对问题细节考虑35局部化指:把一些关系密切的软件元素物理放的彼此靠近36深度表示软件结构中控制

14、的层数,它往往能错略标志一个系统的大小和复杂程度37宽度是软件结构内同一个层次上模块总数的最大值。宽度越大系统越复杂38扇出是一个模块直接控制的模块数目,扇出过大或过小都不好39扇入是有多少上级模块直接调用它,扇入越大则共享该模块的上级模块数目越多这是有好处的但也不能违背模块独立原理单纯追求高扇入2逻辑覆盖的分类。由于覆盖测试的目标不同,逻辑覆盖又可分为: 语句覆盖判定覆盖判定条件覆盖条件组合覆盖路径覆盖3等价类划分方法中选择测试用例的原则。在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类.在输入条件规定了输入值的集合或者规定了“必须如何”的条件的情况下,可

15、确立一个有效等价类和一个无效等价类.在输入条件是一个布尔量的情况下,可确定一个有效等价类和一个无效等价类.在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类.在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类.4比较测试和测试,说明其异同测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的测试。测试是由软件的多个用户在一个或多个用

16、户的实际使用环境下进行的测试。与测试不同的是,开发者通常不在测试现场,由用户记下遇到的所有问题。5软件测试过程的4个步骤。单元测试、组装测试、确认测试和系统测试七:UML中有哪几种类图每种类图的作用是什么用例图 类图 交互图 状态图 活动图 实现图用例模型描述的是外部执行者(actor)所理解的系统功能类图描述类和类与类之间的静态关系,它是从静态角度表示系统的,因此类图属于一种静态模型。顺序图描述对象之间的动态交互关系,着重表现对象间消息传递的时间顺序协作图是顺序图的一种变化形式,用于描述相互协作的对象间的交互关系和链接关系。 状态图描述一个特定对象的所有可能的状态以及引起状态转换的事件。活动

17、图用来捕捉用例的活动,使用框图的方式显示动作及其结果构件图描述软件构件及构件之间的依赖关系,显示代码的静态结构。部署图描述处理器、设备和连接,它显示系统硬件的物理拓扑结构及在此结构上执行的软件。九1.体系结构的概念和作用软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组合连接起来。作用(1)体系结构的表示有助于风险承担者(项目干系 人)进行交流。 (2)体系结构突出了早期设计决策。 (3)软件体系结构是可传递和可复用的模型。 2.调用-返回风格的体系结构包含哪些1主程序/子程

18、序体系结构2面向对象风格3.层次结构分布式系统结构的优点(1) 资源共享。分布式系统允许硬件、软件等资源共享使用。(2) 经济性。(3) 性能与可扩展性。 (4) 固有分布性。(5) 健壮性3.客户/服务器体系结构 的组成,三层C/S体系结构分成哪三层服务器、客户机和网络三部分组成。, 表示层、应用逻辑层和数据层三个部分S体系结构的优缺点。(1)基于B/S体系结构的软件,系统安装、修改和维护全在服务器端解决。(2)B/S体系结构还提供了异种机、异种网、异种应用服务的联机、联网和统一服务的最现实的开放性基础。 缺点:(1)B/S体系结构缺乏对动态页面的支持能力,没有集成有效的数据库处理功能。(2

19、)采用B/S体系结构的应用系统,在数据查询等响应速度上,要远远地低于C/S体系结构。(3)B/S体系结构的数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。 十一1.软件维护的概念和分类。软件维护是指在软件运行/维护阶段对软件产品所进行的修改就是所谓的维护。根据维护工作的性质,软件维护的活动可以分为以下4种类型。改正性维护适应性维护完善性维护预防性维护2.程序修改的步骤.分析和理解程序、实施修改以及重新验证程序。十二1.过程要素的构成。(1) 输入;(2) 输出;(3) 活动及进一步分解的任务(或作业);(4) 资源是支持活动执行所必须的,包括人员、设备及相关

20、的耗费;(5) 测量与验证能保证过程中的相关元素是合格的(在图中这些过程元素标有记号);(6) 过程目标,如活动取得的效果是增值。2.软件过程成熟度的概念软件过程成熟度(Software Process Maturity)是软件过程改进的一个重要概念,它是指: 一个特定软件过程得到清晰的定义、管理、测量、控制的有效程度。成熟度意味着能力的增长具有潜力,并表示组织软件过程是珍贵的,他在组织内所有项目中的应用是一致的。3.什么是CMMCMM是能力成熟度模型Capability Maturity Model三个英文单词第一个字母组成的事实上,该模型最早提出时,它指的是软件过程能力成熟度模型。该模型按

21、软件过程的不同成熟度划分了5个等级,1级被认为成熟度最低,5级则成熟度最高。模型的等级划分成熟度等级(ML,Maturity Level)初始级(ML1) 已管理级( ML2) 已定义级(ML3) 已量化管理级(ML4) 优化级(ML5) 能力等级(CL,Capability Level)完备级(CLO) 已实施级(CL1) 已管理级(CL2)已定义级(CL3) 定量管理级(CL4) 优化级(CL5) 十三1.软件项目管理的目标。(1)达到项目预期的软件产品功能和性能要求。也就是软件产品达到了用户已认可的需求规格说明的要求。(2)时限要求。项目应在合同规定的期限内完成。 (3)项目开销限制在预

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

23、个KPA 答 初始级 可重复级 需求管理、项目策划等 已定义级 组织过程焦点、组织过程定义等 已管理级 过程定量管理、软件质量定量管理 优化级 缺陷预防、技术革新管理等3解释里程碑、基线与检查点等3个术语的概念 答 检查点 指在规定的时间间隔内对项目进行检查 比较实际与计 划之间的差异 并根据差异进行调整。 里程碑 指一个 或一组 配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。 基线 完成阶段性工作的标志4以的观点,简述对软件测试的定义。给出了关于测试的一些规则,这些规则也可以看作是测试的目标或定义。(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案

24、是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。从上述规则可以看出,测试的正确定义是“为了发现程序中的错误而执行程序的过程”简述面向对象方法学的4个要点。5概括地说,面向对象方法学具有下述4个要点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。(2)把所有对象都划分成类(class)。(3)按照父类(或称为基类)与子类(或称为派生类)的关系,把若干个相关类组成一个层次结构的系统(也称为类等级)。(4)对象彼此间仅能通过发送消息互相联系。6.列举出5个详细设计阶段的常用工具。程序流程图,盒图,PAD图(问题分析

25、图),判定表,判定树,过程设计语言7简述什么是系统流程图。答:系统流程图是描述物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘系统里的每个部件(程序、文件、数据库、表格、人工过程等)。系统流程图表达的是部件的信息流程,而不表示对信息进行加工处理的控制过程。8为什么数据流图要分层答:这了表达数据处理过程的数据加工情况,用一个数据流图是不够的。为表达稍为复杂的实际问题,需要按照问题的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系。9软件的质量反应为哪些方面的问题答:软件需求是度量软件质量的基础,不符合需求的软件就不具备质量。在各种标准中定义了一些开发准则,用来指导软件人员用工

26、程化的方法来开发软件。如果不遵守这些开发准则,软件质量就得不到保证。往往会有一些隐含的需求没有明确地提出来。如果软件只满足那些精确定义了的需求而没有满足这些隐含的需求,软件质量也不能保证。软件质量是各种特性的复杂组合。它随着应用的不同而不同,随着用户提出的质量要求不同而不同。10简单传述软件可维护性度量的含义。(5分)答:可维护性度量表示软件系统维护工作的强度或维护工作量的大小。人们为了度量可维护性,常将可维护性度量问题分解为对:可测试性、可理解性、可修改性、可移植性、可靠性、有效性和可用性的度量。11耦合性有哪几种类型其耦合度的顺序如何低:非直接耦合 数据耦合 标记耦合 控制耦合 外部耦合

27、公共耦合 内容耦合:高12什么是软件危机为什么会产生软件危机软件危机是指软件在开发和维护过程中遇到的一系统严重问题,主要包含二方面的问题,一是如何开发利用软件,三是如何维护数量不断膨胀的已有软件。产生软件危机的原因,一方面与软件本身的特点有关,另一方面和软件开发与维护的方法不正确有关。13简述需求分析工作可以分成哪四个方面软件需求分析的有哪三个基本原则:需求分析阶段分成四个方面:对问题的识别、分析与综合、制定规格说明和评审。三个基本原则:必须能够表达和理解问题的数据域和功能域;必须按自顶向下、逐步分解的方式对问题进行分解和不断细化;要给出系统的逻辑视图和物理视图。提空题:1.目前使用最广泛的软

28、件工程学方法分别是传统方法学和(面向对象方法学)。2.2.数据流图中信息流的类型有(变换流)和事务流。3.软件的定义是:软件=程序+数据+(文档)。4.经典结构程序设计包括顺序、选择和(重复)三种结构。5.集成测试时对软件结构中上层使用自顶向下的集成测试方法,对软件结构中下层使用(自底向上)的集成测试方法。6.软件维护包括(改正性维护)、适应性维护、完善性维护、预防性维护。7.面向对象方法学建模得到的三个基本子模型是(对象建模).动态模型、功能模型。8.复杂大型问题的对象模型通常由主题层、类与对象层、结构层、(属性层)、及服务层5个层次组成。9.面向对象方法学是基于软件的重用。10.软件层次结

29、构图中方框间的连线表示调用关系。1软件工程学的基本原则包括分解性、独立性、一致性、确定性等2软件生存周期一般可分为问题定义,可行性研究、需求分析、设计、编码、测试,运行与维护阶段。3成本估计方法主要有自顶向下方法、自底向上方法和算法模型估计三种类型。4数据流图的基本符号包括数据输入的源点和数据输出的汇点、加工、数据流、数据存储文件5JSD是一种典型的面向数据结构的分析设计方法。6详细设计的工具有图形工具、表格工具和语言工具。7IPO图由输入、处理和输出三个框组成。这个图的特点是能够直观的显示三者之间的关系。8面向对象技术是一整套关于如何看待软件系统和现实世界的关系,以什么观点来研究问题并进行分析求解,以及如何进行系统构造的软件方法学。面向对象方法是一种运用类、对象、继承、封装、聚集、消息传送、多态性等概念来构造系统的软件开发方法。9分析已有的程序,寻求比源代码更高级的抽象表现形式,这就是软件的逆向工程。10程序测试是对编码阶段的语法错、语义和运行进行查找的编码执行活动

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1