一、非功能性需求都包括哪些方面?
1�0�2�0�2�0�2 非功能性需求:用户对软件质量属性、运行环境、资源约束、外部接口等方面的要求或期望,包括:(1) 性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求(2) 可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。(3) 易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。(4) 安全性需求:用户在身份认证、授权控制、私密性等方面的要求。(4) 运行环境约束:用户对软件系统运行环境的要求。(5) 外部接口:用户对待开发软件系统与其他软件系统或硬件设备之间的接口的要求。
二、什么是功能性需求和非功能性需求
(1) 在一般使用中,需求按照功能性(行为的)和非功能性(其它所有的行为)来分类。
功能性需求是说有具体的完成内容的需求。
例如:比如客户登录、邮箱网站的收发收发邮件、论坛网站的发帖留言等。
非功能性需求是指软件产品为满足用户业务需求而必须具有且除功能需求以外的特性,包括系统的性能、可靠性、可维护性、可扩充性和对技术和对业务的适应性等。
例如:性能要求:要求系统能满足100个人同时使用,页面反应时间不能超过6秒;
可靠性: 系统能7×24小时连续运行,年非计划宕机时间不能高于8小时。要求能快速的部署,特别是在系统出现故障时,能够快速的切换到备用机。
(2) 在统一过程(UP)中,需求按照“FURPS+”模型进行分类。
功能性(Functional):特性、功能、安全性;
可用性(Usability):人性化因素、帮助、文档;
可靠性(Reliability):故障频率、可恢复性、可预测性;
性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率;
可支持性(Supportability):适应性、可维护性、国际化、可配置性。
“FURPS+”中的“+”是指一些辅助性的和次要的因素,比如:
实现(Implementation):资源限制、语言和工具、硬件等;
接口(Interface);强加于外部系统接口之上的约束;
操作(Operation):对其操作设置的系统管理;
包装(Packaging)例如物理的包装盒;
授权(Legal):许可证或其他方式。
使用“FURPS+”分类方案(或其他分类方案)作为需求范围的检查列表是有效的,可以避免遗漏系统某些重要方面。
其中某些需求可以统称为质量属性(quality attribute)、质量需求(quality requirement)或系统的“某属性”。这些需求包括:可用性、可靠性、性能和可支持性
三、非功能性需求
“我是谁?我从哪里来?要到哪里去?”,被西方人称为哲学上的三个终极之问,根据这个套路,我门来分析下软件研发过程中的非功能性需求。
它是软件质量的一个重要衡量指标,用于在度量系统在实现完系统性功能以后,交付及运行过程中的系统技术面要求的达成度,比如典型的三“高”要求;
它也是项目管理过程中甲方对乙方系统研发过程中提出的“设计约束”,诸如:开发平台、技术流派、关键实现等等方面的要求;
目前业界关于软件的非功能需求,一般就包括:质量属性要求和约束性要求;
非功能性需求作为功能性需求的补充,如其定义的那样主要保障了系统功能的正常并且稳定运行,它具有普适性,来源于传统行业的工作模式沉淀和提升。
非功能性指标去往何方?一般系统架构人员需要特别关注,他将对系统架构阶段进行分析设计并落地到具体的方面指标。
1、响应时间:指功能完成的时间,和客观环境、数据量级、主观感受等都有关系,比如包括:平均响应时间参考值(秒)、峰值响应时间参考值(秒)。
2、吞吐量:给定时间内系统可处理的事务/请求的数量等,比如QPS、TPS;
3、并发用户数:用来衡量系统的同步协调能力,我们更关注多个用户同时操作同一功能或数据时,对系统性能的影响,有以下指标:总用户数、峰值在线用户数、峰值[并发用户数 、平均在线用户数、平均并发用户数。
4、数据存储增量:每年的数据存储容量(G)及未来几年该数量的预期(增长)值。指标包括累计存储容量(G)、年增长(G)
1、工作时间
满足业务的工作时间,一周到周五还是7×24小时;
2、灾备恢复时间
当系统故障,相关系统基础设施(中间件、数据存储、网络设施等)的恢复时间,核心指标:RTO,RPO;
RTO用于衡量业务从停顿到恢复的所需时间,RPO用于衡量业务恢复所允许丢失的数据量。
1、弹性
负载均衡支持弹性扩容或缩容机器,业务流量切换顺滑,无影响;
2、兼容性
对于不同终端类型、版本的系统兼容性;
1、可运维
日志查询、系统参数修改、配置文件运行时更新、服务器监控告警、通知发送、运行时数据统计分析等;
2、运维易用性
运维不单提供系统人员,对业务人员友好性也需要考虑,包括UI、交互流程等于功能性要求有重合;
1、系统安全规范
架构面引入相关安全基础设施,加密机、CA中心、U盾等;
框架面定义安全技术规范、使用的技术框架,比如加密策略、加密算法,用户权限管理框架选型等;
功能设计面剥离安全性设计,进行单独设计,应对后续的安全漏洞,如AOP或者设计新的安全组件包等;
2、补丁自动升级
对于独立的安全设计,支持运行时的安全策略、算法、开关的升级,支持降级服务等;
1、百度百科
2、灾备系统的衡量指标有哪些?不止RPO、RPO
四、非功能性需求包括哪4种类型
(1) 性能需求:用户在软件响应速度、结果精度、运行时资源消耗量等方面的要求。
(2) 可靠性需求:用户在软件失效的频率、严重程度、易恢复性,以及故障可预测性等方面的要求。
(3) 易用性需求:用户在界面的易用性、美观性,以及对面向用户的文档和培训资料等方面的要求。
(4) 安全性需求:用户在身份认证、授权控制、私密性等方面的要求。
扩展资料
非功能性需求是随着软件系统的规模成长和复杂性增加这两个因素才逐渐成为软件工程师们的新着眼点和关注点的,早期的时候,甲方处于自身对软件技术的了解和自身对系统文件维护的方便性考虑等,对系统有了诸如:开发平台、技术流派、关键实现等等方面的要求,这被称之为“设计约束”。
从甲乙双方合同的角度,设计约束也是一种需求——一种“非功能”性的需求,后来,软件的质量问题越来越突出,描述软件质量目标的要求也成为非功能性需求的一部分。于是,目前业界关于软件的非功能需求,一般就包括:质量属性要求和约束性要求。