摘要:
需求工程是软件开发生命周期的第一阶段,也是最重要、最关键的角色之一。需求文件主要包含功能需求(FR)和非功能需求(NFR)。NFR规定了系统的质量属性,包括安全性、可靠性、性能、可维护性、可扩展性和可用性。NFR定义了软件产品必须具备的属性,以满足其用户的业务需求,并表示对软件系统的质量和属性的额外限制。开发系统时,开发人员必须根据用户需求文档优先考虑NFR。对这些需求进行分类需要专业技能、经验和领域知识。对于开发人员来说,这个过程是一项困难且耗时的任务。从需求文档中实现NFR的自动化或半自动化分类是值得的。该程序减少了从大量需求中识别特定NFR相关的手动工作、时间和脑力劳动。本文简要介绍了NFR及其分类,并总结了之前有关NFR分类的相关工作。以前对NFR分类的研究大多使用机器学习算法来构建自动分类。这个过程需要大量数据来处理学习阶段,也就是说,很难应用于用英语以外的语言(如阿拉伯语)编写的非功能性用户需求。