软件非功能需求的实现涉及软件质量这一重要问题,非功能需求的满足程度,直接影响软件质量的满足程度.针对一直以来对软件质量的一贯重视以及软件非功能需求权衡的重要性,借鉴微观经济学领域的生产理论、替代弹性原理和线性规划方法,提出了软件非功能需求权衡代价分析方法并开发了辅助工具.首先,对项目组前期完成的可信软件非功能需求可满足性分析方法进行改进,提出了利益相关者通过协商获取非功能需求评估数据的方法,建立了非功能需求本体概念并构建本体知识库;针对实现非功能需求的策略,使用前期已完成的策略推理方法,对推理产生矛盾的策略提出权衡代价分析方法;通过分析策略实施代价,为软件开发及演化提供具有实际可操作的权衡决策依据,从更加符合产业化需要的角度解决软件非功能需求权衡问题;最后,基于可信第三方认证中心软件案例的维护及演化需要,对推理出矛盾的策略进行权衡代价分析,并给予决策建议,说明所提出方法的可行性.
The non-functional requirements are the determinants of the software quality. The satisfaction of the non-functional requirements impacts the software quality. Considering the importance of the software quality and non-functional requirements trade-off, based on production theory, elasticity of substitution and linear programming, an approach to analyzing trade-off costs for non-functional requirements is proposed and a support tool is developed. Firstly, our previous work about satisfiability analysis on non-functional requirements is improved. A new coordination method for obtaining non-functional requirements from stakeholders is presented. Then, ontology for non-functional requirements and corresponding knowledge base are constructed. The previous reasoning for the strategies is provided for decision-making of software development and evolution. Because of the ability of addressing the conflict relationships of the non-functional requirements, our method is better for the software industry. Finally, through applying the non-functional requirements trade-off costs for maintenance and evolution of the trustworthy third-party certificate authority software case, feasibility of the proposed approach is described.