软考笔记--信息系统开发方法(下)

信息系统是一个极其复杂的人机交互系统,它不仅包含计算机技术,通信技术和网络规划以及其他的工程技术,而且,它还是一个复杂的管理系统,需要管理理论和方法的支持,因此,与其他工程项目相比,信息系统工程项目的开发和管理显得更加复杂,面临的风险也更大。

上篇已经介绍完结构化开发方法以及面向对象开发方法,下面接着介绍面向服务开发方法和原型化开发方法。

一.面向服务方法

OO的应用构建在类和对象之上,将相关对象按照业务功能进行分组,就形成了构件的概念。对于跨构件的功能调用,则采用接口的形式暴露出来,进一步将接口的定义与实现进行解耦,则催生了服务和面向服务(SO)的开发方法。面向对象,面向构件,面向服务是三个递进的抽象层次。

1.服务的概念

服务是一种为了满足某业务需求的操作,规则等的逻辑组合,它包含一些列有序活动的交互,为实现用户目标提供支持。

2.SO分析与设计

SO方法有三个主要的抽象级别:操作,服务,业务流程。位于最低层次的操作代表单个逻辑单元的事物,执行操作。服务的操作类似于对象的方法;位于第二层的服务代表单个逻辑分组;最高层的业务流程则是为了实现特定业务目标而执行的一组长期运行的动作或活动。

3.服务建模

服务建模可以分为服务发现,服务规约和服务实现三个阶段。

(1)服务发现。采用自上而下,自下而上和中间对齐的方式,得到候选服务。

(2)服务规约。对候选服务进行分类,根据是否便于复用和组装,是否具有业务对齐性来决定是否将服务暴露。

(3)服务实现。根据对业务领域的理解和现有系统的分析,将服务的实现分配到响应的服务构件中,并决定服务的实现方式。

二.原型化开发方法

原型化方法也称为快速原型法,或者简称原型法。它是根据用户初步需求,利用系统开发工具快速建立一个系统模型展示给用户,在此基础上与用户交流,最终实现用户需求的信息系统快速开发的方法。

1.原型的概念和分类

在系统开发中,原型是系统的一个早期可运行的版本,它反映最终系统的部分重要特性。如果在获得一组需求说明后,通过快速分析构成一个小型的系统,满足用户的基本需求,使得用户可以在使用原型系统的过程中得到亲身感受和受到启发,做出反应和评价,然后开发者根据用户的意见对原型加以改进,随着不断试验,纠错,使用和评价修改,获得新的原型版本,如此循环,逐步减少分析和通信过程中的误解,弥补不足之处,进一步确认各种需求细节,适应需求的变更,从而提高了最终产品的质量。

从原型是否实现功能来分,可分为水平原型和垂直原型两种。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型也称为行为原型,用来探索预期系统的一些特定行为,并达到细化需求的目的。水平原型通常只是功能的导航,但并未真实实现功能。水平原型主要用在界面上;垂直原型也称为结构化原型,实现了-部分功能。垂直原型主要用在复杂的算法实现上。

从原型的最终结果来分,可分为抛弃式原型和演化式原型。抛弃式原型也称为探索式原型,是指达到预期目的后,原型本身被抛弃。抛弃式原型主要用在解决需求不确定性、二义性、不完整性、含糊性等:演化式原型为开发增量式产品提供基础,逐步将原型演化成最终系统。主要用在必须易于升级和优化的场合,适用于WEB项目。

2.原型法的开发过程

原型法的开发过程如下:

(1)确定用户基本需求。在系统分析师和用户的紧密配合下,快速确定系统的基本需求。这个阶段一般不产生对外的正式文档,但对于大型系统而言,应该形成一个初步的需求文档。

(2)设计系统初始原型。在快速分析的基础上,根据基本需求,尽快实现一个可运行的系统。

(3)使用和评价原型。用户在开发人员的协助下使用原型,根据实际运行情况,评价系统的优点和不足,指出存在的问题,进一步明确用户需求,提出修改意见。

(4)修正和完善原型。根据修改意见和新的需求进行修改。如果用修改原型的过程代替快速分析,就形成了原型开发的迭代过程。开发人员和用户在一次次的迭代过程中不断将原型完善,以接近系统的最终需求。

(5)整理原型和提供文档。如果经过修改或改进的原型,得到参与者一致认可,则原型开发的迭代过程可以结束。

根据以上过程,利用原型法,可以为系统开发提供一种完整灵活近似动态的需求规格说明方法。

3.原型法的特点

原型法的特点主要提现在以下几个方面:

(1)原型法可以使系统开发的周期缩短,成本和风险降低,加快开发速度,获得较高的综合开发效益。

(2)原型法是以用户为中心开发系统的,用户参与的程度大大提高,开发的系统符号用户的需求,因而增加了用户的满意度,提高了系统开发的成功率。

(3)由于用户参与了系统开发的全过程,对系统的功能和结构容易理解和接受,有利于系统的移交以及系统的运行与维护。

原型法的不足之处有以下几点:

(1)开发的环境要求高。开发人员和用户的素质。系统开发工具等。

(2)管理水平要求高。系统开发缺乏统一的规划和开发标准,难以对系统的开发过程进行控制。

 

你可能感兴趣的:(笔记)