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

下载本文档

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

文档简介

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

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

3、成 的一个整体。本次任务就是要实现如何将现实世界中的实体抽象为类,并在计算机中表示和实现。【相关知识】2.1.1 面向对象的基本概念1967 年挪威计算中心的 Kisten Nygaard 和 Ole Johan Dali!开发了 Smiula67 语 言,它提供了比子程序更高一级的抽象和封装,引入了数据抽象和类的概念,它被认 为是第一个面向对象语言。20世纪70年代初,Palo Alto研究中心的Alan Kay所在 的研究小组开发出Smalltalk如0bject-C,O十,Self,Eiffl都产生了深远的影响。随着面向对象语言的出现, 1980年GtadyBooch提出了面向对象设计的

4、概念,之后面向对象分析开始。1985年, 第一个商用面向对象数据库问世。Visual Basic是Microsoft于1991年在BASIC语言的基础上推出的可视化面向 对象编程语言。Visual Basic的产生标志着软件技术一个新时代的开始。在Visual Basic 之 后,相继产生了 Visual C+、Visual J+s Visual FoxPio、Borland Delphi 及Power Builde等众多可视化程序语言。数据封装、多态性、消息传递。通过这些概念面向对象的思想得到了具体的体 现。1、面向对象(object-oiiented;简称:oo至今还没有统一的概念、我们把

5、它定义为:按人们认识客观世界的系统思维方式, 采用基于对象(实体的概念建立模型,模拟客观世界进行分析、设计以及在计算机中 表示与实现的方法。通过面向对象的理念使计算机软件系统能与现实世界中的系 统对应。面向对象的编程方法(Object-OiientedPiogianiming是九十年代才流行的一种软 件编程方法。它强调对象的“抽象”、“封装”、“继承”、“多态”。面向对象编程 是一种计算机编程架构,达到了软件工程的三个主要目标:重用性、灵活性和扩展 性,2、对象(object对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作 对象,它不仅能表示具体的事物.还能表示抽象的规则、

6、计划或事件。对象是构成世 界的独立单位,它具有自己的静态特性(对象的属性,可以用某种数据来描述和动态 特性(对象所具有的行为或具有的功能面向对象方法中的对象,是系统中用来描述客观事物的一个实体、它是用来构成 系统的一个基本单位。对象由一组属性和一组行为构成。属性是用来描述对象静 态特性的数据项,行为是用来描述对象动态特性的操作序列。3、类(class类是具有相似内部状态和运动规律的实体的集合。类的概念来自于人们认识自 然、认识社会的过程。在这一程中,人们主要使用两种方法:由特殊到一般的归纳 法和由一般到特殊的演绎法。在归纳的过程中,其所依据的原则是抽象,即忽略事物 的非本质特征,只从一个个具体

7、的事物中把共同的特征抽取出来,形成一个一般的 概念.这就是“归类”;昆虫、狮子、爬行动物,因为它们都能动所以归类为动物。在 演绎的过程中我们又把同类的事物,根据不同的特征分成不同的小类.这就是“分类 ”;如动物,猫科动物-猫,大花猫等。面向对象方法中的“类”,是具有相同属性和服务的一组对象的集合。对于一个 具体的类.它有许多具体的个体、我们就管这些个体叫做“对象”。类是对象的抽象, 对象是类的一个实例。类的内部状态是指类集合中对象的共同状态;类的运动规律 是指类集合中对象的共同运动规律。4、消息(Message消息是指对象间相互联系和相互作用的方式。一个消息主要由5部分组成:发 送消息的对象(

8、对象名、接收消息的对象(对象名、消息传递办法(即对象名方法 名、消息内容(即对象名方法的参数,可以是认识该消息的对象所知道的变量名、或 者是所有对象都知道的全局变量名、反馈(即对象方法的返回值。5、类的特性类的定义决定了类具有以下5个特性抽象、继承、封装、重载、多态。(1抽象类的定义中明确指出类是一组具有内部状态和运动规律对象的抽象。 抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内 部状态和运动规律,而非具体细节或具体实现。也就是说,现实世界是一组抽象的对象类组成的。(2继承:继承是类不同抽象级别之间的关系,即特殊类的对象拥有其某一般类的 全部属性与服务,称为特殊类对

9、一般类的继承。类的定义主要有两种办法归纳和演绎,由一些特殊类归纳出来的一般类称为这 些特殊类的父类,特殊类称为一般类的子类;同样父类可演绎出子类,父类是子类更 高级别的抽象。子类可以继承父类的所有内部状态和运动规律。使公共的特性能够共享,提高了软件的重用性。(3封装:对象间的相互联系和相互作用过程主要通过消息机制得以实现。对象 之间并不需要过多的了解对方内部的具体状态或运动规律。面向对象的类是封装 良好的模块,类定义将其说明(用户可见的外部接口与实现(用户不可见的内部实现 显式地分开,其内部实现按其具体定义的作用域提供保护,封装防止了程序相互依 赖性而带来的变动影响。封装是面向对象方法的一个重

10、要原则、就是把对象的属性和服务结合成一个独 立的系统单位,并尽可能隐蔽对象的内部细节。类是封装的最基本单位。在类中定 义的接收对方消息的方法称为类的接口。(4多态(覆盖:多态是指在一般类中定义的属性或行为,被特殊类继承之后,可以 具有不同的数据类型或表现出不同的行为。这使得同一个属性或行为在一般类及 其各个特殊类中具有不同的语义。如动物都会吃,而羊和狼吃的方式和内容都不一 样,如图2-1类方法的多态性。图2-1图2-2(4重载:重载指类的同名方法在给其传递不同的参数是可以有不同的行为。在 对接收消息对象内部的行为也可能不同。如图2-22.1.2 建模语言UML目前,面向对象开发方法的研究已日趋

11、成熟,国际上已有不少面向对象产品出 现。面向对象开发方法有Coad方法、Booch方法和OMT方法等。1 .Booch 方法Booch最先描述了面向对象的软件开发方法的基础问题,指出面向对象开发是 一种根而功能分解只通过问题空间的转换来获得。2 .Coad方法Coad方法是1989年Coad和Yoiudon提出的面向对象开发方法。该方法的主 要优点是通过多年来大系统开发的经验与面向对象概念的有机结合,在对象、结 构、属性和操作的认定方面、提出了一套系统的原则。该方法完成了从需求角度 进一步进行类和类层次结构的认定。尽管Coad方法没有引入类和类层次结构的术 语,但事实上已经在分类结构、属性、操

12、作、消息关联等概念中体现了类和类层次 结构的特征。3 .0MT方法OMT方法是1991年由James Rumbaugh等5人提出来的,其经典著作为“面向 对象的建模与设计”。该方法是一种新兴的面向对象的开发方法.开发工作的基础是对真实世界的对 象建模,然后围绕这些对象使用分析模型来进行独立于语言的设计,面向对象的建 模和设计促进了对需求的理解,有利于开发得更清晰、更容易维护的软件系统。 该方法为大多数应用领域的软件开发提供了一种实际的、高效的保证,努力寻求一 种问题求解的实际方法。4.UML(UnifiedModeling Language语言软件工程领域在1995年1997年取得了前所未有的

13、进展,其成果超过软件工程 领域过去15年的成就总和.其中最重要的成果之一就是统一建模语言(UML的出 现。UML将是面向对象技术领域内占主导地位的标准建模语言。UML不仅统一了 Booch方法、OMT方法、OOSE方法的表示方法,而且对其 作了进一步的发展,最终统一为大众接受的标准建模语言。UML是一种定义良好、 易于表达、功能强大且普遍适用的建模语言。它融入了软件工程领域的新思想、 新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分 析开始的软件开发全程。UML是一种可视化的建模语言。UML支持面向对象技术,提供了一种能简洁 明了地表达面向对象的概念。可视化表示能力强、

14、通过模型图能清晰地表示系统的 逻辑模型和实现模型,可用于各种复杂系统的建模。它独立于开发过程,独立于程序 设计语言,建立的软件系统模型可以用任何一种面向对象的程序设计来实现。它易 于掌握进行系统分析和设计的进程,图形结构清晰,建模简洁明了,从而加速了开发进 程,提高了代码质量。在UML系统开发中有三个主要的模型:功能模型:从用户的角度展示系统的功能,包括用例图。对象模型:动态模型:展现系统的内部行为。包括序列图,活动图,状态图。在最新版的UML 2中包含了类图、用例图、序列图、活动图、组件图、部署 图、对象图、通讯图、状态图、包图、组合结构图、交互概览图、时间图、造型 图等14款图。下面UML

15、中的主要图例的功用做一个简单介绍:(1用例图描述角色以及角色与用例之间的连接关系。说明是谁要使用系统,以及他们使 用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例. 并且显示了这些元素之间的各种关系.如泛化、关联和依赖。(2类图类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正 确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一 种静态模型类型。类图表示类、接口和它们之间的协作关系。(3对象图与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,它描述的不是类之间的关系.而是对象之间的关系。(4活动图描述用例要求所要进行的活

16、动,以及活动间的约束关系,有利于识别并行活动。 能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何 共同满足前面使用用例图建模的商务需求。(5状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对 象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件 (如消息的接收、时间的流逝、错误、条件变为真等会怎么随着时间的推移来影响 这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该 图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件 将会改变类的对象的状态。状态图是对类图的补充。6、序列图(顺序图

17、序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模 型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在 消息序列上,即强调消息是如何在对象之间被发送和接收的。7、协作图和序列图相似.显示对象间的动态合作关系。可以看成是类图和顺序图的交集, 协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序, 则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。8、构件图(组件图描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组 件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中, 构件时软件单个

18、组成部分,它可以是一个文件,产品、可执行文件和脚本等。9、部署图(配置图是用来建模系统的物理部署。例如计算机和设备、以及它们之间是如何连接 的。部署图的使用者是开发人员、系统集成人员和测试人员。部署图用于表示一 组物理结点的集合及结点间的相互关系,从而建立了系统物理层面的模型。2.1.3任务分析与实施1、任务要求:一个简单CRMIIS系统需求大致如下描述:这个系统主要用来管理客户信息,管 理员只需要一个,登录后可以实现对客户相关信息的管理,如增加、删除、修改客户 信息等客户可以通过员工订购相关的产品。任何人可以浏览相关信息。分析其相 关实体及属性2、任务分析客户信息包括客户的基本信息、客户服务

19、记录、客户投诉记录、客户销售记 录、客户报价记录、产品基本信息等。系统管理员信息包括编号、姓名、登录名、密码、权限等员工信息包括编号、姓名、电话、部门、地址等。产品的信息包括产品编号、产品名称、型号、价格、出产地等3、项目实施例如VisualSmdio2010创建类型及关系图。任务2-2客户对象的关系分析-使用UML建立项目模型【提出问题】如何描述实体和实体之间的关系,如何创建类图、对象图等,目有UML建模工 具有 Visio、Rational Rose、PoweiDesign 三种,Visual studio 2010 内置有 UML 可以 实现类图、关系图与C#代码转换,本次任务我们将学习

20、使用Visual studio 2010创建 UMI也【相关知识】2.2.1 Visual Studio 2010 中的 UML 建模功能Visual Studio 2010支持了 5款图,分别为:类图(ClassDiagram、序列图 (SequenceDiagram、用例图(UseCase Diagiain、活动图(ActivityDiagiams 组件图 (ComponentDiagiamo但是,类图中可以放置包图(PackageDiagiam相关的元素,所 以Visual Studio 2010实际上可以让开发人员绘制6款图。下面主要介绍类图的创 建。1、类图类图中的每一个类,都是由名

21、称(Classifiei、特性(Attnbute ,以及操作(Operation 所构成。图2-3是Membe类的例子。类中的特性,是用来声明在该类的每一个实体中,所能保存的状态;而操作指的 则是每一个该类的实体可以执行的方法或是函数。以图2-3的Member类为例来 说,根据Member所建立的实体中,都会存放自己的编号(ID的状态数据;而每个 Member实体也提供了一个GetOrdeiHistoiy方法。2-3类图2-4类的关联2、实例关系可以通过类图描述实例之间的关系,实体之间的关系注意有:(1、关联(Association(1菜单体系结构】I新建关系图】,打开如图2-9也可通过项目的

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

23、在弹出菜单中选择【添加】|【特性】 然后选中所添加的特性项Attnbutel(默认值,在属性窗口中修改相关属性,Nan】e属性 值为ID,Type属性值为stungo表示类“Employee”有一个"string”类型的“ID”特性。 如图2-13所示图2-13设置特性的属性值(5重复步骤4,添加类的其它特性。(6选中类“Employee”的“操作”,按右键,在弹出菜单中选择【添加】|【操作】 即设置类的相关行为(函数。然后选中所添加的操作十OpeiatioiiU默认值,在属性窗 口中修改相关属性. Name属性值为OpeiatioM。在这里可以根据情况设置函数的参 数(Paiame

24、tei属性和返回值类型(RetuniType属性等。图2-14添加操作重复前面2,3,456步骤,创建一个Manage类。步骤三:建立类之间的关系(1选中Manage类,按右键.在弹出菜单中选择【添加】|【继承】,拖动鼠标指 向类Employee0建立类Manager与类Employee之间的关系,表示类Manager继承 自类 Employee 0 如图 2-15图2-15添加关系(2按照步骤1可以建立其它类之间的关系。步骤四、生成代码(1类图建立完成之后,Visual Studio 2010开发工具可以根据类图中所分析的结 果,建立代码。(2在“SaleModeling”类图上空白处,单击

25、鼠标右键,选择“Generate Code”项目。 此时会出现对话框,提醒你在根据类图产生代码前,必须要先做一些设置。点击按 钮继续。也可以通过类图SaleModehng的Text Template bindings属性设置。如图 2-16f l>nqMi«i 9rtm Yc,1”clam y XeI21”,3 DFlic el«M Ur«c«r -19vM I«inm Jl”2.2.2 O面匍对象程序幕本错完。brrimRAcad?«<h«u»*,i ”国ail安y g«H 2,4蛆牛* 1

26、>*,* 作*ULA M敏 J 艮-B07M. Mn. 9R.诧仙». Xll1l<itfVX&U Vtu) Sb«a« 2M,& rnMdh-awwxma F*m,se-ar SW.AA<n<«a«A 上0“*册 ”“4,0+口"笛明&,11*中66望闻2.2.3任务分析月实幡1 .日备虐加的1 S«Wi«4W. »itVr/V4WXVnAL W, ,«ii nwn»Mi sn。w 川毁1a, « 八* i: (. i I i

27、n 】,、<1* tlwalCt* - rms=m-MllftH. *”, 叙新”>,象"3”. a,R修例为XI4J RI A.t -WH*«uRIXT,离b图2-18新建windows项目(3接下来,在解决方案资源管理器中,选中SaleApp项目,单击鼠标右键。在快捷 菜单中,选中“查看类图”,如图2-19所示。图2-19打开类图(4此时,在项目中会自动建立并打开ClassDiagraml.cd类图文档。默认会显示 Foimls Settingss Resources 和 Piogiani 四个类,如图 2-20 所示。步骤二、新建类图2-20类图(1在类图空白处单击鼠标右键,在快捷菜单中选中“添加”“类”,如图5-6所ZFo图2-21添加类也可以通过工具箱的来添加类,如图2-22所示图2-22工具箱图2-23设置类名(2在“新类”对话框中,输入“类名”为Employee,并点击“确定”按钮,如图2-23所示。(3)在Employee类框上

温馨提示

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

评论

0/150

提交评论