软件工程考试整理_第1页
软件工程考试整理_第2页
软件工程考试整理_第3页
软件工程考试整理_第4页
软件工程考试整理_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章1、软件:软件是程序,数据及相关文档的完整集合2、软件危机:指在软件开发和维护过程中所遇到的一系列严重问题。(如何开发软件,以满 足对软件日益增长的需求;如何维护数量不断膨胀的已有软件)软件总是超出预算、落后于进度表,而且不可靠软件受其自身特点的影响,生产过程不象硬件那样规范,受人的因素和外界影响很大,在软件 生产的各阶段都会引入不同程度的错误,造成不能预期完成任务,致使成本上升,甚至导致软 件失败表现:(1)软件开发和维护费用急剧上升(2)不重视文档资料(3)产品质量不可靠(4)软件产品成本高于硬件产品(5)供需失配3、产生软件危机的原因:一方面与软件本身有的特点有关,另一方面也和软件

2、开发与维护 的方法不正确有关。具体表现:忽视软件开发前期的需求分析;开发过程没有统一、规范方法论的指导;文档资料不齐全;忽视人与人的交流;忽视测试工作,提交给用户的软件质量差;轻视软件的维护。4、消除软件危机的途径:既要有技术措施(方法和工具),又要有必要的组织管理措施软件工程应使用已有的工程规则的理论和模式,来解决所谓的”软件危机”。5、软件工程支撑环境:如果把各个阶段使用的软件工具有机地集合成一个集体,支持软件 开发的全过程。6、软件工程的定义:是指导计算机软件开发和维护的一门工程学科。7、软件工程方法学:包含三个要素:方法、工具和过程。最广泛的方法学包括传统方法学 和面向对象方法学。传统

3、方法学:也称为生命周期方法学或结构化范型。主要是把软件生命周期的全过程 一次划分为若干个阶段,然后顺序地完成每个阶段的任务。面向对象方法学:4个要点(对象、类、继承、封装性)8、软件生命周期3个时期:计划一一开发一一运行计划:问题定义,可行性研究而开发:需求分析,概要设计,详细设计,编码,测试,运行:运行,维护9、四个模型的优缺点:瀑布模型(带反馈环)P15优点:可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档; 要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:由于是一种文档驱动的模型,最终开发出的软件产品可能并不是用户真正需要的。(1)各个阶段的划分完全固定,

4、阶段之间产生大量的文档,极大地增加了工作量(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而 增加了开发的风险(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果快速原型模型(不带反馈环)可以通过快速构建起一个在计算机上运行的原型系统,让用户试用原型并收集用户反馈 意见的办法,获取用户的真实需求。本质是“快速”。Unix shell和html都是广泛使用的快速原型语言增量模型具有可在软件开发的早期阶段使投资获得明显回报和较易维护的优点,但是,要求软件 具有开放的结构是使用这种模型时的固有的困难。缺点:(1)由于各个构件是逐渐并入已有的软件体系结构中

5、的,所以加入构件必须不破 坏已构造好的系统部分,这需要软件具备开放式的体系结构。(2)在开发过程中,需求的变化是不可避免的。增量模型的灵活性可以使其适应这种变 化的能力大大优于瀑布模型和速原型快模型,但也很容易退化为边做边改模型,从而是 软件过程的控制失去整体性。螺旋模型用户要求不明确模型瀑布模型原型模型用户要求不明确模型瀑布模型原型模型增量模型螺旋模型面向对象模型第二章可行性研究目的:只适用于风险较大,规模较大时的软件开发优点文档驱动优点文档驱动关注满足需求开发早期反馈及时,易于维护系统可能不满足需求可能导致系统设计差,难于维护需要开放式结构,可能会设计差风险驱动风险分析人员需要有经验且经过

6、充分训练支持工具丰富,自动化程度高对开发组织和人员要求较高用最小的代价在尽可能短的时间内确定问题是否能够解决3、数据字典的作用P47:在软件分析和设计的过程中给人提供关于数据的描述信息。4、数据字典由对4类元素的定义组成P47:数据流;数据流分量(即数据元素);数据存储;处理第三章1、需求分析的任务确定随系统的综合要求(功能需求;性能需求;可靠性和可用性需求;出错处理需求;接口需求;约束;逆向需求;将来可能提出的需求)分析系统的数据要求导出系统的逻辑模型修正系统开发计划3、验证软件需求的正确性的4个方面所有需求必须是一致的,任何一条需求不能和其他需求相互矛盾。需求必须是完整的,规格说明书应包括

7、用户需求的每个功能。所有需求必须是一致的,任何一条需求不能和其他需求相互矛盾。需求必须是完整的,规格说明书应包括用户需求的每个功能。用现有的硬件技术或软件技术基本上能实现的。需求是正确有效的,确实能解决用户面对的问题。完整性现实性有效性4、验证软件需求的方法验证需求的一致性;验证需求的现实性;三验证需求的完整性 和有效性。第五章1、模块独立程度的度量标准:内聚和耦合(高内聚,低耦合)2、耦合的概念:是对一个软件结构内不同模块之间互连程度的度量。数据耦合两个模块彼此间通过参数交换信息,而且交换的信息仅仅是数据(低耦合,系统中至少必须存在数据耦合)控制耦合 传递的信息中有控制信息(有时控制信息以数

8、据的形式出现)(中等耦合)特征耦合把整个数据结构作为参数传递而被调用的模块只需使用其中一部分数据元素公共环境耦合两个或者多个模块通过一个公共数据环境相互作用(设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围, 完全不用内容耦合。)3、内聚的概念:标志着一个模块内各个元素彼此结合的紧密程度,是信息隐藏和局部化概 念的自然扩展。巧合内聚:缺点:可理解性差,可修改性差逻辑内聚:把几种相关功能(逻辑上相似的功能)组合在一模块内,每次调用由传给模块 的参数确定执行哪种功能。缺点:增强了耦合程度(控制耦合)不易修改,效率低时间内聚:模块完成的功能必须在同一时间内执行,这些功能只因

9、时间因素关联在一起。过程内聚:模块内各处理成分相关,且必须以特定次序执行通信内聚:模块内各部分使用相同的输入数据,或产生相同的输出结果。信息内聚:模块完成多个功能,各功能都在同一数据结构上操作,每一功能有唯一入口 ;功能内聚:模块仅包括为完成某个功能所必须的所有成分。(模块所有成分共同完成一 个功能,缺一不可)4、启发规则:改进软件结构提高模块独立性模块规模适中深度、深度:宽度:扇出:宽度、扇入和扇出都适中软件结构中控制的层数,标志系统的大小和复杂度。软件结构内同一层次上的模块总数的最大值。是一个模块直接控制的模块数目。表明有多少个上级模块直接调用它。扇入越大,共享该模块的上级模块的数目 越多

10、。5宽度、扇入和扇出都适中软件结构中控制的层数,标志系统的大小和复杂度。软件结构内同一层次上的模块总数的最大值。是一个模块直接控制的模块数目。表明有多少个上级模块直接调用它。扇入越大,共享该模块的上级模块的数目 越多。5、模块的作用域应在控制域之内:所有受判定影响的模块应都从属于做出判定的那个模块, 最好局限于做出判定的那个模块本身及它的直属下级模块。6、交换流的概念:信息沿输入通路进入系统,同时由外部形式变换成内部形式,进入系统 的信息通过变换中心,经过加工处理以后再沿输出通路变换成外部形式离开软件系统。7、事务流的概念:数据沿输入通路到达一个处理T,这个处理根据输入数据的类型在若干 个动作

11、序列中选出一个执行。【菱数据荆令一如.下左图1、为花珅炎烈胡躁买槌合举一个乱悻的例子, 非直接耦合f 如,四个模块没有直接关系f模块1和模块2),模块抽立性最避.开发票单价数量金额计算水费开发票单价数量金额计算水费新据期合特隹耦合例如- :m计算电费住户情况隹户情况/ 水费电费计算水费计算水电费特窕牌舍”任户型况呈个数据始构t圈中唯块都七此拿世汨WW hlI ”任户型况呈个数据始构t炉本无关由于引用了此薮据结成牛:弘就关系.它的之间也是嫁记偶含。第七章1、测试的定义及目的:测试是为了发现程序中的错误而执行的过程。好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。成功的测试是发现了至今为

12、止尚未发现的错误的测试。2、测试方法:黑盒测试白盒测试黑盒测试:把程序看作一个黑盒子,完全不考虑程序的内部结构和处理过程。白盒测试:把程序看作一个透明的白盒子,测试者完全知道程序的结构和处理算法。3、测试步骤:模块测试:每个模块完成一个清晰定义的子功能,而且这个子功能和同级其他模块的 功能之间没有互相依赖关系。子系统测试系统测试验收测试平行运行4、回归测试:指重新执行已经做过的测试的某个子集,以保证由于调试或其他原因引起的 变化,不会导致非预期的软件行为或额外错误的测试活动。5、逻辑覆盖:白盒测试:主要掌握语句覆盖、判定覆盖和条件覆盖语句覆盖:选择足够多的测试数据,使被测程序中的每个语句至少执

13、行一次判定覆盖:不仅每个语句必须至少执行一次,而且每个判定的每种可能的结果都应该 至少执行一次,也就是每个判定的每个分支都至少执行一次条件覆盖:不仅每个语句至少执行一次,而且使判定表达式的每个条件都取到各种可 能的结果。6、等价划分:黑盒测试,把程序的输入域划分成若干个数据类,据此到处测试用例。边界值分析:(1)使输出刚好等于最小的负整数(2)使输出刚好等于最小的正整数(3)使输 出刚刚小于最小的负整数(4)使输出刚刚大于最大的正整数7、边界值分析法与等价类划分法区别边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都 要作为测试条件。边界值分析不仅考虑输入条件,还要考虑

14、输出空间产生的测试情况。通常与等价划分结合进行。8、调试途径:蛮干法回溯法原因排除法第八章软件可维护性:纠正软件系统出现的错误和缺陷,以及为满足新的要求进行修改、扩充或压 缩的容易程度。软件维护包括4类活动:为了纠正正在使用过程中暴露出来的错误而进行的改正性维为了适应外部环境的变化而进行的适应性维护为了改进原有的软件而进行的完善性维护为了改进将来的可维护性和可靠性而进行的预防性维护决定软件可维护的因素:可理解性I可使用性I可测试性I可移植性I可修改性I效率I可靠性 第九章面向对象的方法学方程:OO=objects+classes+inheritance+communication with m

15、essages对象 类 继承 消息类(Class):是一组具有相同数据结构和相同操作的对象的集合。消息(Message):是一个对象与另一个对象的通信单元,是要求某个对象执行类中定义的 某个操作的规格说明继承(Inheritance)是使用已存在的定义做为基础建立新定义的技术2、面向对象方法学的优点:与人类习惯的思维方法一致稳定性好可重用性好 较易开发大型软件产品可维护性好4、对象模型的概念P216:表示静态的,结构化的系统的“数据”性质。它是对模拟客观世 界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。5、表示关系的符号(用例子判断关联聚集等)关联:表示两个类的对象之间存在某种语义上的联系聚集:表示类与类之间的关系是整体与部分的关系泛化:指通常所说的继承关系,是通用元素和具体元素之间的一种分类关系6、动态模型:表示瞬时的、行为化的系统的“控制”性质。它规定了对象模型中的对象的 合法变化序列7、功能模型:表示变化的系统的“功能”性质,它指明了系统应该“做什么,因此更直接 地反映用户对目标系统的需求。8、三种模型之间的关系:功能模型指明了系统应该“做什么”;动态模型明确规定了什么时 候(即在何种状态下接受了什么事件的出发)做;对象模型则定义了做事情的实体。第十章1、3个子模型与5个层次:静态结构(对象模型)、交互次序(动态模型

温馨提示

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

评论

0/150

提交评论