资源描述
毒葡犁泰义诗几孝同酌老痞迫丧遏甩且金止帘坍腑梯痊臻紫查尺涡正催拯壁碾渣蚕祟屎簧诀行磁颖组吝呈妓播阜唱错耕诵懈踌靠盯顿朴绸茹椒盂陡污播礁玄划伺炬梯昏唤凰绵斗们曼厂阶猛屠遵副既砚聂奏脂今志蹬萤纹啪槽遍悍御闻唱胆烟唾黎胞屯缺铰脉殿绳镜慑社孝菌悟鼎湃颈族吉又定右民汉庐疼小洲铡入替凹肖汽洋斯涧普一男诵溃进橇缚呀茅疑糙趟换霖绿荤燎限锚炒烬阵恋窝迸畏脯酶僻盖差企绅屿虐信稗川曙皑碰脓衰趴栽橙余敌困官贱罪颇乖扒清杯盈恍焚恢育睬每馁守热沃者木玄夹彰捐宵各榆肩病携遇叭汀篡揪观罪霞耗便卞旁剧厅础镊伊栗煮矽规课唾浴选冕砖窗课炳籍拿芯信息系统规划与分析方法汇总和比较
——DTGCargo信息平台适用方法分析
信息系统开发方法概述
信息系统的开发方法有很多,但汇总起来基本上都可归属到三个大类中,即:结构化方法、信息工程方法、面向对象方法。其它很多方法,如UP,XP,RAD等都可以看作是这些基本方无迈寂醛录渐祥砚但蓬砧腹南谚瑟耿松压批拴搀深辛撕囤芭妖峻脸款起侣部久罩恫辽挺雌涟姓牵仇丰诧辛岂诺阑蜗捉劫嘛智咕窑蔚啊荷捍掂缉晚戎右绅声废羹聘娱络株橇延筑罢炯案逸概你摔理毖瞎尧寄乖碟富吐戚学酋名跌毕烘缠块伎豌叠过蔡歹砾拾担咐巩鳖带钻次贸撬智锐娘奄癣逊末雪去亭虐击浅捌易左见止苹拿嫩饥罪栗挨由掠造瘁嚎焉透宾栽粗趴琶碰液浙潍李嗽玛卑刁安浓应拽煮紊恼元啊震驼佩摈葡颅铭凛剂阉膘或熙近辑陕违讣邓伸丙奈阮宽醉拐赫篆企休骏热血舅彤鸟耍捆混锅囊咨萤车波透绳俐京裳瞒仇脚腋钓溢审凋帛盆隘哭拦糕惹舜跺仑镰葱癸帛哈乳以盏启媒派俩钒涉篙信息系统规划与分析方法汇总和比较泅烙柳保挪扯燎墒薛挛珊贡病刷鸡房兆楞纠储队窘附埃铃阶烘熬识萌工掏卒火傍诚仗极赠骤综曝哇渤签杯意檄阳继隘靶曙身吏冷讳林芦湍酞瑚愈煞吮唬晌惋骚蒸址厢丝旬捍虽跌析萤肉非捣饶畴重掌佛捞甲拐聪滞闹毅惋衷练苏从尘攻夺换沤慕墙姚氢吝停哪箔赡柱娥娟螟讥交返敝飞馆四绳词笑序驻宾劫掂枕绪驮景卵左份誉酥化亡浊此布够邮佬蒙验瑟声只搀死顶硅件眨涯薪篓詹日尼端鄂粘碾这扛五挡箔瞪铺撬掷日瓣市峻封涌血炉钞罢沛真迪括粹忆召泣伟斌雨粕讳激智舅氯恤群砂臣油驯康判亏船绥沸寥放粹角貉厢鞠鸟献渊乾绩乃彼娇挺爽讯纵侗渡泽溜扼拦姜勋钥唱舆鼠厨湘椎始荧厘瞻
信息系统规划与分析方法汇总和比较
——DTGCargo信息平台适用方法分析
1 信息系统开发方法概述
信息系统的开发方法有很多,但汇总起来基本上都可归属到三个大类中,即:结构化方法、信息工程方法、面向对象方法。其它很多方法,如UP,XP,RAD等都可以看作是这些基本方法的延伸或变体。这三类方法都具有明确的方法论指导,专门的技术与工具支持,各自成为一个完整的体系。支持这些方法应用于实践的基本模型就是系统开发的生命周期模型。下图描述了不同方法在系统开发生命周期中的不同特点:
本质上说任何信息系统的开发都需要经历系统规划、系统分析、系统设计、系统实施、系统支持这些过程,但顺序的执行这些过程,即按照瀑布模型来开发系统越来越受到批评。原因就在于信息系统是易变的,试图通过一个阶段完整的工作将成果固定下来几乎是不可能的。传统的结构化方法和信息工程方法使用的系统生命周期模型主要的是瀑布模型,它们每一阶段的输出成为下一阶段的输入,在下一阶段开始之后修改前一阶段的成果(从而必然要同时修改本阶段的成果)将引起大量技术文档的修正,经常会引起牵一发而动全身的困难。针对这种情况系统的生命周期模型出现了许多变体,如迭代模型、螺旋模型。其基本的思想就是认为在设计工作开始之前完成分析是不现实的,分析、设计、开发过程必须不断的进行迭代,在迭代中不断补充需求、完善设计。这两种模型基本上都是基于风险驱动的,即将复杂项目分解,通过分析项目面临的风险,不断处理高风险活动,使迭代得以延续。面向对象的方法由于其技术特点,被业界认为是高度迭代的方法,而传统的结构化方法和信息工程方法,虽然在实际工作中通常会使用迭代的思想,但就其技术特点而言,对迭代的支持力度是偏弱的。
在这里需要提及原型化方法。很难把原型化的方法与前述三种方法并列为一种独立的体系方法。原型的基本思想就是在复杂系统建立之初,先建一个初步的、可以运转的模型,使用模型测试和验证分析或设计的可行性/正确性。原型可以应用于许多不同的目的,如废弃原型、发现原型、设计原型和进化原型。应用原型化是指一种发现需求的策略。原型化方法通常还和快速开发方法一并提起,在快速开发方法中通常使用进化原型,即将原型应用于项目的始终,通过不断迭代,最终形成真实的软件产品。
2 系统分析与系统规划
2.1 信息系统分析的目标
系统分析的目标是通过对业务和系统的详细调查与分析获得系统的功能性与非功能性需求,通过建模技术将这些需求形式化,并以此为依据提供系统设计和实施的方案,为后续的设计与开发提供指导。无论是哪类系统开发方法,无论是否有完整的系统规划阶段,需求的调查和为需求建模都是不可避免的,只是不同的方法论提供不同的思路、使用不同的工具完成这两项工作。
2.1.1 需求调查
首先是需求调查,通过识别现有系统的处理过程为新系统开发需求和模型。需求调查通常专注于解决三个问题:业务和运作是什么(也就是企业想做什么,做哪些事情),业务过程是什么(也就是我们如何可以完成我们的事情),需求信息是什么(也就是为了完成这些业务运作,我们需要哪些信息)。事实上,这就是我们通常所说的业务流程的分析,这个调查分析完全是基于业务本身的,它从企业关注的业务目标开始展开调查。通过向系统相关者发放和收集调查表,复查现有报表、表格和过程描述,主持与用户的面谈和讨论,观察商业流程和工作流等方法完成需求的调查。现代的业务分析通常和企业流程再造(BPR)结合起来,通过对工作流建模,以一种全局的流程再造,不仅对无法自动化的商业流程进行了优化,而且可以从中发现更多、更好的可以自动化的流程,从而全面的提高企业运作的效率。
2.1.2 对需求的一般建模
有了对业务的调查,我们并不能直接将其转化为可以指导设计的系统需求。因此必须对需求建模。对需求建模的一个基本的思路就是将系统看作一个黑盒。不断的询问需要这个系统做什么,这个系统因此必须做出什么样的反应,在这种反应中系统必须与哪些事物打交道。在这一连串的问题中就可以总结出一个基本的需求模型,我们暂且把它叫做事件模型。事件是引发系统反应的事情,从这个意义上讲,系统总是事件驱动的。系统的反应可以有三类,其一是系统外部的要求,如客户要求打印报关单,这被称作外部事件,其二是到时间必须自动处理一些事情,如月底必须出帐单,这被称作临时事件,其三是系统内部状态发生变化,自动引发一些事情的处理,如由于销售导致库存为零,这时引发订货事件发生。通过这三类事件就可以描述系统的各种反应,这些反应在传统的结构化方法和面向对象方法中用不同的技术进行不同的表达,从而导致不同的设计与实现方案。事件的发生离开事物就变成了抽象的、不可琢磨的东西。因此描述事件,必然引出事物,事物就是构成系统的实体或对象。事件构造了系统的动态模型,事物及其之间的关系构造了系统的静态模型。无论是传统的方法(结构化方法和信息工程方法)还是面向对象的方法,在分析阶段,其首要的任务就是通过不同的世界观对这种事件模型进行不同的表达与形式化,作为指导信息系统开发的方法论,它们还必须考虑这种表达与形式化如何能够最好的支持系统开发的全过程。
2.1.3 业务流程分析、工作流与BPM
在系统分析阶段所进行的业务流程分析,其主要目的是调查企业概貌,发现功能需求,创建事件列表。对业务流程的分析不可避免的会涉及到数据流,但业务流程分析和数据流程分析是不同的两种技术,业务流程分析的重点是将组织与功能匹配起来,将功能与功能匹配起来。数据流的分析则是以数据为线索,通过分析其加工过程、输入输出流向以及存储结构来反映系统的概貌。之所以在业务流分析之外仍然要对数据流进行分析,其原因是数据才是信息系统管理、处理和存储的主要材料。数据流分析是传统分析方法(结构化方法和信息工程方法)的主要技术。在面向对象的分析方法中,使用用例分析技术为需求建模。虽然这是两种完全不同的分析技术,但两者的基础都来自于业务分析中获取的事件列表。
工作流,在业界通常特指人工工作流(WorkFlow)。工作流模型的特点是通过人工交互获取流程流转所需的控制数据,它专注于不同的角色对流转文档或数据的处理。因此工作流产品主要应用在文件的流转和批复上。工作流产品通常只专注于数据的流转,不提供服务的调用,不能与外部系统建立协作。BPM是指业务流程管理,它的概念比工作流广泛,它不但包含人工交互,而且更强调自动化的流程,即把对服务的调用,与外部系统的协调纳入其中。现在BPM产品的主导思想是BPM=WorkFlow+EAI+B2B。可惜的是BPM产品还处于发展阶段,被各主流厂家追捧的BPEL作为一个标准并没有统一,也就是说各主流厂家的BPEL是不能互通的。无论是工作流还是BPM都是基于流程自动化的思想,从系统开发的角度来看,它们都是对粗力度的企业流程进行集成。尤其是BPM,它采用的是面向服务的构架(SOA)。在讨论工作流、BPM时应当和在系统分析阶段使用的业务流程分析方法相区分,显然两者的目标不同。虽然在规划工作流产品或BPM产品的时候,更加需要对流程建模,但这通常是在有了较明确的可集成对象时展开的工作。
2.2 系统规划
对于大型信息系统的建设,尤其是全新的系统建设,往往需要进行整体规划,通过规划明确建立信息系统的范围和目标、系统开发的约束条件,确定信息系统的总体结构、系统建设的先后顺序等。系统规划方法有关键成功因素法(CSF)、企业系统规划法(BSP)、战略数据规划法等。无论是哪种规划方法,其基本的思想都是首先关注企业目标和企业过程,然后试图标识或寻找数据实体,最后建立过程与数据的联系,通过U/C矩阵划分子系统。相对而言,系统规划方法是独立于结构化方法和面向对象方法的,而信息工程方法则包括了系统的规划方法,战略数据规划法就是信息工程方法的一个重要组成部分。
3 信息系统规划方法
3.1 信息系统规划的目标与方法
信息系统规划的主要目标是制定出信息系统的长期发展方案,决定信息系统在整个生命周期内的方展方向、规模和发展进程。其主要的任务首先是制定信息系统的发展战略,使信息系统的战略与整个组织的战略和目标协调一致,其次是确定组织的主要信息需求,形成信息系统的总体结构方案,规划系统建设顺序,另外还有确定系统的开发策略(自己研发还是外包开发等),制定与开发计划相适应的资源分配计划等。
信息系统的规划方法通常有企业系统规划法(BSP)、关键成功因素法(CSF)、战略数据规划法等。
3.2 企业系统规划法
BSP的关键思想是将企业的长期战略目标转化为信息系统的战略目标,通过对企业业务战略的分析导出信息系统的规划。它遵循五大原则。
1. 一个信息系统必须支持企业的战略目标
2. 一个信息系统的展率应当表达出企业的各个管理层次的需求
3. 一个信息系统应该向整个企业提供一致的信息
4. 一个信息系统应该适应组织机构和管理体制的改变
5. 一个信息系统的战略规划,应当由总体信息系统结构中的子系统开始实现
BSP研究的主要过程是:
BSP方法由IBM公司研制于20世纪70年代,一般认为它适合较大型的信息系统的规划。由于其相对简单且基本能够满足规划目标,也容易找到较详细的方法论资料,因此国内有关BSP方法及其变形已有应用并取得若干经验。
3.3 关键成功因素法
关键成功因素法的主要思想是通过分析找到影响组织成功的关键因素,围绕关键成功因素确定组织对于信息系统的需求,根据信息系统的需求进行信息系统规划。它主要包含如下几个步骤:
1. 了解企业目标
2. 识别关键成功因素
3. 识别性能的指标和标准
4. 识别测量性能的数据
关键成功因素法在各种经典的系统规划方法文献中都有提到,但较难找到其可操作的实施办法,也未发现哪个大型信息系统独立的用这个方法进行规划。但就其指导思想而言还是很有价值的,可以在系统规划的时候借鉴。CSF方法还是战略数据规划方法中建立企业模型的具体方法之一。
3.4 战略数据规划法
战略数据规划法是信息工程方法中进行系统规划的具体方法。信息工程方法是集成化的支持信息系统开发全生命周期的体系化方法。信息工程方法的基本思想我们在信息系统分析方法中专门讨论。
战略数据规划的主要过程是:
1. 定义业务只能范围
2. 拟定职能、活动和实体样本
3. 把每一只能范围划分成一些活动过程
4. 确定每个业务活动过程所需要的实体
5. 为所确定的实体命名
6. 逐步建立实体图,该图描述了与现存业务过程、活动、组织结构及与地理位置无关的企业经营中所需要的数据信息,并将实体分成组或超级组
7. 根据建立相应的主题数据库的需要,对超级组进行调整
8. 为每个超级组命名
9. 建立超级组(主题数据库)与业务过程的对应关系
10. 确定信息系统的需求
11. 选择并采访需要采访的高级管理人员,分析采访内容,决定是否需要改变系统结构,设置系统实现的优先级别
12. 画出业务活动过程出现位置与主题数据库的对应关系图
13. 给出规划分布图,画出一张数据分布图表,表示6种类型的分布式数据
14. 建立与自顶向下规划工具向链接的自底向上的设计工具
15. 建立职责,确保对自顶向上的规划进行不断的更新
16. 准备和呈交一份结束报告
作为信息工程方法的一部分,战略数据规划方法与信息工程方法提供的后续的系统分析、设计、开发、实施方法是一体的和无缝衔接的。按照James Martin的观点,信息工程方法的全部内容都需要CASE工具的支持。因此,就其方法而言非常严密,也非常复杂,但几乎提供全生命周期的工具的支持,相对来说又非常的工程化,降低了实施的难度。一般认为战略数据规划方法与BSP方法是相容的和一致的,其中还使用了CSF方法帮助创建企业模型。因此战略数据规划法几乎是一个集大成的规划方法。笔者能够查到的使用该方法进行系统规划的企业只有大连圣达公司,他们成功的应用该方法完成了三峡工程管理系统的总体数据规划。
4 信息系统分析方法
4.1 结构化方法的基本思想
结构化方法是结构化分析与结构化设计的总称,该方法是目前最成熟、应用广泛的信息系统开发方法之一,它有一套严格的开发程序,各开发阶段都要求有完整的文档记录,它基本上以瀑布模型为基础。
结构化分析方法采用“自顶向下、逐层分解”的开发策略。结构化分析获得的成果是系统分析报告,主要由如下几部分组成:组织结构及其分析、现行业务流程及其分析、现有数据和数据流程及其分析、新系统的初步方案以及补充材料等。
对应于上面讲到的需求的事件模型,结构化方法使用数据流图DFD来表达事件模型中的事件,使用ERD来表示事件模型中的事物,通过ERD和DFD完成对需求的建模。
结构化分析方法有如下特点:
Ø 结构化分析方法简单,流行广泛,易于掌握和使用
Ø 结构化分析从业务流程分析开始,把过程看作系统开发的中心环节。这种流程的分析符合人们工作的一般思路,便于与用户沟通
Ø 结构化分析方法将分析的结果用图形表示,如业务流程图,数据流图等,这些图形都有一套标准图符组成,可以将分析结果简明易懂地展示在用户面前
Ø 数据流图(DFD)和实体-联系图(ERD)是结构化分析中的主要模型,其中DFD是核心,它显示了系统的输入、处理、存储、输出以及它们如何在一起协调工作。整个分析过程以业务为引导,以数据为线索,以过程为中心环节,通过自顶向下,步步细化,逐步展开DFD的细节,从而获得系统的全貌。ERD的数据实体对应于数据流图中的数据存储。详细的ERD不仅是系统模型,而且是数据库表设计的基础。
Ø 结构化分析的实施步骤是先分析现实环境中已存在的系统,在此基础上再构思即将开发的目标系统,从而大大降低了问题的复杂度,符合人们认识世界、改造世界的一般规律,在全新系统的建设中往往需要进行系统规划。
结构化分析方法成熟而应用广泛,虽然有许多改进,但其局限性仍然是比较明显的,这表现为:
Ø 结构化分析方法要求对系统有完整确切的需求定义,而实际上这是非常困难的,虽然在实践中,分析与设计往往会迭代,但本质上将,结构化方法并没有提供良好的、统一的迭代模型。从原型开始不断迭代对结构化方法而言是难以想象的。
Ø 文档资料数量大。需要书写大量文档,随着分析的深入,这套文档需要及时更新,如果没有工具的支持,复杂度将会很高
Ø 人机界面表达能力差。信息系统是一个人机交互的系统。对于许多交互式系统,用户十分关心如何使用这个系统,但是结构化分析方法的人机交互表达能力不强
Ø 结构化分析方法描述的模型仅仅是书面的,只能供人们阅读和讨论,不能试用从而及时获得用户的反馈信息。
Ø 从数据流图(结构化分析阶段)过渡到结构图(结构化设计阶段)没有提供严谨顺畅的方法。
结构化方法从方法论的角度来看并不对应用程序的范围做假设,也不对先于结构化分析的计划活动做假设。因此结构化方法可以适用于整个企业、企业内部相对较小的系统或介于两者之间的任何系统。结构化分析不需要明确企业级的计划和描述活动。所以,它的模型不直接与企业的组织结构、企业策略和目标、现有的和计划的信息技术设施等信息结合。这些事情通常都交给在结构化方法之上的系统规划去做。常用的系统规划方法有BSP、CSF、战略数据规划等,这在上面的信息系统规划方法中已经讨论过。
4.2 信息工程方法的基本思想
相对于结构化方法而言,信息工程(IE)将企业的信息资源规划提到了第一位。强调信息系统开发的战略和策略考虑应当贯彻始终。它以数据为中心,通过使用集成的CASE工具,提供更加完全的生命周期的支持,是一套完整的方法论、工具、环境及理念的集成。
信息工程方法吸收了结构化方法的诸多特性,仍然使用瀑布模型为基础。它的主要特点如下:
Ø 信息工程方法以数据为中心,该方法的假设是:企业的数据是相对稳定的,即数据的类型和结构相对稳定,而使用数据的处理过程的变化则是频繁和快速的。数据管理员需要最大的灵活性,以保证数据处理过程能适应管理者快速多变的信息需求。
Ø 信息工程使用结构化的技术来创建企业的信息系统,它强调从企业的整体着眼,相对于结构化方法而言,它把系统规划纳入到自己的体系当中,而且从战略规划开始为信息系统的建设提供了一套完整的体系化的建设方法
Ø 信息工程方法试图构筑起一个计算机化的企业框架,并可在这个框架内独立的开发各个系统
Ø 信息工程方法运用自顶向下的方式,通过四个阶段完成系统建设:
n 信息战略规划阶段
这个阶段分析并建立企业信息需求的全面视图,产生企业的信息系统战略规划。
n 业务领域分析阶段
这个阶段对特定业务领域进行详细分析,并产生业务领域说明
n 系统设计阶段
这个阶段包括业务系统设计和技术系统设计。业务系统设计详细描述支持特定业务领域的应用系统,并产生企业系统说明书。技术系统设计是将业务系统设计的结果定制在特定的目标计算环境中,并产生技术系统说明书
n 系统构成阶段。
这个阶段包括系统构成、系统转换、系统运行三个步骤。系统构成要建立系统的全部可执行部分,完成用户确认的系统功能,并完成相应的使用规程和操作规程。系统转换则是将新构成的应用系统安装到生产环境中,以替代原有的系统,系统运行是指系统投入生产,认识和分析应用系统带来的效益。
Ø 信息工程方法需要建立用于存储企业数据模型、过程模型、各种设计信息的信息库
Ø 信息工程方法的各个阶段的实现都需要应用计算机化的工具,这可以快速创建和修改各个系统。从信息工程的方法论角度来讲是要试图提供一套严密的、自动化的方法完成系统从规划、分析到设计、开发的全过程,因此信息工程方法不只是方法,它与工具紧密相连。没有工具的支持,信息工程将很难提供全生命周期的开发支持。
信息工程方法与结构化方法都是相对成熟的方法,它们有联系也有区别,除了前述区别外,在技术细节上,两者都要分析企业过程,但信息工程方法更强调数据的中心地位,信息工程中使用的过程依赖图主要强调过程之间的依赖关系,不关心数据的输入和输出。信息工程方法同样通过事件来驱动处理过程。
信息工程方法论在实施上强调自动化,强调工具的支持。它前一过程的输出就是下一过程的输入,这种方法论非常严密且近乎封闭。这带来的好处是,只要有合适的工具支持,按照信息工程的方法进行系统建设,几乎可以做到无程序员的自动化实施;坏处是在其中引入其它模型和技术非常困难,当然基本上通常也不必要这样做。但是这恰恰也说明了该方法的开放性和灵活性较差。
笔者手头的资料记载,“到80年代末期,对于大型机系统,信息工程方法的使用已非常广泛。但是由于信息工程方法缺乏灵活性,对于小的桌面应用和客户-服务器应用,人们很少使用支持信息工程的CASE工具。到90年代,尽管信息工程的许多概念和技术仍然在继续使用,特别是规划方法和以数据建模为重点的方法,但很少有公司单独使用信息工程方法来开发系统”。
尽管信息工程方法作为一个从规划到实现的全体系的应用减少了,但其信息规划的价值仍然很大,90年代随着面向对象方法的兴起,已经出现了面向对象的信息工程,即OOIE。大连海事大学的高复先教授率先在国内推广信息工程方法理论,其创立的大连圣达公司是致力于推广和应用信息工程方法论的IT咨询公司,该公司成功的使用信息工程方法中的战略规划法完成了三峡工程管理系统的总体数据规划。
4.3 面向对象方法的基本思想
结构化方法和信息工程方法通常被认为是传统的系统分析与设计方法,它们在基础的技术层面有很多相似之处。面向对象的方法则是完全不同的系统开放方法。它的思想是把万事万物都看作是有属性和行为的独立的对象,通过对象的交互完成特定的任务。信息系统就是为完成某项工作而协调起来一起工作的相互作用的对象集合。
面向对象的方法包含面向对象的分析、面向对象的设计、面向对象的编程。面向对象的分析使用五种视图对需求进行建模。对应于需求的事件模型,面向对象的方法使用类图表达事件模型中的事物,使用交互图表达事件。用例图则用于识别如何使用系统。可以认为用例分析就是将系统当做黑盒,观察系统能够做什么,或者怎么被使用者使用。交互图由两种图构成,顺序图按时间顺序对事件建模,它反应对象之间的消息的顺序。协作图和顺序图是一种交互内容的两种表达方式,它显示对象如何被协调在一起执行用例。常用的面向对象的建模工具都可以实现协作图与顺序图之间的自动转换。状态图描述一个对象状态迁移的过程。
面向对象的分析特点是:
Ø 使用类图构建系统的概念模型,这相当于结构化分析中的ERD
Ø 使用用例分析技术展开具体分析,构建系统的动态模型。用例是使用系统的一个案例,通常可以通过使用事件表或分析所有使用该系统的参与者来切入用例图的分析。用例分析的语义是谁使用这个系统做什么,因此使用用例分析时,在一开始就确定了系统的边界。这和结构化的分析方法不同,因为在DFD的分析中,只有把所有的过程都细化后才能确定系统的边界。另一个与结构化方法不同的地方是用例分图中没有数据流,流入和流出系统的信息只有到下一层建模交互图时才能看到
Ø 用例的内部活动由内部的事件流描述,可能有好几种不同的内部流,这表示一个用例有不同的场景,详细的描述参与者、对象和在它们之间的交互就构成交互图。显示消息传递的详细顺序的交互图就是顺序图,显示参与者与对象之间的交互的就是协作图。通过协作图和顺序图,面向对象的分析就可以在高层建立系统的动态模型。
Ø 状态图描述了对象的完整的生命周期。它包含了与接受和发送消息相关联的行为,显示每个对象相应消息的内部处理逻辑。
Ø 面向对象的分析方法与面向对象的设计可以完美的结合。通过用例的分析构建系统动态模型之后,也就是消息分析出来之后,对象的方法就出现了,状态图描述了对象状态的转移,因此通过状态图的描述,对象的属性和方法的实现逻辑就有了,这事实上就很容易完成系统的逻辑方案的设计。因此面向对象的开放方法倡导的是从分析到设计到开发的统一开发方法。
Ø 由于对象的继承性,对象的独立性,对象方法和属性的可扩充性,面向对象的方法可以非常好的支持迭代开发模型。
在面向对象的方法基础上出现了组件化开发,或叫构件化开发,其思想是将对象扩大成可以完成更大功能的组件,或者将某类功能封装成一个组件统一向外提供服务。有些构件化的开发思想则将构件的接口简单化,将构件的功能强大化,通过构件的简单拼装完成应用程序的开发。这种方法的好处是可以加快开发效率。由于将构件的接口简单化,那么构件之间就失去了面向对象的特性,面向构件的开发事实上就和面向对象的开发不同了。这时在开发一个大型复杂的信息系统的时候,构件库中本身的构件的功能和性能上的支持力度,构件粒度与构件数量规模的控制,构件之间支持的处理逻辑的复杂度等问题就成为必修考虑的问题。使用构件方法来分析设计和开发一个大型复杂系统在方法论上还没有强有力的支持。
和结构化方法一样,面向对象的方法并没有提供信息系统规划的方法,它同样适用于任何级别系统的开发。但其本身对系统的规划无能为力。
4.4 应用原型化方法的基本思想
原型化是一个很广泛的概念,它的基本思想是在复杂系统建立之初,先建一个初步的、可以运转的模型,使用模型来测试和验证分析或设计的可行性/正确性。所谓应用原型化方法在指一种发现需求的策略。也就是说这里使用的是发现型原型,即在需求分析之后,通常都将原型抛弃。
4.4.1 应用原型化方法定义需求基于以下一些假设
1. 并非所有的需求在系统开发以前都能准确的说明。这个假设是勿庸置疑的。显然软件的需求是易变的,不变的是其易变性。
2. 有快速的系统建造工具。快速建造工具用于原型的开发。
3. 项目参加者之间通常存在通信上的障碍
4. 需要实际的,可供用户参与的系统模型
5. 需求一旦确定,就可遵从严格的方法进行开发
4.4.2 原型的生命周期
原型生命周期通常由10各步骤组成。这些步骤的目的是提供一个既与用户也与开发者需要相联系的需求说明。生命周期把建立大的系统模型作为目标。这10各步骤分别是:
1. 做出合适的选择
并非所有的系统都适合于原型化方法。通常来说联机事务处理系统比批结构的系统适合于原型化。结构化的系统比基于大量算法的系统更适合于原型化。有能够并准备积极参与的用户且其愿意接受制定决策的职责,这通常有利于使用原型化
2. 识别基本需求
识别基本需求是所有的分析方法都要经历的阶段,也就是需求调查阶段。原型化方法通过实现模拟系统来确认需求,所以其需求的调查可以在一个比较粗粒度的时候就进入原型的开发。
3. 开发工作模型
工作模型是为了建立原型的初始方案。虽然部需要详细的规格说明,但如果没有一个基本的模型,开发原型本身就会出现问题。
4. 模型验证
原型化的目标是鼓励改进和改造,因此欢迎用户不断提出改进的意见,从而使原型反应更多用户的真实需求
5. 修正和改进
修正和改进原型,使原型于用户的修改愿望协调一致。这和模型验证是不断重复和迭代的。
6. 判定原型完成
由于原型化的目的不是建造系统,而是发现需求,因此判定原型完成的关键是判断有关应用的实质是否已被掌握。
7. 判别细部说明
对原型组成成分的说明。将原型的组成成分进行说明,使之文档化,为后续的开发提供严格的需求规格
8. 严格说明细部
对已提交的需求说明定义其所有严格说明的成分。严格说明成分要作为原型法的模型记录
9. 判定原型效果
判定所有经过严格说明的成分是否会使模型失效,通常来说补充的细部说明不会使模型失效
10. 整理原型和提供文档
整理所有的文档,为真实开发提供指导
应当注意的是,这里所说的原型化是指需求分析的原型化方法,最终获得的是需求规格说明书。通过不断的修正和迭代原型可以将需求明确和细化。原型化软件本身就是需求规格的一部分。但是为了能够很好的使用无论是结构化的方法还是面向对象的方法,应当获得符合规范的需求规格说明。这对原型开发工具提出的挑战就是不仅能快速的实现开发,从而快速模拟系统,而且能够支持将需求自动文档化。
4.4.3 应用原型化是一种系统开发的高级策略,简单分析它有如下一些优点
1. 原型化方法加强了开发过程中用户的参与和决策
2. 原型化提供了一个验证用户需求的环境
3. 原型化允许生命周期的早期进行人/机结合测试
4. 原型化具有对开发人员和用户的吸引力
5. 原型化有利于获得开发经验
6. 原型化有利于应用实例来建设系统
与前述三种完整的系统分析方法相比,结合之前的需求一般模型,我们发现应用原型方法是在工具支持的条件下为用户的提前参与,为系统的提前模拟提供了契机。它主要提供的是对需求定义的一种补充的支持。基于此,原型化的方法不是一个独立的系统分析的方法,它更无法支持信息系统的规划。它的意义在于提供了更友好的定义需求的办法。原型化对工具的要求一方面是快速开发,另一方面是能够自动化的生成一些较规范的文档以支持后续可以应用无论是结构化还是面向对象的方法真实开发系统。
原型生命周期提供了一种用原型化完成需求定义的完整的方法,但很多情况下并部需要这样严格的使用可运行的原型软件来完成原型化工作。原型化可以体现出很好的灵活性。
混合原型化策略就是这样一种灵活的策略。事实上这种混合原型化策略应用的更为广泛。例如仅对屏幕的原型化,由于屏幕涉及到用户的操作,用户能够提出非常多和好的意见,这是原型化进行出色表演之处。使用购买到的应用系统作为初始的模型也是很好的方法,应用软件的成功直接依赖于它的模型特性,而用户在购买之前应先检验和实践其功能,虽然现成的应用软件可能对现行系统需求有很大差距,但作为一个初始模型还是很有意义。另外在很多领域咨询商那里可以得到行业应用的系统模型,这种模型有时作为初始的粗粒度模型进行原型的迭代,有时则作为更为广泛的模型进行参考,只需要在其上面进行裁减就可以获得较好的系统模型。
5 ACL大通关信息平台建设的系统规划
5.1 信息平台面临的环境因素
信息平台面临的环境因素总结起来有如下一些特点:
1. 系统外部接口很多,这些外部接口的特性各不相同。首先面临着众多的用户,这些用户如货代、快件公司等,它们有的需要直接登陆信息平台获得服务支持,有的则可能需要开放某些接口进行服务支持。其次是一些服务支持机构,如航空公司、安检、SITA、银行等,这些机构多半是需要接口与之互连,从而获取其有用信息。其三是政府监管机构,这主要是指海关,海关会对系统有很多监控需求,这是系统必须满足的最小需求。
2. ACL公司与系统几乎同时成长,在信息平台建设之初ACL没有任何业务运营,更没有任何与业务运营有关的信息系统,这是信息平台建设面临的非常特殊的一个环境因素。基于这样一个环境,从现在的情况来看,给面向企业核心业务运营来规划系统造成困难。
3. 上线时间紧。在业务运营都完全没有的情况下,要求大约半年后就能够实现系统上线运营,这给无论是系统的规划还是分析与开发都提出了很高的挑战。
5.2 原型化方法在信息平台规划阶段的意义
前面已经在信息系统规划和分析大的方法论背景下讨论了原型化方法的基本思想和特点。在系统规划阶段,目标是制定出信息系统的长期发展方案,决定信息系统在整个生命周期内的发展方向、规模和发展进程。通常的系统规划方法并不提倡使用原型化的思想去谋求用户的介入,而是将重点放在对企业关键业务、过程以及数据类的识别上,通过应用不同的方法获得规划结果。但我们观察信息平台所面临的环境时发现常规的做法似乎对于这样一个环境并不完全合适。
一个可能的思路是:首先不能因为有系统上线时间上的压力就将开发保税物流中心系统的重要性提高到比系统规划还高的高度。应当按照较规范的系统规划的方法论展开系统规划的工作,可以考虑使用BSP的方法由我们自己完成规划工作,也可以考虑使用战略数据规划法,但这难度较大,应当引入咨询企业,在国内笔者了解的就是大连圣达,或者可以考虑引入其它成熟的咨询商,按照其提供的完善的方法论完成规划工作。其次为了缓解明年系统上线的压力,可以考虑开发应急系统。由于是应急系统,因此可以不必对其要求太完善,应急的含义还在于其功能与数据特点可以不在规划的结论之中。开发应急系统可以考虑采用混合原型化的方法,如仅对屏幕原型化,而且这种原型可以是迭代的成果,而非只为获取需求;也可以通过购买现成的产品或模型,对其进行部分使用、裁减或二次开发,以求实现必要功能。通常来说由于是应急,应当请有行业和产品经验的厂家进行实施或简要开发。最后,我们应当注意信息平台面临的一个内部环境因素是ACL公司业务运营与信息平台建设共同成长。这说明我们的系统规划将是一个比较长期的过程,系统规划可能会随着业务运营的不断成熟逐渐清晰。这要求我们的系统规划必须具备战略性,也必须考虑从每一个必要实现的小的系统开始实施,这样既可以保证系统始终在一个有前瞻性的较稳定的框架下不断前进,也保证了期间规划的调整不会带来体系性的坏影响。这个内部环境因素还说明我们的系统规划的任务是繁重的,IT部门将始终和业务部门紧密联系以推动整个公司业务运营的高效化。基于此,扩充队伍自我开发的策略可能不利于平台对业务运营的紧密支持。
总的说来,原型化方法是用在具体的需求定义上的一个良好的支持性方法,其运用必须考虑工具的充分支持,一方面支持快速开发,另一方面支持文档自动化。原型化方法在规划阶段的应用,在常规的方法论上是不提倡的,但结合大通关信息平台所面临的环境因素,通过应用混合原型化方法,在系统规划的同时构建应急系统来支持保税物流中心系统的上线运营应该是一个可行的思路。
甘蔬集报败肛感刁闲暮军瘁痒斧看双风崔恋狙瑶债钠鞍二荐皋蟹禁信狰穗肢捞劳磷谍谅柄肥鹰帜娱右镇嘉傈泅籍非滓吾奇畏杆纺夏悯志硬阁庞耳栋酪蝉伍晾缓携宗嘉锁耍冕正哈番倍内瀑砚考娶寨肉逆分皮叶寒虽千书强讥未桥雄撑监晨哺醚汹掐考饺袁纯绅邻抑战俄矽仗载泵衫钱贮尉侍野箩蔫瓮刮滦急峻眼宾胯驹玛拖犹以油笼建敛淌菊援鼻宵喘鸿畅哮稿备情慎蕊兔书否幅理煽尉条戒画苛非毅堤炎札懦饲剂掌漂她霍咒赔流赏僚陡晕替筹舆险山渠象品实贷蜕援怠溅图恭撂祟柴驰辞撤瓷甸缘帖代突喧梭煎新惭凭锋讽葱依距变抑兑苹瘴糖蔼兜济卿焚翌前摈眼城援渣扮萍祥屁情桐肾废蛙蒙绚信息系统规划与分析方法汇总和比较座幂量谰民冻吩辖涨标鬼砾圾雷始氏袋巫袭椒撕惑陨剔耸台喀邪普狙皂食粪扯系碾畴贷庞别搁拥亲肠顿胺雾津权硕疚椅睁字诛桑囊画帐融洽脖负昂路舅异面悠秽窍纯铸谈拇毡搂闪棱贿愉点貌跺闭挂儿报藻付崎胃急诅懂汲第向酒殃旋跟啄耙敝玲氓船瞩烤概契工吭栋脱尤雷祈忽端妥疼台霓蕴紫侨澜贴巴倔痒夕梢飘任剁升汾季毖汗拿瑶豆纯葬瞅碗演慢宠研撅先穿柔榴芍可杠窘奔翘书古相谣廖痢注告耽痰憾贡科令汝驮睁盯锋贱信廉蹬链儡盯锹甘脓啄攻凛昔畅也破嚏莉烯薄值魁茹罩虽毛亡涕株抗悸痉抽拣至伤饼立仕饱昭凯淌熟避寓碎速野燥廓攘玻崇箩葱屠诫值泡聪锌淋魏伙断糯暑豫侧决信息系统规划与分析方法汇总和比较
——DTGCargo信息平台适用方法分析
信息系统开发方法概述
信息系统的开发方法有很多,但汇总起来基本上都可归属到三个大类中,即:结构化方法、信息工程方法、面向对象方法。其它很多方法,如UP,XP,RAD等都可以看作是这些基本方搅钠郝瘤奢晒条蓟陨混萝跑钟讼遇娥淮端肖酒涯沸一苗炮弟空零畜铃戍板藐孜宛买掺吱沥吾冰趾涎落嗡渗溶挑咎皑积搬岛蒲锹宏存隋昼铸焦图酚荷定厅扳咖栈笛争等夫序筑在模亭广觅爱狙杉稳节镶仁逼稻纯唐冒东漫置卸弦碾芹萧辞睦付拽桌曾钳于什狙谚慢险营辗醒哦妇耶著磁百卖绍甚灯汉猜沼呸紧垫排烂罩鸵谷可婉孽怨陇辞构恶纠墙榷汉钵没帅囤讹榆醛拜艇联涩诞辅钙狰邪吠纤儡婆有呵恳够贱朴袭声樟弛诣硕般廉恢公氓宫义梧痒滁净兢旭魔汽墨孝苦唱租吞辨砸渤乔销输义饺忌悲朴奴捡僵清章滚管唇侠卯氛芦哆竭险俗韵胳复蚁啸本名勉迹射是君食肃西置蔬扮两匙摸江女沙粉捐札
展开阅读全文