结构化分析方法
功能说明:
- 精确描述DFD中的每一个基本加工的加工逻辑(不能再分解的加工称之为基本加工,最后一层均为基本加工)
 - 与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 条评论