电子商务系统分析与设计技术5-1ok.ppt

上传人:本田雅阁 文档编号:3452366 上传时间:2019-08-27 格式:PPT 页数:65 大小:1.30MB
返回 下载 相关 举报
电子商务系统分析与设计技术5-1ok.ppt_第1页
第1页 / 共65页
电子商务系统分析与设计技术5-1ok.ppt_第2页
第2页 / 共65页
电子商务系统分析与设计技术5-1ok.ppt_第3页
第3页 / 共65页
电子商务系统分析与设计技术5-1ok.ppt_第4页
第4页 / 共65页
电子商务系统分析与设计技术5-1ok.ppt_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《电子商务系统分析与设计技术5-1ok.ppt》由会员分享,可在线阅读,更多相关《电子商务系统分析与设计技术5-1ok.ppt(65页珍藏版)》请在三一文库上搜索。

1、CASE,J M U,集美大学工商管理学院信息管理与信息系统系,第5章,电子商务系统分析与设计,对象模型类图,类图的概念,描述类、接口、协作及它们之间关系的图。 显示系统中各个类的静态结构。,类的定义,面向对象系统组织结构的核心。 对一组具有相同属性、操作、关系和语义的对象的抽象。 包括名称部分(Name)、 属性部分(Attribute)、 操作部分(Operation)。,类的名称,应该来自系统的问题域。 应该是一个名词,且不应该有前缀或后缀。 分为简单名称和路径名称。,Business是类“Item”所在的包名,类的属性,描述了类在软件系统中代表的事物(即对象)所具备的特性。 类可以有任

2、意数目的属性,也可以没有属性。 在UML中,类属性的语法为:,(1)类属性的可见性,类型: 公有(Public) “” 可以被外部对象访问 私有(Private,缺省值)“” 只能为本类的对象访问 受保护(Protected)“” 可以被本类或子类的对象访问,(2)类属性的属性名,每个属性都必须有一个名字以区别于类中的其他属性。 属性名由描述所属类的特性的名词或名词短语组成。 单字属性名小写,如果属性名包含了多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。,(3)类属性的类型,简单类型: 整型 布尔型 实型 枚举类型 系统中的其他类,(4)类属性的初始值,目的: 保护系统的

3、完整性,防止漏掉取值或被非法的值破坏系统的完整性。 为用户提供易用性。,(5)类属性的属性字符串,指定关于属性的其他信息。 任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。,类的操作,对类的对象所能做的事务的抽象。 一个类可以有任意数量的操作或者根本没有操作。 返回类型、名称和参数一起被称为操作签名。 在UML中,类操作的语法为:,(1)类操作的可见性,类型: 公有(Public) “” 私有(Private) “” 受保护(Protected) “”,(2)类操作的操作名,用来描述所属类的行为的动词或动词短语。 单字操作名小写,如果操作名包含了多个单词,

4、这些单词要合并,并且除了第一个单词外其余单词的首字母要大写。,(3)类操作的参数表,一些按顺序排列的属性定义了操作的输入。 是可选的,即操作不一定必须有参数才行。 定义方式:“名称:类型”。 若存在多个参数,将各个参数用逗号隔开。 参数可以具有默认值。,(4)类操作的返回类型,是可选的,即操作不一定必须有返回类型。 绝大部分编程语言只支持一个返回值。 一般要加一个关键字void来表示无返回值。,(5)类操作的属性字符串,在操作的定义中加入一些除了预定义元素之外的信息。,职责,类或其他元素的契约或义务。 自由形式的文本。 非形式化的方法。,约束,指定了类所要满足的一个或多个规则。 形式化的方法。

5、,注释,注释可以包含图形也可以包含文本。,接口,在没有给出对象的实现和状态的情况下对对象行为的描述。 包含操作但不包含属性。 接口可以通过一个实现联系(Realization)获得其它对象类的支持,这些对象类提供在接口中定义的全部操作。 一个类可以实现一个或多个接口。,接口,抽象类表示的接口 “URL流处理”是一个实现接口的抽象类,它规定的一系列功能操作实际上由“URL输入”执行。,接口,糖棒式接口类:,思考: 接口的作用是什么? 接口的操作都是由对象类实现的,接口岂不多余?,接口,用接口定义角色 一个类可以有许多实例,即对象,它们可能表现为不同的角色。如下图:类“资产”扮演角色d,其类型是“

6、设备”。只有在接口“设备”中说明的性质对“学校”才是可见的。在对象类图中这样使用接口,便于把一个对象类和它的实例对象静态地绑定。,类之间的关系,1 依赖关系 2 泛化关系 3 关联关系 4 实现关系,依赖关系,依赖是指一个模型元素的变化必影响到另一个模型元素。通常,当一个事物使用另一个事物时,可以用依赖联系对它建立模型。 关联、实现和泛化也都属于依赖关系。,依赖关系示例,类“课表”的操作add和remove都使用了类“课程”,类“课程”是这两个操作的参数的类型。 类“课表”和类“任课教师”之间是友元关系。,泛化关系,存在于一般元素和特殊元素间的分类关系。 可以用于类、用例以及其他模型元素。 描

7、述了一种“is a kind of” 的关系。,泛化关系示例,关联关系,一种结构关系。 指明事物的对象之间的联系。,关联关系,1. 名称(Name) 2. 角色(Role) 3. 多重性(Multiplicity) 4. 聚合关系(Aggregation) 5. 组合关系(Composition) 6. 导航性(Navigation),(1) 名称,使用一个动词或动词短语来命名关联。 清晰而简洁地说明对象间关系。 关联的名称并不是必需的。 可以前缀或后缀一个指引阅读方向的方向指示符,以消除歧义。,(2) 角色,关联关系中一个类对另一个类所表现出来的职责。 角色的名称应该是名词或名词短语,以解释

8、对象是如何参与关系的。,(3) 多重性,指有多少对象可以参与该关联。 可以表达一个取值范围、特定值、无限定的范围或一组离散值。 格式:“minimummaximum” (均为Int型)。 赋给一个端点的多重性表示该端点可以有多少个对象与另一个端点的一个对象关联。,(4)聚合关系,一种特殊类型的关联。 表示整体与部分关系的关联。 描述了“has a”的关系。,(5) 组合关系,聚合关系中的一种特殊情况,是更强形式的聚合,又称强聚合。 成员对象的生命周期取决于聚合的生命周期。 聚合不仅控制着成员对象的行为,而且控制着成员对象的创建和解构。,(6) 导航性,描述一个对象通过链进行导航访问另一个对象。

9、 使用导航性可以降低类间的耦合度。 包括:单向关联和双向关联。,递归关朕 如果一个类与它本身有关联关系,那么这种关联称为递归关联(recursive association)。 递归关联指的是同类的对象之间语义上的连接。,限定关联 限定关联用于一对多或多对多的关联关系中; 在限定关联中,限定词可以理解为一种关键词,用关键词把所有的对象分开。类图中,限定词放置在关联关系末端的个小方框内,紧挨着开始导航的类。,N元关联 如果三个类或多个类之间有关联关系,则称之为N元关联。N元关联图示为一个大的菱形,菱形的角与 关联的类之间用直线相连(也可以用虚线连接)。 N关联中可以出现角色和重数,但不能出现限定

10、词和聚合.,关联类,关联本身也有特性,通过关联对象类可以进一步描述关联的属性、操作,以及其它信息。关联类是一个关联,也是一个类。,或关联 所谓或关联就是对二个或更多个关联附加的约束条件,使类中的对象一次只能应用于一个关联关系中。如右图表示一个账户不是属于个人就是属于单位的,二者必居其一。,有序关联 对象与对象之间的连接可以具有一定的次序。一般情况下,对象之间的关联都是无序的,如果要明确表示关联中的次序关系,一定要将规格说明排序放在表示关联的直线旁,并且紧挨着对象被排序的类。,类图的层次的概念,概念层:问题域中的概念(独立于程序设计语言) 说明层:软件的接口部分,不是软件的实现部分 实现层:软件

11、的实现部分,建立类图的步骤,建立类图的步骤: (1)研究分析问题领域确定系统需求。 (2)确定类,明确类的含义和职责、确定 属性和操作 (3)确定类之间的关系。,类图构建的关键,Key:正确的识别类!,讨论: 如何识别类?,识别类的方法,1. 名词识别法 2. 从用例中识别类 3. 使用CRC分析法 4.根据边界类、控制类、实体类的划分来帮助分析系统中的类 ,1. 名词识别法:,这种方法的关键是识别系统问题域中的实体。对系统进行描述,描述应该使用问题域中的概念和命名,从系统描述中标识名词及名词短语,其中的名词往往可以标识为对象,复数名词往往可以标识为类。,2. 从用例中识别类:,用例图实质上是

12、一种系统描述的形式,自然可以根据用例描述来识别类。,思考: 还书用例是通过哪些类实现的?,针对各个用例,一般可以提如下的问题辅助识别: 用例描述中出现了那些实体? 用例的完成需要哪些实体合作? 用例执行过程中会产生并存储哪些信息? 用例要求与之关联的每个角色的输入是什么? 用例反馈与之关联的每个角色的输出是什么? 用例需要操作哪些硬设备?,3.使用CRC(类职责协作卡)分析法,CRC(Class,Responsibilities,Collaboration)卡的最大价值在于把人们从思考过程模式中脱离出来,更充分的专注于对象技术。CRC会议进行中,需要很少的有类名的卡片,一些人模拟系统和对象交流

13、,把消息传给其他的对象。通过一步步处理,问题很容易地被解决。,CRC卡片例子,职责是类需要知道或做的任何事物。这些职责是类自身所知的知识,或类在执行时所需的知识。,协作是指为获取消息,或协助执行活动的其他类.从协作中可以体会到类之间的链接关系。,用CRC卡的研讨方式在走查用例,有助于设计如何使用类来实现系统。 仔细考虑类的职责有助于开发人员摆脱一堆枯燥的数据,使项目组成员更容易理解每个类的高层行为。 每当卡片中填写的职责多于三条时,就应该考虑是否对这个类进行分解,或者将它们合并成一个较高层的描述。,4. 根据边界类、控制类、实体类的划分来帮助分析系统中的类,UML中类有三种主要的版型:边界类、

14、控制类和实体类。引入边界类、控制类及实体类的概念有助于分析和设计人员确定系统中的类。,边界类,边界类位于系统与外界的交界处,窗体、报表、以及表示通讯协议的类、直接与外部设备交互的类、直接与外部系统交互的类等都是边界类。,例如:图书馆系统中,主界面,借阅界面等就属于边界类,实体类,实体类保存要放进持久存储体的信息。 持久存储体就是数据库、文件等可以永久存储数据的介质。实体类可以通过事件流和交互图发现。 通常每个实体类在数据库中有相应的表,实体类中的属性对应数据库表中的字段。,例如:图书馆系统中,借阅人,借阅信息等就属于实体类,控制类,控制类是控制其他类工作的类。 每个用例通常有一个控制类,控制用

15、例中的事件顺序,控制类也可以在多个用例间共用。 其他类并不向控制类发送很多消息,而是由控制类发出很多消息。,例如:从图书馆管理系统中的读者管理模块中找出所用到的控制类。,课堂练习:关于图书馆系统的需求,1. 这是一个图书馆支持系统; 2. 图书馆将图书和杂志借给借书者。借书者已经预先注册,图书和杂志也预先注册; 3. 图书馆负责新书的购买。每一本图书都购进多本书。当旧书超期或破旧不堪时,从图书馆中去掉。 4. 图书管理员是图书馆的员工。他们的工作就是和读者打交道并在软件系统的支持下工作。 5. 借阅人可以预定当前没有的图书和杂志。这样,当他所预定的图书和杂志归还回来或购进时,就通知预定人。当预

16、定了某书的借书者借阅了该书后,预定就取消。或者通过显式的取消过程强行取消预定。 6.图书馆能够容易地建立、查询、修改和删除标题、借书者、借阅信息和预定信息。 7. 系统能够运行在所有流行的技术环境中,包括Unix, Windows和OS/2,并应有一个现代的图形用户界面 (GUI)。 8.系统容易扩展新功能。,思考: Item与title之间的关系?,作业1,下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正错误。,下图是一个“涉税服务管理效能管理系统”中类模型的一个局部,请根据该图回答以下问题。,1、在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不同的类别?在描述“税务审批服务申请”时,它主要包含哪几个方面的内容?它有几种不同的类别? 2、对于每个流转记录的处理人它的类型(窗口人员、核查人员、审批人员)是唯一的,也就是只可能取一种值。请在图中加上表示这种规则的约束。,作业2,需求: 神州六号是神州系列飞船的一种,它由轨道舱,返回舱,推进舱,和逃逸救生塔组合。航天员使用返回舱来驾驭飞船。轨道舱是航天员工作和休息的场所。在紧急情况下,航天员使用逃逸救生塔逃离。飞船有多个太阳能电池翼,它为飞船提供电能。,谢 谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1