分类: 项目管理
2006-10-06 14:36:12
第一. 结构化目标:将目标影射为目标层次图。目标层次图能表现目标之间的关系,同时根据目标的复杂度和重要性将目标进行归类。首先要识别整个系统的总体目标,给与她最高优先权,然后将目标分割为较为合理的子目标,子目标与父目标具有相似的功能,只不过在层次图上位于较下层。为了得到总体目标和子目标,我们需要回溯到第三步和第四步,利用外部用例对目标进行迭代检索。案例:
层次图的文字描述:
1. Helping a player to play the California Super Lotto number
1.1 Finding the hot numbers
1.2 Searching the player’s favorite numbers
第二. 系统设计:最重要的步骤,定义软件Agent以及他们是怎样交互以实现需求的。
1. 内部用例;目标是标出计划(意图)。在外部用例的基础上,将每个服务的场景细节化,以助于我们发现每个目标对应的计划,得到外部用例中并不容易发现的更多的Agent。这一阶段需要找到新的目标和计划。可能应用到Einhorn and Jo创建的Agent模式:(agent identification patterns, agent creational patterns, and agent goal assignment patterns.)Agent标志模式,Agent创建模式和agent目标分配模式。
2. 序列图:用来描绘事件顺序的传递和角色之间的关系。用例可以直接转换位序列图,用例中的每个实体可以映射为一个角色,用例中的每次通信或信息的传递都可以转化为一个事件。序列图中,每个参与者就是一个角色(其实就是一个候选的Agent. 现有Agent还不是最终的Agnt,不过是在设计过程中概念上的Agent或者成为候选Agent。我们之所以称之为角色是因为现在我们只分配给她目标,而没有意图和信念)。一个用例一般对应一个或多个序列图。例子如下:
3. 概念Agent活动图: Agent活动图描述了触发角色的所有事件和角色拥有的操作。我们从前面3,4,6,7步中提取动作绘制活动图。既然一个agent计划是一个活动(Activity)的集合,我们便可以从活动图中收集事件和操作,从而得到了意图。
4. Agent信念列表:信念是描述环境状态的数据的集合,是意图用来实现目标的知识。我们适应数据流图来发现数据。
根据DFD得到信念后用例表单:
Service:
HotNumber
Goal:
Find hot numbers
Belief:
Hot_Number_Request
Current_Numbers
Past_Number_Request
Past_Numbers
Hot_Numbers
Service:
SearchNumber
Goal:
WinningNumberSearch
Belief:
Search_Number_Request
Expected_Numbers
Past_Number_Request
Past_Numbers
Search_Results
5. BDI Agent卡片:是一个对Agent及其B、D、I的定义过程。卡片格式参考:
Agent:
(Name of the agent)
BDI list:
Belief:
(List of the beliefs)
Desire:
(The description of the goal)
Intention:
(The scenario)
Preconditions:
Postconditions:
Extensions:
由此得到Agent类图: