如何书写规范的Use Case描述文档
一般说来,在用OOAD(面向对象的分析和设计)的方法进行软件分析和设计的过程中,大概分为以下几个步骤,首先是用户提出需求,其次是对用户需求的分析,然后是根据对需求的分析进行设计,最后提交出完整的设计文档。
在对系统分析的过程中,系统分析员必须首先充分理解用户的需求,在充分理解需求的基础上,系统分析员的下一个任务就是根据需求,寻找出系统的首先规划出用户(actor)和用例(Use Case),并且描述出用户和用例之间的关系。用例的描述在OOAD的设计过程中要实现以下几个目标:
● 对问题要有完善的的理解;
● 确保解决用户的所有问题,与用户进行交流;
● 反映用户的需求到真正的商业模型;
● 对以后的设计和开发过程提供说明和框架。
为了实现上述的目标,就要详尽的定义用例的规范(注:由于笔者选用的CASE(计算机辅助设计工具)是Ratinal Rose,所以用ROSE进行系统分析为例),浏览用例的规范如下所示:选中要定义的用例,右击鼠标,选中Open Specification,然后打开Specification如图所示:
其中General,Dialog和Relation标签分别表示用例的名称、版型、简单的描述、关联等,可以描述用例的基本的特征,而File标签表示对用例的详细描述,如图所示,图中文档表示了用例的描述文档:
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。
其中General,Dialog和Relation标签分别表示用例的名称、版型、简单的描述、关联等,可以描述用例的基本的特征,而File标签表示对用例的详细描述,如图所示,图中文档表示了用例的描述文档:
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。
其中General,Dialog和Relation标签分别表示用例的名称、版型、简单的描述、关联等,可以描述用例的基本的特征,而File标签表示对用例的详细描述,如图所示,图中文档表示了用例的描述文档:
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。
其中General,Dialog和Relation标签分别表示用例的名称、版型、简单的描述、关联等,可以描述用例的基本的特征,而File标签表示对用例的详细描述,如图所示,图中文档表示了用例的描述文档:
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。
在系统的分析阶段,用例描述文档的书写是极其重要的,用例的描述文档可以详细的定义用例事件流、事前条件、事后条件特殊需求以及扩展点,对用例描述文档的书写是系统分析人员对用户需求的深刻理解的体现,因为用户的需求的实现在系统分析阶段中,在顺序图和协作图的设计的唯一的依据,可以说为下一步进行成功的系统设计的关键所在。
对于用例的描述文档的书写,大多数的系统分析员对此非常困惑,对于书写的格式和书写的内容各有不同,笔者在长期的系统分析与设计的过程中,总结出了用例描述文档应该阐述的内容详细的规范进行就自己在公司内的实践经验来分析一下描述文档的书写,描述文档的格式如下所示:
1. 用例名 描写用例的名称
2. 概括描述对用例进行简单的描述,描述用例在系统中的作用。
3. 事件流
● 基本事件流描述在该用例中,用户操作该用例的基本的流程。
● 其他事件流描述除基本事件流外的其他的事件流,可以有多个其他的事件流
4. 特殊需求
5. 事前条件描写该用例执行所必须满足的条件。
6. 事后条件描写该用例执行完之后的条件。
7. 扩展点
原则上所有的用例都必须有一个描述文档,而所有的描述文档的所涉及的内容都是上述的几点,描述文档的书写过程中常常有所纰漏和错误,常见的纰漏和错误有以下几点:
● 基本事件流描述步骤不清楚
● 基本事件流描述中不能体现出明确对象
● 其他事件流有所遗漏
笔者就此总结一下,对于基本事件流描述步骤不清楚的问题,通常是由于系统分析员对该用例的流程不清楚,也就是说对用户的需求分析不够;对于基本事件流描述中不能体现出明确对象的问题,通常是由于系统分析员对系统的分析还远远没有达到用面向对象的方法来思考,所以会出现面向对象的分析与设计为名,而结构化设计为实;其他事件流有所遗漏的问题,笔者认为是系统分析人员的设计没有严格的按照OOAD的思想进行分析,这对于分析与设计同属一个人的情况下是没有问题的,而这会有悖于OOAD的初衷。所以要求对于用例描述文档的事件流的描述,既要确保简洁,又不能有所遗漏。另外,在事前条件和事后条件的书写过程中注意一定要准确表明确切的条件,例如在用例A执行前必须有用例B执行,那么用例A的事前条件就是用例B必须执行,凡此种种,这也是某些系统分析员经常忽略并且遗漏的问题。
总之,对于用例描述文档的编写,是作为系统分析员的一项基本功,只有经过切实的实践和对UML的理解,才可以运用自如,切记CASE工具只是工具而已,重要的人的OO的思想。