敏捷开发中网络物理系统安全需求的成本、工作量与复杂度优化
1. 敏捷开发与安全需求概述
在软件开发领域,尽管众多软件工程实践不断发展和改进,但软件的安全性仍面临挑战。许多现有的软件工程实践在万维网和互联网发展之前就已推出,难以有效抵御远程且复杂的网络攻击。
敏捷软件开发于 2001 年推出,旨在提升软件质量,其主要目标包括:
- 强调交互而非流程
- 实现软件的全面文档化
- 促进客户协作
- 能够响应变化
目前已经开发出了多种敏捷框架,如 Scrum、极限编程(XP)、动态系统开发方法(DSDM)、看板等。其中,Scrum 和 XP 应用较为广泛。
需求工程(RE)用于识别需求,这些需求通常以自然语言记录,容易出现误解和结构错误。需求主要分为功能性需求和非功能性需求,功能性需求由客户或利益相关者明确提出,而非功能性需求则是客户隐含期望的,其中就包括系统的安全性。
传统的需求工程实践在快速变化的商业环境中逐渐失效,因此敏捷实践在需求工程中得到了广泛应用。然而,广泛使用的软件开发实践(SDLC 模型)更侧重于软件的开发,而忽视了安全性。瀑布模型被认为是一种重量级且僵化的模型,而敏捷方法则更加灵活和轻量级,因此得到了更广泛的应用。
在敏捷开发中,虽然可以在后期阶段进行变更,但实施成本和工作量会呈指数级增长。此外,大型敏捷项目的复杂性也是一个问题。下图展示了软件开发中安全补丁的成本和时间关系:
graph LR
A[概念] --> B[需求]
B --> C[设计]
C
超级会员免费看
订阅专栏 解锁全文
1511

被折叠的 条评论
为什么被折叠?



