软件工程结构化建模的方法和工具_软件工程系列-结构化分析

本系列文章为笔记,内容根据北京大学《软件工程》MOOC

结构化分析方法的概念


软件开发方法学
掌握并能正确运用开发方法,具有事半功倍的作用

72ef8398bb8216fea644a6b0975571e9.png


软件开发方法
软件开发过程所遵循的办法和步骤
软件开发方法学
指规则、方法和工具的集成,既支持开发也支持以后的演化过程
结构化方法
一种特定的软件开发方法学,一种系统化的软件开发方法,包括:

  • 结构化分析方法

21708ad3b3ed953c4afb0e3379836d4e.png


1.提供一组术语(符号),指导需求抽象中需要关注的主要方面,并用于表达分析中所使用的信息。这些术语形成需求层
2.依据这些术语所形成的“空间”,给出表达模型的工具,支持表达系统功能的形态
3.给出过程指导,以支持系统化地使用相关信息建造系统模型

  • 结构化设计方法
  • 结构化程序设计方法

结构化分析模型
基本术语

52c9ff4473313c1a40efb6f66b9a6a5e.png


模型表达工具
DFD图

5d0e4fd0be60df56daad7ccfde7d9aca.png


数据字典

c636e4608ac64b86490a1e5ee213cfed.png

2257696f091038693e75f7e96d24c4af.png


加工小说明

bf9eaa778b8a20873747703501aaa58f.png


结构化分析过程
顶层数据流图

254d061ad024bfab0a621d0c8755b0f9.png


自顶向下,逐层分解

c7fe8137f4b2c5b6e953ad48f331c22b.png

0层数据流

b13605c3e0314942bd2f9d5f536fc3b7.png

逐层分解

36ef2ae71cac5c9b20922dc06b6dc490.png


建立数据字典
数据流
销售的商品 = 商品名 + 商品编号 + 单价 + 数量 +销售时间
现金额 = 余额 = 日销售额 = 非负实数
查询要求 = [商品编号|日期]
查询要求1 = 商品编号
查询要求2 = 日期
销售情况 = 商品名 + 商品编号 + 金额
数据存储
销售文件 = {销售的商品}
数据项(数据流及数据存储的组成成分)
给出所有数据项的数据结构类型定义
注意
结构化分析方法是一种半形式化的规约方法,给出了一组特定的术语表和标准化的表达格式 - 数据流图,在表达上均必须遵循一些约定,即应以一种准确和一致方式使用之。
模型平衡问题

  • 父图和子图的边界一致问题,即它们应有相同的边界;
  • 数据流图中的数据流与数据字典的一致问题,即每个数据流和数据存储必须在数据字典中予以定义
  • 数据流图中的“叶”加工(最低层)与小说明的一致问题,即必须给出“叶”加工的说明
  • 小说明和数据流图的图形表示一致问题,即在小说明中,必须说明“输入数据流”如何使用,必须说明如何产生“输出数据流”;必须说明如何选取、使用、修改“数据存储”

信息组织复杂性控制问题

  • 上层数据可以“打包”

上下层的数据流对应关系在数据字典中给出,但包内数据流的性质(输入、输出)必须一致。

  • 一幅图中的图元个数应控制在 7+/-2 以内
  • 与每一加工相关的数据流的树木适应中
  • 分析数据内容,确定是否所有的输入信息都用于产生输出信息
  • 分析加工,确定一个加工所产生的输出,是否都能由该加工的输入信息导出

需求规格说明书(XX系统需求规格说明书)
引言

1d3e379b07f432a133c27848b5b0cb3a.png


概述

bd27fef17c7387b682b23eae0aa9d8da.png


数据流图、数据字典、加工说明

bf02db48a4d3a45dfe905257e3adee90.png


接口
性能需求
属性

0f2eb9c67549f9c074aab302a18a092c.png


其他需求
数据库/操作/故障及处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值