Skip to content

考点清单

  • [x] 逆向工程(4 个级别/重构/设计恢复/再工程/正向工程)
  • [x] 处理流程设计(PFD/IPO/N-S 图/PAD/BPR/BPM)
  • [x] 系统设计(概要设计/详细设计/基本原理/设计原则)
  • [x] 模块化设计(内聚 7 级/耦合 7 级)
  • [x] 人机界面设计(三大黄金原则)
  • [x] 结构化设计工具
  • [x] 系统运行与维护(遗留系统/系统转换/维护类型)
  • [x] 软件文档分类

笔记

一、逆向工程 ★

逆向工程:分析已有程序,在比源代码更高抽象层次上建立程序表示的过程。目的是理解程序、恢复设计、软件复用、改进优化。

四个级别(抽象级别从低→高,完备性从高→低):

级别内容备注
实现级抽象语法树、符号表、过程设计表示抽象最低,完备性最高
结构级调用图、结构图、程序和数据结构反映程序分量间相互依赖关系
功能级数据和控制流模型反映程序段功能及关系
领域级E-R 模型抽象最高,完备性最低

相关概念辨析:

概念说明
重构在同一抽象级别上转换系统描述形式,提高可读性和可维护性
设计恢复借助工具从已有程序中抽象出数据设计、结构设计和过程设计信息
再工程(Re-engineering)逆向工程基础上修改或重构已有系统,产生系统新版本。包含:逆向工程 → 考虑新需求 → 正向工程
正向工程从现有系统恢复设计信息,改变或重构以改善整体质量

关键辨析:逆向工程 = 低级别描述→高级别抽象;再工程 = 逆向 + 修改重构 → 产生新版本。


二、处理流程设计

流程表示工具:

工具特点
程序流程图(PFD)图框表示操作,独立于语言,由顺序/选择/循环组成
IPO 图描述每个模块的输入、输出和数据加工
N-S 图(盒图)容易表示嵌套和层次关系,结构化强,不适合复杂程序
问题分析图(PAD)支持结构化程序设计,引导使用结构化方法,逻辑清晰

BPR(业务流程重组)vs BPM(业务流程管理):

对比BPRBPM
核心对所有流程进行再造不要求对所有流程再造,根据现有流程规范化设计
层面彻底重构三个层面:规范流程、优化流程、再造流程

三、系统设计 ★

系统设计目的:为系统制定蓝图,勾画新系统的详细设计方案。

主要内容:

  • 概要设计(系统总体结构设计):功能需求分配给模块,确定模块功能和调用关系 → 模块结构图(系统结构图)
  • 详细设计:模块内算法设计、数据结构设计、数据库物理设计、代码/输入输出/界面设计、编写详细设计说明书、评审

基本原理:

原理说明
抽象化忽略细节,关注本质
自顶向下,逐步求精从高层到低层逐步细化
信息隐蔽模块内部信息对外不可见
模块独立高内聚、低耦合

设计原则: 模块大小适中、减少调用深度、多扇入少扇出、单入口单出口、模块作用域在模块内、功能可预测。

内聚性(从低→高)

级别说明
偶然内聚模块内各成分无实质关系
逻辑内聚逻辑上相似但功能不同
时间内聚同一时间执行(如初始化)
过程内聚按特定次序执行
通信内聚操作同一数据
顺序内聚一个成分的输出是另一个的输入
功能内聚所有成分共同完成单一功能,最强

耦合性(从低→高)

级别说明
无直接耦合模块间无直接关系,最弱
数据耦合通过简单数据参数交换
标记耦合通过数据结构传递
控制耦合传递控制信息影响执行路径
外部耦合与外部环境绑定
公共耦合共享全局数据
内容耦合直接访问另一模块内部数据,最强

四、人机界面设计

三大黄金原则:

  1. 置用户于控制之下
  2. 减少用户的记忆负担
  3. 保持界面的一致性

五、结构化设计工具

工具适用范围
盒图、HIPO 图、程序流程图结构化设计
顺序图(Sequence Diagram)面向对象设计(UML),不属于结构化设计工具

六、系统运行与维护

遗留系统处置策略

遗留系统:不能进行修改和演化以满足新业务需求的信息系统。特点:性能落后、技术过时、无文档、难维护。

策略条件
淘汰低业务价值 + 低系统质量
继承高业务价值 + 低系统质量
改造高业务价值 + 高系统质量
集成低业务价值 + 高系统质量

系统维护

软件系统文档分类:

  • 用户文档:描述系统功能和使用方法,不涉及实现细节
  • 系统文档:描述系统设计、实现和测试等详细内容

七、软件设计活动

活动内容
数据设计定义数据结构和数据库模式
架构设计确定系统高层结构和组件
人机界面设计设计用户界面和交互方式
过程设计定义业务逻辑和工作流程