面向对象问题处理关键是建模问题。建模可以把在复杂

面向对象问题处理关键是建模问题。建模可以把在复杂

ID:47045214

大小:134.50 KB

页数:9页

时间:2019-07-07

面向对象问题处理关键是建模问题。建模可以把在复杂_第1页
面向对象问题处理关键是建模问题。建模可以把在复杂_第2页
面向对象问题处理关键是建模问题。建模可以把在复杂_第3页
面向对象问题处理关键是建模问题。建模可以把在复杂_第4页
面向对象问题处理关键是建模问题。建模可以把在复杂_第5页
资源描述:

《面向对象问题处理关键是建模问题。建模可以把在复杂》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、面向对象的问题的处理的关键是建模问题。建模可以把在复杂世界的许多重要的细节给抽象出。许多建模工具封装了UML(也就是UnifiedModelingLanguage™),这篇课程的目的是展示出UML的精彩之处。UML中有九种建模的图标,即:·用例图·类图·对象图·顺序图·协作图·状态图·活动图·组件图·配置图本课程中的某些部分包含了这些图的细节信息的页面链接。而且每个部分都有一个小问题,测试一下你对这个部分的理解。为什么UML很重要?为了回答这个问题,我们看看建筑行业。设计师设计出房子。施工人员使用这个设计来

2、建造房子。建筑越复杂,设计师和施工人员之间的交流就越重要。蓝图就成为了这个行业中的设计师和施工人员的必修课。写软件就好像建造建筑物一样。系统越复杂,参与编写与配置软件的人员之间的交流也就越重要。在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”。现在它已经成为了软件行业的一部分了。UML提供了分析师,设计师和程序员之间在软件设计时的通用语言。UML被应用到面向对象的问题的解决上。想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的。一个模型model就是根本问题的抽象。域

3、domain就是问题所处的真实世界。模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的。记住把一个对象想象成“活着的”。对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviorsoroperations)。对象的属性的值决定了它的状态state。类Classes是对象的“蓝图”。一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数)。对象是类的实例instances。用例图用例图Usecasediagrams描述了作为一个外部的观

4、察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。用例图与情节紧紧相关的。情节scenario是指当某个人与系统进行互动时发生的情况。下面是一个医院门诊部的情节。“一个病人打电话给门诊部预约一年一次的身体检查。接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录。”用例Usecase是为了完成一个工作或者达到一个目的的一系列情节的总和。角色actor是发动与这个工作有关的事件的人或者事情。角色简单的扮演着人或者对象的作用。下面的图是一个门诊部MakeAppointme

5、nt用例。角色是病人。角色与用例的联系是通讯联系communicationassociation(或简称通讯communication)角色是人状的图标,用例是一个椭圆,通讯是连接角色和用例的线。一个用例图是角色,用例,和它们之间的联系的集合。我们已经把MakeAppointment作为一个含有四个角色和四个用例的图的一部分。注意一个单独的用例可以有多个角色。用例图在三个领域很有作用。·决定特征(需求)。当系统已经分析好并且设计成型时,新的用例产生新的需求·客户通讯。使用用例图很容易表示开发者与客户之间的联

6、系。·产生测试用例。一个用例的情节可能产生这些情节的一批测试用例。类图类图Classdiagram通过显示出系统的类以及这些类之间的关系来表示系统。类图是静态的-它们显示出什么可以产生影响但不会告诉你什么时候产生影响。下面是一个顾客从零售商处预定商品的模型的类图。中心的类是Order。连接它的是购买货物的Customer和Payment。Payment有三种形式:Cash,Check,或者Credit。订单包括OrderDetails(lineitem),每个这种类都连着Item。UML类的符号是一个被划分

7、成三块的方框:类名,属性,和操作。抽象类的名字,像Payment是斜体的。类之间的关系是连接线。类图有三种关系。·关联association-表示两种类的实例间的关系。如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联。在图中,关联用两个类之间的连线表示。·聚合aggregation-当一个类属于一个容器是的一种特殊关系。聚合用一个带菱形的连线,菱形指向具有整体性质的类。在我们的图里,Order是OrderDetails的容器。·泛化generalization-一个指向以其他类作为超类的继承连

8、线。泛化关系用一个三角形指向超类。Payment是Cash,Check和Credit的超类。一个关联有两个尾端。每个尾端可以有一个角色名rolename来说明关联的作用。比如,一个OrderDetail实例是一个Order实例的项目。关联上的方向性navigability箭头表示该关联传递或查询的方向。OrderDetail类可以查询他的Item,但不可以反过来查询。箭头方向同样可以告诉你哪个类拥有这个关联的实现

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

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

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