前言
在程序设计领域有一句话“千言万语不如一张图”,在工作中我们也接触了各种各样的流程图,但总的来说,优秀的流程图不多,普遍存在几个问题:
1. 制图不规范,很多时候是自己随意而发,或者见到别人的范例照猫画虎,貌似规整,实则错漏之处颇多;
2. 张冠李戴,由于对流程图的定义和基本类型不太了解,所以在流程图制作和选择画法的时候,对各种流程图的特点混淆,常常出现综合产物,似是而非;
在研究定义交互设计组自己的设计流程图标准时,整理写下了以下文字,希望能对大家了解流程图的定义和来龙去脉有帮助,知其然且知其所以然。
流程图的渊源和定义
在了解流程图的之前,我们需要了解一下另一个设计领域(软件系统的分析和设计),了解一下可视化表达的概念。
注:在我的印象中,流程图的制作和应用最频繁的领域应该是软件设计方面,我见过最严谨和规范的流程图也是由系统分析师画出来的,这是一个很有趣的现象,一方面说明结构化的表达需要严谨的逻辑思维,另一方面说明好的工具是能事半功倍地帮助我们逐级分解一个复杂的事物的,对此现象的好奇使我有段时间非常沉迷于系统分析的研究中,特别是UML的理念,定义等等(什么是UML,有兴趣自己研究哈!)。
Use-case及usc-case图概念
“在很长一段时间里,无论是传统的软件开发方法还是面向对象的开发方法,都是用自然语言来描述对系统的需求的,即把预期的人和系统之间的交互编写成剧本(scenario),但是这样的做法没有统一的格式,缺乏描述的地形式化,随意性较大,常常容易产生理解上的含混和不准确性。”1992年的时候,一个叫jacobson的大牛在他的著作中提出了use case的概念及可视化表达方法-use case 图,作为软件项目的开发和规划的一个基本模型元素,use case的概念和方法受到了it界的欢迎,并被广泛应用到众多领域,特别是在软件系统的分析中。
use case的概念和use case 驱动的分析和设计已经成为当今面向对象的系统分析与设计方法中不可或缺的一部分,换句话说,要了解软件研发的分析和设计,请先了解一下use case 。
所谓use case其实是指系统的外部事物(活动者)与系统的交互,它表达了系统的工作,即系统所提供的服务。
Use case的定义比较罗嗦和抽象,我简单归纳一下基本上是两个重点: