MENU

标签 考试 下的文章

《数据库系统概述》期末复习

天津理工大学 2016~2017 第一学期期末考试,以下内容根据复习提纲由“浩瀚”制作,欢迎转载,请注明出处。

以下为PDF文档,可能需要一点加载时间,请稍候。

注:翻页及缩放按钮在PDF下方。

[pdf-embedder url="https://seahi.me/wp-content/uploads/2017/01/database_exam.pdf"]

《软件工程导论》复习提纲

 

选择————20分

填空————10分

名词解释——12分

简答————18分

综合设计——40分

第一章 软件工程概述

一、软件危机

  1. 名词解释:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
  2. 它包括两方面的问题:

(1)如何开发软件以满足日益增长的需求;

(2)如何维护数量不断增长的已有软件。

二、软件文档的重要性:

  1. 管理人员使用文档资料来做为里程碑
  2. 开发人员利用它们做为通信工具,在软件的开发过程中准确地交流信息
  3. 对于维护人员,这些文档必不可少
  4. 缺乏必要的文档或者文档不合格,必然给软件开发和维护带来许多严重的问题

三、瀑布模型:时间驱动型、文档驱动型

  1. 阶段间具有顺序性和依赖性
  2. 每个阶段必需完成规定的文档

四、螺旋模型:风险驱动型

每个阶段之间都增加了风险分析过程的快速原型模型

第二章 可行性研究

一、数据流图:会画(描绘做什么,不考虑怎么做)

四个要素:

  1. 数据的源点、终点
  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. 修正系统的开发计划

二、状态转换图 (行为模型)会画图

第四章 形式化说明技术

(不考)

第五章 总体设计

考概念

  1. 概要设计

总体设计又称为概要设计。

概要设计的主要任务是把需求分析转换为软件结构和数据结构。

二、模块化

模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。(函数、子程序、宏、对象等都可以视为模块)模块是构成程序的基本构件。(了解)

模块化(名词解释)就是把程序划分为独立命名且可以独立访问的模块,每个模块完成一个子功能,把这些模块集成一个整体,可以完成指定的功能满足用户的需求。

三、抽象

抽象(名词解释)在现实世界中一定事物、状态或过程之间总存在着某些相似的地方(共性),把这些相似的方面集中和概括起来,暂时忽略它们之间的差异,这就是抽象。(或者说,抽象就是抽出事件的本质而暂时不考虑它们的细节)

四、模块独立

  1. 耦合:耦合是对一个软件结构内不同模块之间互连程度的度量。
    1. 完全独立
    2. 数据耦合(低耦合):通过参数传递的信息只有数据信息
    3. 控制耦合:通过参数传递的信息包括控制信息
    4. 特征耦合:通过参数传递的数据大于需要的数据,造成了对数据访问的不可控
    5. 公共环境耦合:多个模块使用同一个公共数据环境
    6. 内容耦合:应该坚决避免使用
    7. 设计原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合。
  2. 内聚:内聚标志着一个模块内各个元素彼此结合的紧密程度,它是信息隐藏和局部化概念的自然扩展。简单地说,理想内聚的模块只做一件事情。(高内聚往往对应低耦合,内聚比耦合更重要)
低内聚:
    1. 偶然内聚:一个模块完成的一组任务间的关系很松散
    2. 逻辑内聚:这组任务在逻辑上相同或相似
    3. 时间内聚:这组任务必须在同一段时间内执行
中内聚:
  1. 过程内聚:任务有次序
  2. 通信内聚:
高内聚:
  1. 顺序内聚:
  2. 功能内聚:一个模块只完成一个单一的功能。最高程度的内聚。

 

第六章 详细设计

本章考大题

一、程序流程图会画图

二、盒图(NS图)会画图

三、PAD图会画图

四、判定表会画图

五、判定树会画图

六、Jackson图

Jackson图表现的是组成关系

七、Jackson方法

  1. Jackson方法和Warnier方法是最著名的两个面向数据结构的设计方法(只可能考到Jackson方法)
  2. 设计步骤:
    1. 分析输入、输出数据结构的逻辑结构,用Jackson图表示
    2. 找出输入、输出数据章有对应关系的数据元素
    3. 从数据结构图导出程序结构图
    4. 列出操作和条件
    5. 用伪码表示程序
  3. 例题:

一个正文文件由若干个记录组成,每个记录是一个字符串。要求统计每个记录中空格字符的个数,以及文件中空格字符的总数。要求的输出数据格式是,每复制一行输入字符串之后,另起一行印出这个字符串中的空格数,最后印出文件中空格的总数。

  1. 分析输入、输出数据结构的逻辑结构,用Jackson图表示

Screenshot from 2016-12-25 10-58-19

  1. 找出输入、输出数据章有对应关系的数据元素

如图中虚线为有对应关系的数据单元。

注:输入的字符串要连接输出的串信息,而不是输出的字符串,因为每一个输入的字符串,处理后都可以得到输出的字符串和空格数两个数据单元。

  1. 从数据结构图导出程序结构图

Selection_001

  1. 列出操作和条件

P.135

  1. 用伪码表示程序

P.136

  1. 计算环形复杂度
  2. 流图(也称程序图) 会画图

AND条件需要单独一个节点,因为该条件不一定执行

  1. 复杂度 = 边 - 结点 + 2 (理论上以10为上限)

第七章 实现

测试用例、预期结果

  1. 单元测试

单元测试集中检测软件设计的最小单元——模块。

单元测试主要使用白盒测试技术,而且对多个模块的测试可以并行地进行。

代码审查:采用代码审查的方法可以减少系统验证的总工作量。

计算机测试:存根程序(虚拟子程序)、驱动程序(主程序)

  1. 集成测试
  2. 在进行集成测试时普遍采用渐增式测试方法(这种方法实际上同时完成单元测试和集成测试)。
  3. 自顶向下集成:不需要测试驱动程序;可以在早期发现上层模块的接口错误;早期不能充分展开人力。
  4. 自底向上集成:不需要存根程序
  5. 回归测试:重新执行已经做过的测试的某个子集
  6. 白盒测试技术(大题)
  7. 逻辑覆盖
  8. 控制结构测试
    1. 基本路径测试
      1. 画流图
      2. 计算环形复杂度(边数--结点数+2)
      3. 确定独立路径的基本集合
      4. 设计可强制执行基本集合中所有独立路径的测试用例
    2. 条件测试

分支测试、BRO测试

    1. 循环测试
  1. 墨盒测试技术(辨析)
  2. 等价划分:把输入域划分成若干个数据类,据此导出测试用例
  3. 边界值分析
  4. 错误推测
  5. 确认测试(粗略了解)

目标是验证软件的有效性

第八章 维护

  1. 维护定义

软件已经交付使用之后,为了改正错误或满足新需求而修改软件的过程。(名词解释)

  1. 维护种类
  2. 改正性维护:新错误
  3. 适应性维护:新硬件、新环境
  4. 完善性维护:新需求
  5. 预防性维护

第九章 面向对象方法学引论

  1. 三种类
  2. 实体类
  3. 界面类
  4. 控制类
  5. 辨析
  6. 动态模型
  7. 静态模型
  8. 类图 会画

格式:

可见性 属性名:类型=初值

可见性 方法名(参数表):返回类型

公有 +

私有 -

保护 #

  1. 用例图 会画
  2. 时序图 会画

第十三章 软件项目管理

一、CMM模型(美国卡内基梅隆大学软件工程研究所建立)

能力成熟度模型,用于评价软件机构的软件过程能力成熟度模型。

  1. 软件质量定义

概括地说,软件质量就是“软件与(明确定义和隐含定义的)需求相一致的程度”。

具体地说,软件质量是软件与明确叙述的功能和性能需求、文档中明确描述的开发标准以及任何专业开发的软件产品都应该具有的隐含特征相一致的程度。

  1. 软件配置管理定义

软件配置:软件过程的输出信息(计算机程序、描述计算机程序的文档、数据)统称为软件配置。

软件配置管理:软件质量保证中重要的一环,主要有5项任务:标识、版本控制、变化控制、配置审计和报告