信息系统建模
原因在哪里?
一个主要原因在于流程是顺序进行的,而实施该流程 的组织是按照功能分工的。(参考图) 结论:项目的最终用户没有足够的想象力去事先想象 将来的产品。这也是软件项目经常中途搁浅的原因。 工作重点的转变以及经常调整工作团队阻碍了各个参 与方之间的有效沟通,我们称这一现象为“团队断 层(Team Breaks)”。
段进行逐步深入分析,使之具体化。
顺序性:各个阶段的各项活动都按照一定的次序进
行(概要设计、详细设计、编程、实施等)。
完整性:各个阶段的活动要完整,完全延展到各自
涉及的领域(比如所有系统领域的 方案设计)。
里程碑式:对每个阶段都定义一个里程碑作为检验点,
在每个阶段的最后,项目委托人可以根据这些信息决定 是否继续实施该项目。
顺序实施模型:瀑布模型
首先我们来看一下经典的软件工程的瀑布模 型。这个模型需要大量的前期准备工作, 这点和系统工程师一致的,特别是要遵从 以“从整体到细节”的原则。也是先在内 容上和时间上明确各个阶段的工作,然后 完整地按计划顺序地进行实施。“完整” 指的是初步方案只有一个阶段,要全面考 虑所有能想象到的系统。
信息系统的实施经常面临的困难:
1、系统技术不足。比如:功能不强大、灵活性较差、操 作不方面等。所以我们需要解决的问题:投入使用的 信息系统不仅功能要齐全,而且操作要简单。 2、实施过程历时过长。对ERP的两个研究同时显示,项 目实施耗时差异很大,上下波动范围在半年到10年之 间。产生波动的原因在于所选择的系统本身。我们可 以看出:信息系统的选用直接影响了项目实施的成功 率。 3、达标数量少。信息系统导入后,达标情况非常糟糕。 比如,在导入ERP系统后,只有29%的企业能够提高 按时完成率。 4、信息系统的经济性。运用信息系统后能否给企业带来 好的效益。简单的说就是物有所值。
螺旋模型要求项目用户尽可能参与开发。 这样一来,不仅用户能较快地了解系统,而且在相当 的程度上可以决定初步使用阶段后的系统开发。
最终用户的参与 螺旋模型的出发点是这样的:每个步骤完成后,都由 用户进行检验,最后用户根据检验结果对系统提 出的新要求。这样一来,螺旋模型就自动把用户 牵扯进来,用户和开发人员之间就有了互动。
第二部分(项目实施)简介 作为一本面向实践的简明手册,本书第二部分详细介绍了几 种主流的信息项目实施模型,并重点说明了信息项目实施 的各个阶段以及在每个阶段应采用的建模方法,从而可以 作为一本涵盖面广的教科书和实践指南。 第二部分主要讨论项目实施和IT系统设计的实施建模。 打个比方,就像造房子,怎样从最初的一个想法到最后可以交 钥匙的房子?首先要有周密的设计图纸,然后才可以根据图 纸造房子。 盖房子的人们也是在面对一个复杂的系统,也需要借助一个实 施模型。
团队的不断更换带来的直接后果就是各团队所采用的 建模技术不同。不同的建模技术又致使每个功能性 阶段都有自己的主要视图(Look),这在瀑布模型 里也是经常出现的。 团队断层导致了“模型断层”,即在建模技术上和建 模视图上的断层。
周期循环实施模型:螺旋模型
在瀑布模型里,每个阶段只进行一项唯一的工作 (比如初步方案的制订、项目实施),但这些唯 一的工作都必须完全、充分的完成。系统只有在 整个项目结束后才具备所有的功能,才可以使用。
设计任务一览
下面我们简单介绍一下瀑布模型每个阶段的重 要任务和阶段性成果。
1、项目申请 在项目申请阶段要分析项目所要达到的目标,明确项目 设计的群体,确认是否关注了正确的问题。调查结果 记录在项目申请和业务案例(Business case)中。 2、初步方案 在初步方案阶段中,首先要制定一个粗略的解决方案, 对系统构想的社会—技术变量进行分析、设计和评估。 3、项目方案 在确定了问题解决的原则后,就进入了项目总体方案的 研究阶段。在项目总体方案中,要对流程、功能、对 象任务和系统构架进行说明。在定义各项要求的时候, 尽可能地做到只进行逻辑性说明,即与具体软件系统 无关。
螺旋模型的优缺点
优点
螺旋模型的主要优点在于能够较早地获得来自用户 较为可信的评价。这促使开发人员把注意力集中 于向用户提供各种功能,而不是把精力浪费在充 分利用技术提供的可能上。 在螺旋模型的框架下,要求在每个阶段里的所有设 计任务都必须集成起来,因此,那些具有各种能 力的团队就自然形成了。这样一来,团队断层和 横型断层也就不会出现。
信息系统建模
信息项目实施方法手册(第2版)
10 信管 黄晴晴
作者简介
Adrian Specker,于苏黎士联 邦科技大学获得博士学位并被 授予最高荣誉奖章。19851988年在某电信公司负责物流 管理工作。1988-1995年在瑞 士一家著名的咨询公司担任高 级顾问和项目主管。19982005年在苏黎士联邦科技大学 从事教学与科研工作,同时担 任Loghouse Engineering股份 公司总裁。从2005年10月开始 执教于西北瑞士科技大学,主 要研究领域为信息系统建模和 信息系统项段中,要对系统进行更为详细的设计。在初步方 案中我们观察的是总体系统,花费在改阶段的费用应该 适度。在总体研究阶段,先制定一个总体构想,在详细 研究阶段则对子系统进行分析。在实施阶段对系统进行 构建和实施运行。 生命周期阶段模型反映了“从总体到细节”为中心的几本 思想,也就是先制定一个一般的解决框架,然后一步一 步细化,即在每个阶段中逐步深化
主要介绍的内容
第 8章 项目实施模型 第 9章 项目申请 第10章 初步方案 第11章 项目方案
项目实施模型
项目实施模型可以理解为借助于各种方 法来设计信息系统的多阶段流程。系 统设计主要为一下两部分: • 先设计一个包含所有细节的整体计划, 然后根据这个整体计划进行实施(瀑 布模型) • 不需要首先设计出一个包含细节的框 架蓝图,而是先迅速将分支领域进行 实施,在实施过程中不断对系统进行 补充(螺旋模型)
瀑布模型中各个活动的先后顺序
项目申请
项目计划和初始化
初步构想
项目管理
项目方案
需求建议和评估
审核和合同 开始实施 详细方案 项目管理 设计和实施 项目结束
项目交付和上线运行
系统使用
运行和维护
瀑布模型遵循的原则
阶段性:瀑布模型分为几个阶段,各阶段定义明确,
一目了然。
从粗略到细节:系统从粗略设计开始,对各个阶
质量检验:每个阶段的执行结果在随后的一个阶段里都
要再次进行核实确认。每个阶段在完成后都要进行质量 检查。
减少错误:只有在研究工作全部完成后,才可以进行系
统实施。只有这样,才能在系统实施前错误,减少损失。
持续不断的改造:逐步优化模型。 问题解决周期:在每个阶段中都要经过一个问题解决
周期,直到投入应用。
4、需求建议书和评估 大多数软件项目都是由企业外的供应商承包的,所以在这样 的情况下必须在需求建议书中明确规定,供应商必须提 供什么样的服务,企业需要承担多少费用。 5、审核和合同 在评估阶段结束之后,就进入了审核阶段和合同订立阶段。 在合同签订之前,首先必须将在评估阶段中的不明确环 节解释清楚。合同签订涉及委托的所有方面以及项目实 施的模式。在项目实施前,必须将所有的模式明确化。 也就是说,在进程上、费用上、内容上要仔细规划,并 明确相应的责任。
瀑布模型的中心思想是“从整体到细节”,而螺旋模型 的核心原则是“从重要到次要”。 螺旋模型的每个阶段都集成了所有的工作,在第一阶段 就已经可以提交系统下层某个方面的详细构想了。这 个方面会在接下去的阶段里进一步完善和扩展。 螺旋模型主要优点在于其速度,用户可以马上使用并且 给予可信的评价。 这个IT项目开发方法的中心思想就是,把不同分系统 (过程、目标、功能、任务和技术)通过目标明确的 措施集成起来,把实际的系统尽可能快的开发出来。
从总体到细节
在项目申请阶段,会体验不同的项目备选方案,比如 从功能有限的初步解决方案到集成的总体系统,最 终只确定一个项目方案,并制定相应的项目申请书。 如果面对一个大型的项目,我们要考虑潜在效用和经 济性,选择最适合此公司的备选方案,形成项目的 初步方案,基于该方案,可以逐步设计系统,逐步 使系统具体化。各个业务流程对方案的要求汇总在 一起,勾画出哪些是最好的总体构想,在最终的评 估基础上,可以将系统再进一步具体化,将解决方 案详细化。当然,对于每个业务流程都要制订一个 详细方案。
Next: 在项目阶段和进度计划方面对这两个模型进行比较。
在瀑布模型中,因为每个阶段都只有一项工作,所以阶 段名称就以此工作命名。 螺旋模型继承了各项工作,每个阶段以预定目标命名, 每个循环所实现的成果必须交付给用户。在螺旋模型 中,随着系统设计的循环往复,每个阶段的工作范围 逐步缩小,然而每个工作会继续循环下去。 比如要开发一个互联网浏览器,第一阶段要先设计一个 简单的浏览器,第二阶段再加上邮件收发和其他一些 主要功能。 瀑布模型则相反,它要求从刚开始就要为某个特定系统 设计所有主要的功能,第一版本完成后就交付使用。
瀑布模型的优缺点
瀑布模型的问题在于,需求分析和设计需要长时间 地停留在纸面上。其进展速度主要取决于将来的 用户对这一项目方案的预期效果的想象。越接近 实施阶段,这个问题也就越突出。 另一个问题在于,在项目进展的过程中,项目目标 和条件不断变化。
苏黎世联邦科技大学企业研究中心分析了一个银行的软件开 发过程。在“批评阶段”首先收集了该软件开发过程里的 主要缺点。这个银行的方法论采用瀑布模型。 参与这个项目的工作人员讲述了如下主要问题: 信息部门和专业部门之间合作不融洽 缺少共同语言 缺少一个共同的行之有效的建模方法 阶段交替环节存在很大的知识流失
与瀑布模型不同,螺旋模型在项目的每个阶段都要 综合完成所有的任务,每个阶段都经过一个循环, 而在内容上则要对前一个阶段进行扩展,在每个 阶段完成后,产生一个可使用的系统,系统在功 能上随着各个阶段的不断扩展。我们将此理解为 “增量式开发”。
可见,螺旋模型与瀑布模型最重要的不同之处在于, 螺旋模型在每个阶段都循环往复地执行“所有” 的工作,比如初步方案制订、项目方案制订等。 螺旋模型的工作没有瀑布模型的工作范围广泛,但 是在螺旋模型的每个阶段的工作得以不断扩展。