范文一:产品的非功能性需求
6.产品的非功能性需求
6.1软硬件环境需求
硬件:
我们是用小组成员电脑做成的,做该系统最多用了100M的空间,包括资料的存储、系统资料的存储以及系统的存储等。
我们主要都是用VF软件编写代码,其余的也要用word、photoshop、excel
做一些文字、图表和表格的制作。
该系统采用现代流行WINDOWS操作界面。是标准的WIN32应用程序,可运行在WIN95\WIN98\WinMe\WIN2000\WINXP\WINNT等系统平台上的多任务应用程序。
6.2产品质量需求
主要质量属性 详细要求
a.为保证安全,不致使系统遭到意外事故的损害,系统因该能安全性
防止火,盗或其他形式的人为破坏
b.系统要能重建
c.系统应该是可审查的
d.系统应能进行有效控制,抗干扰能力强
e.系统使用者的使用权限是可识别的
健壮性
可靠性
性能,效率 响应时间快,更新内容快
灵活性
易用性 界面人性化,操作应简易
可扩展性,可移植性
兼容性 兼容性应尽可能的强一些
6.3参考资料
《软件工程》 清华大学出版社 钱乐秋 编著
《数据库系统概论(第三版)》 高等教育出版社 萨师煊 王珊
《计算机网络(第二版)》 清华大学出版社 吴功宜 编著
范文二:非功能性需求
安博实训平台 4 非功能性需求
4.1 性能需求
?家电控制系统温度采集3秒一次精确到0.1摄氏度;
生理学家研究认为,,,?左右是人体感觉最佳的环境温度,也是最接近人皮肤的温度。
,,?——汗腺开始启动 在这种温度下工作,,,小时,人体“空调”——汗腺就开始启
动,通过微微出汗散发蓄积的体温。
,,?——散热机能立即反应 此时,浅静脉扩张,皮肤冒汗,心跳加快,
血液循环加
速。对个别年老体弱散热不良者,需要配合局部降温,或启动室内空调降低人体温度。
,,?——一级警报 在这个温度中,人体通过蒸发汗水散发热量进行“自
我冷却”,每
天要排出汗液和钠、维生素及其他矿物质,血容量也随之减少。此时,要及时补充含盐、维
生素及矿物质的饮料,以防体内电解质紊乱,同时还应启动其它降温措施。
,,?——二级警报 气温升至,,?,人体汗腺排汗已难以确保正常体温,
不仅肺部
急促“喘气”以呼出热量,就连心脏也要加快速度,输出比平时多,,,的血液至体表,参
与散热。这时,降温措施、心脏药物保健及治疗均不可有丝毫的松懈。
,,?——三级警报 汗腺疲于奔命地工作,此时容易出现心脏病猝发之危险。
,,?——四级警报 高温已令人头昏眼花,此时人必须立即到阴凉地方或
借助冰块等
1
安博实训平台
降温,有不适者需马上送医院治疗。
,,?——特别小心 人体排汗、呼吸、血液循环??一切能参与降温的器
官,在开足
马力后已接近强弩之末,此时对体弱多病的患者和老年人来说,是一个“休克温度”,一定
要特别小心。
由此可以知,稍微一点的温度改变都能影响到人们的生活。因此本系统对温度控制的精确度显得尤为重要。
我们将温度控制的误差限制在0.5摄氏度,即控制在“最佳室温?0.5”的范围,以达到人的最佳体验。
。并且具备24小时不间断监控的能?视频监控报警系统要求视频监控每秒19帧
力;接警时间很短,报警主机检测到报警信号后在0.5s内即可将异常信息发送给用户。
视频帧率(Frame rate)是用于测量显示帧数的量度。所谓的测量单位为每秒显示帧数
(Frames per Second,简:FPS)或“赫兹”(Hz)。此词多用于影视制作和电子游戏。
由于人类眼睛的特殊生理结构,如果所看画面之帧率高于16的时候,就会认为是连贯
的,此现象称之为视觉停留。这也就是为什么电影胶片是一格一格拍摄出来,然后快速
播放的。
而对游戏,一般来说,第一人称射击游戏比较注重FPS的高低,如果FPS<30的话,游>30的话,游>
戏会显得不连贯。所以有一句有趣的话:“FPS(指FPS游戏)重在FPS(指帧率)。
每秒的帧数(fps)或者说帧率表示图形处理器处理场时每秒钟能够更新的次数。高的帧
率可以得到更流畅、更逼真的动画。一般来说30fps就是可以接受的,但是将性
2
安博实训平台 能提升至
60fps则可以明显提升交互感和逼真感,但是一般来说超过75fps一般就不容易察觉到有明
显的流畅度提升了。如果帧率超过屏幕刷新率只会浪费图形处理的能力,因为监视器不能以
这么快的速度更新,这样超过刷新率的帧率就浪费掉了。
这里我们需要在保证视频连贯的情况下,尽可能的减少帧率,以减少视频帧
在网络上的传输。
由资料得知,我们需要保证视频帧率在16Hz以上。经我们的实验得知帧率
选择为19时,达到满足上面条件下的最佳效果
? 视频监控报警系统的主机安装要求
A、主机安装的位置要空旷,便其更能顺畅的接收各个探测器发来的报警信号。 B、与主机的连接线要正确连接。
C、主机不要安装在高频电器的旁边;以免受到电磁波的干扰。 D、主机的安装应该要距离地面0.5米以上,避免地面屏蔽的干扰。 据了解,小偷入室偷盗一般是从窗户,阳台等地方进入室内,所以要选配红外探测器:根据客户的要求应对客户所要防范的地方来选配不同的红外探测器,比如客户要防范一个房间,应选用红外广角探测器,其探测角度为水平110?垂直90?,如果客户要防范一个窗户或者是一个平面则应选用红外幕帘探测器,其探测角度为:垂直90?左右幕帘厚度大约20 cm.监控具备24小时不间断监控的能力;接警时间很短,报警主机检测到报警信号后在0.5s内即可将异常信息发送给用户。
? 用户更改系统设置要求系统的操作界面可以选择不同发语言版本,已达到最
适合用户的设置,从而提升家居安全性、便利性、舒适性、艺术性,并实现
环保节能的居住环境。实现“以人为本”的全新家居生活体验。 ?远程控制必须通过网络才能进行。使用TCP协议保证远程控制是稳定、连接成功率高;
?温度信息跟视频信息家居报表信息用数据库保存在主机。以便用户不管何时何地查看原始记录。
4.2 安全性需求
(1)权限控制
根据不同用户角色,设置相应权限,用户的重要操作都做相应的日志记录以备查看,没有权限的用户禁止使用系统。很多人一旦在家中引入各类智能产品,会不会将自己的家庭隐私暴露在陌生人的面前。另外,也有人很担心,大人不在的时
3
安博实训平台 候,孩子在家随便操作,破坏原有设置,甚至是随便开启煤气阀门之类的,造成严重后果。对智能家居操作加入权限控制模式,可以对孩子保姆等实现部分授权,甚至日后对于送快递、抄表的人员实现临时授权,既方便,又保障了家居生活的安全。
(2)重要数据加密
智能家居的出现给用户带来便利,但智能家居的隐私问题也让专家和用户担忧,将新的家电设备与互联网连接在一起,生成一组关于我们生活的数据,数据会被储存到某家公司的服务器上,黑客可能也会利用这些数据入侵,看起来智能化了,实则带来了更大的麻烦。而针对性的安全防护正是加密软件所能提供的。加密是指通过特殊的加密技术,把原始数据加密成为不可识别的乱码,只有输入正确密钥或授权的情况下才可以正常访问,使用,否则非授权人员是无法接触到原始数据的,即使这些敏感数据被黑客窃取也是无法利用的,因为他们根本无法解密。因此,加密软件提供的是敏感数据信息的本源防护,能针对智能家居使用中可能出现的数据安全问题给予接近数据层本身的最直接有效的防护。 (3)数据备份
允许用户进行数据的备份和恢复,以弥补数据的破坏和丢失。 (4)记录日志
本系统应该能够记录系统运行时所发生的所有错误,包括本机错误和网络错误。这些错误记录便于查找错误的原因。日志同时记录用户的关键性操作信息。 (5) 产品的控制系统和主机的连接是通过特殊的协议进行通信的,协议不公开,主机和控制系统的连接需要密码。
4.3 可用性需求
?智能温度控制:系统能实时采集室内的温度,并能以图形方式展示给用户,用户可以根 据需要自行控制室内温度,也可以根据用户设置把温度控制在一个范围之内。
?实时视频监控:系统能根据用户需要实时传回视频信息。
?智能照明控制:用户可以根据需要控制家庭的任意灯光。 (1)软启功能:灯光的渐亮渐暗功能,能让眼睛免受灯光骤亮骤暗的刺激,同时还可以延长灯具的使用寿命。
(2)调光功能:灯光的调亮调暗功能,能让您和家人分享温馨与浪漫的同时,还能达到节能和环保的功能。
4
安博实训平台 (3)亮度记忆:灯光亮度记忆的功能,使灯光更富人情味,让的灯光充满变幻魔力。
(4)全开全关:轻松实现灯和电器的一键全关和所有灯的一键紧急全开功能、人性化的控制。触摸集中控制,使用更方便;夜晚,如有突发事件,只要按一下全开紧急按键,所有灯就全部同时亮起;睡觉前,只要按一下全关按键,所有灯就全部关掉.
?智能门窗控制:用户可以根据需要控制门窗的开关,无需再为每天开关窗帘而心烦,结 合定时控制器,电动窗帘每天自动定时开关,如每到晚上就自动关上,天亮时自动打开;电动窗帘的角度可以通过遥控器、触摸屏控制,遥控器轻松一按,窗帘自在掌控中。
?智能家电控制:通过用智能电器插痤、定时控制器、语音电话远程控制器等智能产品的 随意组合,无需对现有普通家用电器进行改造,就能轻松实现对家用电器的定时控制、无线遥控、集中控制、电话远程控制、场景控制、电脑控制等多种智能控制。
?智能安防控制:室内防盗、防劫、防火、防燃气泄漏以及紧急救助等功能,全面集成 语音电话远程控制、定时控制、场景控制、无线转发等智能灯光和家电控制功能
?家居系统报表:要求数据准确及时,并且及时报告给用户。据了解,居民用户无实际用电量、周期末剩余电量历史记录;电卡表无月末电量冻结功能;在用户特殊购电、特殊用电的情况下,电价计算系统处理存在缺陷。智能家居系统报表能够从根本上解决此问题
4.4 用户文档
同本软件一起发行的用户文档包括:
(1)需求分析说明书:Word格式文件。
(2)介绍手册:PPT格式文件。
4.5 其它需求
(1)高性价比。
在系统设计中要充分考虑系统的性能和价格的要求,使系统在较低成本的条件下,尽可能满足用户需求。
(2)通用性。
目前所有的智能家居技术都处于发展阶段,所以系统设计时,要注意选择兼容性好,符合国际通用协议的技术。
5
安博实训平台 (3)兼容性和可扩展性。
随着智能家居技术的不断发展,会有越来越多的家居智能化产品和技术的诞生,因此,在智能家居系统的设计之初,就必须考虑系统未来的兼容和发展。 (4)简单安装.
智能家居系统可以实现简单地进行安装,而不必破坏隔墙,不必购买新的电气设备,系统完全可与你家中现有的电气设备,如灯具、电话和家电等进行连接。
(5)标准性
智能家居系统方案的设计应依照国家和地区的有关标准进行,确保系统的扩充性和扩展性,在系统传输上采用标准的TCP/IP协议网络技术,保证不同产商 之间系统可以兼容与互联。系统的前端设备是多功能的、开放的、可以扩展的设备。如系统主机、终端与模块采用标准化接口设计,为家居智能系统外部厂商提供集 成的平台,而且其功能可以扩展,当需要增加功能时,不必再开挖管网,简单可靠、方便节约。设计选用的系统和产品能够使本系统与未来不断发展的第三方受控设 备进行互通互连。
(6)布线简洁。易于安装,符合大多数人的习惯。
布线安装是否简单直接关系到成本,可扩展性,可维护性的问题,一定要选择布线简单的系统,施工时可与小区宽带一起布线,简单、容易;设备方面容易学习掌握、操作和维护简便。
(7)系统安装方便,易于维护。
家庭智能化有一个显着的特点,就是安装、调试与维护的工作量非常大,需要大量的人力物力投入,成为制约行业发展的瓶颈。针对这个问题,系统在设计时, 就应考虑安装与维护的方便性,比如系统可以通过Internet远程调试与维护。通过网络,不仅使住户能够实现家庭智能化系统的控制功能,还允许工程人员 在远程检查系统的工作状况,对系统出现的故障进行诊断。这样,系统设置与版本更新可以在异地进行,从而大大方便了系统的应用与维护,提高了响应速度,降低了维护成本.
6
范文三:非功能性需求
设计要求
先进实用性:采用先进的思想、成熟的技术与设计方法,符合当前潮流与未来发展趋势,以便跟上信息技术的发展,具有较强的生命力,具有长期使用价值。XXXX建设的核心目的就是“沟通”,同时须坚持实用的设计原则,紧紧围绕学校的实际需求。在能够满足XXXX建设要求的前提下,以尽可能以少的投入,取得尽可能大的效益。
稳定性、可靠性:使用成熟的热备份技术和集群技术,以确保不间断运行、确保局部出错不影响整体、确保快速响应整体、确保快速响应。
易升级、维护性:数字图书馆采用独创的版本控制机制与更新包技术,能够简便快捷地完成平台整体或部分的版本升级。坚持易维护的设计原则,确保结构清晰、界面友好、操作简单、维护方便。
数字图书馆具有以下五大主要特点:(1)、信息资源数字化: 数字图书馆利用现代信息技术和网络通讯技术,将分散在不同地域的各类传统介质的文献信息进行压缩处理并转化为数字信息。
(2)、信息传递网络化: 数字图书馆将依托由高速宽带网构筑的因特网,以高速度、大容量、高保真的计算机和网络系统,将世界各国的图书馆和无数台计算机联为一体。信息传递的网络化带来了信息服务的跨时空、信息利用的开放化,以及信息传递的标准化与规范化。
(3)、信息利用共享化: 以互联网为依托的数字图书馆既能通过网络交换各自的数字化馆藏信息和电子出版物,也能使分散在各地的用户方便地利用大量的分散在不同储存单位的信息资源。不仅体现出跨地区、跨行业的资源无限的特征,还体现出跨地区、跨国界的资源共建的协作化和与资源共享的便捷性,充分体现了数字图书馆资源的共享性 。
(4)、信息提供知识化: 数字图书馆不仅提供原始文献,还将提供更深层次的信息服务,通过对信息的分析和重组,形成符合用户需求的知识,或帮助用户找到解决方案,并对提供的知识产品的质量进行评价。
(5)、信息实体虚拟化: 网络环境下以各种文献为载体的知识信息,都可以方便地转化为数字形式,并在全球范围传输。任何一位拥有个人电脑的用户,都可以十分方便的享用在数字图书馆庞大的资源体系中分布式地存在于世界上任何一个图书馆的资源。数字图书馆创造了一个奇特的信息空间,用户对馆藏的利用将不在受地理位置的限制。
数字图书馆主要优点
网络管理轻松便捷:
传统的C/S架构系统中,管理员对系统的管理操作是非常麻烦的,必须要求管理员坐到服务器前,通过专门的软件,才能完成系统维护。如果管理员一时不在服务器附近,无法操
作服务器计算机,则无法进行系统维护。 电子图书馆系统采用真正桌面虚拟化架构, 这就解脱了这种维护上的麻烦。管理员不必固守服务器前,他只需要维护主机,仅通过桌面整理即可完成整套系统的管理工作。电子图书馆系统实际上是三套产品的集合体,其一是电子图书的管理和浏览系统;其二则是纸质图书的预借和借阅系统;其三则是纸质图书的在线预售系统。 由于系统采用桌面虚拟化架构,客户端的所有的操作都可以通过浏览 器完成,无需安装其它的应用程序。这样管理员再也不用随身附带必要的工具软件,在主机上即可完成所有的操作。
阅读内容多种多样:
电子图书馆不仅是一套数字图书的管理系统,还是一套多媒体信息发布系统,支持绝大多数多媒体文件格式:包括文本格式、各种图像文件、PDF文件、Word文件、MPEG文件等。同时还提供多种格式的对应软件下载。将电子图书馆和校园机房结合起来就可以轻易搭建起校园网络多媒体阅览室。
工作学习环境宽松和谐:
当用户查询到自己需要的图书时,但又没有足够时间去阅读,这时可以将该书加入自己的收藏夹,在空闲时就可以直接转到自己收藏夹中去继续阅读,免去反复的查询的烦恼,大大方便了读者阅读。
图书管理简易方便
图书馆管理员可以将图书馆中的图书按照自己的方法任意的分类,并将分类添加到系统中。本系统具有独家的全文检索的功能,图书信息查询灵活、方便。本系统中的特定的资料查询功能,可以让您在最短的时间内找最需要的资料。
系统安全性;
系统安全是整个系统可靠运行和进行安全防范的基石,系统安全设计需要在统一设计的原则下,在不同的安全层次,在预防、检测和恢复等各个阶段,确保系统持续稳定运行,防止信息的损坏、泄露或被非法修改,并保证系统安全。 系统安全体系结构分为五层:网络安全、操作系统级安全、用户级安全、功能模块级安全、数据库级安全。
网络安全;
内部建立局域网(简称内网),内网具有自身的独立性,与外网采用防火墙隔离。充分考虑用户接入的安全验证,保证系统的安全。同时还要求对用户的恶意攻击具有一定的防范措施(包括对病毒的防范)。 在信息安全方面,防止非法修改、越权使用等情况的发生,保证信息的安全,必须采取有效的技术措施。这些措施主要从以下几个方面解决信息的安全问题,即:用户身份鉴别、用户权限控制、信息的传输安全、信息的存储安全。
操作系统级安全:
操作系统级安全保证是整个安全中的第一层保护。它保证只有合法的、授权的用户才能上网,才能登
录到服务器。它是利用网络操作系统本身的安全机制来实现的。
用户级安全
用户级安全保证是第二层保护。它保证每个授权用户只能操作其权限所允许的功能模块或业务。用户在使用时,系统将从用户安全性列表中读取该用户的Rights标识符(RID)、用户级别(ULV)。系统根据RID及ULV决定用户所拥有的功能和对象的可操作性。用户安全性列表是根据用户的身份、所从事的业务来决定其拥有的权力属性;用户所拥有的权限属性不同,进入系统后用户所面对的功能树就不同,他所能操作的功能模块也就不同,从而实现根据用户权限自动裁剪功能树的目的。
模块及级安全
模块级安全保证是第三层保护。它保证授权用户在进入某一功能模块后,只能做其用户级别所允许的操作。用户安全性列表中的用户级别(ULV)是用户拥有的某一具体权力属性的使用级别。使用级别由低到高,用户对该模块的操作权力也就由小变大,随着级别的变化,用户所面对的操作界面也会自动裁剪变化。譬如说,该用户对本职业务功能是高级使用者,但对相关业务功能则可能只是普通使用者,对这些模块的修改与删除功能就会对他屏蔽,相应控件会不可见。
数据库级安全
数据库级安全是系统安全体系设计中最核心的一道屏障。数据库级安全遭到破坏的情况主要有三种:第一,数据向未授权用户泄露,或被未授权用户改动;第二,一些合法用户在获得信息时得到权限以外的信息;第三,由于一些具有合法权限用户的误操作,破坏了数据库中的数据。本系统用户密码使用md5不可以逆加密,保证用户密码安全。通过数据库安全机制的管理,可以防止以上情况的发生,从而加强数据库的安全。
范文四:非功能性需求
非功能性需求
一、简介
非功能需求是产品必须具备的品质或者它将事情做到了多好,它们可以让产品有吸引力、易于使用、快速、可靠或者安全。比如可以利用非功能性需求来指定响应时间,或计算时达到的精确度、产品必须具有的某种特定外观、能被无法阅读的人士使用、遵守使用这类业务的法律。
这些属性的存在并不是因为它们是产品的基本活动,而是因为客户希望这些功能性活动以某种方式执行,并达到特定的品质。
非功能需求通常并不改变产品的功能。一般来说,不管增加多少的质量属性,功能性需求都会保持不变。也有更复杂的情况存在,有时候非功能需求的实现会为产品增加功能(举例:功能的存在是为了让产品具有期望的特征)。功能性需求是让产品工作的需求,非功能需求是为工作赋予特征的需求。所以说,功能性需求和非功能性需求是相辅相成密不可分的。
非功能性需求经常被忽略,因为它们不易被发现,发现后不易表达、实现以及测试。
其实我们很多时候都将非功能需求不自觉的融入到了功能需求中
Ipod播放器的成功在于它的易用性(基本没人仔细学习过它的使用说明书)、性能(硬盘空间很大、电池寿命长、连续播放时间长)、外观(很好看,很酷,能抓住青年人的心里),在市场上同类产品很多并且功能基本类似的情况下,ipod的成功,在于它很好的把握了非功能性需求。
非功能性需求的分类有很多种,参见国标,它是可以裁减的,不是一成不变的。
二、非功能需求的感性认识
我们日常工作时,是通过场景对用例进行理解,从而进一步分解成步骤和相关的业务规则,针对这些步骤和规则,可以确定功能性需求。非功能性需求就不太符合这种方式,因为某些非功能性需求可以直接与一想功能性需求联系起来,某些适用于整个用例,某些则覆盖整个产品,因此我们在获取非功能需求时不要局限在功能的框架下,要适时改变思路。
下面举个例子,让大家对什么是非功能需求有一个感性上的认识:
目标:我们要设计一个家庭用的水龙头
非功能需求:
A、 水龙头应该外观漂亮,看起来简单不复杂(感观)
B、 水龙头应该能够让手湿的人使用(易用性)
C、 转两圈就应该能达到最大的出水量(操作性)
D、当水温上升到70摄氏度的时候,水龙头能继续使用不烫手(操作性) E、 能够让有经验的操作者在4分钟内完成例行的安装和维护(可维护性) F、 水龙头没有尖锐的突出点,对幼儿没有伤害(安全性)
G、开关的转动方向应该符合当地居民的习惯(文化和政策性)
H、 水龙头符合国家标准(法律法规性)
三、非功能需求要做哪些事情
1、观感需求(界面需求):主要描述了对产品外观的期望、情绪和风格。这些需求规定了外观想要达到的目标,它和详细的界面设计还是有区别的,体现的是客户的感觉。作为web服务的一种的网银服务,应该相当重视观感需求,比如网站应该看起来很专业很有权威性、显的很高贵、很精美等。界面需求还包括对控件进行规范和对控件的使用范围进行一个规定
等方面的内容。可以考虑借用一个原型来描述。
2、易用性需求:易用性会使产品提高符合用户习惯的能力以及其对使用的期望。它会对用户使用产品的生产效率、错误率以及用户对新产品的接收程度产生很大的影响。可以描述成“90,的最终用户在第一次使用网银系统时,能在45秒内成功的完成转账交易”等 3、执行需求:执行需求是指产品可以在给定的时间或者特定的精确度来执行某些任务,或者在一段时间内的极端状态值。在考虑执行需求时,可以从完成任务的速度、结果的精确度、容量、允许值的范围、单位时间内完成的任务数、资源的使用效率、两次故障间的平均屋故障时间、连续不停机时间等方面入手。它还应该包括对风险的控制内容。 4、操作和环境需求:主要描述产品使用的环境。分为软件环境和硬件环境方面内容。还应包括使用产品时必须要提供的合作软件的内容。
5、可维护性需求:在这项上,我的理解和理论上有一些偏差,有待讨论,呵呵。 6、安全性需求:安全性指产品消除潜在风险的能力和对风险的承受能力。包含保密性、可靠性和完整性三个子特性。保密性指的是数据不能被授权用户以外的任何人访问的能力。可靠性指的是授权用户可以不受阻止的访问数据、与其它软件的兼容的能力和产品的强壮度。完整性指的是安预期目标完成任务的能力。
7、文化和政策需求:这是一类特殊的需求,由于人的习惯、宗教、语言、禁忌或偏见,可能会导致产品不被接收。
8、法律需求:
四、非功能需求的验收
非功能需求的验收和测试是个比较头疼的事情,因为很多项目看上去是无法量化的。但是需求工程里明确说明“不能测量的需求就不是一项真的需求”、“需求都是能测试的”,所以应该尽量为这些非功能需求加上数字标准,从而对其进行量化。
例如:
非功能需求:产品具有很高的用户友好度
验收标准:在引入该产品的3个月内,60,的用户应该可以在45秒内用它来完成转账的任务,失败率控制在万分之一以内。
界面需求验收标准:60,的用户在第一次看见该产品的5秒内,就会意识到这是民生银行的网银。
执行需求验收标准:在95,的情况下,一般时段响应时间不超过1.5秒,高峰时段不超过4秒
注:提出非功能需求,不要提出解决方案,提需求不是做设计。
范文五:非功能性需求
【非功能性需求】 非功能性需求不一定解决“想要系统实现这种功能”,而是解决“如何使这个系统能在实际环境中运行”。
可靠性
只显示系统可以做某些事情是不够的。如果一个系统不能可靠地运行(例如,在加载时,或者
在系统故障时,等等),则它就不能满足客户的需要
安全性:假设攻击者就在外面。如何知道系统用户就是他们所声称的,并只让他们
访问经过授权的功能?如何保护我的系统不受攻击?考虑到网络攻击、机器攻击,
甚至从您自己的系统内部发起的攻击。
事务性:如何设计系统来保存工作单元的 ACID 属性?如果在设计中涉及多个独立的子系统(Web 服务和 SOA 就是这种情况),则这一点就显得特别重要。不要
假设始终可以进行两阶段提交 (two phase commit)。 可用性
如果用户不能够从他们可用的渠道(例如 Web)方便地访问您的产品,那么它
的好处何在呢?这有时是作为功能性的一部分一起考虑(或者应该在理想的环境下)
的,但是常常被忽视,以致于整个项目处于危险之中。这里需要考虑的一些问题是:
您是否为用户带来不适当的负担(例如,需要特殊的浏览器版本)? 系统是否根据模型-视图-控制器 (Model-View-Controller) 体系结构设计以使多用户界面成为可能?如果是这样,如何将它们绑定在一起? 是否界面本来就有状态而功能无状态(反之亦然)? 有效性
如果没有有效地使用资源(例如处理器、内存和磁盘空间),功能性、可靠性
和可用性再好的系统最后都会失败。我们经常发现将有效性划分成两个子范围是很
有用的,这两个子范围都应该加以考虑:
性能:这个系统的运行情况有多好?它只是平稳缓慢地运行吗?系统可以达到
其响应时间目标吗?应用程序的设计是否符合性能要求?您利用缓存了吗?
可伸缩性:如果系统在小范围内运行看起来相当快,那么当扩展至每秒、每分
钟或者每小时几千或成千上万个活动的时候呢?它的设计是否达到吞吐量目标?可
以复制系统来实现线性扩展吗?是否存在瓶颈(例如公共数据库)?
可维护性
这是一个极其重要的需求,因为如果开发人员、管理员和操作人员不能够解决
如何管理应用程序的问题,则它在首次发布之前就会夭折。假设您是一位管理员, 您承担了解决此问题的任务,那么您如何配置它?如何监视它?如果您一件事情需要
执行很多次(例如,安装许多应用程序),那么会怎么做呢?您是否有一个可复 制的部署流程呢?您是否可以使重复的任务自动化,使之在大范围内可行呢? 可移植性
虽然列在最后,但它并非最不重要。例如,如何采用标准来提供某种形式的平
台中立性呢?是否计划将应用程序迁移到您的最新和最高版本的应用服务器上呢? 如果不打算这样做,则当供应商撤消对该版本的支持时您要怎么做呢?如果您的项
目基于开放源代码,则也有类似的问题。如果每当某人有个更好的捕鼠器 (mousetrap) 您就必须重写整个应用程序,则没有人会问津。
所谓非功能性需求,是指软件产品为满足用户业务需求而必须具有且除功能需求以
外的特性。
软件产品的非功能性需求包括系统的性能、可靠性、可维护性、可扩充性和
对技术和对业务的适应性等。下面对其中的某些指标加以说明。在这里可以看到非
功能性 需求涉及的范围很广,软件产品本身不是孤立存在的,还涉及到诸多外在环
境的影响。非功能性需求必须考虑软件既要可用,又要易用。对于非功能性需求描
述的困 难在于很难像功能性需求那样,可以通过结构化和量化的词语来描述清楚,
在描述这类需求时候我们经常采用软件性能要好,查询要在多少时间内出结果,软
件健壮 性要好等较模糊的描述词语。这类描述词语都是脱离了软件的执行环境,人
和相关的场景的描述,因此信息很难体现到软件架构设计和具体的实现中。我们在
架构设 计中关注的安全,系统开发框架,并发和性能,异常日志等不是凭空产生出
来的,而是来源于我们对非功能性需求的分析。
一个软件系统必须完整,因此不仅仅包括了可执行的程序,还包括了在线帮
助,数据和用户管理,日志异常查询,自动升级等相关功能特征。这些需求不仅仅
是为了满足用户的需要,也是为了我们后续维护和监控系统的需要。
系统的可靠性,可维护性和适应性是密不可分的。当系统出现故障和用户出
现错误的操作后是否支持恢复,当用户在使用过程中遇到错误的时候是否可以立即
定位问 题,但业务场景和逻辑发生变化的时候系统是否支持,当网络不稳定或使用
中异常中断的情况下系统是否都有相应的容错措施,这些都是需要在非功能性需求
中考虑 到的问题。
易用性也是我们在开发非功能性需求中必须要考虑到的问题,易用性同时还
涉及到美工和UI界面,人机工程,交互式设计,心理学,用户行为模式等多方面的
知 识。易用性的三原则就是易见,易学和易用或者叫为发现,易懂,效率。易见就
是各种功能操作不要藏得太深,用户很容易找到他们期望进行的各种操作;易学需
要 软件系统通过在线帮助,导航,向导等各种方式保证软件是可自学习的;易用的
重点则在软件在熟练使用后应该可以更快的进行各项操作。这三者相互间也存在冲 突,需要平衡,而平衡的一个重点就是真正的做到以用户为中心进行设计,需要去
细分场景和用户。
对于非功能性需求的描述,在描述过程中必须要强调到人,业务场景,环境
等各方面的内容。强调的目的就是要说明非功能性需求不是无限度的,任何一项非
功能性 需求的实现往往会付出更大的研发人力成本和硬件网络成本。比如我们在描
述一个表单的模糊查询功能的时候,如果简单的描述为所有查询都要在多少秒内完
成,那 么这种需求将很难得到满足,以下是一些可选的描述方式。 1.估计用户数为1万人,每天登录用户数为3000左右,网络的带宽为100M带宽。 2.在非高峰时间根据编号和名称特定条件进行搜索,可以在3秒内得到搜索结果。 3.当通过互联网接入系统的时候,期望在编号和名称搜索时最长查询时 间<>
开发框架和模式,数据库,软硬件环境配置已经复杂功能的具 体实现方式等。同时这些需求还可以更好的指导我们对通过性能测试等工具对这些非功能性需求进行验
证。
非功能性需求 对于“非功能性需求”在需求分析阶段常常被忽略或没有被足够重视。尤其对
于涉及到“数量”的地方常常时不加约束和笼统的给出甚至随意性的,这里给出一些可以采用的
方法或应注意的事项 事务定义:一个业务流程可能会启动几个更小业务事务的实例,一个业务
“流程”将由一个“应用程序”来实施,但它也可能由多个应用程序来实施。对于很多“数量”性的需求,都是需要确定业务量和大小信息,例如: a、预计在一般时间和在高峰期将各有多
少用户使用各个业务流程或应用程序? B、什么时候是高峰期(根据情况确定每天、每
周、每月等的高峰期)? C、在高峰期和一般时间将各需要以什么速度处理事
务? D、在每个数据组中数据元素和实例的数量以及它们的大小。 如果没有这些约束,很多“非功能性需求”将变得没有意义或不可实现。就像没有严格定义的约束都可以变成聪明和
懒惰的程序员的挡箭牌一样。 考虑如下“非功能性需求”: 性能需求: 1、响应时间:对各类/夜间)是否可以接受不同的标准?(请 ...