架构Assignment-2:系统非功能需求分析

需积分: 0 0 下载量 111 浏览量 更新于2024-08-05 收藏 1.1MB PDF 举报
"该资源是关于软件架构的第二次作业,主要讨论了软件的非功能性需求(NFRs),包括可修改性、可移植性、安全性、可用性,并提供了相关场景和响应措施。作业由丁霄汉、陈云龙、曾婧、梁思宇四位同学共同完成。" 在软件开发中,非功能性需求(NFRs)是衡量系统质量的重要标准,它们定义了系统的行为和性能特性。以下是四个关键的NFRs及其详细解释: 1. 可修改性: 可修改性是指系统在设计和实现时考虑到未来可能的变更,使得系统能够容易地进行修改,而不影响其他功能。在这个场景中,开发者可能需要修改用户界面、数据标准或控制逻辑。响应措施包括确保每个模块的修改能在2人月内完成,修改预算不超过总预算的10%,并且不会影响无关的系统功能。 2. 可移植性: 可移植性关乎系统能否在不同平台上顺畅运行。当系统需要从当前平台迁移到另一个平台时,整个系统、部分系统或特定组件需要适应新环境。成功移植的标准是工作量不超过2人月,代码修改不超过10%,且所有功能都能在新平台正常运行。 3. 安全性: 安全性涉及到系统保护数据和服务不受未经授权的访问或攻击的能力。安全措施包括用户验证、数据加密以及攻击检测与响应。在遭受攻击时,系统应在1分钟内通知管理员并锁定数据访问,同时能在10分钟内恢复被恶意修改或删除的数据。 4. 可用性: 可用性关注系统在遇到故障时的恢复能力。当系统组件发生故障时,系统应能快速识别问题,记录日志,通知用户,并尽快修复。目标是在5分钟内检测到故障源,并采取相应措施处理故障,确保系统的持续运行。 这些NFRs的设定对于软件开发至关重要,它们不仅定义了软件的性能指标,还指导了开发过程和测试策略,以确保最终产品能够满足用户的实际需求和期望。在设计和实现软件架构时,充分考虑这些非功能性需求将有助于构建出高效、可靠且适应性强的软件系统。