结构化分析方法

功能说明:

  1. 精确描述DFD中的每一个基本加工的加工逻辑(不能再分解的加工称之为基本加工,最后一层均为基本加工)
  2. 与DFD共同构成系统的功能模型(DFD+DD = 逻辑模型 ; DFD + 功能说明 = 功能模型)

 

结构化语言

介于自然语言(中文)与形式化语言(类似于代码语言)之间的一种半形式化的语言:

  • 外层使用形式化语言来描述控制结构(顺序,选择,循环)
  • 内层采用祈使句的自然语言短语

特点:

  • 没有严格的语法
  • 外层精确但不易被理解
  • 内层易理解但不精确
  • 允许使用嵌套结构
  • 所有名字必须是数据字典中有定义的名字
  • 不适用形容词,副词等修饰词
  • 可以使用常用的算数和关系运算符(>,<,||,&&,~)

例子(伪代码):

IF(学号!=NULL){
    在成绩表中查找符合条件的成绩记录
    由这些成绩记录生成个人成绩单
}

例题,确定保险类别:

某数据流图中有一个“确定保险类别”的加工,其加工逻辑描述为:

  • 如果申请者的年龄在21岁以下,需要额外收费
  • 如果申请者是21岁以上26岁以下的女性,适合于A类保险
  • 如果是26岁以下的已婚男性,或26岁以上的男性,适用于B类保险
  • 如果是21岁以下的女性和26岁以下的单身男性,适合于C类保险

思路:找条件,本题中按照年龄进行分类,同时还有性别和婚姻状况(针对男性的婚姻状况),再进行描述。

IF(申请者.年龄 <= 21){
    适用 “额外收费”
}
IF(申请者.性别 == “女性”){
    IF(申请者.年龄 <= 21){
        适用 “C类保险”
    }ELSE{
        适用 “A类保险”
    }
}ELSE{
    IF(申请者.年龄 <= 26 && 申请者.婚姻状态 == "已婚" || 申请者.年龄 > 26){
        适用“B类保险”
    }ELSE{
        适用“C类保险”
    }
}

判定表

描述复杂的条件组合与应作的动作之间的对应关系,个人人类类似于数字电路那样的“真值表”那样的描述方法。

如上题(例题):

条件:

  • 年龄:<=21,21~26,>26
  • 性别:男,女
  • 婚姻状态:已婚,单身

动作

  • A类保险
  • B类保险
  • C类保险
  • 额外收费

 

 

判定树

本质上与判定表是相同的,只是表示形式不同。个人认为类似于思维导图(树状结构)

图:(被我吃了)

分类: 软件工程

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注