7.3 信息系统开发方法

信息系统是一个极为复杂的人机交互系统,它不仅包含计算机技术、通信技术和网络计划,以及其他的技术,而且,他还是一个复杂的管理系统,需要管理理论和方法支持。

7.3.1 结构化方法

结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化方法也称为生命周期法,是一种传统的信息系统开发方法,由结构化分析、结构化设计、结构化程序设计三部分有机组合而成,精髓是自顶向下,逐步求精和模块化设计。
结构化方法假定待开发的系统是一个结构化系统,其基本思想是将系统的生命周期划分为系统规划、系统分析、系统设计、系统实施、系统维护等阶段。
1.结构化方法的特点

  • 开发目标清晰
  • 开发工作阶段化
  • 设计方法结构化

2.结构化分析
(Structured Analysis)SA就是根据分解与抽象的原则,按照系统中数据处理的流程,用数据流图(Data Flow Diagram ,DFD)来建立系统的功能模型,从而完成需求分析。
3.结构化设计
(Structured Design ,SD)可以进一步细分为概要设计和详细设计两个阶段,它根据模块独立性原则和系统结构准则,将数据流图转化为系统结构图,用系统结构图来建立系统的物理模型,描述系统分层次的模块结构,以及模块之间的通信与控制关系
4.结构化程序设计
(Structured Programming,SP)就是使用某种程序设计语言,将某个模块的功能用相应的标准控制结构表示,从而实现整个系统。SA与SD一样,在SP阶段也要采用自顶向下,逐步求精的方法。
5.结构化方法的缺点
结构化方法是目前最成熟的。应用较广泛的一种工程化方法,适用于数据处理领域的问题,但不适用于规模较大、比较复杂的系统开发。

  • 开发周期长
  • 难以适应需求变化
  • 很少考虑数据结构

6.结构化方法的贡献
结构化方法属于自顶向下的开发方法,强调开发方法的结构合理性,以及所开发系统的结构合理性,提出了一组提高系统结构合理性准则。
另一个贡献在于明确划分了系统规划、系统分析、系统设计、系统实施、系统维护等阶段。

7.3.2 面向对象方法

面向对象(Obiect-Oriented [ˈɔːrientɪd] , OO)方法认为,客观世界是由各种“对象”组成的,任何事物都是对象,每一个对象都有自己的运动规律和内部状态,都属于某个对象“类”,是该对象的一个元素。复杂的对象可由相对简单的各种对象以某种方式而构成,不同对象的组合及相互作用构成了系统。
OO 方法是当前主流的开发方法,拥有很多不同的分支体系,主要包括OMT(object-Model-Technology)对象建模技术方法、Coad/Yourdon方法、OOSE(Object-Oriented-Software Engineering,面向对象的软件工程)方法和Booch方法等。
1.基本概念
(1)对象:在计算机系统中,对象是指一组属性及这组属性上专用操作的封装体。属性可以是一些数据,也可以使另一个对象。每个对象都有自己的属性值,表示该对象的状态,用户只能看见对象封装界面上的信息,对象内部实现对用户是隐蔽的。一般由对象名、属性和方法三部分组成。
(2)类:是一组具有相同属性和方法的对象的集合。一个类中的每个对象都是这个类的一个实例。
(3)继承:是在某个类的层次关联中不同的类共享属性和方法的一种机制。
(4)封装:面对对象系统中封装单位是对象,对象之间只能通过接口进行信息交流,对象外部不能对对象中的数据随意进行访问。
(5)消息 :消息是对象之间通信的手段,一个对象通过向另一个对象发送消息来请求其服务。
(6)多态:多态是指同一操作系统作用于不同的对象时可以有不同的解释,并产生不同的执行结果。
2.OO方法的过程
与结构化方法类似,面向对象方法也包括面向对象的分析,面向对象的设计和面向对象的程序设计。
3.Coad/Yourdon 方法
Coad/Yourdon 特别强调OOA和OOD采用完全一致的概念和表示法,使分析和设计之间不需要表示法的转换。该方法的特点是表示简练、易学、对于对象,结构,服务的认定比较系统、完整,操作性强。
4.Booch方法
最先描述了OO方法的基础问题,指出OO方法是一种根本不同于传统的功能分解的设计方法。
5.OMT方法
OMT方法使用了建模的思想,讨论如何建立一个世纪应用模型,包括对象模型,动态模型和功能模型。
对象模型描述了系统对象的静态结构,对象之间的关系、属性和操作,主要用对象图来实现。
动态模型描述与时间和操作顺序有关的系统特征。例如:激发事件,事件序列,确定事件先后关系的状态。主要用状态图来实现动态模型。
功能模型描述一个计算如何从输入值到的输出值。它不考虑次序,主要用DFD来实现功能模型。
OMT通常包括四个活动:系统分析,系统设计,对象设计和实现。
6.OOSE方法
OOSE是在OMT的基础上,对功能模型进行了补充,提出了用例(use case)的概念。取代了DFD来进行需求分析和建立功能模型。OOSE采用5类模型来建立目标系统,即需求模型、分析模型、设计模型、实现模型和测试模型。
OOSE的开发活动主要分为三类,分析、构造和测试。
用例是OOSE中的重要概念,在开发各种模型时,他是贯穿OOSE活动的核心,描述了系统的需求及功能。用例实际上是描述系统的参与者对于系统的使用情况,是从参与者的角度来确定系统的功能。
7.与结构化方法结合
通常是把结构化方法和OO方法结合起来,首先使用结构化方法进行自顶向下的整齐规划,然后自低向上地采用OO方法开发系统。

7.3.3 面向服务方法

OO的应用建立在类和对象之上,随后发展起来的建模技术将相关对象按照业务功能进行分组,就形成了构件(component)的概念。对于构件的功能调用,则采用接口的形式暴露出来。进一步的将接口的定义与实现进行解耦,则催生了服务和面向服务(Service-Orientend,SO)的开发方法。

万维网联盟 将服务定义为 服务提供者完成一组工作,为服务使用者交付所需的最终结果。服务是一种为了满足某项业务需求的操作,规则等的逻辑组合,他包含一系列有序互动的交互,为实现用户目标提供支持。
2.SO分析与设计
SO 方法有三个主要的抽象级别:操作、服务和业务流程。位于最底层的操作代表单个逻辑单元的事物,执行操作通常会导致读、写或修改一个或过个持久数据。服务的操作类似于对象的方法,他们都有特定的结构化接口,并且返回结构化的响应。位于第二层的服务代表操作的逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的活动或者动作,包括依据一组业务规则按照有序序列执行的一系列操作。
从建模观点来看SO带来的主要挑战是如何描述操作,服务和流程抽象的特征,以及如何系统的构建他们。
(1)基础设计层
(2)应用结构层
(3)业务组织层
3.服务建模
(1)服务发现
(2)服务规约
(3)服务实现
4.与OO比较
SO方法增强了系统的灵活性、可复用性和可演化性,并给信息系统开发带来了新的思路,单纯应用过去的技术已经无法完全满足这种方法的需要。因为服务基础框架架构基于粗粒度,松散耦合和基于标准的服务,这使得信息系统的建设能够保持主动。

7.3.4 原形化方法

结构化方法和面向对象方法有一个共同点,在系统开发初期必须明确系统的功能要求,明确系统边界。然而对信息系统而言,明确问题本身不是一件轻松的事情。
原型化方法也称快速原型法,简称为原型法。根据用户初步需求,利用系统开发工具,快速地建立一个系统模型给用户,在此基础上与用户交流,最终实现用户的信息系统快速开发的方法。
1.原型的概念和分类
原型是指模拟某种产品的原始模型。在系统开发中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。从原型是否实现功能来分,可分为水平原型和垂直原型两种。从原型的最终结果来分,可分为抛弃式原型和演化式原型。
2.原型法的开发过程
(1)确定用户基本需求
(2)设计系统初始原型
(3)试用和完善原型
(4)修正和完善原型
(5)整理原型和提供文档
3.原型法的特点
(1)原型法可以使系统开发的周期缩短、成本和风险降低,速度加快,获得较高的综合开发效益
(2)原型法是以用户为中心开发系统的,用户参与的程度大大提高,开发的系统符合用户的需求
(3)由于用户参与了开发的全过程,对系统的功能和结构容易理解和接受,有利于系统移交,有利于系统的运行和维护。
不足之处主要体现在:
(1)开发的环境要求高
(2)管理水平要求高

你可能感兴趣的:(7.3 信息系统开发方法)