衣爱购物网站及其APP非功能需求设计说明书1.文档介绍1.1文档目的此文档的目的是定义衣爱购物网站及其APP项目开发过程的非功能需求方面的相关需要和特性。1.2读者对象开发及设计衣爱购物网站及其APP的团队。1.3文档范围衣爱购物网站及其APP的六大非功能性需求,包括安全性、可靠性、可用性、有效性、可维护性、可移植性。1.4参考文档企业级的B/S模式应用软件非功能性需求分析与研究厦门大学/硕士学位论文/黄浪2.产品的非功能性需求一.安全性需求分析安全性方案需要在系统、应用、操作等各个层次上考虑适当的安全策略。主机操作系统应该达到业务运行实际需要的安全级别,不存在安全漏洞。同时安全性必须符合国家和行业主管部门有关信息安全管理法规和标准的要求,符合企业信息安全相关的管理规章和技术标准的要求.数据存取的安全与保密需求分析数据存取安全涉及到数据的保密要求(密级)、数据的完整性要求,同时与数据的加密方式、数据存储的方式以及数据访问的控制等多个方面息息相关。因而数据存取的安全与保密要求,直接反映到对上述各方面的要求上。1数据完整性要求:数据的完整性是指在输入、传输和存储的过程中,不被非法授权修改和破坏,保证数据的一致性。这就要求除对用户身份要加以鉴别外,在建立通信时采用信息鉴别技术。通过数据源身份认证鉴别信息,确认信息的来源的可靠性和并通过加密信息解密成明文等方法来验证双方身份的合法性。通信报文传输的正确性与数据完整性均需采用适当的方法加与鉴别,同时在存储时应当采用适当的技术,如MAC码较验技术,确保数据不会被非法修改。2密钥的管理要求:密钥在数据传输与存储的过程中起到很大的作用,系统需使用多种密钥对数据的存储与传输进行加密、解密处理。对密钥的产生、存储、分配、输入方面的要求,参见GB/T17901.1.1999安全技术密钥管理的相关要求,参照其中的密钥层次要求;密钥的产生、颁发与管理安全认证要求;密钥的随机性要求;密钥的分配要求;密钥的注入要求;密钥的存储要求;密钥的销毁。3.数据库加密保护要求:数据库的加密需在操作系统和数据库管理系统的支持下对数据库数据进行加密字典管理程序与数据库加/脱密引擎管理。a.对关键字段加密功能要求:对关键数据或安全要求高的数据以记录的字段数据为单位进行N/脱密,并进行有效的密钥管理并完成“一次一密”的密码操作。b.密钥动态管理功能要求:要求根据数据库客体之间隐含的逻辑关系以及逻辑结构,对多个数据库物理客体,进行密钥的组织和存储工作,实施对密钥的动态管理。4.用户权限控制要求:用户的权限管理是数据安全的重要机制。系统应提供基于角色和组织机构的数据对象访问控制能力,通过多层操作权限设置和应用管理等措施保证数据存储和访问的安全性,保证数据不被非法拷贝、传播。a.权限范围要求:系统应可预先设定好规则,限定用户使用系统的范围,包括授权用户存取和利用程序和数据,以及根据用户承担的业务职责遵循“最小特权”授权用户在这一范围内能够进行那些操作。系统应具备完善的访问权限控制功能,通过用户操作口令、多层操作权限设置和应用功能管理等保证系统操作的安全。b.用户口令要求:在使用传统静态口令的系统中,密码位数不得少于六位,并须要求密码需由特殊字符(大小写字母、特殊符号、数字等)。在需操作员的认证和远程业务授权等方面尽量使用动态口令系统以保证安全性。口令有效使用时间不得超过1个月。C.数据控制要求:系统所保存的数据及发送给其它系统或用户的数据应与它的来源或权威数据保持一致。对用户提供数据的方式应能防止未得到授权的用户对它进行进一步的或二手的应用。二、可靠性需求分析1.硬件设备可靠性需求分析为满足功能需求,而且要求当系统出现意外故障时能够尽快恢复正常运行,数据不受破坏。这就要求系统硬件构架设计需考虑系统的冗余度,尽可能地避免硬件单点故障。2.服务器可靠性需求分析对于可靠性要求较低的系统可采用单机配置;而对于对可靠性极为敏感的关键业务,一般需要考虑采用多服务器的冗余备份配置,本系统采用多服务器的冗余备份系统。由多台单机组成的多设备整合系统中,系统可靠性可通过多机冗余,如服务器集群来实现整个系统的负载均衡,即使其中一台服务器出现故障,整个系统也不会宕机。对重要的生产服务器,也可采用双机热备或多机互为热备来增加系统的可靠性。3.网络可靠性需求分析网络的可靠性需求,主要包括以下几方面:1.网络带宽可靠性:带宽的可靠性主要依赖于互联带宽、路由交换机背板交换能力,同时要求路由交换机交换性能应能实现从边缘至核心交换机各级网络设备全方位地消除网络瓶颈,避免拥塞,改善响应时间,同时还应提供对服务质量的保障机制。2.交换机可靠性:交换机作为网络的核心,应采用两台完全相同配置的中心交换机互为热备,并且每台中心交换机均采用双电源、双管理模块从逻辑上组成一个交换机,当任何一台路由交换机发生故障时,服务器会透明的、自动的切换到另一台路由交换机,并由其立即接管所有的工作,同时更新路由表,并通过路由协议通知网端的路由器更新相应的路由表。3.链路的可靠性:关键链路须保证其可靠性,从信息系统中心路由交换机到内部网的出口链路、二级信息系统中心路由交换机之间的路由链路、主干交换机N---级交换机链路以及服务器到接入主干交换机的链路,都需根据各个链路的性能要求分别采用不同的技术来保证链路的可靠性,并且均要求冗余配置以保证网络可靠性和负载均衡,提高网络的性能。4.软件可靠性需求分析1.可用率:反映系统综合各种运行环境以及完成各种任务和功能的能力。一般要求系统运行后在任一随机时刻需要执行规定任务或完成规定功能时,均处于可使用状态的概率要达99%。2.初期故障率:反映软件在交付给用户后的三个月内的故障频度。一般要求系统在初期故障期内以每lOO小时的故障数为单位时间的故障数不得大于1。3.偶然故障率:反映软件在软件交付给用户后的四个月以后的故障频度。一般要求系统在偶然故障期内以每lOOO小时的故障数为单位时间的故障数不得大于3。4.平均失效间隔时间(MTBF):指软件在相继两次失效之间正常工作的平均统计时间。根据购物网站各系统可靠性要求不同一般应在5000-lOOOO小时之间。5.缺陷密度(FD):一般以每千行无注解源代码为一个单位,要求源代码中隐藏的缺陷数量应低于15个。6.平均失效恢复时间(MTTR):指软件失效后恢复正常工作所需的平均统计时间。一般要求MTTR值不得高于五分钟。三.易用性需求分析在应用系统的易用性,简单讲,就是易学、易用、好管理与维护。在实际的设计中要求选择易于管理和维护、并具有良好容错能力的设备,配合具有强大管理功能的软件,采用友好的界面和简洁的操作方式,使日常的维护和操作变得直观、简便和高效,减少用户的操作复杂度。总结起来,无论是购物网站还是其APP的易用性需求总体应考虑几下方面:1.易理解:软件的易理解性是与用户认识软件的逻辑概念及其应用范围所花的努力有关的软件属性。要求软件研制过程中形成的所有文档语言简练、前后一致、易于理解以及语句无歧义。系统的功能名称和图标应该直接、明了,没有歧义,易见并易于理解。2.易学习:要求系统应能提供联机帮助功能,对常见问题的解答及处理能提供联机或在线的帮助文档,对采用B/S架构的系统,其在线的帮助功能,应能实现及时更新,让用户轻松获得帮助。3.易操作:站在用户的角度,考虑系统各种用户为操作和运行控制所花的努力最少。这就要求软件的人机界面要友好、界面设计科学合理并且操作步骤要简单,让用户能尽可能根据窗口提示上手使用,无需过多的参考使用说明书和参加培训。各项功能流程设计直接,争取在一个窗口完成一套操作。默认值和可选项多,允许管理员设置很多默认和可选内容,尽量避免过多的手工操作。4.系统信息的反馈要及时、清晰明了。系统的及时、清晰的反馈对于产品的易用性很重要。需通过不断的,迅速的、易理解的反馈,让用户知道自己的操作的结果。对于错误信息的反馈,还应保证无歧义,并具有指导性。四.性能与效率需求分析1.处理时间处理时间是系统完成某项功能(辅助计算或辅助决策)所用的处理时间(包含人机交互的时间)。应当根据业务的需要,选取几个较常用或关键的功能或交易,明确提出主要功能或交易的处理时间要求,一般用小于多少秒或最长不大于多少秒等方式描述该项要求,包括以下指标:1.查询的响应时间2.数据更新的处理时间3.终端用户登陆界面的响应时间4.联机交易处理时间5.数据备份和恢复时间6.前后台文件传输处理时间2.吞吐率网购服饰交易类的系统可通过以下几项指标来衡量系统的处理能力1.单位时间内的点击数2.应用系统的每秒平均交易量3.应用系统的每秒高峰期业务量4.应用系统的平均和高峰业务使用率5.系统预期的最大用户量6.系统预期的最大联机的用户(登录)7.系统预期的最大并行操作用户数3.代码规模代码规模是软件源程序的行数(不包括注释),属于软件的静态属性。软件模块的代码规模过大不仅要占用过多的硬盘存储空间,而且显得程序不简洁、结构不清晰,容易存在缺陷。所以也要对代码的规模作一定的要求,提高代码的效率。五.可移植性需求分析系统的可移植性是指把同一软件放置到不同系统平台(如不同的硬件平台和操作系统)并使之正常运行的难易程度。可移植性有时候被表述为跨平台性。系统的支撑平台及体系结构应满足开放化和标准化的要求,遵循国际标准,使产品具备较好的开放性,以保证各种类型的系统的充分互联,为未来的系统移植和升级扩展打下基础。开放性系统必须实现软件的开放性,在软件上开发上遵循下列标准:操作系统接口标准、图形界面标准、数据库访问标准、网络通信标准、语言标准和文件标准等,其中:1.操作系统接口建议采用IEEE对操作系统规定的接口标准,尽量达到开放性系统要求。2.图形用户界面接口要使用正式的国际标准,或者存在着的事实上的工业标准(从用户广泛使用中推荐产生出来的标准)。如,窗口标准MIT推出的X-Window和建立在其上的用户界面。图形用户接口尽量采用OSF的Motif和X-Open的OpenLook。3.数据库接口建议采用IEEE规定的用SQL和DIAS访问数据,自主开发的数据库管理系统和商用数据库管理系统应能很好地管理历史数据。4.网络通信接口在局域网上以OSI和TCP/IP为通信接口标准。随着技术的发展和FDDI的广泛采用,可使用FDDI和TOKENRING取代以太网。广域网上采用ISDN和FRAMERELAY通信标准。六.可维护性需求分析系统的可维护性分为硬件可维护性和软件可维护性两部分。相应的,系统的可维护性需求,也就包括硬件的可维护性需求和软件的可维护性需求两部分。1.硬件可维护需求:系统的结构设计对硬件的可维护性起决定作用。为适应不同应用的要求,在硬件体系的设计上应要求采用模块化、构件化的设计方案。对于一些关键的硬件设施,要能满足在线更换的要求,如磁盘等,要满足热插拔的要求等。2.软件可维护性需求:为了提高软件的可维护性,在软件的非功能需求方面,应当重点关注以下方面,并尽可能提出明确的要求:1.系统的架构、所使用的技术、工具平台要具有较好的可维护性。包括,软件总体的架构上要易于维护;采用比较成熟的、易于维护的技术、工具平台等。另外,软件有比较好的维护界面,也有利于以后的维护操作。2.采用功能模块化的软件结构,并选用合适的程序开发语言,尽可能使用复用程度高的部件,增强系统的可复用能力,并增加模块内聚程度,减少模块间的耦合程度,保证系统扩展软件功能的时候不修改或影响已有的功能,减少软件全局性变动。3.软件的代码复杂度对可维护性也有较大的影响,一般要求代码的循环复杂度不超过7;所有对象方法的代码均尽量不超过200行;软件模块中,注释与原代码语句的比例至少为l:4等。4.清晰、易懂的、完备的设计和使用文档,对系统的可维护性关系重大,必须对其内容和编写的标准有明确的要求,并在日常的维护过程中,按照流程对其进行有效更新,确保文档的准确性和可用性。5.完备、规范的应用日志及管理功能。记录完整的应用系统日志是解决软件故障,查找软件缺陷的有力手段。应用系统的日志要求一是设置要完备