结构化分析(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)数据平衡原则:检查分层细化时是否保持信息的连续性,即当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。
我应注意的地方:数据流不能在外部实体之间流动!
加工通过数据存储进行通讯,应避免从一个加工过程直接流到另一个加工过程。
#能看懂步骤,但是实践还存在问题。
结构化分析(SA)的更多相关文章
- QL Server 2008 所有账号丢失sysadmin权限,sa账号亦没有开启,该如何解决??
1. 用Run as a administrator打开命令提示符里输入NET STOP MSSQLSERVER, 即停止MSSQLSERVER运行. 2. 在命令提示符里输入 NET START M ...
- 没有了SA密码,无法Windows集成身份登录,DBA怎么办?
一同事反馈SQL无法正常登录了,以前都是通过windows集成身份验证登录进去的(sa密码早忘记了),今天就改了服务器的机器名,现在无论如何都登录不进去. SQL登录时如果采用windows集成身份验 ...
- SqlServer windowss身份登陆和sa身份登陆
今天重新装了系统,但是计算机名变了,于是修改了计算机名,然后装了SQLSEVER,安装完成后登录,发现无论用WINDOWS身份还是SQLSERVER身份都登录不了 1.先说说sqlserver身份登录 ...
- 【JBOSS】User not found SA
启动JBOSS 发现报User not found: SA 错误, 找了老半天才找到处理方法,异常日志如下: java.sql.SQLException: User not found: SA at ...
- Cannot set a credential for principal 'sa'. (Microsoft SQL Server,错误: 15535)
在SQL SERVER 2008上上禁用sa登录时,遇到下面错误:"Cannot set a credential for principal 'sa'. (Microsoft SQL Se ...
- ASP.NET连接数据库时,提示“用户 'sa' 登录失败原因: 未与信任 SQL Server 连接相关联
用ASP.NET连接数据库时,提示"用户 'sa' 登录失败.原因: 未与信任 SQL Server 连接相关联.".解决方法:首先检查是不是web.config文件内的用户名密码 ...
- Sa yo na ra
总想记点些什么. 都快忘了当初是为什么来到这里呢... 2014年10月,友人给我介绍了一门编程竞赛ACM,并给我演示了一下A+B.于是我知道了ACM的含义. 2014年12月,开始水入门题. 201 ...
- SQL_Server_2008修改sa密码的方法
转载自:http://blog.csdn.net/templar1000/article/details/20211191 1. 先用Window身份验证方式登陆进去,选择数据库实例,右键选择属性—— ...
- 高级Linux SA需要会做的事情
高级Linux SA需要会做的事情:linux---------系统安装(光盘或自动化安装)linux---------系统常用工具安装(sudo,ntp,yum,rsync,lrzsz syssta ...
随机推荐
- Android Studio打开SDK更新对话框
再进行android自动化时,有时需要用到android的一些api,但苦于找不到 api文档,各种论坛查看是否有自己所需要的api,甚是麻烦.下面介绍如何通过 android studio将 and ...
- 【原创】Linux常用命令记录
1. 查看网络状态分布 #!/bin/sh netstat -apn >/dev/ \ | awk 'BEGIN {printf("%-15s%-15s%-15s%-15s\n&quo ...
- 【 nginx 】怎么安装nginx
一,下载地址:http://nginx.org/en/download.html 二,下载完成之后,是一个安装包,解压之后就能直接使用 三,点击进去我们刚刚解压好的nginx的安装包,打开nginx. ...
- Spring Boot中使用AOP统一处理Web请求日志
AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是Spring框架中的一个重要内容,它通 ...
- Tribonacci UVA - 12470 (简单的斐波拉契数列)(矩阵快速幂)
题意:a1=0;a2=1;a3=2; a(n)=a(n-1)+a(n-2)+a(n-3); 求a(n) 思路:矩阵快速幂 #include<cstdio> #include<cst ...
- DamonOehlman/detect-browser
https://github.com/DamonOehlman/detect-browser detect-browser This is a package that attempts to det ...
- shell脚本之获取CPU使用率
今天一个同事要测试OJ项目,同时我这边也需要知道他在压测过程中, CPU的使用率怎么样,虽说可以用top实时查看,但是进程太多了,我不需要获取那么多信息,我仅仅只要知道当前压测过程中CPU实时的使用率 ...
- JAVA 第八周学习总结
20175308 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 泛型 泛型的主要目的是可以建立具有类型安全的集合框架(如链表.散列映射等数据结构) 通过cl ...
- VMware ESXI 6.5 安装及配置
---恢复内容开始--- 该文档是下载的LNV版 (Lenovo) VMware下载地址: 链接: https://pan.baidu.com/s/1X3-wR2fIjT6IsPre7R7w2Q ...
- three.js - 动画 图形统计帧频 dat.GUI
运行一把: 代码解释: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...