结构化系统分析与设计方法
出处:按学科分类—工业技术 企业管理出版社《工程师手册》第630页(4712字)
结构化系统分析与设计方(Structured Systems Analysis and Design,以下简称SSA&D)是在Dijkstra等人提出的结构化程序设计思想基础上发展而来的,是一种系统开发方法。它吸取了以前在系统开发中的经验教训。提出系统化、结构化和自顶向下的开发方法,对信息系统的发展起了巨大的推动作用。随着时间的推移,技术的发展,它也逐步暴露出很多问题。但迄今仍是信息系统分析与设计的主流方法。
1.SSA&D的基本思想
结构化系统分析与设计方法的基本思想是:用系统的思想,系统工程的方法,按用户至上的原则,结构化、模块化,自顶向下对信息系统进行分析与设计。
与传统方法比较,SSA&D方法强调以下特点:
(1)建立面向用户的观点
SSA&D方法强调用户是整个信息系统开发的起源和最终归宿。因此系统将来的成功与否,用户的参与程度和满意程度是关键。故开发过程面向用户,使得用户可以更多的了解新系统,并随时从业务和用户角度提出新的要求。另一方面也可使系统分析人员能更多的了解用户的要求,更深入的调查和分析管理业务,使新系统更加科学、合理。
(2)严格区分工作阶段
SSA&D方法强调将整个系统的开发过程分为若干阶段,每个阶段都有其明确的任务和目标以及预期要达到的阶段成果。以利于计划和控制工程进度,有条不紊的协调各方面工作。即在没有进行可行性分析前,不要急于上项目;没有进行周密细致的系统调查与分析前,不要急于动手设计;没有详细地做系统设计之前,不要急于编程序……。这样做的结果,每一步都经过深入的调查和审慎的考虑,以形成自我反馈。
(3)结构化,模块化,自顶向下进行开发
按系统的观点,任何事情都是互相有机联系整体。所以在分析问题首先站在整体的角度,将各项具体的业务或组织放到整体中加以考察。首先确保全局的正确,然后再一层层的深入考虑和处理局部问题。这就是所谓自顶向下(Top-Down)的分析设计思想。按自顶向下的思想对系统进行分析设计以后,其具体的实现过程就不同了,它采用从底向上(Bottom-Up)的方法,即一个模块一个模块的开发,调试,然后再由几个模块联调(子系统联调)。最后是整个系统联调。
自顶向下的分析设计方法,是日常工作中常见的。尽管很多人并没有真正的意识到它是一种系统的方法,但却不自觉地采用了这一方法。值得一提的是,正是这种过分的熟悉,往往造成了思想上的忽视和行动上的自发性,在紧张繁忙的工作中最容易忽视这一方法。
(4)充分预料可能发生的变化
第一章中说过企业中的信息流是伴随物流而产生的,它反映了物流的变化,通过它可以控制物流的流向。信息系统就如同整个企业的血液循环系统一样,是动态的,它随着周围环境变化而变化。因此无论是在设计系统时,还是在实际工作中,都要充分考虑可能变化的因素,并将这一点作衡量我们工作的一条重要准则。
系统可能发生的变化主要来自以下几个方面:
①周围环境发生变化,引起信息系统发生变化。这主要是来自外部的影响。如:系统的外部组织结构发生了变化,引起系统的信息传递渠道变化;上级主管部门要的信息(文件,报表等)发生变化,引起输出模型的变化等等。
②系统内部处理模式的变化,引起系统的变化。如:系统内部组织结构和管理体制发生变化,引起相应的变化;工艺流程的改变,引起数据的来源以及数据收集方式的改变;系统内部管理形式发生变化,引起信息处理模式发生变化等等。
③用户的要求发生变化,引起系统的变化。随着时间的推移,新的科学管理方法不断涌现,我们所设计的系统也应该随之而改变,为管理人员提供尽可能多的决策支持信息。另外,随着系统的逐步开发,用户对系统的认识程度也在不断深化,随着这种认识程度的加深,他们又会提出更高的要求,这些都会影响我们已经着手研制的系统正常运行。
总之,引起变化的原因很多,因此在信息系统的研制过程中必须充分注意,并具备应付各种变化和系统本身的适应能力。
(5)工作文件的标准化和文献化
在新系统的研制工作中,每一阶段、每一步骤都要有详细的文字资料记载。要把本步骤所考虑的情况,所出现的问题,所取得的成果完整地形成文字资料。在系统分析过程中,无论是调查得到的材料,还是同用户交流的情况,或是设计的每一步方案(甚至包括经分析后淘汰掉的信息和资料)都要有明确的记载。记载所用的图形和书格式要标准化,规范化,使参加本项工作的人一看就明白。资料要有专人保管,要建立一整套(或用机器建立)管理、查询制度。
重视文献资料的整理工作可带来如下好处:
①严格设立技术资料档案,为研制过程中工作的交接和今后系统的维护提供了原始资料。系统开发工作是一个长期的有许多人参加的工作。而其中每一个人都从事某一部分的具体工作,它们属于个体劳动性质。如何统一协调他们之间的步调,科学地组织、管理好这些个体劳动,设置好他们之间接口是一个非常重要的问题。这个接口在系统的分析设计阶段就是我们所要保存的技术资料。它是使我们了解所有成员每一步工作的窗口。在系统交付使用后尤其是这样。因为系统运行后还有一个维护和更新问题,这时人也换了,时间、环境也变了,要想了解当时的考虑和设计细则,资料就显得尤为重要。
②建立统一的资料可以避免混乱。在研制过程中,每个业务人员对本职工作的表达方式以及系统研制人员对所表达内容的理解程度都有很大的不同。久而久之,这些差异就会酿成隐患,给后续工作带来麻烦。所以建立统一的文字资料,迫使人们当时就坐下来,统一认识。对大家都确认的共同的东西首先用文字资料的形式记录下来;对有争议的东西展开讨论,统一认识,以避免混乱,保证工作的一致性。
③详细记载工作过程可以使系统研制人员及时地发现问题,总结经验,形成自我反馈,弥补工作中的一些缺陷和漏洞。
以上所述就是结构化系统分析与设计的基本出发点。整个系统的研制过程都应该严格遵守这些基本原则。
2.SSA&D开发系统的一般过程
用SSA&D方法开发系统包括6个阶段:系统请求,系统规划与初步调查,系统分析,系统设计,系统实施,系统运行。
这6个阶段共包括19个步骤,这些步骤有的是可以在局部范围内不分顺序的,但大部分都有前因后果的关系,必须严格区分工作阶段和步骤。所以我们在实际工作中应尽量沿着这条思路,按步就班地进行。针对问题的难易程度和具体情况,可以删除或跳过其中某些对你所要处理的问题没有用的环节,但是不可打乱其顺序,否则本末倒置,会给后续工作带来很大的不便。
这些步骤分别如下:
(1)系统请求阶段
①系统清求(或称问题的提出);
(2)系统规划与初步调查阶段
②现行状态以及可用资源的初步调查;
③可行性分析研究与可行性报告;
(3)系统分析阶段
④现行系统组织结构分析与业务功能分析;
⑤业务流程分析;
⑥数据以及数据流程分析;
⑦功能-数据分析;
⑧提出新系统的逻辑模型(或称新方案);
(4)系统设计阶段
⑨总体结构设计;
⑩代码设计;
⑾文件/数据库设计;
⑿I/O设计;
⒀模块功能设计;
⒁处理过程设计;
(5)系统实施阶段
⒂程序设计;
⒃人员培训;
⒄系统调试与切换;
(6)系统运行阶段
⒅系统运行维护;
⒆系统运行效果评价。
3,基于结构化分析设计思想的其它方法
结构化系统分析设计的思想自60年代后期提出至今,经过许多人不断的努力和完善,创造和派生了很多具体的系统开发方法。迄今这些方法还有着广泛的用户,对信息系统的发展有过巨大的贡献。这些方法尽管它们的名称和做法不同,分析设计的工具也不尽相同,但结构化系统分析与设计这一思想是一致的。为了在今后的学习和研究中不至于被众多的名称和方法所困扰,现将其归纳如下:
①Yourdon和Constantine提出的结构化设计方法。
②DeMareo提出的结构化分析方法。
③Software公司提出的结构化分析与设计技术(SADT)
④Bjner等人提出的VDM法。
⑤IBM公司提出的商业系统规划法(BSP法)