7.3.2 非功能性需求包含的特征
非功能性需求是产品所必备的属性,每项产品都有一些特征把自己与其他产品区别开来,这些特征绝大多数并不体现在核心功能上。例如,你骑某个品牌的共享单车,可能并不是因为它能骑,而是因为它的体验或者外观等比其他单车更好,而诸如体验、外观或是易用等都是非功能性特征的体现。那么,我们的系统到底需要什么样的非功能性需求呢?我们在检阅了大量的需求规格说明书后,抽取了一份比较完整的,具有典型代表意义的系统非功能性特征清单。接下来,我们将详细讨论每一类非功能性需求。
1.观感需求——产品的外观精神实质
案例&知识:
火车站是一个人口聚集较为多的地方,每天的客流量非常的大,尤其是在春运时期。对于刚来某个陌生城市的人来说,如果有一份这个城市详细的电子地图,那就好多了。“我希望我在电子地图上看到的各个建筑都要呈现出不同的颜色,这样可以方便旅客观察。比
所以,在火车站电子地图显示的设计中,曾经有一段这样的描述,火车站的相关领导说:如植物都是绿色的等等……”,话还没有说完就被需求分析员打断了,需求分析员果断地说就是不同的建筑用不同的颜色,同时那位领导也非常同意这位分析人员的回答,所以就开始谈论其他的问题了。但是当电子地图设计出来,拿到领导的面前的时候,领导却说这个不是他想要的,从界面的外观上就否定了这次的设计。
观感需求描述了对产品外观期望的精神实质。请注意,观感需求不是一份界面的详细设计。尽管可能提供一些想法的草图,但意图并不是进行设计,而是希望产品具备的(感到)外观特点。
2.性能需求——功能的实现必须多快、多可靠,能处理多少量、多精确
当产品需要在给定的时间或以特定的精确度来执行某些任务时,就需要性能需求。对速度的需求应该是真实的。常常希望事情很快做完,但并没有真正的理由。如果任务是得到一份每月报告,那么可能不需要很快。另一方面,产品的成功与否又可能取决于速度。
因此,在考虑性能需求时,可以从完成任务的速度、结果的精确度、操作的安全性、产品的容量、允许值的范围、吞吐量、资源利用率、可靠性、可用性和可扩展性等方面考虑。
3.可操作性需求——产品的操作环境,以及对该操作环境必须考虑的问题
可操作性需求描述产品被使用的环境。可操作性需求可以包括:
(1)操作环境;
(2)用户的情况——他们是否是在黑暗中、是否很匆忙、是否随时处理业务等情况;
(3)是否与其他系统对接;
(4)是否需要经常移动等。
4.可维护性和可移植性需求——期望的改变,以及完成改变允许的时间
通常在需求阶段我们不知道产品在它的生命周期里所需的准确工作量,而且也不会总是知道它所需的维护类型。然而,产品在构建时总可以在一定程度上预见维护的类型。考虑是否预计会存在以下一些变化:(https://www.daowen.com)
(1)组织结构调整;
(2)部署环境的变更;
(3)适用于产品的法律修订产生的影响;
(4)业务规则的改变。
5.安全性需求——产品的安全保密性
安全性是最难的一种需求类型,并且如果它不正确的话,可能潜在地给产品带来最大的风险。当要编写安全性需求时,请考虑安全性的本质,因为它适用于软件和类似的产品。安全性主要包括以下三个方面:
(1)保密性:产品存储的数据受到保护、防止未授权的访问和泄露;
(2)完整性:产品的数据与它的来源和权威数据保持一致;
(3)可得性:产品的数据和功能对授权的用户是可访问的,并能及时提供。
6.文化和政策需求——由产品的开发者和使用者所带来的特别需求
案例&知识:
游客第一次去意大利,体验意大利的咖啡馆是个不错的想法,但是当他们走进有着浓厚意大利氛围的咖啡馆,对着吧台里的小伙子说要一杯卡布奇诺和点心的时候,换来的是小伙子用意大利语加上手势对你进行解释和比划,最后他耸耸肩指向了收银台。哦!你这才恍然大悟,在意大利的咖啡馆消费的流程是先到收银处付款,然后再拿着收银条到吧台取你下单的东西。
文化和政策的需求是一些特别的需求,由于人的习惯、偏好成见,可能会导致产品不被接受。这些需求源自人类行为的方方面面。当试图把一个产品卖到另一个国家,特别是文化和语言与我们不同的国家,就带来对文化需求的不同要求。
文化需求很难,因为它们常常会在意料之外,有时初看上去它们很没道理,如果第一反应是“它们到底为什么会是这样的”,那么可能已经发现了一项文化需求。另一个技巧是,可以针对每项请求反思“这项请求里是否有些东西仅仅是因为文化而存在的?”发现找出文化需求的最佳方法是寻求来自本地人的帮助。
文化和政策可以从产品的规定范围、项目禁止的范围、政治或政策、宗教习俗及特殊的拼写等方面考虑。
7.法律需求——哪些法律和标准适用于该产品
诉讼的费用对商业软件来说是一项主要的风险,对其他类型软件来说也可能很昂贵,所以必须注意那些适用于产品的法律,为产品写下符合这些法律的需求。即使写的产品将在组织内部使用,也要注意到有一些活用于工作场所的法律可能会有关系。