结构化需求分析

1、什么是模型呢?

所谓模型,就是为了理解事物而对事物做出的一种抽象,是对事物的一 种无歧义的书面描述。

2、结构化分析的框架

结构化分析的框架主要包括:

(1)功能建模(数据流图)

(2)数据建模(实体-关系模型)

(3)行为建模(状态转换图)

(4)框架核心(数据字典)

3、功能建模

3.1 功能建模概述

功能模型用数据流图来描述数据在系统中流动和处理的过程,它只反映系统必须完成的逻辑功能。

例如:【学生购买教材系统】 --通过对现实环境的调查,获得当前系统的物理模型

(1)分析:

从刚才的物理模型中我们发现学生购买教材的处理流程包含了 很多物理地点,如教务处、教材科,会计室等。  去掉具体模型 中的非本质因素,  抽象出当前系统的逻辑模型.

【学生购买教材系统】 --系统的逻辑模型

(2)进一步分析:

我们还可以进一步对系统的逻辑模型进行细化,分析当前系统 与目标系统的差别,建立目标系统的逻辑模型 例如:发书是具体的实物操作,计算机不需要识别。

计算机教材管理系统的逻辑模型

3.2 数据流图的基本符号

(1)数据流图的基本符号

(2)数据流图的关系

如果有两个以上的数据流指向一个加工,或是从一个加工中输出两个以上的数据流,这些数据流之间往往存在一定的关系。

3.3 数据流图步骤

(1)识别外部实体及输入输出数据流

(2)画出系统的环境图

环境图也称为系统的顶层数据流图,或者0层数据流图,它仅包括一个数据处理(加工),也就是要开发的目标系统;还包括目标系统的输入输出数据流,以及完成输入和接收输出的外部实体。

(3)画出分层数据流图

为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解 ,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。

3.4 数据流图案例

患者监护系统案例

某医院准备开发一个以计算机为中心的患者监护系统,基本要求如下:系统随时接收每个病人的生理信号(脉搏、体温、血压、心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时,系统向值班护士发出警告信息,此外,护士在需要时还可以要求系统印出某个指定病人的病情报告。 画出此系统的分层数据流图。

(1)识别外部实体及输入输出数据流

患者监护系统的外部实体包括医生、病人、护士和时钟。

输入数据包括医生输入的患者安全范围、病人的生理信号、护士要求病情报告、定期的日期时间。

输出数据包括护士需要的病情报告和发送给护士的警告信息。

(2)画出环境图(顶层数据流图)

(3)画出一层数据流图

高校图书借阅系统案例

高校图书借阅系统的业务流程:

管理员可以通过此系统对图书和读者信息进行查询、增加、修改和删除,查询读者借阅情况以及重置读者密码; 读者可以通过此系统借书、归还图书,查询个人现在和历史借阅情况,若有图书超期则需支付罚款并归还后才可继续借书; 管理员还可以查询个人信息、借阅超期的信息等; 读者可以查询书籍信息、个人基本信息、个人借阅及超期罚款信息等; 管理员和读者都可以修改个人密码。

(1)识别外部实体及输入输出数据流

高校图书借阅系统系统的外部实体包括管理员和读者。

输入数据:包括管理员录入和维护系统的图书和读者信息以及各种信息查询事务;读者输入借书和续借时必需的信息和还书时必需的信息以及各种信息查询事务。

输出数据:读者的借书和还书结果信息以及借书时发现有超期未还书籍输出超期的借阅信息,管理员和读者的查询结果。

(2)画出环境图(顶层数据流图)

(3)画出一层数据流图

(4)画出二层数据流图:读者信息维护数据流图

(5)画出二层数据流图:图书信息维护数据流图

(6)画出二层数据流图:借书数据流图

(7)画出二层数据流图:还书数据流图

4、数据建模

4.1 什么是数据模型?

数据模型包括三种互相关联的信息:实体(数据对象)、描述数据对象的属性和实体(数据对象)相互连接的关系,也称为E-R图。

基本要点

(1)数据对象,也称为实体,是具有若干不同属性的信息。在E-R图中用矩形表示实体,在矩形框内写上实体名。 在实际问题中,数据对象可以是角色(如学生)、事物(如课程)、行为或事件(如学生选课)、组织单位(如学院)、地点(如教室)等等。

(2)属性,定义数据对象的特征,如数据对象学生的学号、姓名、性别、专业、学院等,课程的课程编号、课程名称、学分等。 在ER图中用椭圆或圆角矩形表示属性,并用无向边将属性与相关的实体连接起来。

(3)联系,不同实体的实例之间是有关联关系的,在E-R图上用菱形表示,在菱形框内写上联系名,用无向边分别把菱形框与有关实体连接起来,在无向边旁注明联系的类型。

实体间的联系

实体间的联系是错综复杂的,但就两个实体型的联系来说,主要有以下3种情况:

(1) 一对一(1:1)联系,例如,部门与经理之间联系,学校与校长之间的联系等等就是一对一联系。

(2) 一对多(1:m)联系,例如,一个班可以有多个学生,但一个学生只能属于一个班。班级与学生之间的联系就是一对多联系。

(3) 多对多(m:n)联系,例如,学生在选课时,一个学生可以选多门课程,一门课程也可以被多个学生选,则学生和课程之间具有多对多联系。

4.2 数据建模案例

图书管理系统数据库案例

有一个图书管理系统数据库,包含读者和图书实体,其中一个读者可以借阅若干本图书,一本图书可以被多个学生借阅。

学生信息系统数据库案例

有一个简单的学生信息系统数据库,包含班级、学生和课程实体,其中一个班可以有若干个学生,一个学生只能属于一个班;一个学生可以选修多门课,一门课也可以有多个学生选修,学生选课后有成绩。

4.3 思考

某电子商务网站要求提供下述服务: 可随时查询库存中现有物品的名称、数量和单价,所有物品均应由物品编号唯一标识;可随时查询顾客订货情况,包括顾客号、顾客名、所订物品编号、订购数量、联系方式、交货地点,所有顾客编号不重复;当需要时,可通过数据库中保存的供应商名称、电话、邮编与地址信息向相应供应商订货,一个编号货物只由1个供应商供货。 根据语义设计出E-R模型;

5、行为建模

5.1 行为建模概述

行为建模即绘制系统的状态转换图(简称状态图),通过描绘系统的状态及引起系统状态转换的事件来表示系统的行为。

状态图中使用的主要符号包括圆角矩形和箭头的连线。

圆角矩形表示系统的一个中间状态,实心圆表示初态,牛眼图形表示终态。在一张状态图中只能有一个初态,而终态则可以有多个,也可以没有。

5.2 行为建模案例

图书借阅系统案例

(1)借书的状态图

(2)还书的状态图

6、数据字典

6.1 什么是数据字典?

数据字典以词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义。数据字典做为把3种分析模型黏合在一起的“黏合剂”,是分析模型的“核心”。

6.2 符号

6.3 行为建模案例

教务系统学生成绩库

教务系统的学生成绩库文件的数据字典描述可以表示为:

文件名: 学生成绩库

记录定义: 学生成绩=学号+姓名+{课程代码+成绩+[必修|选修]}

学号: 6{数字}6

姓名: 2{汉子}4

课程代码: 8{字符}8

成绩: 1{数字}3

7、加工逻辑

7.1 判定表

判定表由四部分组成:

第一部分:左上部称为基本条件项,列出各种可能的条件。

第二部分:右上部称为条件项,列出了各种可能的条件组合。

第三部分:左下部称为基本动作项,列出了所有的操作。

第四部:右下部称为动作项,列出在对条件组合下所选的操作。

任何一个条件组合的特定取值及其相应要执行的操作称为规则,在判定表中贯穿条件项和动作项的一列就是一条规则。 如果两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系,则可以对判定表进行化简,也就是规则合并。

判定表案例

某公司的对客户分类标准如下:顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志;信誉不好,但是老客户的,订单设“优先”标志;信誉不好,但是新客户的,订单设“正常”标志;每次订货额在 1000元以下,订单设“正常”标志。

改进判定表案例

初始判定表中,第1和第2条规则具有相同的动作,而且前两个条件的值相同,所以与第三个条件的值无关,可以合并,将第3个条件设为“-”即可。同样第5到第8条规则的动作也相同,明显只与第1个条件的值有关,也可以合并,将第2和第3个条件设为“-”即可。

7.2 判定树

判定树概述

判定表能清晰地表示复杂的条件组合与应做的动作之间的对应关系,但其含义却不是一眼就能看出来的。

判定树是判定表的变种,也能清晰地表示复杂的条件组合与应做的动作之间的对应关系。一眼就可以看出其含义。

判定树进行描述时,应该从问题的文字描述中分清哪些是判定条件,哪些是判定的决策,根据描述材料中的联结词找出判定条件的从属关系、并列关系、选择关系,根据它们构造判定树。

判定树案例

某公司的对客户分类标准如下:顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志;信誉不好,但是老客户的,订单设“优先”标志;信誉不好,但是新客户的,订单设“正常”标志;每次订货额在 1000元以下,订单设“正常”标志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WFIT~SKY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值