拾题
首页 / 软考真题 / 需求与架构差异 / 第 1 题

请简述软件需求与软件架构之间存在的主要差异,并说明这些差异带来的挑战。

简答题

请简述软件需求与软件架构之间存在的主要差异,并说明这些差异带来的挑战。
答案:主要差异包括:1)需求和架构描述语言存在差异,需求是非正规的自然语言,架构是正式语言;2)非功能属性难于在架构中描述;3)需求和架构的一致性难以保障。挑战:需求到架构的映射复杂,单一需求可能对应多个架构关注点,反之亦然,导致可追溯性差。

解析

参考答案

1. 语言差异:需求偏自然语言,架构偏正式/半正式建模语言。

2. 非功能属性难描述:性能、安全、可维护性等难在架构中精确表达。

3. 一致性/可追溯性难保障:需求变更后架构同步与追踪困难。

4. 映射复杂:需求与架构多对多,一需求涉及多架构关注点,一决策支撑多需求。

得分点解析

  • 语言差异:转换需消歧,否则架构易偏离需求。
  • 非功能属性:是架构决策核心依据,描述困难会影响权衡与验证。
  • 一致性追溯:支撑变更影响分析、验证和合规,缺失则风险后移。
  • 多对多映射:使可追溯矩阵复杂,易遗漏、冲突,增加管理成本。

延伸

可结合迭代式需求与架构并行、架构视图、ATAM、可追溯矩阵。

本单元其他题目

在拾题里做这套题