系统分析与设计概述:6 对象建模_第1页
系统分析与设计概述:6 对象建模_第2页
系统分析与设计概述:6 对象建模_第3页
系统分析与设计概述:6 对象建模_第4页
系统分析与设计概述:6 对象建模_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对象建模CollegeofComputerScienceandTechnologyZhejiangUniversity概述本部分内容主要讨论对象建模技术对象建模技术和结构化建模技术一样可以帮助分析员创建逻辑模型,其工作的最终产品是一个模型系统的逻辑模型面向对象的分析技术是除了结构化分析技术以外,另一种表示和设计信息系统的方法面向对象建模技术的术语和概念主要有:对象、属性、方法、消息、类和实例等其建模工具和技术主要是“统一建模语言UML”,包括用例、用例图、类图、顺序图、状态转换图和活动图等面向对象分析技术的原则什么是面向对象技术?面向对象技术有什么好处?为什么要用面向对象技术?软件开发分析阶段的工作就是提取系统需求的过程,主要包括三项内容:理解、表达和验证对象:是客观世界中实体的抽象原则:使问题描述空间(问题域)与解空间(求解域)在结构上尽量一致问题域的对象通常是不固定的,其行为也是反复多彩的,而解空间的对象行为是简单确定的面向对象的方法:让每个模块都对应且唯一对应着现实世界中的某件事面向对象软件:不是工作在数据上的一系列过程的集合,而是相互协作又彼此独立的对象的集合面向对象分析的表达目前主要采用统一建模语言(UML),可以将信息系统可视化、文档化面向对象分析概述对象是对信息系统来说重要的人、地点、事件或事务对象可以有许多描述其特征的属性。如,汽车的品牌、型号、颜色等;某人的学历、经历、阅历等类是具有类似属性的对象的集合。例如,由全体学生组成学生类实例就是类中特定的对象。如学生张三,就是学生类的实例下图是汽车对象的属性、方法和消息的示例消息司机对象发送消息给汽车对象。如清洗车辆,或减速等属性汽车对象拥有被称为属性的特性。如品牌、驱动方式、型号和颜色等方法启动车辆、转向等对象在UML中,对象可以用如下左图的方式来描述下右图是一个小女孩类的对象实例描述示例对象名属性属性1属性2……方法方法1方法2……潇潇性别:女年龄:4头发:黑色体型:苗条吃饭玩会讨人喜欢属性如果对象类似于名词的性质,那么属性就是类似于描述的特征的形容词分析员在系统设计期间需要定义对象的属性对象属性既可以独立定义,也可以从其它对象继承对象的特定属性称为状态,对象状态是描述该对象当前情形的形容词方法方法定义了对象可以执行的任务,或动作、处理、加工、算法、操作等正如对象类似于名词,属性类似于形容词,方法则类似于描述对象动作的动词消息消息就是传递给某对象执行某任务的指令。如驾驶员对象收到启动机动车的消息许多情况下,同一条消息传递给不同的对象,会产生不同的结果。如消息:睡觉,传递给小女孩会要求妈妈亲她一下,而传递给小男孩会要求奶奶给他讲个故事。这种现象称为多态性将对象封装后,就可以将它看成是一个黑盒。当消息到达时,我们仅关心黑盒输出的结果,而不关心其内部是如何处理的,也不需要外部干预因此,被封装的对象可以作为模块组件,在系统任意地方使用虽然接收和发送的消息会不同,但对象内部的方法不会改变,因此可以提高系统的可重用性类类是具有相同属性和方法的对象的集合类还可以被划分为更具体的子类。如,机动车类可以继续划分为重型载重车、轻型货车、小型车辆等另外,一个类还可以属于一个更一般的类,称之为超类。例如,小说书属于超类书对象和类之间的关系如同自然界或人类社会一样,对象和对象之间、类和类之间、对象和类之间也都会发生关系关系有强弱之分。最强的关系是继承。继承允许一个对象(子对象)从另一个对象(父对象)处获得能力(属性和方法)下列左图是继承机制的图形表示方法,右图是动物之间的继承关系AB父类子类派生继承

表示B继承了A;也可以说是A派生出了B动物家禽类宠物鸡鸭鹅狗猫对象关系图

对象关系图是系统的视图,通常在确定了对象、类和关系之后,就可以获得可以将对象关系图作为创建附加图表和文档的指南下图是一个高校图书管理系统的类和对象关系图Staff0..n0..10..10..10..1StaffLibBookLibReaderLiblogBookReaderSuperAdminRoleLidrarianRoleLibraryAdminRoleReaderAdminRole1..n1..n对象=(属性+操作)封装+消息名集合(接口)类:一组具有相同数据结构和操作的对象集合。消息:要求某个对象执行定义自己的类中的某个操作的规格说明。方法:对象所能执行的操作,即类中定义的服务。属性:类中定义的数据,是对客观世界实体所具有的性质的抽象封装:数据和过程的内部实现细节对外部隐蔽。继承:使用已存在的定义为基础建立新定义的技术。多态性:指子类对象可以象父类对象那样使用。重载:同一运算符可以施加于不同类型的操作数上,编译时再决定运算符的语义面向对象的术语和概念使用统一建模语言实现对象建模UML是目前流行的分析员将系统文档化和模型化的技术UML使用一系列图形符号来表示系统中的各种组件和关系UML主要用来支持面向对象的系统分析和开发对象模型,但有时也用来进行业务过程建模和需求建模用例建模用例表示某个具体的业务行为或功能,以及过程的一系列步骤外部实体(即行为者)通过请求系统执行某功能或过程来初始化用例用例用椭圆图形表示,下面加上一个描述行为或动作的标签行为者用人形图形表示,下面加上一个描述该行为者角色的标签从行为者指向用例的有向线段称为联系,它将行为者和用例联系起来例如,行为者为“学生”,用例描述的是“选课”,就可以表示为行为者用例学生选课用例图

用例图是一个系统或者子系统中相关用例的简略视图例如,下图就是一张添加新公交线路的用例图创建需求预测准备线路计划开发职员计划通知乘客调度司机建议通知决定创建通知类图类图表示一个用例的详细视图,显示了参与这个用例的类,并说明类之间的关系类图和DFD一样,是对系统逻辑模型的描述类图中,每一个类都用一个矩形表示右图描述的是某销售系统订单用例的类图销售经理属性方法销售办公室属性方法订单属性方法销售员属性方法顾客属性方法已订项目属性方法管理管理分配预订包含顺序图顺序图是用例的动态模型,显示某个特定时段内,类之间的交互顺序图通过描述用例的类、消息和消息时间,图形化描述用例顺序图中的符号分别表示类、生命线、消息和焦点,如图类用矩形框表示,发送或接收消息的类放在顺序图顶端生命线表示一个时间段,在此期间,对象可以和用例中其它对象交互,X表示其末端消息用一条有向线段表示,线段方向就是消息传递方向焦点用竖直盖住生命线的框表示,描述这段时间内对象正在发送或接收消息类1类2生命线生命线焦点焦点消息1消息2X顺序图的例子下图是一个健身中心新学员注册的顺序图的例子学员经理焦点申请健身课程支付X健身课程表注册记录通知检查注册状态转移图状态转移图显示了对象如何在事件的作用下,从一个状态转移到另一个状态状态转移图中,状态用圆角矩形表示,自左至右的线条表示状态转移的方向,以及触发这种转移的动作或事件下图是一个银行账户的状态转移图的例子新建激活/现有注销/先前冻结开户第一次存款银行注销账户客户注销账户附属资产资产释放活动图活动树是按照发生顺序描述动作或事件的水平流程图,它显示了动作发生顺序并标明结果下图是储户在ATM机上取款的活动图客户插入ATM卡客户输入密码客户请求现金ATM调整余额ATM提供现金ATM通知客户开始客户需要现金卡被接纳密码正确现金充足现金不足CASE工具顺序图、状态转移图和活动图,是帮助分析员理解对象的行为及对象如何与系统交互的动态建模工具但如果分析员在系统分析和设计时,都用手工完成这些图形的绘制,则费时费力,效率低下目前,已经有可以帮助分析员制图的CASE工具这些工具不仅加快了分析员绘图的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论