用于组织和维护项目文档,规范的软件?[关闭]


15

我正在寻找用于组织和维护项目内部文档,规范,要求等的软件。当前,我们将所有文档以大量MS Word DOC文件的形式存储在源代码控制存储库中,这为我们提供了版本控制,这很好。但是您无法搜索此信息,无法在它们之间创建链接,进行分类,进行协作。

要求,偏好:

  • 客户端上零安装(基于Web)。
  • 文档版本控制。
  • 文档注释。
  • 文档链接。
  • 完整搜索(所有文档)。
  • MS Word(* .doc)导入\导出。
  • 所见即所得的文本编辑器。

到目前为止,我已经发现并尝试过的系统:


您拥有什么样的项目文档(文本,图形,UML图,时间表,文本规范,用户案例等)?有多少人必须维护它?它必须与您的源代码的特定版本/修订同步吗?
Doc Brown

@ DocBrown,95%的文本,3-5个人将编写它。我与软件产品版本不同步,但与源代码版本不同步。
Alex Burtsev 2011年

XWiki看起来像一个不错的解决方案,它是免费的,它与MS Office很好地集成在一起。
Alex Burtsev 2011年

1
这几乎是您使用什么程序编写技术文档的副本和很多答案都是相似的,但是对于使用Wiki编写此类文档,还有更好的论据。
Mark Booth

PHPKB这样的知识管理软件怎么样?它不是免费的,但似乎可以很好地满足您的目的。
Anirudh Srivastava 2012年

Answers:


6

Sphinx之类的东西怎么样?

您用reStructuredText(语法类似于Markdown,Stack Overflow使用的语法)将文档写到纯文本文件(=易于版本控制)中,然后Sphinx吐出HTML页面。

(我所知道的)两个最杰出的Sphinx用户是Python语言TortoiseHG(请参阅Sphinx生成的文档的链接)。


编辑:

我刚刚读到您在谈论的是项目内部文档,而不是最终用户文档。
我认为,像Sphinx之类的东西也是内部文档的最佳方法(前提是您可以让分析人员编写reStructuredText),因为:

  1. 您可以轻松地对文档进行版本控制(与.doc或.pdf等二进制文件相比,文本文件的差异要占用的空间要少得多)。
  2. 如果开发人员想要一个不错的.doc或.pdf文件,则可以使用Sphinx从源代码创建它。

如果Sphinx太复杂,甚至还有一种更简单的方法:您可以在Markdown中编写文档,然后使用Pandoc创建(例如).rtf,.doc或.pdf文件(它可以做更多的事情)。
我发现Pandoc比Sphinx更容易上手,但是Pandoc无法创建像Sphinx这样的漂亮菜单层次结构(就像我上面链接的Python和TortoiseHG文档中一样)。

无论使用哪种工具,如果您具有内部Web服务器和构建服务器,都可以对其进行设置,以使构建服务器生成HTML输出,并在每次有人向文档中推送内容时将其复制到Web服务器上。因此,您的分析师甚至不必考虑最终的输出,他们只需要提交并推动更改即可。


看起来它只是生成HTML,然后我必须将其发布在Web服务器上
Alex Burtsev 2011年

1
@AlexBurtsev:如果您希望将其公开,那么可以。另一方面,现在您正在使用Word .doc文件,因此,如果要公开它们,也必须将它们放在Web服务器上。
Christian Specht

我注意到Sphinx具有“输出到PDF”路径。
罗伯特·哈维

@ ChristianSpecht,Wiki和Wordpress具有用于导入Word Doc文件的插件。
Alex Burtsev 2011年

@AlexBurtsev:我不确定我是否理解您要使用的文档。如果要将其放在网络上,则无论使用Sphinx,Wordpress,.doc下载还是其他工具,都需要某种Web服务器。如果需要使用收缩包装软件分发文档,则可以使用Sphinx生成PDF或Windows帮助文件。
基督教的Specht

5

好了,您可以尝试实现Wiki。Mediawiki具有您正在谈论的所有缺少的功能(搜索功能,版本历史记录,链接,分类)。您必须确保确切知道该文档的哪个版本属于该软件的哪个版本,但是可以通过在每个与版本有关的文章中包括版本参考或特定类别的约定来做到这一点。

但是:您写的是不是开发人员的“分析师”(我承认,我不是该领域的粉丝)。当您用某种面向文本的工具(例如Wiki)替换其MS Office工具时,这些人通常不满意。而且由于MS-Word不是免费软件,所以我猜对“免费软件”的要求并不是必须的。在这种情况下,Sharepoint服务器可能是更好的选择。它不是免费的,但AFAIK具有您所要求的所有功能,并且仍然可以使用Word,Excel等创建文档。


1
我们已经有一个SharePoint服务器,但是开发人员不喜欢它,也不想使用它(我自己是开发人员)。我们需要可以轻松找到所需信息的东西。分类和链接的信息。
Alex Burtsev 2011年

@AlexBurtsev:我自己从未使用过Sharepoint服务器,但给人的印象是Sharepoint提供了您所描述的所有功能。但是,如果您更喜欢Wiki,那么Mediawiki将非常适合您。但是,您将进行一些初步的努力来安装它,定义一些结构轮廓并定义一些约定以使用/不使用它。
布朗

我目前正在尝试XWiki进行MS Office集成
Alex Burtsev 2011年

@DocBrown-SharePoint太可怕了。它是不直观的,是选项卡和子选项卡的完整迷宫,并且不维护任何适当的版本控制。使用它的任何人最好将其所有文档转储到内部服务器上的共享目录中。Wiki通常是解决这类问题的方法。
多项式

2

最好始终将规范和文档置于版本控制下,因为尽管学习曲线会有些陡峭,但它可以最大程度地发挥您的作用。对于知识引擎,我建议以下

  1. Trac-易于使用的错误跟踪系统和知识引擎。用Python编写且可扩展,几分钟后就可以启动并运行
  2. MoinMoin-完善的Wiki引擎。同样具有许多功能的Python

两者都有最小的界面,支持大多数Wiki结构,相当容易部署和维护,支持修订,具有良好的WYSIWYG编辑器,您甚至还可以保留您的文档和规范。除非您的项目确实非常庞大,否则您可以选择以上任何一种。


2

我们最近开始使用Alfresco DMS,它具有许多有趣的属性:

  • 安装非常简单
  • 具有内置索引器,可快速搜索文档堆
  • 允许客户进行工作流程,组以及必要时对文档的特定访问
  • 开源的
  • 活跃社区
  • LDAP / AD / SSO集成
  • 处理许多不同的文件

还有一些缺点:

  • 用户界面并不总是直观的
  • 它不是真正的Wiki,因此在一个文档上同时进行协作可能会有些脆弱

如果您决定摇摆不定,请与我联系并提出您的意见。


0

另一种可能性可能是使用乳胶或某些其他文本格式化器(可能的texinfo甚至糊涂人)的文档。它的一部分可以机器生成。有一些用于HTML转换的工具,例如HeVeA,可将LaTeX转换为HTML。您还可以使用doxygen从源代码内部的结构化注释中生成文档。并且文档的手写部分可以(并且应该)作为源代码进行管理(例如,wrt版本控制和构建)。


我不是在谈论软件产品文档(帮助,手册)。我说的是软件规范,业务需求。
Alex Burtsev 2011年

您可以在LaTeX中编写软件规范或任何技术文档,在某些情况下,这是常见的做法。
Basile Starynkevitch 2011年

2
LaText在某种程度上让我想起了* NIX,我们的分析人员从不放过这样的OS-),他们生活在Windows世界中,并且不会同意比Word更难输入文本的内容。
Alex Burtsev 2011年

-2

除了您的文档之外,我建议您使用UML和ERD工具。另外,您可以将这些文档存储在ZOHO-Docs的 ZOHO上,这不是免费的,但是它非常便宜,并且可以使用文档搜索功能。

无论最终使用什么工具,都需要仔细组织文档内容,以便能够使用文本搜索并获得有意义的结果。文档内容的组织以及巧妙和标准的文件命名可以极大地帮助您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.