尽管有软件开发生命周期(SDLC)一词,但编码时没有具体步骤可循。 即使存在一个普遍的真理,但每种情况也有所不同,仅有部分标准全面适用。 数据完整性就是这样一种标准。
SDLC的最终目标
发布功能性软件并不是软件开发的最终目标。但是,作为任何成功的SDLC的关键考虑因素,数据完整性都是不可忽略的要求。 GlobalVision校对软件也是如此,该软件也遵循SDLC方法。
数据项目相对简单:应用程序收集并可能使用的信息。当然,完整性是通过保持数据无损坏和不变的过程而获得的最终结果。它与数据安全性概念并驾齐驱,但它是受到采取必要措施保护后才能实用的。
例如,各个生命周期都内置了适当的安全预防措施,并在每个步骤中添加了控件。一种预防措施是尽早定义对系统所需数据的敏感性的行为。正如James E. Purcell在他的论文“在软件开发生命周期中定义和理解安全性”中所写的那样,这使得公司的安全性需求可以被考虑到,以便稍后在流程中进行决策。否则,可能会导致潜在的不可预见的后果以及事实之后的附加组件和补丁,但这些应该是不得已的方法。
软件开发过程
尽量避免多余的开发步骤就可以避免这种情况。正如前面提到的,有多种方法,但是一般来说,一般采用以下方式:
分析和计划——其中应包括初步风险评估。应考虑相应的的相关法规,并应制定有关如何根据这些法规解决问题的行动计划。这两个阶段得出的软件需求应在规范文档中得到反映。
设计,无论软件中需要安装什么,都需包含在设计规范文档中。根据所设计的系统和遵从性考虑因素,最终可能会包括有关数据库的故障保护,因此可以轻松备份和还原该数据库。此外,作为防止数据被盗或损坏的安全预防措施,现阶段已确认需要进行加密(如果适用)。
构建软件,大概使用安全代码来消除可能出现的任何潜在漏洞。
以彻底的,结构化的方式对软件的各个方面进行测试。测试具有广泛的通用性,并成为产品开发的重点。虽然与行业无关,但是,在软件方面,代码质量和安全性测试等方面只是这里应考虑的两个方面,最好由专门的质量保证团队来考虑。
单元测试,即对应用程序的最小可测试部分进行独立的bug和漏洞验证,这也是针对违规行为的一种流行的先发制人行为,但可以自动化。同时,黑盒测试将应用程序置于不看其内部工作原理的测试人员的显微镜下(就像它在黑盒中一样),它测试各种事物,包括外部数据库访问和数据结构错误软件。
最后,部署或发布。假设所有测试均已通过,并且解决了测试阶段记录的所有安全缺陷。作为软件最终质量检查的一部分,实际上可能会进行进一步的安全测试。
维护和评估,必要时可以通过安全升级和改进转换为软件更新。事实证明,有时这些Apple IPhone更新背后有充分的理由。
处理,因为即使软件已经过时也必须谨慎处理。如果要更换软件,则必须谨慎行事,以确保所有敏感数据都可以安全地存档或完整处理。
毕竟,任何SDLC都试图创建一款对组织有用的软件。 从逻辑上讲,有了新版本就不会再用旧版本。 此外,没有适当安全级别的应用程序是相对而言没有用处的。
数据完整性的重要性
结果取决于使用该软件的行业。而数据完整性变得越来越重要, 审核员可能会在以后要求进行代价昂贵的更新,但这仅在所讨论的公司相对幸运的情况下进行。
在在最坏的情况下,黑客可能会找上门,不仅损害数据的完整性,还会损害公司的品牌资产。 因此保证数据完整,才能大大缩短任何软件开发周期。