用户-任务金字塔和任务一览表都是宏观任务分析的常用工具。任务金字塔描述的是不同层次的任务之间的关系。任何一个任务都可能包括若干个子任务从而构成金字塔结构。图3-1是学生注册系统的“查询课程信息”的任务金字塔。
图3-1 任务金字塔
用户-任务一览表用列表的形式描述了系统的所有用户及其可能需要完成的所有任务,其描述的内容与用户行为分析图上所描述的内容类似。由于表格中没有图形表达方式,所以不如用户行为分析图形象生动,但是,这种描述方式便于更改和调整。表3-1是一个学生注册系统的用户-任务一览表。
表3-1 用户-任务一览表
对用户行为全面描述需要多方面、多角度的进行。而且在描述用户行为时需要用不同的工具和方法,例如文字叙述、图示等。经常提到的模型描述的专业工具是通用标识语言UML(unified mark-up language)。这一工具可以有效、系统地描述某物质对象的属性、行为以及对象之间的关系,因而被广泛地运用在面向对象的程序设计中。有些高级的UML工具可以将UML直接转化成为C++或Java对象程序等。UML包括如下7种典型图示:
(1)使用行为分析图(use case diagram)——描述系统成员及其需要完成的任务;
(2)顺序流程图(sequence diagram)——描述完成某些行为的系统元素和可能的步骤;
(3)关联图(collaboration diagram)——描述系统成员及功能之间的联系;
(4)类族图(class diagram)——描述系统元素的属性、行为及关系;
(5)状态转化图(state transition diagram)——描述系统元素的状态和联系;
(6)元素图(component diagram)——描述系统元素之间的从属关系;
(7)实施图(deployment diagram)——描述系统各元素的物理放置关系。
由于任务分析时需要描述的内容与UML描述的内容类似,所以有些UML也被任务分析所采用,UML图绘制的方法可参考相关专业书籍,在此不再赘述。
上文提到的顺序分析图描述的是实现某个使用行为的典型步骤,这些典型步骤可能代表了大多数用户使用系统的方式和特点。但是不同用户完成某项任务的具体方式可能有所不同,而且某一个用户在不同的内部或外部条件作用下,可能会随时调整完成任务的步骤或策略。例如,在学生注册系统的例子中,某学生很可能根据自己是否已有足够的课程信息来决定是否与教师进行联系。任务过程和决策分析(procedure and decision analysis)的方法是用流程图综合表达不同用户或不同条件下完成某任务所可能采取的不同步骤和策略选择的情况。图3-2是学生注册系统中关于“查询课程信息”的任务过程和决策分析图的示例。
图3-2 任务过程和决策分析图