软件工程04_结构化分析方法

分析是系统化使用信息,对一个问题的估算。结构化分析方法是进行这一估算的思维工具。

软件系统/产品的需求工作中,通常面临三大挑战:

(1)问题空间理解

(2)人与人之间的通信

(3)需求的变化性

为了应对以上三大挑战,支持需求工作目标的实现,一种好的需求技术应具有以下基本特征:

(1)提供方便通信的机制

(2)鼓励需求分析人员使用问题空间的术语思考问题,编写文档;

(3)提供定义系统边界的方法;

(4)提供支持抽象的基本机制;

(5)为需求分析人员提供多种可供选择的方案;

(6)提供特定的技术,适应需求的变化等。

结构化方法:结构化分析方法、结构化设计方法、结构化程序设计方法

一般意义上来说,分析是针对一个问题,系统化地使用信息对该问题的一个估算。可见,就软件需求分析而言,其目标是给出“系统必须做什么”的一个估算,即需求规格说明-以一种系统化的形式,准确地表达用户的需求,其中应不存在二义性和不一致性等问题。

4.1 基本术语

数据:计算机领域中,可以把数据定义为客观事物的一种表示。

数据流:在结构化分析方法中,数据流是数据的流动。

——>

加工:对数据进行变换的单元,即它接受输入的数据,对其进行处理,并产生输出。

O

数据存储:数据的静态结构

=

数据源:数据流的起点

数据潭:数据流的归宿地

均用矩形表示

4.2 模型表示

需求分析的首要任务是建立系统功能模型,为此机构化分析方法给出一种表达功能模型的工具,即数据流图(dataflow diagram),简称DFD图

DFD图是一种描述数据变换的图形化工具,其中包含的元素可以是数据流、数据存储、加工、数据源和数据潭等。


4.3 建模过程

1. 第一步:建立系统环境图,确定系统语境


2.第二步,自顶向下,逐步求精,建立系统的层次数据流图

除了顶层数据流图外,其它各层数据流图都是某一父图的子图,这些数据流图统称为数据流子图统称为数据流子图或简称为子图。


(1)顶层数据流图以及其中唯一加工均不必编号

(2)由于0层通常只有一个子图,因此该子图的层号为0,而其中每一加工的编号分别为:0.1,0.2,0.3,...

由“父图”生成“子图”的一般步骤如下:

a. 将“父图”的每一加工按功能分解为若干个子加工——子功能。

b. 将“父图”的输入流和输出流“分派”到相关的子加工。

c. 在各加工之间建立合理的关联,必要时引入数据存储,使之形成一个“有机的”整体,如图:


需求建模的步骤还包括:定义数据字典,用于表达系统中数据结构;给出加工小说明,用于表达每个加工输入与输出之间的逻辑关系。

3. 第三步:定义数据字典

依据系统的数据流图,定义其中包含的所有数据流和数据存储的结构,直到给出构成以上数据的各数据项的基本数据类型。

所有的客体均可用三种基本结构表示:顺序、选择和重复


结构化分析方法引入了三个结构符:+、|、{}

4. 第四步:描述加工

依据系统的数据流图,给出其中每一加工的小说明。

(1)结构化自然语言

虽然没有形式语言那样严格,但具有自然语言简单易懂的特点,同时又避免了自然语言结构松散的缺点。

结构化自然语言的语法通常分为内外两层,外层语法描述操作的控制结构,如顺序、选择、循环等,这些控制结构将加工中的个操作连接起来。

(2)判定表

判定表是用以描述加工的一种工具,通常用例描述一些不易用自然语言表达清楚或需要很大篇幅才能表达清楚的加工。

(3)判定树

判定树也是一种描述加工的工具。


4.4 实例研究

1. 图书管理系统的需求陈述

图书管理系统旨在用计算机对图形进行管理,主要涉及5个方面:新书入库、读者借书、图书注销以及查询某位读者的借书情况、某种图书和整个图书的库存情况

2. 系统功能模型的建立

(1)顶层数据流图的建立


(2)自顶向下,逐层分解


3. 建立系统的数据字典

4. 给出加工小说明

4.5 应用中应注意的问题

(1)模型平衡问题

a. 系统DFD中每个数据流和数据存储都要在数据字典中予以定义,并且数据名一致;

b. 系统DFD中最底层的加工必须在小说明中予以描述,并且加工名一致;

c. 父图中某加工的输入输出(数据流)和分解这个加工的子图的输入输出(数据流)必须完全一致,特别是保持顶层输入数据流和输出数据流在这个数上、在标识上均是一样的

d. 在加工小说明中,所使用的数据流必须是在数据字典中定义的,并且名字一致

(2)信息复杂性控制问题

a. 上层数据流可以打包

b. 为了便于人的理解,把一副图中的图元个数尽量控制在7+-2个以内

c.检查与每个加工相关的数据流,是否有着太多的输入/输出数据流,并寻找可降低该加工接口复杂性的、对数据流进行划分的方法。

d.分析数据内容,确定是否所有的输入信息都用于产出输出信息;相应地,由一个加工产生的所有信息是否都能由进入该加工的信息导出。

根据以上关于结构化分析方法的介绍和实例研究,可以得出:

a.该方法看待客观世界的基本观点是:信息系统是由一些信息流构成的,其功能表现为信息在不断的流动,并经过一系列的变换,最终产生人们需要的结果。

b. 为了支持系统分析员描述系统的组成成分,规约系统功能,结构化方法基于“抽象”这一软件设计基本原理,通过给出数据流概念,支持进行数据抽象;通过给出数据存储概念,支持对系统中数据结构的抽象;通过给出加工概念,支持系统功能的抽象。

c.为了使系统分析员能够清晰地定义系统边界,同样基于抽象这一原理,给出了数据源和数据潭这两个概念,支持系统语境的定义。

d. 为了控制系统建模的复杂性,基于逐步求精这一软件设计基本原理,给出了建模步骤,即在建立系统环境图的基础上,自顶向下逐层分解。

e.为了支持准确表达系统功能模型,给出了相应一组模型表达工具

4.6 需求分析的输出

一旦得到了系统功能模型,就可以基于该模型所表达的系统功能需求来进一步规约其他需求,例如性能需求、外部接口需求、设计约束和质量属性需求等,形成如下结构的系统需求规格说明书。

需求规格说明书是需求分析阶段产生的一份最重要的文档,它以一种一致的、无二义的方式准确表达用户的需求。

4.7需求验证

需求中发现的错误类型


验证需求规格说明是否满足四个性质,即重要性和稳定性程度、可修改性、完整性和一致性

在软件整个开发过程中,发现错误的方法如


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容