用IPO图为信息系统建模

推荐到首页

□ 柏晓旭 《计算机世界·技术与应用》 2009年第04期
1/3页12 3

  用IPO图作为主要建模工具来进行信息系统的业务分析、软件需求分析、概要设计,可以实现业务分析、软件需求分析和系统总体设计的平滑过渡,从而消除分析与设计之间的鸿沟。
  
  IPO图即输入(Input)、处理(Process)、 输出(Output)图,是IBM公司最早提出并用于描述过程的工具。国际标准化组织ISO对过程的定义是: 将输入转化为输出的一组活动。使用IPO图描述业务过程显然没有问题,但在信息系统需求分析中能否使用IPO图呢?答案是肯定的,而且有着意想不到的独特的作用。
  
  数据流图
  与用例的不足
  
  在采用结构化方法的软件需求分析中,常用的主要工具为数据流图。而在面向对象方法中则使用USE-CASE,即“用例”。在信息系统的需求分析中,这两种方法都存在一些不足。
  数据流图以数据流为基础进行需求分析,但信息系统的实际情况则是以业务过程为基本单位来完成用户业务过程中的信息处理工作,这也是信息系统自身的需求。在结构化方法中,进行数据流分析之后,仍然需要进行业务过程的归并和划分,形成程序模块。这里的程序模块就是完成一个或多个信息处理过程的软件单元。使用数据流图的分析方法其实是走了弯路的,而且,数据的数量及其结构的复杂程度远大于对数据的处理。使用数据流图进行分析,图形一般都比较复杂,使我们不能很快抓住问题的关键。
  另外,大多数信息系统实际上就是数据库应用系统。一个信息处理过程的数据调用和存储,总是建立在数据库的基础之上。分析一个信息处理过程的数据输入和输出都是以数据库为源头或终点。使用描述数据输入、输出和处理过程的IPO图进行需求分析,对数据需求的分析局限在相应的过程之中,对数据的分析会更加简单、清晰、便捷。
  面向对象方法中使用的USE-CASE,即使用案例( 简称“用例” ),是对过程的描述,但USE-CASE对过程的描述不够充分。一个信息处理过程必然有数据的输入输出,在执行多个过程时必然有一定的顺序,顺序可以是先、后或同时(即并发),USE-CASE对这些都没有描述。因此,USE-CASE并不是对过程的完整描述。USE-CASE主要用于指导软件开发,而用来和信息系统最终用户——管理者的交流却不够流畅,而IPO图则能够较好地解决上述问题。
  
  何谓IPO图
  
  附图是一个简单过程的图例。图中两端是描述输入、输出的图形,图中间是描述过程处理或活动的图形。位于图中间的矩形方框分为三部分,上部是过程的编号或名称,中部是过程处理或活动的描述,下部则是过程的执行者(可以是某个角色、个人或部门)。
  过程的输入、输出通常称为过程数据。过程本身则称为过程体,有时也简称过程。对多个过程执行的先后顺序的描述则称为过程流。
  另外,IPO图中一般还有用来描述输入、输出和过程流方向的箭头及配套的文字说明。
  一个过程可以包含多个处理或活动,因此过程可以分解为多个较小的过程(子过程)。这些子过程有一定的执行顺序,对这种顺序的描述也称为过程流。通常,也将一组有一定执行顺序的过程称为流程。
  IPO图也可以描述多个过程的输入、输出和过程流,此时,过程可以分为多个子过程,子过程仍然可能包含多个处理或活动,仍可以继续向下分解。反过来,子过程也可以向上聚集或简化,成为具有更多处理或活动的较大过程。
  从上述定义可以看出,IPO图对过程的描述完整、清晰、简洁、准确。实际上,IPO图对过程的描述可简可繁、收放自如: 既可以层层分解直到最底层,又可以聚集、简化直到最顶层。由于IPO图的这些特点,它在信息系统的需求分析中可以很好地发挥作用。
  
  用IPO图进行
  需求分析和设计
  IPO图可以描述任何过程(流程)。在信息系统的需求分析中,我们可以使用IPO图作为建模工具,既用它描述业务过程也用它描述与之对应的信息处理过程。同样,在进行信息系统的总体设计(概要设计)时,我们仍然可以使用IPO图来描述信息系统应用软件的信息处理过程。于是,IPO图就成了信息系统中业务需求分析、软件需求分析和概要设计的统一建模工具。由于建模工具的统一,消除了业务需求分析与软件需求分析、分析与设计之间的鸿沟,使业务需求分析、软件需求分析和概要设计三个阶段平滑过渡。
  建模工具的改变涉及到对信息系统分析思路的根本转变。以往的结构化方法使用数据流图作为需求分析的主要建模工具,是把分析的基点放在数据流。使用IPO图作为建模工具,则是将分析的基点放在过程: 业务过程和与之对应的信息处理过程。

UML的USE-CASE就是把分析基点放在过程,但USE-CASE对过程的描述不够完整、清晰,它只描述了过程体,而没有同时描述相应的过程数据和过程流,因而在和业务人员的交流中不够流畅,IPO图则能很好地克服这个缺点。另外,IPO图有效地突出了过程可以分解和聚集的特性,使之能够在系统构建时发挥更大的作用。
  虽然数据是信息系统的基础和根本,但由于数据库的成熟和发展,把数据“流”作为信息系统需求分析的基点已经不合时宜。相反,随着信息系统不断扩大的趋势(比如全面信息化系统),把信息处理过程作为需求分析的单位和基点则更为有利。我们只需考虑过程内的数据输入输出和处理,过程之外只考虑其他过程与本过程之间的关联,从而使问题简化。
  另外,每一个信息处理过程除了从外界获取和向外输出数据之外,主要是从数据库获取数据,并将所有经过处理的数据存入数据库。数据库成为数据流的集散地和数据管理的最好场所。不将数据流作为分析的基点,而是将数据流局限在信息处理过程之内、把过程作为系统分析的基点,将简化分析设计过程,有利于大型信息系统的分析与设计。
  
  用IPO图来建模
  IPO图所描述的信息处理过程包括了过程数据、过程体和过程流,正好与信息系统应用软件中的程序“模块”相对应。实际上,在信息系统中一个程序模块就是一个或一组信息处理过程。这样,信息系统分析设计的全过程,从业务过程(业务流程)到信息处理过程和程序模块都可以用IPO图来进行描述。
  系统、子系统、模块之间也是一个向下分解和向上聚集的过程。系统、子系统和程序模块,只有大小和规模的差别,在本质上是相同的。所以,信息系统分析与设计全过程都可以使用IPO图作为建模工具。
  为一个组织建立信息系统,首先要分析组织目标,进而确定应用系统的目标和范围。按照所确定的应用系统目标和范围对原有业务流程进行信息化优化和重构(BPR),然后进行应用系统的软件需求分析和设计。从对原有业务流程描述到信息化优化和重构(BPR)开始,就可以使用IPO图,直到软件需求分析和概要设计,包括模块设计和数据结构设计。整个过程是一个对IPO图不断细化、精化的多次迭代过程。
  总体而言,使用IPO图为信息系统建模有以下优点:
  1. 图形和图例简单,易于绘制和学习;
  2. 由于对业务过程的描述完整、准确,IPO图和用户交流方便、自然、没有障碍;
  3. 层次分明,便于自顶向下细化、展开,也可以自底向上聚集、简化;
  4. 能够用于信息系统分析设计的全过程,使得信息系统分析、设计的几个阶段自然切换、平滑过渡;
  5. IPO图可同时用于功能需求分析和数据结构设计。

需求和设计阶段使用的IPO图相关推荐

  1. 【软件工程】软件工程中应用的几种图辨析:系统流程图、数据流图、数据字典、实体联系图、状态转换图、层次方框图、Warnier图、IPO图、层次图、HIPO图、结构图、程序流程图、盒图、PAD图、判定表、

    软件工程中应用的几种图辨析:系统流程图.数据流图.数据字典.实体联系图.状态转换图.层次方框图.Warnier图.IPO图.层次图.HIPO图.结构图.程序流程图.盒图.PAD图.判定表.判定树.Ja ...

  2. 项目管理IPO图之整体管理

    项目管理IPO图之整体管理 转载于:https://www.cnblogs.com/cody/archive/2009/05/04/1448919.html

  3. [架构之路-199] - 可靠性需求与可靠性分析:鱼骨图、故障树分析法FTA、失效模式与影响DFMEA,找到影响故障的主要因素

    目录 引言: 第1章 故障树分析法与鱼骨图的比较 1.1 相同点 1.2 区别点 第2章 鱼骨图 第3章 故障树 3.1 示意图 3.2 故障树解读 3.3 故障树常见符号 第4章 产品失效(Fail ...

  4. 一个需求价值评估的方法——靶图

    一个项目会有很多需求,但这些需求通常并不是有相同优先级的.这就说明,这些需求的价值,有差异.为什么会有这样的差异呢? 我们的需求分析是基于原始需求的.原始需求通常很粗糙,只是客户和市场人员的直接描述, ...

  5. 学生管理系统IPO图_北京外交学院项目电能管理系统的设计与应用

    ​​安科瑞 蒋超萍 江苏安科电器制造有限公司 江苏江阴 214405 摘要:随着企业改革的不断深入,对用电管理的现代化水平要求越来越高,能够快速.准确地获得各用电环节的电能数据,用电量分析.负荷管理. ...

  6. 需求:如何将含有公有图床图片的md文件以图文形式导入到语雀?-2022.7.17(已解决)

    目录 文章目录 目录 1.提出需求 2.测试过程 3.得出结论 关于我 最后 1.提出需求 现在,有一个md文件,里面的图片是阿里云oss路径. 现在,我想把这篇md文章导入到语雀里,但是我希望导入进 ...

  7. 2021年中国动力电池行业发展现状分析,需求推动行业多元化发展「图」

    一.概述 动力电池即为工具提供动力来源的电源,多指为电动汽车.电动列车.电动自行车.高尔夫球车提供动力的蓄电池.动力电池按照其外观形状可分为圆柱电池.方形电池和软包电池三大类. 三种形状动力电池的主要 ...

  8. 2021年中国白酒行业现状及趋势分析:产品需求向中高端类走[图]

    一.白酒分类 中国白酒具有以酯类为主体的复合香味,以曲类.酒母为糖化发酵剂,利用淀粉质(糖质)原料,经蒸煮.糖化.发酵.蒸馏.陈酿和勾兑而酿制而成的各类酒.而严格意义上讲,由食用酒精和食用香料勾兑而成 ...

  9. 软件建模概述 UML模型图

    软件建模 什么是软件建模 将想法通过模型可视化地表达出来,方便记忆和进一步分析,方便团队/同事交流,口语交流容易失真. 软件建模体现了软件设计的思想,在需求和实现之间架起了一座桥梁,通过模型指导软件系 ...

  10. IPO(INPUT PROCESS OUTPUT)图

    在计算机领域IPO是指结构化设计中变换型结构的输入(Input).加工(Processing).输出(Output).      IPO是对每个模块进行详细设计的工具,它是输入加工输出(Input P ...

最新文章

  1. 安装mysql 10055_Can’t connect to MySQL server on ‘localhost’ (10055) | 学步园
  2. 【资源共享】休眠唤醒 开发指南
  3. python网络爬虫(14)使用Scrapy搭建爬虫框架
  4. css background-position
  5. Java中final和static对修饰类、方法、属性的总结
  6. 再论句子中单词的逆序输出
  7. 从某软件引发的深思总结
  8. 安装JDK_Tomcat
  9. bat备份mysql数据库
  10. CBDNet:Toward Convolutional Blind Denoising of Real Photographs
  11. 运算放大器虚短和虚断
  12. php中eregi,PHP 函数 eregi()
  13. Win10笔记本开启热点让手机上网
  14. c/c++中指针学习的两个绝好例子
  15. 合伙企业对外债务如何承担
  16. 适合孩子观看的十部优国产儿童动画推荐清单!
  17. 什么是网络智能运维?如何保障业务7x24小时在线?
  18. ubuntu1404 安装 ppsspp
  19. 一辆适合长途出行的电动跑车 奥迪RS e-tron GT正式上市
  20. [unity]使用Unity粒子系统制作跑尘

热门文章

  1. css版权备案等居于页面底部与超出不换行可滑动
  2. 小程序逆向——某书小程序反编译(一)
  3. Fractions to Decimals_usaco2.4.5_暴力
  4. 洛谷 P4704 太极剑【贪心】
  5. P5960 【模板】差分约束算法 · spfa
  6. CityEngine+Python自动化建模实现【系列文章之四】
  7. 第20件事 风险分析
  8. 使用ArcGIS Engine提供的命令和工具(ICommond,ITool)实现MapView操作
  9. 开关电源模块并联供电系统_电磁兼容(EMC)-开关电源中X电容与Y电容的作用
  10. 算法提高 阮小二买彩票