找一篇关于软件文档需求分析的文章,应该是中英文的。亲爱的大虾们,请赶紧帮忙。谢谢你。。。。

程序文档和动态文档的集成

许多企业已经建立了许多庞大的计算机管理系统,并将不断推出新的系统。为了满足业务的需要,我们必须不断地维护和改造计算机系统,但同时,我们必须建立一套评估、控制和完成系统维护的机制。在软件维护过程中,提出了程序和文档集成的概念,在软件开发的同时建立动态文档。

提出了程序与文档一体化的概念

首先,软件的当前状态

程序和文档的形式是分离的,不仅以各自独立的形式存储,而且在不同的时间由不同的工具编写和检索。在维护程序时,不能方便地获得文档的帮助,也不能同步修改文档。

程序的内容与文档的内容是分开的。因为程序和文档的描述方式不同,所以既有计算机语言,也有自然语言。在维护过程中,文档或程序不能及时、一致地更新,使得文档无法准确描述程序,几乎成为废纸甚至带来负价值。

软件开发和维护的分离,大部分软件的设计和开发都没有考虑未来可能发生的变化,增加了软件维护的难度,也容易引入新的错误。

这些分离还表现在设计和开发的不同阶段的文档之间的不兼容。比如《需求分析规范》就是一纸东西,在大纲设计阶段不能很好的继承和利用。在设计和编写概要设计时,需要从零开始,重新分析和理解需求分析。这种思维脱节不仅耽误了开发进度,增加了设计人员的负担,而且由于理解的不同,导致不同阶段描述的对象有很多不兼容的地方。这些分离使得文档在系统设计、开发和维护中的作用下降,这也是很多软件人员不愿意写文档的主要原因。

其次,提出了程序与文档一体化的概念。

什么是好的文档系统?应具有以下属性:

1.软件描述准确,易于理解;

2.能够快速定位错误,分析影响,并纠正设计;

3.它可以提高软件维护的质量;

4.修改时便于理解程序。

因此,提出了程序与文档一体化的概念。这个概念让软件成为真正的软件:程序+文档,程序就是文档,文档集成在程序中。它要求在选择开发环境时,不仅要考虑环境对设计和开发的完善支持,还要考虑对维护和文档的支持;它要求软件人员在设计和开发过程中考虑维护问题和文档问题;它要求程序和文档存储在同一位置和系统中;它需要使用相同的工具来编写和检索程序和文档;它需要在形成文档的同时编写和维护程序,在编写文档的同时编写和维护程序。程序和文档集成的概念不仅存在于系统设计和开发阶段,也存在于系统维护阶段,贯穿于软件的生命周期。

动态文档系统(Dynamic document system)是一个基于程序与文档一体化概念的易于理解的在线文档系统,它与文档和程序是一致的。它包括组件和数据的描述,组件和数据之间关系的描述。动态文档系统通过提高文档的可用性、易用性和一致性,使文档更加有效,是解决维护问题的有效途径。

动态文档系统问题分析

要解决的问题有:软件文档的内容划分与获取,文档的存储与维护,文档的检索,软件文档的生成与打印。

1.软件文档的内容分为语义文档、结构文档和过程文档。

语义文档是对软件功能、概念、总体设计、过程、规范等的描述。用自然语言。它是软件人员根据规范使用CASE工具编写和填写的文档。它也是灵活添加的附加信息,用于更全面地解释文档。

结构文档是在软件设计工具和开发环境中对对象属性、组件间接口、组件间引用关系以及软件结构的描述。使用词法和语法分析程序对整个系统的对象和组件进行识别和分析,获得上述描述并形成表格文件。

过程文档是在软件设计、编码和维护过程中形成的过程描述和程序注释,如对设计目的、设计者、时间等的描述。,并利用开发环境记录软件人员在设计、开发、维护过程中的操作,形成操作跟踪。

第二,程序和文件的统一存储和维护

根据程序与文档集成的概念和从程序中提取文档的要求,文档必须存储在程序中,甚至存储在文档固有的源代码中。具有这种结构的程序源代码的存储必须采用一种新的技术——对象库技术,而不是流文件,这样程序和文档就可以结合和分离。程序和文档组合在一个对象仓库和统一的开发环境中;结合起来,修改代码的同时可以修改文档,修改文档的同时可以手动检查修改程序,手动输入的文档在多次生成文档后也不会丢失。程序和文档应该存储在对象仓库的不同表或字段中,并在编译时和运行时分开。

第三,文献检索

单个对象和组件文档的检索方法是,如果文档存储在对象仓库中,则可以与源代码一起检索和维护。这种检索为分析和维护单个组件和对象提供了文档支持。建立各种视图,编写程序为整个系统检索获取文档,完成整个系统的分析,为整个系统提供实时文档支持。这将在示例中更详细地描述。

第四,软件文档的生成和打印

编写程序检索获取整个系统的文档,按照国家软件标准的文档模式建立文档模板,根据模板生成文档,利用文字处理软件的强大功能创建、编辑、打印文档。

根据以上分析,文档的分发和获取对开发环境提出了要求:开发环境应该是设计工具和开发工具的集成,应该基于CASE技术、对象仓库技术、组件技术和OLE技术。基于案例技术的开发环境;在设计、开发和维护过程中形成的文档被嵌入到程序代码中,从而使文档成为程序的一部分。基于对象仓库技术的开发环境,文档和程序都存储在对象仓库中,便于检索。基于组件技术的开发环境便于识别和获取组件,分析和形成结构文档和过程文档。基于OLE等技术,文档可以很好的利用Word等文档处理软件。

动态文档系统的应用实例

广州电信科技发展有限公司设计开发的名为‘97系统’的庞大电信管理计算机系统,在1997投产验收后,将长期用于生产。维护工作非常重要和紧迫。这为动态文档系统提供了需求和测试场所。在长期的维护过程中,我认识到了好文档的重要性,提出了程序文档集成的概念,为动态文档系统提供了理论基础。1997系统使用Uniface开发环境。该开发环境采用了CASE技术、对象仓库技术和组件技术,为动态文档系统提供了技术支持。

一、广州电信动态文档系统的建立步骤

1.了解Uniface和Oracle工具的开发环境,规划语义文档在各级对象中存储的表和字段,根据工具的特点制定填写规则。

2.在Uniface和Oracle工具中查找存储结构文档和流程文档的表和字段。

3.在设计、开发和维护软件的过程中,根据规则填写这些表格或字段。

4.建立一套模板,将文档结构与信息源进行映射,包括:数据字典模板、设计文档模板、结构文档模板、开发流程文档模板等。

5.将这些模板组装成一个文档系统,并使其独立于开发目标系统。

广州电信动态文档系统可分为文档查询、维护记录查询和文档生成。

文档查询不仅包括对组件和数据的描述,还包括对组件和数据之间关系的描述。这是一个实时在线文档查询系统。维护记录查询是记录和跟踪软件维护过程中各个环节的进度,用于规范维护工作。包括问题报告、问题分析、错误定位、维修设计、维修执行、确认测试、维修回顾、维修提交、问题跟踪等。文档生成是根据需要实时生成软件设计规范。

二、程序与文档集成的概念和动态文档系统的意义

广州电信动态文档系统的基本任务是辅助错误定位、维护影响分析、记录维护进度和生成文档。用Uniface的开发环境开发,可以安装在用Uniface开发的不同应用系统中。该系统在维护1997年计费系统中发挥了重要作用。

它倡导程序与文档一体化的理念,提出文档即程序、程序即文档的思想,实现了程序中文档融合的思想,指导软件人员有效工作。集成的理念贯穿于设计、开发、维护的整个软件周期,保证了文档之间的继承性和一致性。在设计和开发的每个阶段,都是继承前一阶段的程序和文档的结果。这大大消除了程序与文档之间、文档与文档之间的不一致,加快了软件设计的进度,提高了软件开发和维护的质量。它是软件工程在具体应用中的一种尝试,从程序和文档集成的角度进一步规范了软件的设计、开发和维护。程序和文档集成的概念为软件开发环境的开发提供了一种思路。设计更好的对象仓库,满足开发者和维护者对程序文档集成概念的需求。

动态文献系统的局限与发展

广州电信的动态文档系统有很大的局限性,只能在Uniface或Oracle开发的系统中使用。目前,广州电信动态文档系统中组件的识别和获取主要依靠开发工具提供的组件及其特性。这种动态文档系统很难在一些3GL工具——没有使用对象仓库技术和组件技术开发的软件中实现程序和文档的集成和分离。大型软件系统环境复杂,往往采用多种开发环境。如何支持其他开发环境,需要技术探讨和实践探索。

另一个局限是,目前的动态文档系统描述的是程序文档,主要是在编码和维护过程中构建的,系统进入维护阶段。如何让动态文档系统既支持软件维护阶段,又支持软件设计开发阶段?一个可能的解决方案是将软件复用技术拓宽到包含文档复用,包括程序复用、程序文档复用和设计文档复用,并基于这个软件复用系统构建一个动态文档系统。