一、面向过程的软件工程
1、需求分析方法: 数据流图->数据字典->加工逻辑描述
1) 数据流图:描述数据的流动和处理的过程。
基本图形符号:
表示数据流。
表示数据的原点或终点
表示数据的处理
表示数据存储(文件)
例子:
实现学生录入学生信息,教师录入学生成绩,学生可以通过学籍管理系统查询打印成绩单。
2)数据字典:对数据流图中所包含的元素的定义集合。
表示方法:
“=”表示被定义为或“等价于”或“由.....组成”。 “+”表示“与"(和),用来连接两个数据元素。
[...|...]表示”或“,对[ ]中列举的数据元素可任选其中某一项。
{......} 表示”重复“,对{ }中的内容可以重复使用多次。
m{...|...}n 表示{...}中内容至少出现m次,最多出现n次。
(.......) 表示内容可选,可不选
例子(以上例为基础):
数据流条目
学生信息=姓名+性别+年龄+学院+系别+专业+班级
本次考试成绩=学号+姓名+专业班级+课程编号+课程名+成绩+学期+教师签名
成绩单=学号+姓名+专业班级+{科目+考试成绩+成绩}
新生信息=入学时间+姓名+性别+年龄+专业班级+系别
数据存储条目
文件名:考试成绩
组成:本次考试成绩+历次考试成绩
组织方式:索引文件,以学号为关键
文件名:学生记录
组成:学号+姓名+性别+年龄+学院+系别+专业班级+课程名+成绩
组织方式:索引文件,以学号为关键
文件名:学生成绩
组成:学号+姓名+专业班级+{科目+考试时间+成绩}
组织方式:索引文件,以学号为关键
数据项
成绩:别名:本次考试成绩、学生历次考试成绩、学生成绩
类型:实型
长度:5位,小数点后2位
姓名:别名:无
类型:字符型
3)加工逻辑描述:对数据流图中每个加工所作的说明。
例子(以上面例子为基础):
加工名:学籍管理系统
编号:无
输入:学生信息、本次考试成绩、学生记录
输出:统计表、成绩单
加工名:录入、存储处理
编号:1
输入:学生信息
加工逻辑:根据学生记录
IF 没有所输入的学生记录
THEN 建立新的学生记录,存储该学生的基本情况及所学科目成绩
ELSE 输入本次考试成绩
ENDIF
加工名:查询处理
编号:2
输入:学生信息、课程号
输出:成绩
加工逻辑: 根据学生信息及课程号
IF 按各科成绩查询
THEN 打印成绩单
ELSEIF 按单科成绩查询
THEN 打印成绩单
ENDIF