软件六性设计要求是指可靠性、可维护性、可用性、可扩展性、可重用性和保密性。它们是软件开发中非常重要的要求,直接关系到软件的质量和用户体验。以下是对这六性的具体要求:
- 可靠性:软件必须能够在规定的时间内、规定的条件下完成规定的功能,且不能出现任何错误或故障。软件可靠性不但与软件存在的缺陷和(或)差错有关,而且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。
- 可维护性:软件必须易于修改和维护,以便在出现问题时能够快速地进行修复。
- 可用性:软件必须能够方便地被用户使用,并且不会给用户带来过多的干扰和不便。可用性是指系统能够正常运行的时间比例。
- 可扩展性:软件必须具有良好的可扩展性,以便能够在未来的需求变化中轻松地进行扩展。
- 可重用性:软件必须具有良好的可重用性,以便能够在未来的需求变化中方便地进行重复使用。
- 保密性:软件必须能够保护用户的信息和数据,防止被未经授权的人员访问或泄露。向合法用户提供服务的同时阻止非授权用户使用的企图或者拒绝服务的能力。
软件质量要求中的可靠性要求具体有以下几点:
- 经常进行基准测试,以发现软件中的隐藏缺陷。
- 在错误情况下维持系统的功能特性的基本能力,即容错性。容错性包括两个方面:一方面是错误发生时确保系统正常的行为,另一方面是遇到错误时处于一个已经定义好的状态。
- 可靠性包括两个方面:容错性和健壮性。
软件可维护性要求具体有以下几点:
- 简单的代码单元:要求尽可能将代码分解成简单的、基本的单元,并保持它们之间的接口简单。
- 编写简单的代码单元:要求开发人员编写简单的代码单元,这些单元易于测试和理解。
- 不要写重复代码:要求开发人员不要重复编写代码,特别是在相同的领域。
- 保持代码单元的接口简单:要求开发人员保持代码单元之间的接口简单,这有助于维护和修改代码。
- 分离模块之间的关注点:要求开发人员分离模块之间的关注点,以便更容易地进行修改和维护。
- 架构组件的松耦合:要求开发人员架构组件时保持松耦合,以便更容易地进行修改和维护。
- 保持架构组件之间的平衡:要求开发人员保持架构组件之间的平衡,以便在未来的需求变化中保持架构的稳定性。
- 保持小规模的代码库:要求开发人员保持小规模的代码库,以便更容易地进行修改和维护。
- 自动化开发部署与测试:要求开发人员自动化开发部署与测试,以便更容易地进行修改和维护。
- 编写简洁的代码:要求开发人员编写简洁的代码,以便更容易地进行维护和修改。
- 要求不超过15行代码:要求开发人员编写的代码行数不超过15行,以便更容易地进行维护和修改。
- 分支点不超过4个:要求开发人员在代码中保持分支点不超过4个,以便更容易地进行修改和维护。
- 不要复制代码:要求开发人员不要复制代码,以便更容易地进行修改和维护。
- 参数不超过4个:要求开发人员在代码中保持参数不超过4个,以便更容易地进行修改和维护。
- 模块中所有的方法被调用的总次数尽可能少于10次:要求开发人员在代码中保持模块中所有的方法被调用的总次数尽可能少于10次,以便更容易地进行修改和维护。
- 含有传入调用与透传调用的模块的数量和与总模块数的比例值小于14.2%:要求开发人员在代码中保持含有传入调用与透传调用的模块的数量和与总模块数的比例值小于14.2%,以便更容易地进行修改和维护。
软件可用性要求具体有以下几点:
- 响应性:要求软件能够快速地对用户的请求做出响应,不会出现响应时间过长或者无法响应的情况。
- 可靠性:要求软件能够在规定的时间内、规定的条件下完成规定的功能,且不能出现任何错误或故障。
- 可理解性:要求软件的界面和文档能够被用户理解和使用,不会出现误导或者信息不清晰的情况。
- 可修改性:要求软件在被修改时,能够保持其原有的功能和性能,不会对用户的正常使用产生影响。
- 可靠性:要求软件在被修改时,能够保持其原有的功能和性能,不会对用户的正常使用产生影响。
- 可维护性:要求软件在被修改时,能够保持其原有的功能和性能,不会对用户的正常使用产生影响。
软件可扩展性要求具体有以下几点:
- 容量:要求软件的容量能够随着需求的增长而扩展,不会出现容量不足的情况。
- 性能:要求软件的性能能够满足用户的需求,不会出现性能不足的情况。
软件可扩展性要求是为了确保软件能够适应未来的需求变化,保持其功能和性能的稳定性和可靠性。
软件可重用性要求具体有以下几点:
- 软件系统应是模块化结构:只有在模块化结构中,模块内部的修改和局部系统的重构(部分模块的替换、部分接口的改动)才不至于影响系统的功能和总体面貌。
- 软件系统应不依赖于具体的运行环境:在这种结构的系统中,依赖于具体运行环境的部分可以集中在少数模块。 一旦系统环境发生变化,就可以用其他模块加以替换。
- 软件系统应建立在标准的、统一的数据接口上:即软件系统在建立数据模块进行数据操作时,都要求以标准的数据模式为依据。 这样可以减少系统中模块之间的数据交换和相互依赖关系,并将数据模块的操作集中在少数几个模块进行统一管理。
- 软件系统应有知识的帮助:这一要求不是必须的,但在软件系统进行重构、扩充时,知识库系统可以提供并学习系统组合、生成及重用方面的知识,从而提高软件重用的效率。
软件保密性确保数据只有在被授权时才能被访问,防止未得到授权的人或系统访问相关的信息或数据。软件保密性要求具体有以下几点:
- 源代码的保密性:源代码必须加密,除非得到使用者授权。
- 数据库的保密性:数据库中的数据必须采取相应的保密措施,如使用者密码加密、存储数据加密等。
- 通信保密性:对外提供的接口和数据必须加密,确保数据不会被恶意获取。
- 代码审查:在软件开发过程中,必须进行代码审查,以确保代码不会被未经授权的人员修改。
- 密码学保护:使用密码学技术保护软件系统中的数据和代码,防止未经授权的人员访问和修改。
- 访问控制:对软件系统中的数据和代码进行访问控制,确保只有授权的人员才能访问和修改软件系统中的数据和代码。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。