面向Agent的软件设计开发方法
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.1 需求工程

需求工程是对一个系统应该具有的功能性和非功能性能力进行挖掘、建模和分析。它是开发过程中的前期行为,在所有阶段的变更管理中发挥着重要作用。在需求工程中存在着两个与面向Agent相关的、非互斥的方法:面向Agent的需求工程和面向目标的需求工程,两者都会在后面被考虑。面向Agent的需求工程包含了几种办法,这些方法主要依赖于Agent的概念,例如i*(Yu,1997a)和ALBERT(Dubois等,1994)。i*是一个基于Agent概念的建模框架,具有目标和承诺这样的意图属性,而ALBERT(用于构建和导出满足实时需求的、面向Agent的语言)是一种集中于Agent概念的,用于需求详述的形式化语言。

面向目标的需求工程与面向Agent的需求工程密切相关,通过把非功能性需求展示为特殊的目标(有时称软目标),从而可以明确捕获如可靠性、灵活性、完整性和适应性等需求。这种方法的例子是KAOS(Knowledge Acquisition in automated)(Dardenne等,1993),一个集中于需求获取的形式化框架,而NER(Chung,2000)的焦点在于非功能性需求的表示和推理。