Despite being an essential step in software development, writing requirements specifications is frequently performed in natural language, leading to issues like inconsistency, incompleteness, or ambiguity. The ITLingo initiative has introduced a requirements specification language named RSL to enhance the rigor and consistency of technical documentation. On the other hand, natural language processing (NLP) is a field that has been supporting the automatic analysis of requirements by helping to detect issues that may be difficult to see during a manual review. Once the requirements specifications are validated, it is important to automate the generation of documents for these specifications to reduce manual work, reduce errors, and to produce documentation in multiple formats that are more easily reusable or recognized by the different stakeholders. This paper reviews existing research and tools in the fields of requirements validation and document automation. We propose to extend RSL with validation of specifications based on customized checks, and on linguistic rules dynamically defined in the RSL itself. In addition, we also propose the automatic generation of documents from these specifications to JSON, TXT, or other file formats using template files. We use a fictitious business information system to support the explanation and to demonstrate how these validation checks can assist in writing better requirements specifications and then generate documents in multiple formats based on them. Finally, we evaluate the usability of the proposed validation and document automation approach through a user session.
翻译:尽管需求规约编写是软件开发中的关键步骤,但通常采用自然语言进行,导致不一致性、不完整性或歧义等问题。ITLingo倡议提出一种名为RSL的需求规约语言,旨在提升技术文档的严谨性与一致性。另一方面,自然语言处理(NLP)领域通过自动分析需求,辅助检测人工审查中难以发现的问题。当需求规约通过验证后,自动生成相应文档以降低人工工作量、减少错误,并生成多格式文档(便于各利益相关方复用或识别)至关重要。本文综述了需求验证与文档自动化领域的现有研究与工具,提出在RSL中扩展基于自定义检查及RSL自身动态定义语言规则的规约验证功能。此外,我们提出利用模板文件从这些规约自动生成JSON、TXT或其他格式文档。通过虚构业务信息系统案例,阐释并展示这些验证检查如何辅助编写更优质的需求规约,并基于其生成多格式文档。最后,通过用户会话评估所提验证与文档自动化方法的可用性。