在谈论这个问题之前,很有必要介绍一下非功能特性这个名词,英文名Non-Functional Property,在软件工程中有两个核心的关注目标,一个是软件所实现的功能达到它的设计规范和满足用户需求的程度,也叫做功能性需求(Functional Requirements),另一个便是我们所说的非功能特性啦,指的是系统能够完成所期望的工作的性能与质量。常见的非功能性特性有以下这些:
效率:软件实现其功能所需要的计算机资源的大小,“时间-空间”;
可用性:用户使用软件的容易程度,用户容易使用和学习;
可维护性:软件适应“变化”的能力,系统很容易被修改从而适应新的需求 或采用新的算法、数据结构的能力;
可移植性:软件不经修改或稍加修改就可以运行于不同软硬件环境(CPU、 OS和编译器)的能力;
清晰性:易读、易理解,可以提高团队开发效率,降低维护代价;
安全性:在对合法用户提供服务的同时,阻止未授权用户的使用;
兼容性:不同产品相互交换信息的能力;
经济性:开发成本、开发时间和对市场的适应能力。
商业质量:上市时间、成本/受益、目标市场、与老系统的集成、生命周期、长短等。
&

本文探讨了非功能特性在软件工程中的重要性,包括效率、可用性、可维护性等方面,并以教室管理系统为例,阐述了如何在正确性、清晰性之间做出设计决策。同时,文章强调了非功能特性的“折中”原则,如何在不同需求间找到平衡,以提升软件性能和用户体验。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



