今日又接到项目,手绘整个流程图后,想把关键部分在RTX上发给老大看看,于是不得不使用 Office Visio 流程图工具解决。其实我不爽这个软件很久了,但又没有什么合适的替代品,所以每当画web流程图时,都十分无奈。先贴出刚出炉的部分流程:
其中关键部分由于涉及商业机密,这里用简单英文替代了。不爽的原因如下:
1、Visio流程图的默认汉字字符为8pt,而默认页面显示宽度为75%,这就意味着,除非每次都调整设置一下,不然在进程框中输入的汉字基本是看不清的…囧。当然,通过“工具-选项”的高级设置,默认值是可以修改的,但相信90%以上的人都没有想到,或不知道在哪。实际上,汉字大小需要调整到12pt才能看清(你能看清上图中的汉字么?);
2、页面和字体小就算了,流程图的背景还是可恶的小方格,小方格就算了,流程框的背景颜色还是灰色。我不能确定这样的设计是否符合 W3C 标准,但我认为这种颜色的设计可用性并不好,如果谁有兴趣,可以用对比度分析器来检测一下。如果Visio只是一个很平凡的软件,或许我不会如此吹毛求疵,但很可惜,它是微软设计的(Visio 2007中,这SB的小方格设计终于被抛弃了);
3、Visio默认的背景纸太小了,或许可以理解为只有一张A4纸大小。在我绘制复杂产品的流程图时,这种问题就更加凸显,我不得不将一个完整的流程分割成若干分项流程,除非我放弃使用Visio。实际遇到这种情况时,我也的确是这么做的;
4、版权问题。随着微软打击盗版的力度加大,很多企业已经卸载了Office产品,转而使用金山的WPS,如果使用正版,你需要付出不菲的代价;
当然,我并是不是说用 Visio 画流程图是一无是处的,毕竟它主要的作用就是如此。同时,相对于其他乱七八糟的流程图设计工具而言,很多功能细节处理都是非常到位的。所以,如果有数据能证明用 Visio 画流程图的人占绝大多数时,我一点也不会惊讶(不考虑版权因素)。比如 Visio 在流程模块拖放时的参考线处理、连接线的自动对齐处理、以及将 Visio 流程图导入到 Word 中是如此方便,甚至可以在 Word 中直接对流程图进行修改和完善,这一点是其他流程图软件不可比拟的。
如何使用 Visio 画 Web 流程图呢?网上有很多这方面的资料,我推荐千鸟的一个 Visio 流程图基础性总结。当然,除了 Visio,还有很多工具能够画好流程图,这些工具在不同情况下有着不同的作用,也都有自己的局限性。在这里给大家推荐几个我经常用的:
1、纸和笔
没有比灵光一闪再珍贵的创意,没有比挥洒自如更好用的工具;所以纸和笔是思考产品结构、框架、流程最好的伙伴。刚入道时,我也十分迷信美观、工整、专业的流程图,但实际上,使用软件的效率还没有纸笔的十分之一。毕竟在流程构思的最初阶段,我们需要的是“如何设计”,而非“如何展现”。最初阶段,好的创意和设计是需要大胆涂抹和随心修改的,所以纸和笔是这个阶段最好的工具。缺点是保真度不高,难以表述复杂流程细节;
2、Axure RP
Axure 是在 Web 产品经理中使用率最高的软件之一,主要作用是帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图、操作流程图、以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与开发。Axure 的流程图模块非常简单,但却十分高效。结合产品原型DEMO展示时,有着非常好的效果。不足之处就是对中文的支持不够良好,并且流程框之间的连线没有 Visio 智能。但毕竟 Axure 并非是专门为流程图而设计,这里推荐一整套Axure原创教程,第六篇详细介绍了流程图模块,我曾经就是看着这套教程学习的,感谢作者 hawking。同时,UCDChina有一个专题,介绍和分析 Axure 相关,是很好的参考资料;
3、Photoshop
Photoshop 是专业的图像处理软件,拿来画流程图自然是小菜一碟。她能够处理十分复杂的流程图,而不受流程图设计软件规则的约束;当然,Photoshop 还能设计出非常美观甚至华丽的流程图。但问题的关键在于,流程图的价值在于为了简单清晰地表示一个流程。虽然Visio的流程图很丑陋,但不可否认,它足够简单。实际上,在画流程图上浪费过多的时间是没有必要的。当然,如果你的 Photoshop 功底还不错,或者说非常习惯并依赖 Photoshop,那么在处理复杂流程时还是可以用的,特别是将流程模块整合进画笔后,PS是十分强大的。但我总觉得有一点大炮打蚊子的感觉,所以处理流程时我只用过一次;
4、其它工具
PPT、Word、Dreamweave、CorelDraw…这些东西,其实都可以拿来用,但毕竟不那么专业。当然,主要还是习惯问题。一个专业的需求设计者或者UI基本是不会用这些工具来处理流程图的;
最后,我想说说 OmniGraffle。在看到 Felix Ding 的这篇被转贴无数的“画Web流程图的一点心得”之前,我甚至还不知道这个苹果主机上的软件,了解后才发现,这不就是我梦寐以求的流程图设计工具么?!Felix Ding 给 OmniGraffle 的评价是:最好的原型和流程图绘制工具。可惜我用的还是PC机,如果MAC兼容性在好一点,说不定我也去买个苹果小白了……怨念啊……
用 Visio 画 web 流程图虽然是无奈之选,但毕竟大家都在用,并且也没有什么更合适的软件了。虽然没用过 office Visio 2007,但我更更期待有个能与 Visio 媲美的,与 OmniGraffle 一样强大的PC机流程图软件出现,最好不用担心版权问题,有这样的软件么?
分享到:
相关推荐
ASP.NET Web应用程序开发是微软公司推出的用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了丰富的功能和工具,使开发者能够高效地创建高性能、安全性和可伸缩性的Web解决方案。 在开发...
标题 "WEB开发工具书" 暗示了我们即将探讨的是关于Web开发的相关知识,而描述中的"博文链接"提供了一个具体的资源,虽然没有详细内容,但我们可以从中推测我们将聚焦于Web开发的一个重要方面——JavaScript。...
《Java Web应用开发与实践范例》是一本深入探讨Java Web技术的专业书籍,旨在帮助开发者理解和掌握在实际项目中如何运用这些技术。由于"描述"中提到"里面没有五六章代码",我们可以推断该书可能在第五章和第六章涉及...
在本“Web应用小案例”中,我们探讨的是一个基于J2EE技术栈构建的Web应用程序,它具备基本的CRUD(创建、读取、更新、删除)操作以及文件上传和展示的功能。J2EE(Java 2 Platform, Enterprise Edition)是Java平台...
为了构建出具有实际使用价值的Node.js Web应用,开发过程中会用到各种组件、工具和模块库。如文中提到的Socket.IO、数据库连接模块、以及可能的前端组件和框架等。这些工具和模块库不仅仅是代码的复用,更重要的是...
本章内容 理解Web服务器的作用 理解浏览器的工作原理 了解HTTP协议 会使用浏览器的开发者工具查看HTTP请求和HTTP响应 了解web应用的部署结构,会在tomcat上部署静态页面 会启动tomcat,知道如何访问部署在tomcat中的...
【webtest-tools】是一个专为WEB应用设计的强大测试工具,尤其适用于Windows操作系统。它支持系统测试和单元测试,能够有效地模拟人类对WEB界面的操作,帮助开发者和测试人员检测和调试网页应用程序的功能、性能和...
Visual Studio提供了丰富的工具和功能,使得编码、调试和测试Web应用变得更加高效和直观。 接下来,描述提到“一些ASP.net下开发的WEB应用程序源码”,这意味着我们处理的是使用ASP.NET框架编写的Web应用程序的源...
以下是一些关于WEB项目中常用图标的知识点: 1. 图标类型: - **矢量图标**:基于数学路径定义,具有无限放大不失真的特性,适用于不同分辨率和屏幕尺寸的设备。 - **SVG(Scalable Vector Graphics)图标**:一...
在Java Web应用的基础上进行Web挖掘,可以利用如Apache Nutch、Solr、Elasticsearch等开源工具进行网页抓取和索引,再借助Hadoop或Spark进行大数据处理。同时,可能还会用到如Python的BeautifulSoup或Scrapy库进行...
免费 Web 应用程序开发工具 HBuilderX 中文版免费 Web 应用程序开发工具 HBuilderX 中文版 HBuilder X 功能特色: 轻巧、极速 10M的绿色发行包。 C++架构,启动速度、大文档打开速度、 编码提示,都极速响应。 强大...
这些框架协同工作,构建出高效、模块化的Web应用程序。下面将详细阐述这三大框架及其在Web开发中的作用,以及它们所需的核心jar包。 1. **Spring框架**:Spring是一个全面的企业级应用开发框架,提供了依赖注入(DI...
在Java Web开发中,Ajax(Asynchronous JavaScript and XML)是一种常用的技术,用于实现页面的无刷新更新,提高用户体验。...理解和掌握这一技术,对提升Web应用的性能和用户满意度有着重要的意义。
标题中的“一个提供常用工具如urlencodedecodemarkdown等的Web应用”表明这是一个在线工具集合,主要功能包括URL编码和解码以及Markdown处理。这个Web应用是为那些需要快速进行这些操作的用户设计的,比如开发者在...
EJB通常与Web应用程序结合使用,提供业务逻辑处理,而Web应用程序则负责用户交互。本话题主要探讨在将EJB工程部署到JBoss应用服务器,以及Web工程部署到Tomcat应用服务器时,可能需要用到的包及其重要性。 首先,...
标题提到的"C# Web常用工具类、asp.net常用类"指的是开发者们在构建Web应用程序时经常会用到的一些实用类库。这些类库通常包含了处理HTTP请求、响应、数据绑定、用户会话、状态管理等多种功能,极大地提高了开发效率...
2. **数据库系统**:在Java Web应用中,常见的数据库管理系统如MySQL,它是一个开源、轻量级的关系型数据库,适合中小规模应用。连接MySQL通常使用JDBC(Java Database Connectivity),它是Java平台的标准接口,...
在基于OSGi和Spring开发Web应用的过程中,首先需要指定Target Platform到所有需要用到的bundle包目录中,这是为了确保开发环境能够识别并正确加载所有必要的组件。接下来,创建一个服务接口bundle,定义接口类及其...
1. **C#编程语言**:C#是微软推出的一种面向对象的编程语言,它具有高效、类型安全和现代编程特性,适用于构建各种类型的应用程序,包括Web应用。在即时聊天工具中,C#用于编写服务器端的逻辑代码,处理用户的请求和...