系统分析与设计是一种方法。这种方法用来构建好的信息系统。信息系统的例子很多。银行的存款系统是信息系统。超市的收银系统也是信息系统。学校的选课系统还是信息系统。这些系统都需要分析和设计。系统分析与设计就是做这个工作。
系统分析与设计有两个主要部分。第一部分是系统分析。第二部分是系统设计。先做分析。后做设计。这个顺序不能乱。分析是弄清楚问题。设计是找到解决办法。
系统分析要做什么。首先要和系统用户谈话。用户是使用系统的人。比如超市的收银员。比如银行的柜员。我们要知道他们每天做什么工作。我们要知道他们遇到什么困难。我们要知道他们需要什么帮助。把这些记下来。这些就是用户的需求。需求很重要。系统就是为了满足需求。
然后要观察现在的工作流程。可能现在没有计算机系统。可能现在有一个旧系统。我们要看现在怎么做事。要看表格怎么填写。要看数据怎么传递。要看报告怎么制作。把每一步都画出来。画成流程图。这样看得更清楚。这样能发现哪里慢。这样能发现哪里容易错。
还要收集现在用的各种单据。比如申请单。比如报表。比如发票。这些单据上有数据。我们要知道这些数据是什么。我们要知道这些数据从哪里来。我们要知道这些数据到哪里去。数据是系统的血液。必须搞明白。
把所有信息放在一起。我们就能理解现在的情况。我们知道问题在哪里。我们知道用户想要什么。我们把这个写成一个文档。这个文档叫需求规格说明书。说明书要写得非常清楚。不能模糊。不能有矛盾。以后所有工作都要根据这个文档来做。
系统分析做完了。接下来做系统设计。设计是把解决方案画出来。就像盖房子前要画图纸。系统设计就是画系统的图纸。
系统设计先从总体开始。总体设计看整个系统有多大。系统分成几个大块。每个大块做什么事。大块和大块怎么连接。这个叫系统架构。比如一个网上商店系统。可能有用户管理大块。可能有商品管理大块。可能有订单管理大块。可能有支付大块。先把这些大块定下来。
然后设计每一块内部怎么做。这叫详细设计。详细设计要具体。要考虑数据。要设计数据库。数据库是放数据的地方。就像一个大仓库。我们要决定仓库里放哪些桌子。每个桌子放什么东西。比如要有一张用户表。用户表里放用户名、密码、地址、电话。比如要有一张商品表。商品表里放商品名字、价格、库存数量。表和表之间有关系。一个用户可以有多个订单。一个订单可以包含多个商品。这些关系也要设计好。
还要设计系统的操作界面。界面是用户看到的东西。界面要简单。界面要容易操作。按钮放在哪里。菜单怎么排列。输入框怎么写提示。这些都要画出来。画成界面草图。让用户看看。用户说好,才行。
还要设计系统的处理逻辑。比如用户点下订单按钮。系统后面要做哪些事。要检查库存够不够。要计算总价钱。要生成订单号。要把订单存进数据库。要告诉用户订单成功。每一步都要想好。每一步都不能出错。
设计的时候要想到未来。系统可能用很多年。用户数量会增加。业务会变化。设计要留出扩展的地方。以后加新功能要容易。不能动一点就全要改。这叫可扩展性。
设计也要考虑安全。系统不能谁都能进。用户要有密码。不同的人看到不同的东西。收银员不能修改商品价格。经理可以看到全部报表。数据不能丢。电脑坏了要有备份。网络传送数据要加密。这些都要在设计里安排好。
设计做完了。设计文档也写好了。设计文档包括很多图。数据流图画出数据的流动。实体关系图画出数据库的结构。界面图画出屏幕的样子。流程图画出处理的步骤。这些图就是系统的蓝图。
有了蓝图就可以开始建造系统。建造系统是程序员的工作。程序员根据设计图纸写代码。代码是一行一行的指令。计算机按照指令运行。系统就活起来了。
建造好还不算完。要测试。测试就是找错。让一些人试用系统。看能不能完成工作。看有没有死机。看计算对不对。发现错误就记下来。交给程序员修改。修改完了再测试。直到找不到大错误为止。
测试好了就可以安装系统。把旧系统停掉。把新系统用起来。要培训用户。教他们怎么用新系统。开始会不习惯。用一段时间就好了。要有人支持。用户遇到问题可以问。小问题随时解决。
系统用起来了。工作还没有结束。系统运行中会有新需求。业务变了。系统也要变。过几年技术新了。系统可能要升级。这就是系统维护。维护让系统一直有用。
系统分析与设计是一个循环。需求变了。就要重新分析。重新设计。系统就是这样不断改进的。一个好的系统不是一次做成的。是慢慢变好的。
系统分析与设计需要很多人合作。有系统分析员。有设计师。有程序员。有测试员。最重要的是用户。用户要一直参加。用户不说出需求。系统就做不好。用户不试用系统。问题就发现不了。
做系统分析与设计要耐心。要仔细。不能着急。开始多花时间搞清楚。后面就顺利。开始没搞清楚就做。后面会全是问题。可能全部重做。那样更浪费时间。
工具可以帮助我们。有画图的软件。有写文档的软件。有设计数据库的软件。工具让工作更快。工具让图纸更整齐。但工具不能代替思考。人要想明白。工具只是把想明白的东西画出来。
系统分析与设计的思想可以用在很多地方。不光是计算机系统。做一个新工作流程。开一家新商店。设计一个新产品。都可以用这种思想。先分析情况。再设计方案。这是解决问题的好办法。
我们每天都能看到系统。手机里的应用是系统。公交卡的刷卡机是系统。图书馆的借书电脑是系统。这些系统背后都有人做过分析与设计。好的系统让我们感觉方便。感觉不到它的存在。坏的系统让我们着急。让我们生气。系统分析与设计的目的就是做出好的系统。让人们工作更轻松。让事情做得更快。让错误变得更少。这就是系统分析与设计的价值。