• 模块独立

  • 衡量模块独立程度标准:耦合性、内聚性

  • 尽量高内聚,低耦合,提高模块独立性

  • 耦合(与模块独立性反比)

  • 无直接耦合:无直接关系,耦合性最弱,独立性最高

  • 数据耦合,两个模块有调用关系,传递简单数据

  • 标记模块,传递数据结构

  • 控制耦合,调用另一模块时,传递控制变量

  • 外部耦合,通过软件外部环境连接

  • 公共耦合,公共数据环境

  • 内容耦合,直接用另一模块内的数据,或通过非正常入口转入另一模块内

  • 内聚(与模块独立性正比)

  • 偶然内聚(巧合内聚),模块内元素之间无联系

  • 逻辑内聚,有若干逻辑相似功能,用参数决定哪个

  • 时间内聚,把同时执行动作组合

  • 过程内聚,按执行过程

  • 通信内聚,各元素在同一个数据结构操作

  • 顺序内聚,必须顺序执行

  • 功能内聚,所用元素共同完成一个功能,缺一不可

  • 系统结构设计原则(有个印象)

  • 分解协调原则
    logseq.order-list-type:: number

  • 自顶向下的原则
    logseq.order-list-type:: number

  • 信息隐蔽、抽象的原则
    logseq.order-list-type:: number

  • 一致性原则,统一规范、统一标准……
    logseq.order-list-type:: number

  • 明确性原则, 功能明确,接口明确,消除多重功能和无用接口
    logseq.order-list-type:: number

  • 模块耦合应尽可能小,内聚度应尽可能高
    logseq.order-list-type:: number

  • 模块的扇入系数和扇出系数合理(一个模块调用其它模块个数扇出系数),通常3或4,一般不应过7,否则出错概率增大
    logseq.order-list-type:: number

  • 模块规模适当,过大模块使系统分解不充分,过小模块降低模块独立性
    logseq.order-list-type:: number

  • 模块作用范围应在控制范围之内
    logseq.order-list-type:: number

  • 数据流图 DFD

  • 顶层数据流图描述系统的输入输出

  • 加工必须有输入数据流和输出数据流

  • 数据流起点和重点至少一个是加工

  • 找错的题,可能出现名字相同的错误

  • 数据流类型往往有多种

  • 数据字典 DD

  • 对DFD中的数据流、文件、加工、构成数据流或文件的数据项做说明,可称为加工逻辑说明

  • 有四类条目,数据流、数据项、数据存储、基本加工(无外部实体)

  • 数据项是组成数据流和数据存储的最小项目,起点终点不在系统内,一般不在字典说明。

  • 加工逻辑,也称小说明,不用说明具体流程

    1. 结构化语言,外层(顺序、选择、重复)内层
    2. 判定表
    3. 判定树
  • 结构化分析结果

  • 数据流图、数据字典、小说明、实体联系图

  • 结构图

  • 基本元素:模块,调用、数据