结构化分析(SA)

1.什么叫模型?我觉得它的关键字:抽象 重要特征 降低复杂度。

2.软件设计的方法

分类:面向功能~,面向对象的设计。

面向数据流的方法是在结构化分析中提到的。 哦~

3.面向数据流的结构化分析

特点:自顶而下(整体到局部),逐层分解。

它涉及数据流图(DFD)

#DFD是什么?描述数据 各逻辑功能模块之间的流动和处理过程。

#DFD的构成及符号:数据流(名词或名词短语),加工处理(动词短语,多有编号),数据存储(多为名词),外部实体(非系统成员,多为名词短语)。

#DFD的层次性

数据流图分为顶层数据流图、中层数据流图和底层数据流图。

顶层DFD:关联图,表示外部实体与系统的关系,有输入与输,编号为0,它的缺点是不能反映数据的先后顺序。注意!数据存储不能放在顶层。

0层DFD:将顶层DFD的系统分解为若干个子系统,编号为1,2......n。

底层DFD:针对0层DFD中的每一个子系统进行分解得到细化的加工,最底层的DFD中的加工称为“基本加工”,编号1层:1.1,1.2......,2层:1.1.1,1.1,2......;1.2.1,1.2.2......;......

范围图是系统最抽象的数据流代表,它将整个系统表示为一个单一的气泡,也被称作0级DFD。(哦哦~清楚了)

详细讲解可见:http://blog.chinaunix.net/uid-21411227-id-1826829.html

http://www.educity.cn/zk/rjgc/200608311656531370.htm

#DFD有数据平衡原则,即无论在任何层次上,总的输入和输出是不会变化的。

#画流程图的步骤

1、理解问题描述。

2、分析问题描述,提取数据流图的4种成分。

3、画顶层数据流图,即系统的基本模型。

4、把基本模型细化,画各级明细数据流图。

5、数据平衡原则:检查分层细化时是否保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。

我应注意的地方:数据流不能在外部实体之间流动!

加工通过数据存储进行通讯,应避免从一个加工过程直接流到另一个加工过程。

#能看懂步骤,但是实践还存在问题。

时间: 2024-10-17 06:01:46

结构化分析(SA)的相关文章

结构化方法与面向对象方法之应用比较

软件的开发对于整个软件产业的发展,起着至关重要的作用,在开发过程中,需要有各种开发工具.开发方法和开发过程的支持.不管是开发工具.开发方法还是开发过程,都一直在不断的发展和更新.在软件开发方法发展的过程中,产生了许多众所周知的开发方法,如结构化方法,原型法,面向数据结构的Jackson方法.面向对象方法等.其中,结构化方法和面向对象方法是两种应用十分广泛的软件开发方法,未来的软件开发过程中,可能还会出现一些更好的软件开发方法,如现在的面向服务的软件开发方法,但就目前来说,结构化方法和面向对象方法

面向过程分析方法与面向对象分析方法的区别

一.结构化分析(面向过程)方法 结构化分析方法(Structured Method,结构化方法)是面向过程的程序设计的方法,是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法.结构是指系统内各个组成要素之间的相互联系.相互作用的框架.结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象.模块独立性.信息隐蔽等.针对软件生存周期各个不同的阶段,它有结构化分析(SA).结构化设计(SD)和结构化程序设计(SP)等方法. 结构化分析方法给出一组帮助系统分析人员产生功能规约的原

结构化编程和面向对象编程

http://www.cnblogs.com/CHzero/articles/5556297.html 结构化设计: 结构化程序设计方法主张按功能来分析系统需求, 原则有 自顶向下, 逐步求精, 模块化等. 结构化程序设计首先采用结构化分析(SA)方法对系统进行需求分析, 然后采用结构化设计(SD)方法对系统进行概要设计,详细设计,  最后采用结构化编程(SP)方法实现系统. 结构化程序设计按功能来把系统逐步细化, 因此又叫做 面向功能的程序设计方法. 结构化程序设计的每个功能都负责对数据的接收

结构化方法与面向对象方法比较

结构化方法与面向对象方法比较 软件工程离不开软件开发方法,软件开发方法是指在项目投资规模和时间限制内.设计.实现符合用户需求的高质量软件,根据软件开发的特点,提出的多种软件开发策略.而自20世纪60年代以来,受到开发综合症"软件危机"的影响,软件开发方法不断地快速发展着,产生了许多众所周知的开发方法,比如结构化方法.原型法基于模型的VDM(维也纳开发)方法.面向对象方法等.其中,结构化方法和面向对象方法最具有代表性,在软件开发领域中使用比较广泛,下面我们就来对这两种方法进行说明和比较.

2014软考软件设计师考前辅导:软件开发方法综述

51CTO学院,在软考备考季特别整理了"2014年软考-软件设计师考前辅导[汇总篇]",帮助各位学院顺利过关!更多软件水平考试辅导及试题,请关注51CTO学院-软考分类吧! 查看汇总:2014年软考-软件设计师考前辅导[汇总篇]  1.结构化方法 结构化开发方法是由E.Yourdon 和 L.L.Constantine 提出的,即所谓的SASD 方法, 也可称为面向功能的软件开发方法或面向数据流的软件开发方法.Yourdon方法是80年代使用最广泛的软件开发方法. 它首先用结构化分析(

面向过程(面向结构)与面向对象的区别

script"> var username = "qq_31108501"; var _blogger = username; var blog_address = "http://blog.csdn.net/qq_31108501"; var static_host = "http://static.blog.csdn.net"; var currentUserName = ""; var fileName

SQL2008无法连接到.\SQLEXPRESS,用户'sa'登录失败(错误18456)图文解决方法

出现问题 : 标题: 连接到服务器------------------------------无法连接到 .\SQLEXPRESS.------------------------------其他信息:用户 'sa' 登录失败. (Microsoft SQL Server,错误: 18456)   解决方法:  1.打开数据库——用Windows身份登录数据库   02.登录名——双击sa(打开属性)  03.常规——设置密码——确定  04.状态——登录:启用——确定  05. 右击服务器名—

后缀树组(SA)初探

还没有什么任意两个后缀的LCP这些玩意儿. 启蒙题:输入一个串S,求最长的串T使得T在S中出现过不止一次.输出T的长度. 1 #include <algorithm> 2 #include <stdio.h> 3 #include <string.h> 4 #define N 100 5 char s[N+1]; 6 int n, sa[N], rank[N], height[N]; 7 namespace SABuilder { 8 int cnt[N], t1[N&

Sa yo na ra

总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 2015年1月,第一次参加校赛,在萌新堆中求生存. 2015年2月,看紫书,学算法. 回校后就断断续续地参加一些比赛,成功入坑. 5月,去大连吹海风,吹来了省赛一等奖. 之后就是最要感谢的那个暑假.感谢昌神和学长在大家集体回家度假之时依然在401陪伴着我刷题,以及感谢麟神给我的建议,我也是在那时候学会了很