[架构之路-249]:目标系统 - 设计方法 - 软件工程 - 需求工程- 需求开发:如何用图形表达需求,结构化方法的需求分析

目录

一、概述

二、数据模型:E-R图/实体关系图(数据单元之间的结构关系)

[三、功能模型:数据流图DFD(逻辑运算,包括输入和输出,实体之间的关系):输入=》处理 =》 输出](#三、功能模型:数据流图DFD(逻辑运算,包括输入和输出,实体之间的关系):输入=》处理 =》 输出)

四、行为模型:状态转化图(系统状态)


一、概述

结构化方法的需求分析是指通过一系列严谨而规范的步骤,对系统的需求进行清晰的描述和分析,以确定系统需要满足的功能和性能要求,以及系统与人、物、环境等相关方面之间的交互关系。

二、数据模型:E-R图/实体关系图(数据单元之间的结构关系)

E-R图(Entity-Relationship Diagram),也称为实体关系图,是一种数据建模工具 ,用于描述现实世界中实体(entity)之间的关系(relationship)。它是一种图形化的表示方法,能够清晰地展示数据模型中各个实体之间的关联和属性。

在E-R图中:

  • 实体本身用矩形框表示,
  • 实体的属性用椭圆形表示。
  • 实体与实体的关系用用菱形表示:数量关系通过在双方一侧标注数字来标识,行为关系通过在菱形中增加文本表示。

以下是E-R图中常用的符号和概念:

  1. 实体(Entity): 代表现实世界中具有独立实体性质的对象 ,例如人、物、地点等。每个实体都有一些属性,用于描述和区分实体之间的差异。

    实体是指现实世界中的某个具体、独立的事物,它可以用实体名表示,并具有一些属性和行为。在数据库中,实体可以被认为是需要被存储、处理、管理、查询的信息或对象(object),比如商品、客户、订单、文章、作者等。

    在实体关系图中,一个实体通常以一个矩形来表示 ,矩形中包含实体名和该实体的属性。属性是指实体的特征描述,比如商品实体的属性可能包括名称、价格、描述等。实体之间的关系可以用连线来表示,这些连线描述了实体之间发生的各种事情,比如商品被下单、客户购买商品等等。

    绘制实体关系图是数据库设计的重要过程之一。通过分析现实世界中的业务流程、数据需求和数据结构,可以构建一个合理、可维护、易于扩展的实体关系图。实体关系图不仅能够帮助开发者对数据进行良好的设计和管理,还可以作为协作与沟通的工具,帮助项目各方了解业务需求和数据结构。

  2. **属性(Attribute):**描述实体的特征和性质,例如人的姓名、年龄、身高等。属性可以是简单的,也可以是复杂的,可以包含多个值。

  3. **关系(Relationship):**描述实体之间的联系和交互。关系可以是一对一、一对多或多对多的关系。例如,学生和课程之间的关系可以是学习关系,一个学生可以选择多门课程,一门课程可以由多个学生选修。

  4. **基本关系类型:**包括一对一(1:1)、一对多(1:N)和多对多(M:N)关系。

E-R图提供了一种直观且易于理解的方式来描述数据模型,它是数据库设计和系统分析中常用的工具之一。通过E-R图的绘制和分析,可以帮助设计师和开发人员更好地理解系统的结构和数据流动,从而准确捕捉需求,设计出高质量、合理结构的数据库模型。

三、功能模型:数据流图DFD(逻辑运算,包括输入和输出,实体之间的关系):输入=》处理 =》 输出

功能模型中的数据流图(Data Flow Diagram,简称DFD)是一种常用的建模工具,用来描述信息系统中的数据流动和处理过程,与计算机的系统架构要表述的内容是一致的.

它通过图形化的方式 展示了系统中数据的来源(输入)、去向(输出)、处理和存储等过程,帮助开发人员在系统设计时更好地理解系统中的数据流动。

数据流图 (Data Flow Diagram,简称DFD) 中包含以下几个主要元素:

  1. 外部实体 (External Entity): 表示与系统交互的外部对象,如用户、其他系统或设备。通常用方框表示 ,并在方框内部标明实体的名称

  2. 数据流 (Data Flow): 表示数据在系统中的流动。数据流可以是输入数据、输出数据或在系统内部流动的中间数据。通常用箭头表示,并在箭头上方 标明数据流或流动的信息名称

  3. 进程 (Process):表示对数据进行处理和转换的操作或功能模块。通常使用圆角矩形或圆形表示 ,并在图形内部标明进程的名称

  4. 数据存储 (Data Store): 表示数据在系统中的存储位置,如数据库、文件或内存等。通常使用类长方形表示,并在类长方形内部标明数据存储的数据名称

这些元素通过连接线连接起来,形成数据流图的结构。连接线表示数据的流动路径和数据流向。

除了上述主要元素,数据流图中还可以使用控制流 (Control Flow) 元素表示控制信号和决策的流动。控制流使用类似于数据流的箭头表示。

数据流图的结构和元素的使用可以根据具体的系统和分析目的进行适当的调整和扩展。

在DFD中:

  • 数据流用箭头表示
  • 数据处理用方框表示
  • 数据存储用平行四边形表示
  • 源和目标用椭圆形表示

以下是DFD中常用的符号和概念:

  1. 数据流(Data Flow),即数据流动: 代表信息系统中传递的路径,它可以是从数据源到数据目标的传输,也可以是在系统内部不同处理模块之间的数据传递。

  2. 处理(Process)即逻辑运算ALU: 代表对数据进行处理、计算、转换或转发等操作的模块,它可以是计算机程序、人工处理或自动化的业务流程等。

  3. 数据存储(Data Store),即计算器、内存、cache、数据库、硬盘、文件等: 代表系统中数据的存储位置,可以是数据库、文件或其他数据存储设备

  4. 源和目标(Source and Destination): 代表数据流的起点和终点 ,可以是外部来源或者系统内部的其他模块

  5. **方向箭头:**表示数据的流向,从源到目标或从处理模块到数据存储。

通过DFD的绘制和分析,可以帮助设计师和开发人员更好地理解系统中各个部分之间的数据流动 ,从而更好地分析系统的流程和逻辑。这样可以更准确地捕捉系统需求,设计出更合理的系统架构和流程,提高系统的设计效率和实现质量。

四、行为模型:状态转化图(系统状态)

状态转换图(State Transition Diagram)是一种描述系统行为图形化模型。它主要由状态、转移和事件组成,用于表示一个系统在不同状态之间的转换以及触发状态转换的外部事件。

在状态转换图中,状态表示系统所处的特定状态或条件。转移表示状态之间的切换,通常用箭头连接起来,箭头上可以标注触发转换的事件或条件。事件是引起状态转换的外部触发器,例如用户输入、信号到达等。

状态转换图往往用于描述系统的行为流程、状态机、协议或者算法等。它可以帮助开发人员理清系统的状态变化路径,从而更加清晰地分析和设计系统的逻辑。

请注意,行为模型的状态转化图可能因具体应用场景而异,因此,如果您有具体的应用场景,可以向我提供更多细节,我将尽力为您提供更精确的帮助。

相关推荐
工业甲酰苯胺7 小时前
分布式系统架构:服务容错
数据库·架构
Java程序之猿9 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
小蜗牛慢慢爬行11 小时前
Hibernate、JPA、Spring DATA JPA、Hibernate 代理和架构
java·架构·hibernate
思忖小下13 小时前
梳理你的思路(从OOP到架构设计)_简介设计模式
设计模式·架构·eit
伯牙碎琴19 小时前
智能体实战(需求分析助手)二、需求分析助手第一版实现(支持需求提取、整理、痛点分析、需求分类、优先级分析、需求文档生成等功能)
ai·大模型·agent·需求分析·智能体
Byron Loong19 小时前
Python+OpenCV系列:【打卡系统-需求分析】需求大剖析,考勤革命开启!
python·opencv·需求分析
一个儒雅随和的男子20 小时前
微服务详细教程之nacos和sentinel实战
微服务·架构·sentinel
腾讯云开发者20 小时前
AI时代,需要怎样的架构师?腾讯云架构师峰会来了!
架构
Hello Dam1 天前
面向微服务的Spring Cloud Gateway的集成解决方案:用户登录认证与访问控制
spring cloud·微服务·云原生·架构·gateway·登录验证·单点登录