DevSuite系统中的文档管理工具叫做KnowledgeWise,在以“知识为核心” 的理念中属于核心地位,因为软件开发过程中其实每个阶段都需要接触文档的,从需求文档到设计文档到开发文档到测试文档再到发布文档维护文档,文档自始至终一直是需要的,而且同一个文档在整个过程可能是不断发生更改的,所以通过KnowledgeWise跟踪到每个更改对于开发过程来说或是及其重要的。
在KnowledgeWise中,文档通过条目(Item)的方式来记录的,也就是一个文档对应一个条目,每个条目首先会有标题,描述,负责人,附件等字段组成,这些字段是自定义,可以根据你的需要而添加,这是所谓的基本属性。然后条目还有一些高级属性,比如权限控制,流程控制,版本控制,历史跟踪记录等等,下面我就结合我们公司的实际流程来介绍一下这个系统。
1、首先对于那些制度类的,合同类的文档,还有培训类的文档,我就不详细介绍了,因为这些文档不需要所有人都需要看到的,甚至有些需要保密的,更加不能让很多人看到了。通过KnowledgeWise可以保存到只有相关人员才能看到的地方。KnowledgeWise可以为每个人针对每个文件,每个文件夹设置不同的权限,比如只读,可以编辑,可删除,可创建,当然还有不可见。所以你想设置如何复杂的权限组合都是没问题的。(权限管理)
下面的两个图中,可以看到,我们可以为文件夹与文件设置不同的权限,而且是可以为不同的人设置不同的权限的,也就意味着,就是两个人都是经理,我也可以让一个文件只让其中一个人看到。
2、然后就是一些设计文档、开发文档或者是FAQ之类的,这些文档在实际过程中总是会经过很多流程最终产生一个成品,拿设计文档来说吧,一个设计文档从最初有意向,到最后成型,可能分为以下几个部分:草稿—>初级审核—>继续修改—>再次审核—>最后修改—>最后审核—>同意,这么几个过程,而且每个过程中,负责处理的人也不一定是一样的,草稿可能是有普通设计人员处理的,初级审核应该是设计组长处理,最后审核可能是设计主管处理,所以我们就需要设置严格的工作流程和相应的权限,流程刚才已经说过了,权限的话,意思是说,比如这个文档在“初级审核”阶段,必须设计组长才有权限去把这个文档改变到继续修改状态,其他人没有这个权限,甚至其他根本就没法看到这个状态下的那个文档,这样就确保是设计组长审核过才去继续修改的,杜绝了有些人想尽快通过这个文档而直接跳过流程改状态了(当然,在KnowledgeWise中经过自定义设置是可以跳过流程改状态的,当然正常情况下,这个必须是有一定权限的人才能做的,比如主管,经理等)(流程管理)
下面两个图是一个典型的文档的流程的,第一个图是在系统中自定义设置一个流程,第二个图是系统客户端的实际使用情况,可以看到,一个文档从新建到最终成型在正常情况必须通过每个状态的负责人的处理后,走完这个流程,这样子基本上能够保证一个文档的质量。在系统中,每个能进入的系统的人,只要一进系统就可以看到自己需要处理的不同状态的文档任务,包括写文档、修改文档和审核文档。
3、软件公司的做设计的人应该知道,对于一个设计文档而言,会不断地经过修改,即使是最后定稿了以后,可能一个新的改动过来,又得改,但是经常地我们也碰到了一种问题,就是我改完了,但是发现改错了,想看看原来是怎么样了,或者客户不满意想改回一个礼拜之前那个设计,总之就是我想还能看到这个文档每次改动时内容,然后进行一些回滚操作,或者有时候需要对两个不同版本的内容进行比较,看看到底做了哪些改动,改动前是什么,改动后是什么。(变更管理,版本管理)
在KnowledgeWise中,对一个文档条目,每一次操作都能用快照方式记录一个版本,所谓快照方式,就是类似一个拍照功能,把该版本文档的相关内容拍下来,以后只能看,不能改。当然,你可以设置不让每次修改都保存版本,只修改一些关键地方的地方才去保存一个版本,不然版本太多,以后比照起来也挺累人的。
对于保存下来的版本,主要有三个用处,
第一个当然是去看唠,可以看看在过去某个时段,这个文档是啥内容;
第二个内容就是回滚作用,就是说如果一旦我这个文档修改了一下,觉得不对,想恢复到修改前的样子,就可以回滚一下,当然你是可以回滚到任何已经保存下来的版本里的,那么那个版本里的内容将会覆盖当前内容,所以一般情况下如果想回滚的话,你可以先手动做个版本保存,这个在KnowledgeWise中是允许的,而且即使做了回滚,所有的已经保存的版本还是不会受影响的。
第三个作用就是两个版本间的相互对比,有时候我们作了修改后,想对比一下两个版本之间到底有什么不一致,究竟改了多少地方,一旦我们用了对比功能以后,就可以把这个文档的所有字段在不同版本间进行一一对比,有修改的地方会被自动标记,例如这个版本比那个版本就是删除了一段话,这样子的话,对比的时候,被删除的这段话就会自动加上颜色,并且会加上一个删除的线,一目了然。(关于对比这个功能,有些版本控制管理软件其实做得更好,类似Subversion,所以KnowledgeWise也提供了跟Subversion集成的效果,有任何文件作为附件放到一个文档里去的时候,可以同时被自动提交到Subversion中,这样子,就可以对附件也进行对比了)
下面的图就是版本保存的地方。
4、类似FAQ这些文档,其实最终我们做完后是给我们的客户用的,也就是给他们看的,作为帮助文档的方式,所以放在系统中的话,就不太适合他们去看,可看性不好,所以KnowledgeWise提供了一种Wiki功能,可以将指定的文档用Wiki方式给用户看,下面就是一个典型的FAQ在线帮助的截图。
5、另外的话,KnowledgeWise还支持直接由Word或者PDF文档中直接把内容导入到系统中作为一个条目,甚至可以把Word/PDF中分段的内容导成几个相关联的条目,当然也支持导出功能和报表功能了。
6、KnowledgeWise的文档管理支持服务器-浏览器形式的访问,所以只要你能访问你们公司的网页,你就能访问到你想要的文档,局域网与广域网访问起来没有任何区别。
总的来说,KnowledgeWise是一个非常棒的文档管理系统,完全满足了我们公司的要求,甚至超出了不少期待,因为它能跟我们买的其他TechExcel产品做无缝的集成,也就是说一个文档我可以在不同产品中都能看到,如果有更新我也能一下子看到,对于我们公司的软件开发过程是相当有帮助的。