基于UML的面向对象分析与设计案例23165

基于UML的面向对象分析与设计案例23165

ID:41718336

大小:288.72 KB

页数:6页

时间:2019-08-30

基于UML的面向对象分析与设计案例23165_第1页
基于UML的面向对象分析与设计案例23165_第2页
基于UML的面向对象分析与设计案例23165_第3页
基于UML的面向对象分析与设计案例23165_第4页
基于UML的面向对象分析与设计案例23165_第5页
资源描述:

《基于UML的面向对象分析与设计案例23165》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于UML的面向对象分析与设计案例摘要本文以实例的方式,展示了如何使用UML进行面向对象的分析与设计。本文将假设读者对口化、而向对彖等领域的基本內容已了然于胸,所以将不会过多阐述,而将重点放在应用过程上。木文的目的是通过一个完整的实例,展现基于UML的OOA&D过程的一个简化模式,帮助朋友们更好的认识UML在OOA&D屮起的作用。前言经常听到有朋友抱怨,说学了UML不知该怎么用,或者画了6IL却觉得没什么作用。其实,就UML本身來说,它只是一种交流工具,它作为一种标准化交流符号,在OOA&D过程屮开发人员间甚至开发人员少

2、客户Z间传递信息。另外,UML也可以看做是00思想的•种表现形式,可以说“00是神,li'ijUML是犁”。所以,想用好UML,扎实的00思想基础是必不可少的。然而,在UML应用到开发过程中时,还是有•定的模式可以遵循的。(注意,是模式而不是教条,我下面给出的流程只是一个启发式过程,而不是说一定要遵循这个流程。)下面,我们通过一个CMS系统的分析设计实例,看看如何将UML应用到实际的开发中。1・从需求到业务用例图00A&D的第一步,就是了解用户需求,并将其转换为业务用例图。我们的CMS系统需求非常简单,人致课做如下描述:

3、这个系统主要用來发布新闻,管理员只需要一个,登录后可以在后台发布新闻。任何人对以浏览新闻,浏览者可以注册成为系统会员,注册后可对新闻进行评论。管理员在后台可以对新闻、评论、注册会员进行管理,如修改、删除等。通过以上需求描述,我们画出如下的业务用例图:游客管理员这里要注意三点:1.业务用例是仅从系统业务角度关注的用例,而不是具体系统的用例。它描述的是“该实现什么业务”,而不是“系统该提供什么操作”°例如,在实际系统中,“登录”肯总要作为•个用例,但是这是软件系统屮的操作,而用户所关注的业务是不包含“登录”的。2.业务用例仅

4、包含客户“感兴趣”的内容。1.业务用例所有的用例名应该让客八能看懂,如果某个用例的名字客八看不懂什么意思,它也许就不适合作为业务用例。2.从业务用例图到活动图完成了业务用例图后,我们要为每一个业务用例绘制•幅活动图。活动图描述了这个业务用例中,用户可能会进行的操作序列。活动图冇个很垂要的使命:从业务用例分析出系统用例。例如,下面是“新闻管理”的活动图:可以看到,一个“新闻管理”这个业务用例,分解出N多系统操作。这里要特别注意这些操作,其中很多“活动”都很可能是一个系统用例(当然,不是每个都是)。例如,由这个活动图町以看出

5、,系统中至少要包含以下备选系统川例:登录、注销登录、查看新闻列表、修改新闻、删除新闻。这样,将侮个业务用例都绘制出相应的活动图,再将其中的“活动”整合,就得出所冇备选系统用例。3.从活动图到系统用例图找出所有的备选系统用例后,我们耍对他们进行合并和筛选。合并就是将相同的用例合并成一个,筛选就是将不符合系统用例条件的备选用例去掉。一个系统川例应该是实际使用系统的用户所进行的一个操作,例如,“查看新闻列表”就不能算一个系统用例,因为他只是某系统用例的一个序列项。最终我们得出的系统用例图如下:2.从系统用例图到用例规约得出系统

6、用例图后,我们应该对每一个系统用例给出用例规约。关于用例规约,没有一个通用的格式,大家可以按照习惯的格式进行编写。对用例规约唯一的耍求就是“清晰易懂”。下面给出“登录”这个系统用例的一个规约:riI用例名称3登录系统2用例简述2用户登录CMS系统Q用例图3X—用户主要流程卩1)用户输入用户名和密码22)选择用户类型卩3)点击登录按钮心替代流程23a)“用户名或密码错误”,系统出现用户名或密码错误的提示信息,回到主要流程1,由用户重新输入a3b)“输入的用户名与类型不符”,系统出现提示信息,回到主要流程1,由用户重新输入'

7、3b)当用户点击取消按钮时,取消登录3a3.绘制业务领域类图完成了上而儿步,下而应该是绘制业务领域类图了。所谓业务领域类图要描述一•下三1.系统屮有哪些实体。2.这吐实体能做什么操作。1.实体间的关系。这里要特别强调:这里的实体不是Actor,而是Actor使用系统时使用的所调用的实体,是处在系统边界之内的实体。例如,管理员就没有作为一个实体出现在这里,因为管理员处在系统边界之外,它所有的工作都可以通过调用这三个类的方法完成。并且,这里的“注册会员”实体也不是刚才用例图中注册会员这个Actor,而是作为一个系统内的业务实

8、体,供Actor们使用的。例如,其中的注册功能是给注册会员这个Actor使用,而移除则是给管理员这个Actor使用的。理解以上这段话非常重要,我经常看到由于混淆了实体和Actor的关系而导致画出的领域类图不准确或职责分配不准确。大家可能还注意到,我们这里没有给出每个实体的属性。其实,在领域分析阶段,实体的属性并不重要

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。