《面向对象的系统分析与设计》5章-类图和对象图.ppt
文本预览下载声明
* Asp.net apsx cs 后台数据存储 代码重用 * * * * 分析类 小练习 Que1: 书”、“购物车”、“我的UML参考手册(第二版)”、“银行卡”、“号码手机卡”中,哪些是对象,哪些是类。光从这些名字是否一定可以确定为是对象? * A1: “我的UML参考手册(第二版)”、“号码手机卡”应该是对象。 练习 Que1: 假设类ClassB是ClassA的子类,其中ClassA的属性和方法如图所示,则ClassB能够访问的有哪些属性? * A1:子类只有private的成员无法访问,因此可以访问的属性有mem02和mem03,可以访问的方法有op1。 * Que2: 如图所示是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库单中的每一项,Product是产品信息。请指出模型中的错误,说明原因并改正错误。 Que4: 在下图中最上面的对象的名称是什么?图表示的意思是什么?请绘制出与其相应的类图。 * A2:China。该图的意思是福建、四川等省份组成中国。 练习:根据下面的陈述画出类图 1)学生包括本科生、研究生两种。 2)研究生可以利用课余时间担任助教。 3)教师包括讲师和教授两种。 4)一名助教可以为一位讲师或一位教授助课,一位讲师只能有一名助教,一位教授可以有5名助教。 * * 对象图与类图 对象图的模型元素有对象和链(link)。对象是类的实例;对象之间的链是类之间的关联的实例。 对象与类的图形表示相似,UML中对象图与类图具有相同的表示形式。 对象图实质上是类图的实例。 对象图常用于表示复杂的类图的一个实例。 对象图的使用相当有限,主要用于表达数据结构的示例,以及了解系统在某个特定时刻的具体情况。 对象图(Object Diagram) 对象图是表示在某一时间点上一组对象以及它们的关系的图。 A object diagram is a diagram that shows objects and their relationships at a point in time. 对象图的表示法 对象名:由于对象是一个类的实例,因此其名称的格式是“对象名:类名”,这两个部分是可选的,但如果是包含了类名,则必须加上“:”,另外为了和类名区分,还必须加上下划线。 属性:由于对象是一个具体的事物,因此所有的属性值都已经确定,因此通常会在属性的后面列出其值。 * 对象图 对象图 包 图 主要内容 什么是包 如何阅读包图 如何绘制包图 包图应用说明 本章小结 什么是包 在面向对象软件开发的视角中,类显然是构建整个系统的基本构造块。但是对于庞大的应用系统而言,其包含的类将是成百上千,再加上其间“阡陌交纵”的关联关系、多重性等,必然是大大超出了人们可以处理的复杂度。这也就是引入了“包”这种分组事物构造块。 包的作用是:1)对语义上相关的元素进行分组;2)定义模型中的“语义边界”;3)提供配置管理单元;4)在设计时,提供并行工作的单元;5)提供封装的命名空间,其中所有名称必须惟一 包的表示法 名称:每个包都必须有一个与其它包相区别的名称 拥有的元素:在包中可以拥有各种其它元素,包括类、接口、构件、节点、协作、用例,甚至是其它包或图 阅读包图 包的可见性:可以用“+”来表示“public”,用“#”来 表示“protected”,用“-”来表示“private” 包图阅读 首先根据《use》关系,可以发现Client包使用Server包,Server包使用System.Data.SqlClient包,结合其元素,不难得知Client负责Order(订单)的输入,并通过Server来管理用户的登录(LoggingService)和数据库存储(DataBase),而Server包还将通过.NET的SQL Server访问工具包来实现与数据库的实际交互。 接着再看两个《import》,从包的命名和其所属的元素不难发现Rule负责处理一些规则,并引用一个具体的窗体(Window),而Client包则通过引用Rule来实现整个窗体和表单的显示、输入等。并且还将暂存Order(订单)信息。 最后来看包的泛化关系,GUI有两个具体实现,一个是针对C/S的WindowsGUI,一个是实现B/S的WebGUI。 包图绘制原则 最小化包之间的依赖,最小化每个包中的public、protected元素的个数,最大化每个包中private元素个数 在建模时应该避免包之间的循环依赖,也就是不能够包含相互依赖的情况,对于这种情况应进行分析: 寻找包 分析系统工作
显示全部