夜雨聆风学习资料网

ARTICLE · 1139303

软件工程: 需求复杂性

软件工程: 需求复杂性
不同的需求往往有着不同的复杂性,可以通过一套框架对需求的复杂性进行度量,针对不同复杂度的需求需要采取不同的应付措施。
可以使用cynefin框架对需求复杂度进行划分。

Simple (Obvious) Domain

Cause-and-effect relationships are clear and predictable.因果关系清晰且可预测的简单需求。有最佳实践可供参考,甚至可以直接应用这些成熟的方案。应对方案,感知,分类,响应。例如:使用通用开发框架的需求,业界有成熟的方案可供参考。

Complicated Domain

Cause-and-effect relationships exist but require expert analysis.需要深入分析才可能获取到因果关系的繁杂需求。可能存在多个正确的解决方案。应对方案主要是感知,分析,响应。例如,分析火箭发射失败的问题排查与改进需求。以及一个现网偶现的复杂缺陷的定位与排查。

Complex Domain

Cause and effect can only be understood in retrospect.只有事后才能理清对应因果关系的复杂域需求。应对方案,探测,感知,响应。例如,为不断变化的需求开发软件。

Chaotic Domain,混乱的需求。

No clear cause-and-effect relationships; immediate action is required.没有明确的因果关系的混乱需求。需要立即采取行动,理清需求,应对方案,行动,感知,响应。例如,软件需求有冲突的情况下,开发满足各方需求的软件。需要进行细致的分析。

Disorder Domain,失序需求。

Central area where it is unclear which domain applies.充满了未知的需求,只能先了解,分类问题,分而治之。例如使用一套全新的AI技术或者开发框架开发需求。

相关学习资料