信息系统开发的四种方法分别是结构化方法、原型化方法、面向对象方法、面向服务方法。
结构化方法
结构化方法是一种传统的软件开发方法,它是由结构化分析、结构化设计和结构化程序设计三部分有机组合而成的。
结构化设计方法是以自顶向下,逐步求精,模块化为基点,以模块化,抽象,逐层分解求精,信息隐蔽化局部化和保持模块独立为准则的设计软件的数据架构和模块架构的方法学。
结构化方法目前主要应用在一些比较成熟的系统上,一般来说国家或者行业层面都有成熟的建设指导意见了(运用这种方法的前提是在开发之初就能全面认 识系统的信息需求),例如做一个户籍管理系统
我们把一个系统与程序看成是一层一层的。户籍管理系统可以划分为:户籍迁入迁出,人员迁入迁出,户籍注销,人员注销等几个子系统,而每个子系统又划分为接收用户信息,实施处理,提供返回信息等等部分。
(2)模块化:即将几个系统分成几个模块,每个模块实现特定的功能,最终整个系统由这些模块组成。模块跟模块之间通过接口传递信息,模块最重要的特点就是独立性,模块之间还有上下层的关系,上层模块调用下层模块来实现一些功能。
(3)语句结构化:顺序结构、分支结构、循环结构,都是常用的语句结构。
结构化分析方法的实质是着眼于数据流,自顶向下,逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。
结构化分析的步骤如下:
(1)通过对用户的调查,以软件的需求为线索,获得当前系统的具体模型
(2)去掉具体模型中非本质因素,抽象出当前系统的逻辑模型
(3)根据计算机的特点分析当前系统与目标系统的差别,建立目标系统的逻辑模型
(4)完善目标系统并补充细节,写出目标系统的软件需求规格说明
(5)评审直到确认完全符合用户对软件的需求
原型化开发方法
原型法就是在开发时只是开发出一个样品,而不是完整的软件,界面什么的不是很完美。然后给客户使用,然后再由客户提出的需求再进行修改,知道客户满意为止。然后剩下的就是依照这个样品开发正式的软件了,这属于摸着石头过河的一种办法。
面向对象方法
面向对象方法学在开始,是编程语言而被引入的。而把对象作为编程的实体最早是上世纪六十年代由Simula 67语言引入思维。在结构化方法学提出几年之后,上世纪八十年代面向对象方法学逐渐走上历史的舞台,并在之后乃至现在大放异彩。面向对象方法学的思想是面向对象,以对象为中心,把数据封装在对象内部成为对象的属性,把面向过程的函数转为对象的行为方法,把对象抽象成为类,用以描述和设计、开发软件系统。
面向对象的分析方法是利用面向对象的思想进行建模,如实体、关系、属性等,同时运用封装、继承、多态等机制来构造模拟现实系统的方法。
用开公司举个例子。如果公司就只有几个人,那么大家总是一起干活,工作可以通过“上帝视角“完全搞清楚每一个细节,于是可以制定非常清晰的、明确的流程来完成这个任务。这个思想接近于传统结构化的开发。
而如果公司人数变多,达到几百上千,这种“上帝视角”是完全不可行的。在这样复杂的公司里,没有一个人能搞清楚一个工作的所有细节。为此,公司要分很多个部门,每个部门相对的独立,有自己的章程,办事方法和规则等。独立性就意味着“隐藏内部状态”。比如你只能说申请让某部门按照章程办一件事,却不能说命令部门里的谁谁谁,在什么时候之前一定要办成。这些内部的细节你管不着。类似的,更高一层,公司之间也存在大量的协作关系。一个汽车供应链可能包括几千个企业,组成了一个商业网络。通过这种松散的协作关系维系的系统可以无限扩展下去,形成庞大的,复杂的系统。这就是OOP想表达的思想。
面向服务的架构
SOA 是面向服务的架构,即企业的 IT 系统是由服务组成的,也即企业的各个应用系统是由许多标准的服务件“组装”起来的,组成应用系统中的各个服务之间是一种非常松耦合的关系。
服务基于简单的“问/答”模型——我问你问题,你给我答案,那么对于“我”来说,“你”就是“服务”。但是答案反馈有同步和异步之分,同步就是我问你问题并在线等待你答复,而异步就是我问完你问题就去忙其他事情了,你有了答案之后再通知我。