1、(完整word)软件产品质量特性软件产品质量特性1. 先进性系统设计采用先进的体系结构和软硬件技术,满足目前以及将来相当一段时间对系统的需求.从而达到既满足现阶段工作对系统水平和能力的要求,推动计算机应用向更高级阶段发展,又能够在今后数年内保持其技术的先进性和实用性,从而保护投资的有效性。2. 开放性信息系统建设的根本目的在于信息共享,因此在系统建设中采用的各项软、硬件技术和产品必须符合开放性原则,符合当前国际标准或者事实上的国际标准.3. 可靠性对于信息系统来说,可靠性是指在一定的环境下、在给定的时间内,系统不发生故障的概率。衡量软件可靠性的方法包括正确执行操作所占的比例,在发现新缺陷之前系
2、统运行的时间长度和缺陷出现的密度。根据如果发生故障对系统有多大的影响和对于最大的可靠性的费用是否合理,来定量的确定可靠性需求。数据交换、业务集成和信息展现承受着大批量的关键性数据的流转、交换和存储,要充分考虑到可能出现的问题.应当提倡规范化程序设计,预防可靠性祸害。数据和系统的可靠性对一个应用系统是至关重要的,因此,必须把这一原则作为极为重要因素考虑。4. 安全性信息安全是防止系统被非法入侵的能力,既属于技术问题又属于管理问题。主要涉及防止非法访问系统功能,这些访问包括查询、导出、导入、新增、修改、删除等操作,防止数据丢失,防止病毒入侵和防止私人数据进入系统。数据交换、业务集成和信息展现所处理
3、、传送和管理的信息,可能涉及到不同部门和系统的秘密或敏感信息,此类信息处理和传递的任何环节如果出现漏洞,其损失将是巨大的.数据和访问必须通过特定的方法完全保护起来。用明确的术语陈述完整性的需求,如身份验证、用户特权级别、访问约束或者需要保护的精确数据.一般的,如果黑客为非法入侵花费的代价高于得到的好处,那么认为这样的系统是安全的。5. 稳定性系统的稳定性是指系统能保证7*24小时正常运行.系统的稳定性也是由几个方面因素组成:应用服务器、流程服务器、数据库。l 应用服务器稳定是指长时间运行不会出现响应缓慢或当机的情况,这由几个方面保证:第一是程序代码质量没有问题,不会出现内存泄漏、内存溢出等.另
4、一方面是指应用的访问连接数不会超过阀值.l 流程服务器的稳定是指流程在长时间运行或大并发量访问时不会出现响应缓慢或服务器当机等故障。l 数据库稳定是指数据对于前端应用的访问能及时响应,不会因为数据量的增长而出现响应缓慢。6. 健壮性健壮性是指在异常情况下,当系统或其组成部分遇到非法输入数据、相关软件或硬件组成部分的缺陷或异常的操作情况时,能继续正确运行功能的程度。比如当数据库连接池满时能自动释放无用的连接,比如当某一个SERVER出现故障时能自动切换到另一台SERVER,比如当一个数据库出现故障时能自动切换到另一台备用的数据库等。有两层含义:容错能力和恢复能力。健壮的软件可以从发生问题的环境中
5、完好的恢复并且可容忍用户的错误。7. 可扩展性可扩展性反映软件适应“变化”的能力。在软件开发过程中变化是经常发生的事情,如需求变更,设计变化,算法改进,新技术引进,程序变化等,所以可扩展性需要多加考虑。网络投诉支撑系统采用增量开发模式,不断推出新版本,可扩展性尤为重要。8. 互操作性在系统建设过程中,涉及到现存应用系统和未来规划的应用系统之间的信息交互,建立系统之间的信息交换标准就非常重要。建立系统之间的信息交换标准,在移动多种信息种类和,繁杂的数据和信息格中建立一个良好的规范来约束,防止在内部系统之间进行信息交换的时候就会由于格式表述的不统一带来巨大的消耗。当规划新业务系统时,按照标准定义信
6、息交换格式,使未来的系统逐渐向标准化演变。9. 可维护性可维护性表明在软件中纠正一个缺陷或做一次更改的简易程度。取决于理解软件、更改软件和测试软件的简易程度,可维护性与灵活性密切相关.高可维护性对于经理周期性更改的产品或快速开发的产品很重要。可以根据修复一个问题所花的平均时间和修复正确的百分比来衡量可维护性.10. 可移植性可移植性是度量把一个软件从一种运行环境转移到另一种运行环境中所花费的工作量,指软件不经修改或稍加修改就可以运行于不同软硬件环境的能力,主要体现为代码的可移植性。为保证可移植性,软件设计时应将“设备相关程序”与“设备无关程序”分开,将“功能模块与“用户界面分开,并采用高级语言编写代码。11. 可重用性从软件开发长远目标上看,可重用性表明了一个软件组件除了在最初开发系统中使用之外,还可以在其他应用程序中使用的程度。可重用软件必须标准化、资料齐全、不依赖于特定的应用程序和运行环境,并具有一般性.12. 易用性易用性指用户使用软件的容易程度,易用性要让客户来评价。13. 可测试性可测试性指测试软件组件或集成产品时查找缺陷的简易程度。如果产品中包含复杂的算法和逻辑,或如果具有负责的功能性的相互关系,那么对于可测试性的设计就很重要.如果经常更改产品,需要经常对产品进行回归测试来判断更改是否破坏了现有的功能性,此时可测试性也很重要.