项目二 分析客户管理系统的对象及其关系_图文_第1页
项目二 分析客户管理系统的对象及其关系_图文_第2页
项目二 分析客户管理系统的对象及其关系_图文_第3页
项目二 分析客户管理系统的对象及其关系_图文_第4页
项目二 分析客户管理系统的对象及其关系_图文_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、项目二 分析客户管理系统的对象及其关 系-面向对象基础【项目背景】从本项目开始我们将学习.NET 平台和 C#语言,在学习 C#语言前, 必须先对其有一个 初步认识,要了解 C#的开发环境,C#的基本程序结构,所以,在项目实施中,通过一个 简单的序的设计,求熟悉.NET IDE 的编程界面,熟悉 C#的编程环境以及程序调试的基本 方法,掌握 C#程序的基本结构。在学习中要注意和 C 语言或 java 语言区别,在比较中学 习。【项目任务】任务 1客户对象信息分析任务 2客户对象关系分析【知识目标】通过本项目的设计实践,达到如下的目标:熟悉现实世界中实体的表示方法理解基于 UML 面向对象的分析

2、与设计的方法【技能目标】能利用 UML 绘制类图和对象图【关键词】对象 object.、类 class、消息 Message、方法 method、实例 instance 、库任务 2-1客户对象信息分析-认识面向对象【提出问题】现实世界是由各种各样的实体 (事物、 对象所组成的,每种对象都有自己的内部状 态和运动规律, 不同对象间的相互联系和相互作用就构成了各种不同的系统, 并进而构成 整个客观世界。 计算机软件的目的就是为了模拟现实世界, 使各种不同的现实世界系统在 计算机中进行表示和实现。 为了更好的认识客观世界, 把具有相似内部状态和运动规律的 实体 (事物、 对象 综合在一起称为类。进

3、而人们抽象的认为客观世界是由不同类的事物间相互联系和相互作用所构成的一个整 体。 本次任务就是要实现如何将现实世界中的实体抽象为类,并在计算机中表示和实现。【相关知识】2.1.1面向对象的基本概念1967年挪威计算中心的 Kisten Nygaard 和 Ole Johan Dahl 开发了 Simula67语言, 它提供了比子程序更高一级的抽象和封装, 引入了数据抽象和类的概念, 它被认为是第一 个面向对象语言。20世纪 70年代初,Palo Alto 研究中心的 Alan Kay 所在的研究小组开 发出 Smalltalk如 Object-C,C+,Self,Eiffl 都产生了深远的影响

4、。随着面向对象语言的出现, 1980年 Grady Booch 提出了面向对象设计的概念,之后面向对象分析开始。1985年,第一个 商用面向对象数据库问世。Visual Basic 是 Microsoft 于 1991年在 BASIC 语言的基础上推出的可视化面向对象 编程语言。Visual Basic 的产生标志着软件技术一个新时代的开始。在 Visual Basic 之 后, 相继产生了 Visual C+、 Visual J+、 Visual FoxPro、 Borland Delphi 及 Power Builder 等众多可视化程序语言。数据封装、多态性、消息传递。通过这些概念面向对

5、象的思想得到了具体的体现。 1、面向对象(object-oriented;简称:oo至今还没有统一的概念,我们把它定义为:按人们认识客观世界的系统思维方 式,采用基于对象(实体的概念建立模型,模拟客观世界进行分析、设计以及在 计算机中表示与实现的方法。 通过面向对象的理念使计算机软件系统能与现实世界 中的系统一一对应。面向对象的编程方法(Object-OrientedProgramming是九十年代才流行的一 种软件编程方法。它强调对象的“抽象” 、 “封装” 、 “继承” 、 “多态” 。面向对象编 程是一种计算机编程架构, 达到了软件工程的三个主要目标:重用性、灵活性和 扩展性。2、对象(

6、object对象是人们要进行研究的任何事物, 从最简单的整数到复杂的飞机等均可看作 对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象是构成 世界的独立单位,它具有自己的静态特性(对象的属性,可以用某种数据来描述 和动态特性(对象所具有的行为或具有的功能面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成 系统的一个基本单位。对象由一组属性和一组行为构成。 属性是用来描述对象静态特性的数据项,行为是用来描述对象动态特性的操作序列。3、类(class类是具有相似内部状态和运动规律的实体的集合。类的概念来自于人们认识自然、 认 识社会的过程。 在这一程中, 人们主

7、要使用两种方法:由特殊到一般的归纳法和由一般到 特殊的演绎法。在归纳的过程中,其所依据的原则是抽象,即忽略事物的非本质特征, 只 从一个个具体的事物中把共同的特征抽取出来, 形成一个一般的概念, 这就是"归类" 昆虫、 狮子、爬行动物,因为它们都能动所以归类为动物。 在演绎的过程中我们又把同类 的事物, 根据不同的特征分成不同的小类, 这就是"分类" 如动物->猫科动物->猫->大花 猫等。面向对象方法中的“类”,是具有相同属性和服务的一组对象的集合。 对于一个具 体的类,它有许多具体的个体,我们就管这些个体叫做"对象&quo

8、t;。 类是对象的抽象 ,对象 是类的一个实例。 类的内部状态是指类集合中对象的共同状态;类的运动规律是指类集 合中对象的共同运动规律。4、消息(Message消息是指对象间相互联系和相互作用的方式。 一个消息主要由 5部分组成:发送消息 的对象(对象名、接收消息的对象(对象名、消息传递办法(即对象名.方法名、消息内 容(即对象名.方法的参数,可以是认识该消息的对象所知道的变量名,或者是所有对象 都知道的全局变量名、反馈(即对象方法的返回值。5、类的特性类的定义决定了类具有以下 5个特性:抽象、继承、封装、重载、多态。(1抽象:类的定义中明确指出类是一组具有内部状态和运动规律对象的抽象。抽 象

9、是一种从一般的观点看待事物的方法, 它要求我们集中于事物的本质特征 (内部状态和 运动规律 , 而非具体细节或具体实现。也就是说,现实世界是一组抽象的对象类组成的。(2继承:继承是类不同抽象级别之间的关系,即 特殊类的对象拥有其某一般类的 全部属性与服务,称为特殊类对一般类的继承 。类的定义主要有两种办法归纳和演绎, 由一些特殊类归纳出来的一般类称为这些特殊 类的父类, 特殊类称为一般类的子类; 同样父类可演绎出子类, 父类是子类更高级别的抽 象。子类可以继承父类的所有内部状态和运动规律。使公共的特性能够共享,提高了软件的重用性。(3封装:对象间的相互联系和相互作用过程主要通过消息机制得以实现

10、。对象之 间并不需要过多的了解对方内部的具体状态或运动规律。面向对象的类是封装良好的模 块,类定义将其说明(用户可见的外部接口与实现(用户不可见的内部实现显式地分 开, 其内部实现按其具体定义的作用域提供保护, 封装防止了程序相互依赖性而带来的变 动影响。封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的 系统单位,并尽可能隐蔽对象的内部细节。 类是封装的最基本单位。在类中定义的接收 对方消息的方法称为类的接口。(4多态(覆盖:多态是指在一般类中定义的属性或行为,被特殊类继承之后, 可以具有不同的数据类型或表现出不同的行为。 这使得同一个属性或行为在一般类及其 各个特殊类

11、中具有不同的语义。 如动物都会吃, 而羊和狼吃的方式和内容都不一样, 如图 2-1类方法的多态性。 图 2-1图 2-2(4重载:重载指类的同名方法在给其传递不同的参数是可以有不同的行为 。在对 接收消息对象内部的行为也可能不同。如图 2-22.1.2建模语言 UML目前,面向对象开发方法的研究已日趋成熟,国际上已有不少面向对象产品出现。 面 向对象开发方法有 Coad 方法、Booch 方法和 OMT 方法等。1.Booch 方法Booch 最先描述了面向对象的软件开发方法的基础问题, 指出面向对象开发是一种根而功能分解只通过问题空间的转换来获得。2.Coad 方法Coad 方法是 1989

12、年 Coad 和 Yourdon 提出的面向对象开发方法。该方法的主要优点 是通过多年来大系统开发的经验与面向对象概念的有机结合, 在对象、 结构、 属性和操作 的认定方面, 提出了一套系统的原则。 该方法完成了从需求角度进一步进行类和类层次结 构的认定。尽管 Coad 方法没有引入类和类层次结构的术语,但事实上已经在分类结构、 属性、操作、消息关联等概念中体现了类和类层次结构的特征。3.OMT 方法OMT 方法是 1991年由 James Rumbaugh 等 5人提出来的,其经典著作为“面向对象的 建模与设计” 。该方法是一种新兴的面向对象的开发方法,开发工作的基础是对真实世界的对象建 模

13、, 然后围绕这些对象使用分析模型来进行独立于语言的设计, 面向对象的建模和设计促 进了对需求的理解, 有利于开发得更清晰、 更容易维护的软件系统。 该方法为大多数应用 领域的软件开发提供了一种实际的、高效的保证,努力寻求一种问题求解的实际方法。 4.UML(UnifiedModeling Language语言软件工程领域在 1995年1997年取得了前所未有的进展, 其成果超过软件工程领域 过去 15年的成就总和,其中最重要的成果之一就是统一建模语言(UML的出现。UML 将 是面向对象技术领域内占主导地位的标准建模语言。UML 不仅统一了 Booch 方法、OMT 方法、OOSE 方法的表示

14、方法,而且对其作了进一步 的发展,最终统一为大众接受的标准建模语言。UML 是一种定义良好、易于表达、功能强 大且普遍适用的建模语言。 它融入了软件工程领域的新思想、 新方法和新技术。 它的作用 域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发全程。UML 是一种可视化的建模语言。UML 支持面向对象技术,提供了一种能简洁明了地表 达面向对象的概念。 可视化表示能力强, 通过模型图能清晰地表示系统的逻辑模型和实现 模型, 可用于各种复杂系统的建模。它独立于开发过程,独立于程序设计语言,建立的软 件系统模型可以用任何一种面向对象的程序设计来实现。 它易于掌握进行系统分析和设计 的

15、进程,图形结构清晰,建模简洁明了,从而加速了开发进程,提高了代码质量。在 UML 系统开发中有三个主要的模型:功能模型:从用户的角度展示系统的功能,包括用例图。对象模型:动态模型:展现系统的内部行为。 包括序列图,活动图,状态图。在最新版的 UML 2中包含了类图、用例图、序列图、活动图、组件图、部署图、对象 图、通讯图、状态图、包图、组合结构图、交互概览图、时间图、造型图等 14款图。 下面 UML 中的主要图例的功用做一个简单介绍:(1用例图描述角色以及角色与用例之间的连接关系。 说明是谁要使用系统, 以及他们使用该系 统可以做些什么。一个用例图包含了多个模型元素, 如系统、参与者和用例,

16、 并且显示了 这些元素之间的各种关系,如泛化、关联和依赖。(2类图类图是描述系统中的类, 以及各个类之间的关系的静态视图。 能够让我们在正确编写 代码以前对系统有一个全面的认识。 类图是一种模型类型, 确切的说, 是一种静态模型类 型。类图表示类、接口和它们之间的协作关系。(3对象图与类图极为相似, 它是类图的实例, 对象图显示类的多个对象实例,它描述的不是类之间的关系,而是对象之间的关系。(4活动图描述用例要求所要进行的活动, 以及活动间的约束关系, 有利于识别并行活动。 能够 演示出系统中哪些地方存在功能, 以及这些功能和系统中其他组件的功能如何共同满足前 面使用用例图建模的商务需求。(5

17、状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、 子 系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接 收、时间的流逝、错误、条件变为真等会怎么随着时间的推移来影响这些状态。一个状 态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为, 以 及该行为如何根据当前的状态变化, 也可以展示哪些事件将会改变类的对象的状态。 状态 图是对类图的补充。6、序列图 (顺序图序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。 顺 序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,

18、 即 强调消息是如何在对象之间被发送和接收的。7、协作图和序列图相似, 显示对象间的动态合作关系。 可以看成是类图和顺序图的交集, 协作 图建模对象或者角色, 以及它们彼此之间是如何通信的。 如果强调时间和顺序, 则使用序 列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。8、构件图 (组件图描述代码构件的物理结构以及各种构建之间的依赖关系。 用来建模软件的组件及其相 互之间的关系, 这些图由构件标记符和构件之间的关系构成。 在组件图中, 构件时软件单 个组成部分,它可以是一个文件,产品、可执行文件和脚本等。9、部署图 (配置图是用来建模系统的物理部署。 例如计算机和设备, 以及它

19、们之间是如何连接的。 部署 图的使用者是开发人员、 系统集成人员和测试人员。 部署图用于表示一组物理结点的集合 及结点间的相互关系,从而建立了系统物理层面的模型。2.1.3任务分析与实施1、任务要求:一个简单 CRMIIS 系统需求大致如下描述:这个系统主要用来管理客户信息,管理员 只需要一个,登录后可以实现对客户相关信息的管理,如增加、删除、修改客户信息等客 户可以通过员工订购相关的产品。任何人可以浏览相关信息。分析其相关实体及属性2、任务分析客户信息包括客户的基本信息、客户服务记录、 客户投诉记录、客户销售记录、客户 报价记录、产品基本信息等。系统管理员信息包括编号、姓名、登录名、密码、权

20、限等员工信息包括编号、姓名、电话、部门、地址等。产品的信息包括产品编号、产品名称、型号、价格、出产地等3、项目实施例如 VisualStudio2010创建类型及关系图。任务 2-2客户对象的关系分析-使用 UML 建立项目模型【提出问题】如何描述实体和实体之间的关系,如何创建类图、对象图等,目有 UML 建模工具有 Visio 、Rational Rose、PowerDesign 三种,Visual studio 2010内置有 UML 可以实现类图、关系图与 C#代码转换,本次任务我们将学习使用 Visual studio 2010创 建 UML 图。【相关知识】2.2.1Visual S

21、tudio 2010中的 UML 建模功能Visual Studio 2010支持了 5款图, 分别为:类图(ClassDiagram、 序列图(SequenceDiagram、用例图(UseCase Diagram、活动图(ActivityDiagram、组件图(ComponentDiagram。 但是, 类图中可以放置包图(PackageDiagram相关的元素, 所以 Visual Studio 2010实际上可以让开发人员绘制 6款图。下面主要介绍类图的创建。1、类图类图中的每一个类,都是由名称(Classifier 、特性(Attribute ,以及操作 (Operation所构成。

22、图 2-3是 Member 类的例子。类中的特性, 是用来声明在该类的每一个实体中, 所能保存的状态; 而操作指的则是 每一个该类的实体可以执行的方法或是函数。 以图 2-3的 Member 类为例来说, 根据 Member 所建立的实体中,都会存放自己的编号(ID 的状态数据;而每个 Member 实体也提供了一个 GetOrderHistory 方法。 2-3类图 2-4类的关联2、实例关系可以通过类图描述实例之间的关系,实体之间的关系注意有:(1 、关联(Association 骤 二:建立类图(1菜单【体系结构】|【新 建关系图】 ,打开如图 2-9也可通过项目的 “解决方案资源管理器

23、” 窗口, 选中指定 “项目模型” , 按右键, 通过 【添 加】|【新建项】 ,打开“添加新项”窗体,如图 2-10所示,选择模板中的“类图” 图 2-9新建关系图图 2-8新建 UML 项目 图 2-10在 UML 项目中添加新项(2完成之后打开“工具箱”窗口,选择“类”组件拖放到类图中;或在类图窗口 按右键,在弹出菜单中选择【类】如图 2-11所示。 图 2-11添加类(3 选中类” class1” , 按右键, 在弹出菜单中选择 【属性】 , 在属性窗口中修改属性值为 Employee,即类名为 Employee。如图 2-12所示 图 2-12添加特性(4选中类“Employee”的

24、“特性” ,按右键,在弹出菜单中选择【添加】|【特性】 然后选中所添加的特性项 Attribute1(默认值,在属性窗口中修改相关属性,Name 属性 值为 ID,Type 属性值为 string。表示类“Employee”有一个“string”类型的“ID” 特 性。如图 2-13所示图 2-13设置特性的属性值(5重复步骤 4,添加类的其它特性。(6选中类“Employee”的“操作” ,按右键,在弹出菜单中选择【添加】|【操作】 即设置类的相关行为(函数 。然后选中所添加的操作+Operation(默认值,在属性 窗口中修改相关属性, Name 属性值为 Operation(。 在这里可

25、以根据情况设置函数的参数 (Parameter属性和返回值类型(ReturnType 属性等。 图 2-14添加操作重复前面 2,3,4,5,6步骤,创建一个 Manager 类。步骤三:建立类之间的关系(1选中 Manager 类,按右键,在弹出菜单中选择【添加】|【继承】 ,拖动鼠标指 向类 Employee。建立类 Manager 与类 Employee 之间的关系,表示类 Manager 继承自类 Employee。如图 2-15 图 2-15添加关系(2按照步骤 1可以建立其它类之间的关系。步骤四、生成代码(1类图建立完成之后,Visual Studio 2010开发工具可以根据类图

26、中所分析的结 果,建立代码。(2在“SaleModeling”类图上空白处,单击鼠标右键,选择“Generate Code” 项 目。 此时会出现对话框, 提醒你在根据类图产生代码前, 必须要先做一些设置。 点击 按钮继续。也可以通过类图 SaleModeling 的 Text Template bindings 属性设置。如图 2-16 图 2-18新建 windows 项目(3接下来,在解决方案资源管理器中,选中 SaleApp 项目,单击鼠标右键。在快 捷菜单中,选中“查看类图” ,如图 2-19所示。图 2-19打开类图(4此时,在项目中会自动建立并打开 ClassDiagram1.c

27、d 类图文档。默认会显示 Form1、Settings、Resources 和 Program 四个类,如图 2-20所示。步骤二、新建类 图 2-20类图(1在类图空白处单击鼠标右键,在快捷菜单中选中“添加”“类” ,如图 5-6所示。图 2-21添加类也可以通过工具箱的来添加类,如图 2-22所示图 2-22工具箱 图 2-23设置类名(2在“新类”对话框中,输入“类名”为 Employee,并点击“确定”按钮,如图2-23 所示。 (3)在 Employee 类框上,单击鼠标右键,从快捷菜单中选中“添加”“字段” 。 如图 2-24 所示 图 2-24 添加字段、方法 (4)输入字段名称为 id。选中字段 id,按右键选择

温馨提示

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

评论

0/150

提交评论