软件需求开发阶段 _ 结构化分析模型(不考)

结构化分析模型

image
结构化方法主要是是两种模型:

  1. 数据流图DFD(Data Flow Diagram)
    从数据传递和加工的角度,描述了系统从输入到输出的功能处理过程。运用功能分解的方法,用层次结构简化处理复杂的问题。

  2. 实体关系图ERD(Entity Relationship Diagram)
    描述系统中的数据对象及其关系,定义了系统中使用、处理和产生的所有数据。

实体关系图ERD

实体关系图ERD(Entity Relationship Diagram):用于描述数据的定义、结构和关系特性。
image

注意:

  • 数据对象独立于处理过程;
  • 仅关注数据域;
  • 在用户抽象级别建立模型;
  • 描述数据对象之间是如何进行关联的

基本元素

实体对象

定义:需要在系统中收集和存储的现实世界中事物的类别的描述。
注意:

  • 每个实体对象能够被唯一的标识。
  • 每个实体对象在系统扮演必要的角色。
  • 每个实体对象可以被一组它自己的数据项属性描述。

典型对象:

  1. 外部实体(人、打印机、传感器)
  2. 事物(报告、信号、显示)
  3. 事件或发生(中断、警报)
  4. 角色(经理、工程师、销售员)
  5. 组织或单位(分公司、团队)
  6. 地方(制造车间)
  7. 业务方式(员工记录)

例:image

属性

定义: 可以对实体进行描述的特征(各方面)。

注: 标识符(键)可以唯一确定和标识实体的每个实例的属性或属性集。

例:
image

关系

存在于一个或多个实体之间的自然业务联系。
表示软件系统必须存储的联系,该联系不能由计算或者推导得到。
实体的数量级:
最大基数(在某关系中,实体对象的最大个数)
最小基数(在某关系中,实体对象的最小个数)

例:image

实体的数量级:

一对一(1:1)关联

一对多(1:m)关联

多对多(n:m)关联

image

在ER图中用圆圈表示所关联的实例是可选的,隐含表示“0”,没有出现圆圈就意味着是必须的。出现在连线上的短竖线可以看成是“1”
2)ERD的标注
方法1:

image

方法2:
image

ERD的建立

①分析数据对象(实体),和属性。

②分析实体间的关系,和数量级。

③建立ERD。

ERD示例

银行储蓄系统:
储户填写的存款单或取款单由业务员键入系统;
如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率、密码(可选)等信息,并印出存单给储户;
如果是取款而且开户时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户
image

山里外卖订餐系统,
每周由餐厅经理发布菜单。菜单以套餐为主。包括凉菜、热菜、主食和例汤,价格为套餐价格。
顾客使用系统可以查看菜单和订餐。订餐时要选择套餐,并生成订单。支付方式为在线支付。订单要记录送餐地址和签收人电话。
顾客订单支付后,若开始备餐(厨师会设置订单为备餐状态)。备餐完成后,设置为待取状态。取餐后修改订单状态为已完成。
顾客可以方便的查看订单状态。在消费完成后,顾客可以对菜品发表评价。
另外顾客可以修改订单或取消订单。但订单状态设置为备餐后,订单不可修改或取消。

image

数据流图(Data Flow Diagram, DFD)

数据流图将系统看做过程(process)的集合,过程包括:接收数据输入,转换数据,输出结果。
image

数据流图有四种基本元素:

外部实体:处于系统之外,与系统存在数据交互的人、组织、设备或者其他软件系统。

过程:又称为处理,加工,表示施加于数据的动作或行为。 在建模时考虑将人工处理任务也作为系统行为的一部分描述为过程。

数据流:表示数据的运动,是系统与环境或者系统内部过程之间的通信形式。

数据存储:是软件系统内部收集、保存数据的集合。说明:如果流入/出存储区的数据流包含与存储区相同的信息,则可以不为数据流专门指定名称。如果流入/出存储区的数据流包含存储区信息中的子集,必须为数据流指定名称。

使用数据流图,描述在网络教学平台提交作业的处理过程。
image

基本元素

外部实体(external entity)

数据信息的产生者或者使用者。
数据必须从某处来,并且到某处去。

image

过程(process)

数据的转换,从输入转换为输出。
为了完成系统功能,数据必须进行某些处理。
image

数据流(data flow)

数据流流经系统,以输入数据开始,然后被转换为输出数据。
image

数据存储(data store)

数据通常被存储下来,以备后续使用。
image

DFD实例

建立ATM取款的DFD
过程描述如下:
用户输入取款金额,ATM机检查输入是否有效,若有效则检查账户余额是否足够,如果足够,完成取款,并打印凭条;如果不足,则提示用户“账户余额不足”。

外部实体:用户
过 程:检查取款额、检查余额、处理取款、打印凭条。
数据存储:账户、取款信息。
image

建模注意点

数据流只能是数据,不是操作
处理:的表示形状
image

分层结构

image

语法规则

  1. DFD中的 对象 需要有唯一的标识(名称)。

  2. 过程是对数据的处理,必须有输入,也有输出;且输出与输入数据流存在差异。

  3. 数据流必须和过程产生关联,要么是过程的数据输入,要么是过程的数据输出。且数据流要有箭头(表示方向)。

  4. DFD图通过分层图表示更多的细节。通常要从上下文图(0层图)开始画。

  5. 在0层图中总是要画出外部实体。

  6. DFD不描述处理的逻辑细节。

posted @ 2022-10-29 21:49  kingwzun  阅读(568)  评论(0编辑  收藏  举报