软件工程——结构化分析

2023-11-06 12:50

本文主要是介绍软件工程——结构化分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、结构化分析方法

 二、功能建模

 三、数据建模

四、行为建模

五、数据字典

六、加工规格说明


一、结构化分析方法

传统的分析建模方法称为结构化分析(structured analysis,SA)方法。 最有代表性的是一种面向数据流进行需求分析的方法。

结构化分析方法是一种建模技术

该模型的核心是数据字典,包括在目标系统中使用和生成的所有数据对象。围绕这个核心有3种图:数据流图(DFD)描述数据在系统中如何被传送或变换,以及描述如何对数据流进行变换的功能,用于功能建模;实体-关系图(ER图)描述数据对象及数据对象之间的关系,用于数据建模;状态-迁移图(STD)描述系统对外部事件如何响应、如何动作,用于行为建模。

 二、功能建模

 功能建模的思想就是用抽象模型的概念,按照软件内部数据传递、变换的关系,自顶向下逐层分解,直到找到满足功能要求的所有可实现的软件为止。功能模型用数据流图来描述。

2.1 数据流图的基本图形符号

2.2 多个数据流之间的关系 

 2.3 环境图(0层数据流图)

环境图(context diagram)也称为顶层数据流图(或0层数据流图),它仅包括一个数据处理过程,也就是要开发的目标系统。 环境图的作用是确定系统在其环境中的位置,通过确定系统的输入和输出与外部实体的关系确定其边界。

2.4 画数据流图

画数据流图的基本步骤概括地说就是自外向内,自顶向下,逐层细化,完善求精。

在多层数据流图中,顶层流图仅包含一个加工

在分层的数据流图中,各层数据流图之间应保持“平衡”关系;规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据和输出数据必须一致。

 三、数据建模

在结构化分析方法中,使用实体—关系建模技术来建立数据模型。 这种技术是在较高的抽象层次(概念层)上对数据库结构进行建模的流行技术。 实体—关系模型表示为可视化的实体—关系图(entity-relationship diagram,ERD),也称为ER图。 ER图中仅包含3种相互关联的元素:数据对象(实体)、描述数据对象的属性及数据对象彼此间相互连接的关系。

3.1 数据对象

数据对象是目标系统所需要的复合信息的表示,所谓复合信息是具有若干不同属性的信息。在ER图中用矩形表示数据对象。

3.2 属性

属性定义数据对象的特征

在ER图中用椭圆或圆角矩形表示属性,并用无向边将属性与相关的数据对象连接在一起

3.3 关系

不同数据对象的实例之间是有关联关系的,在ER图上用无向边表示

在无向边的两端应标识出关联实例的数量,也称为关联的重数

从关联重数的角度可以将关联分为3种。

        (1) 一对一(1:1)关联

        (2) 一对多(1:m)关联

        (3) 多对多(m:n)关联

符号表示

 关系本身也可能有属性,这在多对多的关系中尤其常见.

关系属性的表示:在表示关系的无向边上再加一个菱形框,并在菱形框中标明关系的名字,关系的属性同样用椭圆形或圆角矩形表示,并用无向边将关系与其属性连接起来。

四、行为建模

在需求分析过程中,应建立起软件的行为模型;

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

状态图中使用的主要符号:

 4.1状态

状态是任何可以被观察到的系统行为模式,一个状态代表系统的一种行为模式,状态规定了系统对事件的响应方式。

状态的表示:初态用实心圆表示,终态用牛眼图形表示,中间态用圆角矩形表示。

活动部分的语法如下:

事件名(参数表)/动作表达式
事件名可以是任何事件的名称,需要时可为事件指定参数表,动作表达式指定应做的动作。
entry事件指定进入该状态的动作
exit事件指定退出该状态的动作
do事件则指定在该状态下的动作

4.2  状态转换

状态图中两个状态之间带箭头的连线称为状态转换。 状态的变迁通常是由事件触发的,在这种情况下应在表示状态转换的箭头线上标出触发转换的事件表达式。 如果在箭头线上未标明事件,则表示在源状态的内部活动执行完之后自动触发转换

4.3事件

事件是在某个特定时刻发生的事情,它是对引起系统做动作或从一个状态转换到另一个状态的外部事件的抽象。

事件表达式的语法如下:

事件说明(守卫条件)/动作表达式

事件说明的语法如下: 事件名(参数表) (

守卫条件是一个布尔表达式。如果同时使用守卫条件和事件说明,则当且仅当事件发生且布尔表达式成立时,状态转换才发生。如果只有守卫条件没有事件说明,则只要守卫条件为真,状态转换就发生。

动作表达式是一个过程表达式,当状态转换开始时执行该表达式。

五、数据字典

数据字典词条方式定义在数据模型、功能模型和行为模型中出现的数据对象及控制信息的特性,给出它们的准确定义,包括数据流、加工、数据文件、数据元素,以及数据源点、数据汇点等。

5.1词条描述

对于在数据流图中每一个被命名的图形元素均加以定义; 其内容包括图形元素的名字,图形元素的别名或编号,图形元素类别(如加工、数据流、数据文件、数据元素、数据源点或数据汇点等)、描述、定义、位置等。

(1)数据流词条

数据流是数据结构在系统内传播的路径。

(2)数据元素词条

数据流图中的每个数据结构都是由数据元素构成的,数据元素是数据处理中最小的、不可再分的单位,它直接反映事物的某一特征

(3)数据存储文件词条

数据存储文件是数据保存的地方

(4)加工词条

加工可以使用诸如判定表、判定树、结构化语言等形式表达

(5)数据源点及数据汇点词条

对于一个数据处理系统来说,数据源点和数据汇点应比较少

5.2 数据结构描述(顺序、选择、重复)

(1)定义式

        在数据流图中,数据流和数据文件都具有一定的数据结构,因此,必须以一种清晰、准确、无二义性的方式来描述数据结构。

数据结构定义式中的符号

(2) Warnier图。(读法:瓦捏图)

        Warnier图是表示数据结构的另一种图形工具,它用树形结构来描绘数据结构。

六、加工规格说明

在对数据流图的分解中,位于层次树最低层的加工也称为基本加工或原子加工,对于每一个基本加工都需要进一步说明,这称为加工规格说明。

满足要求:

(1) 对数据流图的每一个基本加工,必须有一个加工规格说明。

(2) 加工规格说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。

(3) 加工规格说明必须描述实现加工的策略而不是实现加工的细节。

(4) 加工规格说明中包含的信息应是充足的,完备的,有用的,没有重复的多余信息。

6.1 决策表(decision tree)

决策表由4个部分组成:

左上部分是条件茬,在此区域列出了各种可能的单个条件;

左下部分是动作茬,在此区域列出了可能采取的单个动作;

右上部分是条件项,在此区域列出了针对各种条件的每一组条件取值的组合;

右下部分是动作项,这些动作项与条件项紧密相关,它指出了在条件项的各组取值的组合情况下应采取的动作

 建立决策表的步骤

(1) 列出与一个具体过程(或模块)有关的所有处理。

(2) 列出过程执行期间的所有条件(或所有判断)。

(3) 将特定条件取值组合与特定的处理相匹配,消去不可能发生的条件取值组合。

(4) 将右部每一纵列规定为一个处理规则,即对于某一条件取值组合将有什么动作。

用决策表描述循环比较困难

6.2决策树(decision tree)

决策树(decision tree)也是用来表达加工逻辑的一种工具,有时侯它比决策表更直观。

这篇关于软件工程——结构化分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/356721

相关文章

【软件工程】软件开发模型

三、瀑布模型  四、几种软件开发模型的主要特点 题目 判断题 选择题 小结

第四章 结构化分析简记

第四章  结构化分析 结构化方法:结构化分析+结构化设计+结构化程序设计 结构化分析的基本思想:自顶向下,逐步求精;基本原则:抽象与分解。

第一章 软件工程的概述简记

第一章  软件工程的概述         *软件的概念:软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。         软件的分类:(5大类)                   *1.基于软件功能划分                                  1)系统软件

软件工程技术专业软件开发综合实训室解决方案

一、行业背景与前景分析 1.1 软件工程技术专业就业前景 近年来,中国的软件行业取得了显著的成就,即便在全球经济受到新冠疫情冲击的情况下,仍保持了强劲的增长势头。据工业和信息化部发布的数据,2021年我国软件和信息技术服务业的业务收入达到85371亿元人民币,同比增长18.3%,远超同期国内生产总值的增长率。这一成就不仅体现了中国软件行业的韧性和发展潜力,也为未来的持续增长奠定了坚实的基

《软件工程导论》(第6版)第12章 面向对象实现 复习笔记

第12章 面向对象实现 一、面向对象实现概述 1.主要任务 (1)把面向对象设计结果翻译成用某种程序语言书写的面向对象程序。 (2)测试并调试面向对象的程序。 2.面向对象程序质量的影响因素 (1)面向对象设计的质量; (2)采用的程序语言的特点; (3)程序设计风格。 3.保证软件可靠性的方法 保证软件可靠性的主要措施是软件测试。面向对象测试的目标是用尽可能低的测试成本发现尽

【软件工程】第一章软件工程引论

【软件工程】第一章软件工程引论 文章目录 【软件工程】第一章软件工程引论1. 什么是软件1.1 软件的定义1.2 软件特征1.3 挑战与危机 2. 什么是工程2.1 什么是工程2.2 怎么做工程 3. 什么是软件工程3.1 软件工程的提出3.2 软件工程的经典定义3.3 软件工程设计的知识域3.4 系统工程3.5 软件工程的全流程 4. AI时代的软件工程4.1 智能软件工程4.2 大模型

《软件工程导论》(第6版)第9章 面向对象方法学引论 复习笔记

第9章 面向对象方法学引论 一、面向对象方法学概述 1.要点 面向对象方法学已经成为人们在开发软件时首选的范型。面向对象技术已成为当前最好的软件开发技术。 (1)基本原则 面向对象方法学的出发点和基本原则,是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,使描述问题的问题空间(问题域)与实现解法的解空间(求解域)在结构上尽可能一致。 (2

软件工程知识点总结(1):软件工程概述

1 什么是软件?        定义:计算机系统中的程序及其文档。        ——程序是计算机任务的处理对象和处理规模的描述;        ——文档是为了便于了解程序所需要的阐明性资料。 2 软件的特点?        软件是无形的,不可见的逻辑实体        ——它的正确与否,一直到程序在机器上运行才能知道        ——这就给设计、生产和管理带来许多困难

软件工程-图书管理系统的需求分析

软件需求规格说明书 目录 软件需求规格说明书 一、引言  1.1编写目的 1.2背景 1.3定义 1.4参考资料 二、任务概述 2.1目标 2.2用户特点 2.3假定和约束 三、需求规定 3.1功能划分 3.1.1系统功能组成 3.1.2功能编号和优先级 3.2功能描述  3.3性能 3.4输入输出 3.4.1输入 3.4.2输出 3.5数据管理 3.5

软件工程 用户故事地图 是什么 怎么用 实例

用户故事地图是一种将用户故事可视化的方法   用户故事地图的方法主要用于解决敏捷需求分析过程中的问题: 用户需求难以排列优先级。很难了解不同粒度故事(史诗故事、主题故事以及故事)之间的关系。不能方便地了解系统提供的功能的完整性。不能方便地了解系统提供的工作流。不能方便地利用递增和迭代的方式去确定发布计划以及发布目标。   在精益中有MVP(Minimum Viable Product,最