1、软件产品要做得好,首先要明确软件产品的具体需求是什么,除了功能性需求,还要非功能性需求,从狭义来讲,质量特性主要是指非功能性需求,主要包括性能要求、可用性要求、扩展性要求、安全性等等。
2、明确各项细分的质量特性,给出具体的指标值,例如:性能要求要明确软件产品的响应时间是多少;可用性要求是连续可用时间是多长或者一年之内允许中断服务的时间要求;扩展性要求是否可以灵活扩展产品功能;安全性要求有哪些安全措施,如加密要求、安全认证、权限控制要求等。
3、质量需求明确后,要保证质量特性的落实,首先要从架构设计中考虑,在架构设计中充分考虑各项质量要求特性。
4、对于性能要求,可以考虑采用集群、分布式等技术来提高产品响应速度。
5、对于可用性要求,可以考虑数据备份、双机热备、异地容灾等技术来避免软件产品的服务中断问题。
6、对于扩展性要求,可以考虑采用合理地将软件组件化,提供对功能或流程的可编排能力,以便通过配置方式使软件产品提供新的功能。
7、对于安全性,重点是保护数据不被恶意访问和窃取、不被恶意攻击致使无法正常使用,可以考虑敏感数据在传输与存储时都必须加密、密码设计要求足够复杂及定期更改、软件的网络访问采用分区的安全隔离举措等
8、质量特性还要其它的要求,比如易用性要求、可维护性要求、兼容性要求、开放性要求等等,这些质量特性首先也是明确具体的可度量的要求,继而采用针对性的措施来应对。
9、满足质量特性,除了在需求层面和设计层面有充分和细致的考虑外,还需要在开发实现阶段认真落实,在测试阶段不断加了检测,例如进行用户测试、压力测试等,确保质量到达预期的要求。