MBT文档模型化、工程化生成工具用户手册 30倍效率文档撰写工程化方法 A model based document builder

MBT文档模型化生成工具用户手册

30倍效率文档撰写工程化方法

A model based document builder

  1. 简介

在软件工程领域,工程文档通常主要包括实施方案、需求分析、软件设计、测试报告、验收大纲、用户手册等几种。这些文档中,通常要求内容丰富,能够体现整个软件工程大部分信息;易于理解,需要制作各种表格,绘制各种图形,包括UML图。可见,文档撰写的工作量巨大,需要有工具支撑,以提高工作效率。

“文档模型化生成工具”的研制目的是为了简化工程文档,减少文档撰写的工作量,所针对的实际现象是:

(1)产品研发人员之间文档样式、模板不统一,格式过于复杂,编辑、合并、分块工作会耗费大量时间。

(2)同一项目中,文档之间联系紧密,其中往往包括一些重复信息。

(3)章节之间,隐含了组成、从属关系信息。

(4)表格制作、图形绘制工作工作量大。

(5)段落、插图、表格、目录、编号、页码、样式等文档要素要进行正确美观的格式调整和控制,会占据用户大量时间。

(6)文档内容多、格式复杂时,编辑、保存都需要一定的等待时间。

(7)Word文件版本管理、内容比较、内容合并、内容恢复比较困难。

MBT文档模型化生成工具从Latex、Markdown、reStructedText等脚本生成文档技术中得到启发。升级、简化MarkDown,设计脚本,面向特定的应用目标,在使用上需要遵循一定的领域语言(方言)语法逻辑,就可以有针对性地加以自动化处理,以提高文档撰写工作效率。

(1)文档模型化,对文档要素建模,统一管理和处理过程。模型表格化,尽可能使得用户可用Excel录入。

(2)统一和简化文档样式,文档模型化生成工具鼓励简化文档样式。一篇文档通常只使用几种简洁的样式,包括:标题(1-6级)、目录、正文文字段落、插图(png、jpg、bmp、visio、UML图、Dot图等)、表格、编号列表项、无编号列表项、嵌入word文档块、嵌入其它文档、代码、公式。

(3)单位内部使用统一模板。设置模板服务器,当模板调整后,更新到服务器,工具自动从服务器下载最新的模板,生成符合要求格式、样式的文档。

(4)文档内容可复用,例如产品分级功能、产品基本情况、运行环境(测试环境、试用环境)、研制进度、人员安排、技术风险、技术先进性等内容,都可以作为文档块单独撰写,后续可以在各文档中包含使用。

(5)自动从标记的章节之间,生成组成、从属关系的UML插图、表格和相应的编号。

(6)通过脚本生成表格、图形、公式等文档要素,自动编号、指定引用标签。

(7)由于使用了基于模板的脚本生成文档技术,用户不再需要花费时间在对段落、插图、表格、目录、编号、页码、样式等文档要素要进行正确美观的控制。

(8)使用MBT脚本撰写文档,文档内容就是文本,可以使用内置DocEditor图形界面编辑器,也可使用用户常用的文本编辑器,如Editplus、UltraEdit、Sublime、VScode、Vim等软件。在文档内容很多的情况下,编辑效率更高,软件响应无延迟。

(9)文本文件版本管理、内容比较、内容合并、内容恢复容易。

(10)复杂的格式外部导入,如确实需要使用表格套表格、九宫格插图等复杂格式,可使用Word撰写好,通过指令插入。

(11)MBT可以作为中间文档格式。Word文件和PowerPoint文件可转换为MBT文件,通过MBT文件再转成其它格式。另外,一些系统需要生成文档,生成MBT文档比生成Word文档要简单得多。

  1. 文档工程化

MBT工具是实现复杂大型文档撰写工程化管理的核心环节。文档模型化(脚本化)使文档变成了类似软件代码的文本文件,因此可以借鉴软件工程理念、应用成熟的软件工程工具链,实现文档撰写工程化,极大提高文档工作的效率。具体的环节和对应的工具主要有以下几种。

需求管理,采集提炼用户需求,形成需求条目文档,指导文档撰写。

文档设计,确定使用的文档模板和文档内容框架结构,划分文档内容模块,将文档块,分配到不同的项目组成员,分工协作开展工作。

版本管理,用SVN或GIT版本管理工具,管理文档各版本,包括不同人员在不同时间、不同地点撰写的文档版本。

版本比较和合并,使用BeyondCompare、UltraCompare或WinMerge等工具之一,比较不同版本文档之间的差异,合并消除差异。

同行评审(Review),使用Review board、Gerrit、CodeStriker、Code Review Tool等工具之一,由项目组或各级负责人员实施文档检查和评审。

缺陷跟踪(Bug trace),使用JIRA、BugZilla、Bugtracker等工具之一,对发现的问题进行跟踪,直到问题解决。

自动构建,将一个组织内部的全部文档每天自动构建为目标文档,并收集分析构建过程中发现的问题。

采用GitLab 服务系统,用于文档仓库管理,使用Git作为文档代码管理工具,可一站式实现上述软件工程工具功能。文档在最后完成交付时,需要统一润色。

  1. 软件使用流程

(1)编写文档文本,保存为文档磁盘文件。

(2)输入文档磁盘文件到文档生成工具,工具通过解释器解释为文档结构,调用文档生成、UML绘制、Dot绘图、文档模板等模块或资源,生成目标文档(Docx、HTML、chm帮助文件、Qt帮助文件、pptx、pdf、xps)。其中,Docx格式是最终输出的文档,HTML格式用于快速察看文档效果,chm用于HtmlHelp联机帮助,Qt帮助文件用Qt软件联机帮助、PowerPoint用于演示汇报,pdf是Adobe提出的通用电子文档格式、xps是Microsoft提出的通用电子文档格式。

(3)用Word软件打开Docx文档(用PowerPoint打开pptx文档),对整个文档进行润色和校对。

建议在专门的一个目录中存放某个软件工程的相关文档。并使用版本管理工具对这些文件进行管理。纯文本格式的文档代码,利于版本管理和文本比较工具的使用。版本管理工具可使用svn或git,文本比较工具可使用Beyond Compare。

  1. 软件系统组成

文档生成工具由DocEditor图形编辑界面和控制台处理程序两部分组成。

一般情况下,用户只需要使用DocEditor编辑器即可。高级用户可使用控制台处理程序,实现一些自动化的文档处理调用。

    1. 图形编辑界面

文档生成工具提供了易用的图形编辑界面。

图 1 图形用户界面

左边是章节树,点击章节节点,可以在编辑器中选中相应的章节,右键菜单中,可查找章节,拷贝、粘贴、删除章节。

支持常用文档脚本的插入。支持常用文档脚本的插入。

支持在Windows资源管理器中,选中图像文件、Word文件、txt文件,拖放到窗口中。也可以将剪切板中的文本、图像直接粘贴到文档中。

图 2 插入常见文档要素

用户可选择一个其它编辑工具,如Editplus 4、UltraEdit、Visual Studio 2013、Visual Code、Sublime等,使用命令行指令生成,或者用文档生成工具编辑器打开再生成,获得输出结果文档。

图 3 生成菜单

文档生成工具提供了文档校对功能,能够检查文档中的中文文字错误。

图 4 高级工具

    1. 控制台处理程序

生成文档指令格式如下:

PrjDoc.exe xx.txt [xx.docx |xx.htm|xx.chm|xx.pptx|xx.pdf] switches

Switches文档类型开关: 实施方案 需求规格说明 概要设计 详细设计 测试大纲 测试报告 用户手册 帮助 通用文档等。如果没有指定文档类型,会从输入文件名称中推测文档类型。文档类型会添加到标题中,如果是通用文档时,文档标题不会添加“文档类型”字样。

1.◇ 可行性分析报告:     说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述 为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案 的理由。   2.◇ 项目开发计划:     为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开 发的进度、开发经费的预算、所需的硬件及软件资源等。   3.◇ 软件需求说明书(软件规格说明书,系统测试需要的标准文档):    对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是 在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实 施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护 系统数据文件做好准备。   4.◇ 概要设计说明书:     该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序 的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等, 为详细设计提供基础。   5.◇ 详细设计说明书:      着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。   6.◇ 用户操作手册:      本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件 得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法 的具体细节。   7.◇ 测试计划:     为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括 测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。   8.◇ 测试分析报告:      测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分 析,并提出测试的结论意见。   9.◇ 开发进度月报:      该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括 进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月 的打算等。   10.◇ 项目开发总结报告:      软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况, 如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价, 总结出经验和教训。   11.◇ 软件维护手册:     主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护 过程的说明,便于软件的维护。   12.◇ 软件问题报告:      指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为 软件修改提供准备文档。   13.◇ 软件修改报告:      软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在 的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值