用例建模技巧

来源:互联网 发布:阿里云国际版200m 编辑:程序博客网 时间:2024/05/16 15:40

用例建模技巧

适合于更好的 UML 用例模型的技术

developerWorks 文档选项
将此页作为电子邮件发送

将此页作为电子邮件发送



级别: 初级

Scott W. Ambler (scott.ambler@ronin-intl.com), 总裁, Ronin International

2001 年 1 月 04 日

本文介绍了一些提高系统用例模型质量的技巧和技术。本文改编自 Object Primer 2nd Edition 的第 6 章。

从参与者的角度并以主动语态编写用例。
应该以主动语态:“学生表明参加研习班意向”,而不是被动语态“研习班意向被学生表明”来编写用例。而且,应该从参与者的角度来编写用例。毕竟,用例的目的是理解用户如何对系统进行操作。

编写方案文本,而非功能需求。
用 例描述的是对参与者来说有价值的一系列行动,而不是特性集。例如,“招收研习班的学生”用例描述的是学生如何与系统交互来参加研习班。它没有描述用户界面 看上去是什么样子,或者它是如何工作的。有一些其它的模型来描述这些重要的信息,例如用户界面模型和增补规范。面向对象分析非常复杂,因此需要对它使用几 种模型,并且应该适当地应用每一种模型。

用例只记载行为需求。
用例既不是类规范,也不是数据规范。这是应该由概念性模型捕捉的一种信息,在对象世界中,它是通过 UML类模型建模的。您往往会引用概念性模型中描述的类,例如,“参加研习班”用例包括了“研习班”和“学生”等概念,它们都将由概念性模型描述。

不要忘记用户界面。
系统用例经常引用主用户界面 (UI)元素,这些元素常常称为“边界”或“用户界面”项,例如 HTML页面和报表。用例有时也引用一些次要的 UI元素,例如按钮或数据输入字段,但这种级别的细节并不太常见。

创建用例模板。
用例包含了相当数量的信息,这些信息可以轻易地以常见格式记载。您应该考虑开发自己的模板(请参阅技巧“ 记载用例”)。

始终如一地组织用例图。
一般的做法是垂直地绘制继承 (inheritance) 和扩展 (extend)关联,在父/基本用例下面绘制继承/扩展用例。同样,通常水平绘制包含(include) 关联。请注意,这些是简单的经验法则 --只要始终遵循这些法则,产生的图将很容易理解。

不要忘记系统对参与者行动的响应。
用例既应该描述参与者是如何与系统交互的,也应该描述系统如何响应这些交互。例如,在“参加研习班”用例中,如果系统在学生表明他们希望参加研习班时没有做出响应,学生就会很沮丧地离开。

备选行动过程非常重要。
如果一切顺利,使用的将是基本行动过程 --但也不要忘记备选过程。引入备选过程是为了描述潜在的使用错误以及商业逻辑错误和异常。这些重要的信息对于驱动系统的设计来说很有必要,因此不要忘记在用例中对它们建模。

不要被 <<include>> 和 <<extend>>关联所困扰。
我 不是很确定到底发生了什么事,但我总是在想包含 (include) 和扩展(extend) 关联,以及旧版本 UML 中使用 (uses) 和扩展 (extends)关联的正确使用从来没有得到很好的描述。结果,用例建模小组往往在这些关联的正确应用上争论不休,在整个建模技术中一些有趣但次要的部 分上浪费了惊人的时间。我曾在一个组织中工作,这家组织居然取缔了<<include>> 和 <<extend>>原型的使用,几个星期后,当意识到公司仍然需要这些概念时不得不撤消了这种极端的解决方案,而这时该组织对 它们的正确使用还没有达成共识。

让用例带动用户文档。
用户文档的目的是描述如何使用系统。每个用例都描述了参与者通过使用系统所采取的一系列动作。简而言之,用例包含从中开始编写问党用户稳当的信息。例如,可以使用“参加研习班”用例作为基础来编写系统用户文档的“如何参加研习班”一节。

让用例带动演示。
软件开发过程中的一部分是向项目资金管理者通报工作成果,因此有时需要提供演示。因为用例是从用户的角度编写的,它们包含了演示中对资金管理者可能希望听到的事物的有价值的深刻见解。换句话说,用例通常包含制定演示稿所需的逻辑。



参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文.

  • The Object Primer 2nd Edition ,由 Scott W. Ambler 著。New York: Cambridge University Press, 2001。

  • The Unified Process Inception Phase ,由 Scott W. Ambler 和 Larry L. Constantine 合著。Gilroy, CA: R&D Books, 2000。

  • Software For Use: A Practical Guide to the Models and Methods of Usage-Centered Design ,由 Larry L. Constantine and Lucy A.D. Lockwood 合著。

  • The Unified Modeling Language Reference Manual ,由 James Rumbaugh、Grady Booch 和 Ivar Jacobson 合著。Reading, MA: Addison-Wesley Longman, Inc., 1999。


关于作者

Author photo

Scott W. Ambler 是 Ronin International 的总裁,该公司是一家专门提供面向对象软件过程指导、体系结构建模和 Enterprise JavaBean (EJB) 开发的咨询企业。他创作或者与其他人合著了几本有关面向对象开发的书籍,包括最近出版的 Object Primer 2nd Edition,该书详细介绍了本文所概述的主题。可以通过 scott.ambler@ronin-intl.com 与他联系,他的网站位于 www.ambysoft.com。

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁宝宝吐的水水怎么办 宝宝吐了5 6次了怎么办 7岁儿童吃了就吐怎么办 狗狗拉稀呕吐不吃饭只喝水怎么办 宝宝吃坏肚子上吐下泄怎么办 一岁宝宝又吐又拉怎么办 八个月宝宝吃什么吐什么怎么办 九个月宝宝吃什么吐什么怎么办 三岁宝宝吃什么吐什么怎么办 2岁宝宝又拉又吐怎么办 6岁儿子又吐又拉怎么办 2岁宝宝吃了就吐怎么办 宝宝吃饱了就吐吐了在吃怎么办 3岁宝宝吃了就吐怎么办 6岁儿童又吐又拉怎么办 还没满月的宝宝肚子胀气怎么办 婴儿拉屎有粘液像果冻状怎么办 宝宝不爱吃饭怎么办吃就吐出来 19天的宝宝生理性腹泻怎么办 33天的婴儿生理性腹泻怎么办 两个多月宝宝生理性腹泻怎么办 3岁儿童又吐又拉怎么办 宝宝两岁了突然说话有点口吃怎么办 姜文怎么克服口吃 说话结巴怎么办 慢性咽炎嗓子干哑说话费劲怎么办 感冒后嗓子不疼 说话费劲怎么办 小孩子在幼儿园内向老尿裤子怎么办 五岁宝宝总是抽鼻子有黄鼻涕怎么办 2岁宝宝头有大人的那么大怎么办 一岁四个月宝宝不理人不说话怎么办 两岁七个月还不会说话怎么办 2岁3个月宝宝说话结巴怎么办 两周的宝宝突然说话结巴怎么办 宝宝3岁半了说话口吃怎么办? 四十天的宝宝吐奶严重怎么办 宝宝吐奶从鼻子喷出来怎么办 六个多月宝宝吐奶一股酸味怎么办 50天的宝宝吃了就吐怎么办 微信语音群聊超过9人怎么办 四个月宝宝母乳不够不喝奶粉怎么办 四个月的宝宝母乳不够吃怎么办