您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件工程期末复习要点
第1页《软件工程导论》复习提纲2016年12月选择————20分填空————10分名词解释——12分简答————18分综合设计——40分第一章软件工程概述一、软件危机:1.名词解释:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2.它包括两方面的问题:(1)如何开发软件以满足日益增长的需求;(2)如何维护数量不断增长的已有软件。二、软件文档的重要性:(1)管理人员使用文档资料来做为里程碑(2)开发人员利用它们做为通信工具,在软件的开发过程中准确地交流信息(3)对于维护人员,这些文档必不可少(4)缺乏必要的文档或者文档不合格,必然给软件开发和维护带来许多严重的问题三、瀑布模型:时间驱动型、文档驱动型1.阶段间具有顺序性和依赖性2.每个阶段必需完成规定的文档四、螺旋模型:风险驱动型每个阶段之间都增加了风险分析过程的快速原型模型第二章可行性研究一、数据流图:会画(描绘做什么,不考虑怎么做)四个要素:(1)数据的源点、终点第2页(2)变换数据的处理(3)数据存储(4)数据流二、数据字典:(定义数据的方法,题5)1.名词解释:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。2.包括对以下4种元素的定义:(1)数据流(2)数据流分量(3)数据存储(4)处理3.定义数据的方法:用被定义的事件的成分的某种组合表示这个事物,这些组成成分又由更低层的成分的组合来定义。4.由数据元素组成数据的方式只有下述3种基本类型:顺序、选择、重复5.例题:定义数据的方法北京某高校可用的电话号码有以下几类:校内电话号码由4位数字,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拔校外电话需先拔0,若是本市电话则再接着拔8位数字(第一位不是0),若是外地电话则拔3位区码再拔8位电话号码(第一位不是0)校内号码={1~9}+3{0~9}3校外号码=[本市号码|外市号码]本市号码=0+{1~9}+7{0~9}7外市号码=0+区号+{1~9}+7{0~9}7区号=3{0~9}3第三章需求分析一、需求分析的任务(1)确定对系统的综合要求(2)分析系统的数据要求(3)导出系统的逻辑模型(4)修正系统的开发计划二、状态转换图(行为模型)会画图第3页第四章形式化说明技术(不考)第五章总体设计考概念一、概要设计总体设计又称为概要设计。概要设计的主要任务是把需求分析转换为软件结构和数据结构。二、模块化模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。(函数、子程序、宏、对象等都可以视为模块)模块是构成程序的基本构件。(了解)模块化(名词解释)就是把程序划分为独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成一个整体,可以完成指定的功能满足用户的需求。三、抽象抽象(名词解释)在现实世界中一定事物、状态或过程之间总存在着某些相似的地方(共性),把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。(或者说,抽象就是抽出事件的本质而暂时不考虑它们的细节)四、模块独立1.耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。1)完全独立2)数据耦合(低耦合):通过参数传递的信息只有数据信息3)控制耦合:通过参数传递的信息包括控制信息4)特征耦合:通过参数传递的数据大于需要的数据,造成了对数据访问的不可控5)公共环境耦合:多个模块使用同一个公共数据环境6)内容耦合:应该坚决避免使用第4页7)设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。2.内聚:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。(高内聚往往对应低耦合,内聚比耦合更重要)低内聚:1)偶然内聚:一个模块完成的一组任务间的关系很松散2)逻辑内聚:这组任务在逻辑上相同或相似3)时间内聚:这组任务必须在同一段时间内执行中内聚:1)过程内聚:任务有次序2)通信内聚:高内聚:1)顺序内聚:2)功能内聚:一个模块只完成一个单一的功能。最高程度的内聚。第六章详细设计本章考大题一、程序流程图会画图二、盒图(NS图)会画图三、PAD图会画图四、判定表会画图五、判定树会画图六、Jackson图Jackson图表现的是组成关系七、Jackson方法第5页1.Jackson方法和Warnier方法是最著名的两个面向数据结构的设计方法(只可能考到Jackson方法)2.设计步骤:a)分析输入、输出数据结构的逻辑结构,用Jackson图表示b)找出输入、输出数据章有对应关系的数据元素c)从数据结构图导出程序结构图d)列出操作和条件e)用伪码表示程序3.例题:一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总数。1分析输入、输出数据结构的逻辑结构,用Jackson图表示2找出输入、输出数据章有对应关系的数据元素如图中虚线为有对应关系的数据单元。注:输入的字符串要连接输出的串信息,而不是输出的字符串,因为每一个输入的字符串,处理后都可以得到输出的字符串和空格数两个数据单元。3从数据结构图导出程序结构图第6页4列出操作和条件P.1355用伪码表示程序P.136八、计算环形复杂度1.流图(也称程序图)会画图AND条件需要单独一个节点,因为该条件不一定执行2.复杂度=边-结点+2(理论上以10为上限)第七章实现测试用例、预期结果一、单元测试单元测试集中检测软件设计的最小单元——模块。单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。第7页代码审查:采用代码审查的方法可以减少系统验证的总工作量。计算机测试:存根程序(虚拟子程序)、驱动程序(主程序)二、集成测试1.在进行集成测试时普遍采用渐增式测试方法(这种方法实际上同时完成单元测试和集成测试)。2.自顶向下集成:不需要测试驱动程序;可以在早期发现上层模块的接口错误;早期不能充分展开人力。3.自底向上集成:不需要存根程序4.回归测试:重新执行已经做过的测试的某个子集三、白盒测试技术(大题)1.逻辑覆盖2.控制结构测试a)基本路径测试i.画流图ii.计算环形复杂度(边数--结点数+2)iii.确定独立路径的基本集合iv.设计可强制执行基本集合中所有独立路径的测试用例b)条件测试分支测试、BRO测试c)循环测试四、墨盒测试技术(辨析)1.等价划分:把输入域划分成若干个数据类,据此导出测试用例2.边界值分析3.错误推测第8页五、确认测试(粗略了解)目标是验证软件的有效性第八章维护一、维护定义软件已经交付使用之后,为了改正错误或满足新需求而修改软件的过程。(名词解释)二、维护种类1.改正性维护:新错误2.适应性维护:新硬件、新环境3.完善性维护:新需求4.预防性维护第九章面向对象方法学引论一、三种类1.实体类2.界面类3.控制类二、辨析1.动态模型2.静态模型三、类图会画格式:可见性属性名:类型=初值可见性方法名(参数表):返回类型第9页公有+私有-保护#四、用例图会画五、时序图会画第十三章软件项目管理一、CMM模型(美国卡内基梅隆大学软件工程研究所建立)能力成熟度模型,用于评价软件机构的软件过程能力成熟度模型。二、软件质量定义概括地说,软件质量就是“软件与(明确定义和隐含定义的)需求相一致的程度”。具体地说,软件质量是软件与明确叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。三、软件配置管理定义软件配置:软件过程的输出信息(计算机程序、描述计算机程序的文档、数据)统称为软件配置。软件配置管理:软件质量保证中重要的一环,主要有5项任务:标识、版本控制、变化控制、配置审计和报告
本文标题:软件工程期末复习要点
链接地址:https://www.777doc.com/doc-5064386 .html