管理信息系统面向对象分析与设计.ppt
《管理信息系统面向对象分析与设计.ppt》由会员分享,可在线阅读,更多相关《管理信息系统面向对象分析与设计.ppt(151页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、管理信息系统面向对象分析与设计 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望对象表示现实世界中某个具体的事物。抽象是从特定的实例中抽取共同的性质以形成一般化概念的过程。对象具有两方面的含义:99 在现实世界中:在现实世界中:在现实世界中:在现实世界中:是客观世界中的一个实体是客观世界中的一个实体99 在计算机世界中:在计算机世界中:在计算机世界中:在计算机世界中:是一个可标识的存储区域加操作是一个可标识的存储区域加操作对象作为一个可以显现给周围世界的一个实体,对
2、象作为一个可以显现给周围世界的一个实体,是构成物理世界的个体元素。是构成物理世界的个体元素。一个对象的实例图解 对象和类既有区别又有联系,类是创建实例对象的代码模板,而对象则是按照类创建出来的一个个实例,有点像汽车的设计图纸和汽车的关系。采用面向对象程序设计技术的原因主要有两个:其一是我们认识世界研究乃至于改造世界都是以“对象”为基本单位而进行的,我们将这一人类活动衍生到计算机编程中来顺理成章;其二是为了提高程序设计的效率,尤其是在越来越复杂问题环境中,解决模块的颗粒度问题,既内聚性和耦合性的分界线问题。类是具有共同属性和行为的对象的抽象。类可以定义为数据和方法的集合。类也称为模板,因为它们提
3、供了对象的基本框架。类对象抽抽象象实实例例化化属性或状态属性或状态操作或行为操作或行为数据或变量数据或变量方法方法封装的实体封装的实体=数据数据+方法方法抽象就是从大量的普遍的个体中抽象出共有的属性和行为,从而形成一般化概念的过程。在现实世界中,人们正是通过抽象来理解复杂的事物。例如,人们并没有把汽车当作成百上千的零件组成来认识,而是把它当作具有自己特定行为的对象。我们可以忽略发动机、液压传输、刹车系统等如何工作的细节,而习惯于把汽车当作一个整体来认识。如果从一个抽象模型中剔除足够多的细节,则它将变得足够通用,足以适应于多种情况或场合,这样的抽象常常在程序设计中非常有用。经过对大量事物的抽象和
4、归类,可以形成相应的类属层次,如下图就是一个自然界各事物的一个分类抽象:抽象原则抽象原则8封装原则封装原则 封装原则是一个普适原则,正如我们看到的、我们学习到的、以及我们封装原则是一个普适原则,正如我们看到的、我们学习到的、以及我们周围的一切实体,包括动物、植物、各种人造物品都是封装的,一般情况周围的一切实体,包括动物、植物、各种人造物品都是封装的,一般情况下,我们只能看到这些物体的下,我们只能看到这些物体的“外壳外壳”,看不到其内部结构。,看不到其内部结构。这种将内部结构和功能对外隐藏,只留下必需的接口和外界进行能量或这种将内部结构和功能对外隐藏,只留下必需的接口和外界进行能量或信息交流就是
5、封装,比如说我们人类,我们的内脏、血管、神经都被封装信息交流就是封装,比如说我们人类,我们的内脏、血管、神经都被封装在我们皮肤里面,对外表现出来的仅仅是皮肤和五官接口,也就是说我们在我们皮肤里面,对外表现出来的仅仅是皮肤和五官接口,也就是说我们都是内聚性很强的对象个体,但我们又留有眼耳鼻口等接口,我们通过这都是内聚性很强的对象个体,但我们又留有眼耳鼻口等接口,我们通过这些接口在这个世间生存和忙碌。些接口在这个世间生存和忙碌。在面向对象程序设计中,我们应该遵循同样的原则,将对象的内部结构对外作信息隐藏,让外部不可访问,但提供一系列的共有接口,用来进行信息和能量交换。在面向对象程序设计语言中,实现
6、封装的关键字是private,提供接口的关键字是public。9继承原则继承原则 继承原则也是一个普适原则,如果没有继承,我们的生物世界就会永远在生物链继承原则也是一个普适原则,如果没有继承,我们的生物世界就会永远在生物链的底端徘徊,就不会出现如此丰富的生态世界。继承是发展的一部分,只有不断的底端徘徊,就不会出现如此丰富的生态世界。继承是发展的一部分,只有不断地继承旧的、成熟的东西,才能发展出更新的、更先进的东西,否则,我们就会地继承旧的、成熟的东西,才能发展出更新的、更先进的东西,否则,我们就会在原地踏步,永远重复。在原地踏步,永远重复。在面向对象程序设计中,我们从已经存在的类产生新类的机制
7、,我们也称之为继在面向对象程序设计中,我们从已经存在的类产生新类的机制,我们也称之为继承,原来存在的类叫父类(或叫基类),新类叫子类(或叫派生类)。子类中会承,原来存在的类叫父类(或叫基类),新类叫子类(或叫派生类)。子类中会自动拥有父类中的设计代码,继承带来的好处是:一方面可减少程序设计的错误,自动拥有父类中的设计代码,继承带来的好处是:一方面可减少程序设计的错误,另一方面,做到了代码复用,可简化和加快程序设计,提高了工作效率。另一方面,做到了代码复用,可简化和加快程序设计,提高了工作效率。继承不仅仅是简单的拥有父类的设计代码,继承机制本身就具有进化的能力,继承不仅仅是简单的拥有父类的设计代
8、码,继承机制本身就具有进化的能力,跟生物世界一样,子代总是比父代更能适应环境。我们通过对父类的设计作一跟生物世界一样,子代总是比父代更能适应环境。我们通过对父类的设计作一些局部的修改,使得子类对象具有更好的适应能力和强大的生存能力。些局部的修改,使得子类对象具有更好的适应能力和强大的生存能力。10多态原则多态原则 多态性原则是生物多样性在面向对象程序设计中的应用,面对同样的刺激、消多态性原则是生物多样性在面向对象程序设计中的应用,面对同样的刺激、消息等,不同的动物的反应是不一样的。在面向对象程序设计中,如果我们有许多息等,不同的动物的反应是不一样的。在面向对象程序设计中,如果我们有许多不同的对
9、象,每个对象都具有相应的行为模式(即执行代码),通过对每个对象不同的对象,每个对象都具有相应的行为模式(即执行代码),通过对每个对象发送同样的消息,但每个对象的执行的代码是不一样的,这就是面向对象程序设发送同样的消息,但每个对象的执行的代码是不一样的,这就是面向对象程序设计中的多态。计中的多态。多态性(多态性(polymorphism)是面向对象编程的基础属性,它允许多个方法使用)是面向对象编程的基础属性,它允许多个方法使用同一个接口,从而导致在不同的上下文中,对象的执行代码可以不一样。面向对同一个接口,从而导致在不同的上下文中,对象的执行代码可以不一样。面向对象程序设计从多个方面支持多态性,
10、其中两个方面最为突出。第一个是每个方法象程序设计从多个方面支持多态性,其中两个方面最为突出。第一个是每个方法都可以被子类重写;第二个是设立都可以被子类重写;第二个是设立interface关键字。关键字。鸟鸟蛇蛇鱼鱼人人马马蚂蚁蚂蚁move鸟鸟蛇蛇鱼鱼人人马马蚂蚁蚂蚁A 地区地区B 地区地区基于UML的面向对象分析设计过程识别系统的用例和角色进行系统分析,并抽象出类设计系统和系统中的类及其行为1.面向对象的建模语言2.面向对象的程序设计语言视图 系统通常是从多个不同的方面来描述的:系统的使用实例系统的逻辑结构系统的构成系统的并发特性系统的配置视图视图的分类:用例视图逻辑视图组件视图并发视图配置视
11、图 构成系统模型的几种视图 用例视图 用途:描述系统应该具备的功能,即被称为参与者的外部用户所能观察到的功能。用例视图是几个视图的核心,它的内容直接驱动其他视图的开发。逻辑视图 用途:描述用例视图中提出的系统功能的实现。逻辑视图既描述系统的静态结构,也描述系统内部的动态协作关系。使用者:主要是设计人员和开发人员。组成:静态结构在类图和对象图中进行描述;动态模型在状态图、时序图、协作图以及活动图中进行描述。并发视图用途:考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。使用者:主要是开发人员和系统集成人员。组成:状态图、协作图和活动图。组件视图用途:描述系统的实现模块以及它们之间的
12、依赖关系。组成:组件图。使用者:主要是开发人员。配置视图用途:显示系统的物理部署,并描述位于节点实例上的运行组件实例的部署情况。组成:配置图。使用者:开发人员、系统集成人员和测试人员。图 1 用例图2 类图3 对象图4 状态图5 时序图6 协作图7 活动图8 组件图9 配置图用例图 用例图的概念用例图建模技术实例图书馆管理系统中的用例图用例图显示谁将是相关的用户、用户希望系统提供什么服务以及用户需要为系统提供的服务。用例图最常用来描述系统以及子系统。用例图包含6个元素:参与者(Actor)用例(Use Case)关联关系(Association)包含关系(Include)扩展关系(Extend
13、)泛化关系(Generalization)参与者 由参与用例时所担当的角色来表示。每个参与者可以参与一个或多个用例。参与者间的关系在用例图中,使用泛化关系来描述多个参与者之间的公共行为。参与者间的泛化关系示例:用例 外部可见的系统功能单元。识别用例最好的方法就是从分析系统的参与者开始,考虑每个参与者是如何使用系统的。5.1.4 用例间的关系 1 关联关系2 包含关系3 扩展关系4 泛化关系关联关系表示参与者用例之间进行通信。不同的参与者可以访问相同的用例。包含关系客户用例可以简单地包含提供者用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。扩展关系扩展用例被定义为基础用例的增量扩展。
14、基础用例提供扩展点以添加新的行为。扩展用例提供插入片段以插入到基础用例的扩展点上。泛化关系父用例也可以被特别列举为一个或多个子用例。子用例表示父用例的特殊形式。子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变继承的行为。实例图书馆管理系统的用例图 读者:借书还书书籍预定 图书馆管理员:书籍借出处理书籍归还处理预定信息处理 系统管理员:增加书目删除或更新书目增加书籍减少书籍增加读者帐户信息删除或更新读者帐户信息书籍信息查询读者信息查询 1.借阅者请求服务的用例登录系统 查询自己的借阅信息查询书籍信息预定书籍借阅书籍归还书籍2.图书馆管理员处理借书、还书的用例处理书籍借阅处理书籍归还删除
15、预定信息3.系统管理员进行系统维护的用例查询借阅者信息查询书籍信息增加书目删除或更新书目增加书籍删除书籍添加借阅者帐户删除或更新借阅者帐户 图书馆管理系统的用例图1.借阅者请求服务的用例图2.图书馆管理员处理借书、还书的用例图3.系统管理员进行系统维护的用例图1.借阅者请求服务的用例图2.图书馆管理员处理借书、还书的用例图 3.系统管理员进行系统维护的用例图 类图描述类、接口及它们之间关系的图。显示系统中各个类的静态结构。类 面向对象系统组织结构的核心。对一组具有相同属性、操作、关系和语义的对象的抽象。包括名称部分(Name)、属性部分(Attribute)和操作部分(Operation)。名
16、称 分为简单名称和路径名称。属性描述了类在软件系统中代表的事物(即对象)所具备的特性。类可以有任意数目的属性,也可以没有属性。在UML中,类属性的语法为:属性1.可见性2.属性名3.类型4.初始值5.属性字符串(1)可见性类型:公有(Public)“”私有(Private)“”受保护(Protected)“”缺省的成员缺省的成员访问控制访问控制private成成员员缺省的成员缺省的成员protected成成员员public成员成员同一类中成员同一类中成员 同一包中其他类同一包中其他类 不同包中子类不同包中子类 不同包中非子类不同包中非子类 (2)属性名 每个属性都必须有一个名字以区别于类中的其
17、他属性。属性名由描述所属类的特性的名词或名词短语组成。单字属性名小写,如果属性名包含了多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。(3)类型 简单类型:整型布尔型实型枚举类型系统中的其他类(4)初始值 目的:保护系统的完整性,防止漏掉取值或被非法的值破坏系统的完整性。为用户提供易用性。(5)属性字符串 指定关于属性的其他信息。任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。操作对类的对象所能做的事务的抽象。一个类可以有任意数量的操作或者根本没有操作。返回类型、名称和参数一起被称为操作签名。在UML中,类操作的语法为:操作1.可见性2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 管理信息系统 面向 对象 分析 设计
限制150内