1、统一建模语言 UML,客观定向分析与编程,自我介绍,姓名:高爽 毕业院校:大连海事大学 专业:管理科学与工程 教研室:电子商务教研室 Tel:84835225 Email: 办公地点:G310,课程介绍,性质:必修课 课时:60学时,30次课 目标: 了解和掌握面向对象的基本理论。 能够应用UML进行系统分析。,课程介绍,为什么学习这门课?,从建筑工人( worker)到建筑师( architect) 从程序员( programmer)到系统分析员(system analyst),就业的需要,许多企业在招聘时提出了这样的一些需求: 1、具有基本的系统分析与设计的能力; 2、熟悉设计模式及UML
2、,能运用UML的方法和工具进行面向对象的分析和设计者优先; 3、熟悉软件工程,掌握UML分析设计;,考试的需要,软件设计师 系统分析师 系统架构师,考核方式,平时成绩(50%)课堂表现:出勤、课堂提问随堂实验课后习题 期末考试(50%),扣分情况,迟到,早退,缺勤 使用电脑做与上课无关的事情 课上随便出入教室 手机响了或者接听,本节内容,面向对象的理解- 对象- 类UML 简介- UML的由来- UML的介绍,第一章 面向对象的基本概念,什么是面向对象? 什么是对象? 什么是类?,基本概念-对象,一般意义上的对象 是现实世界中一个实际存在的事物。 可为有形的(如一辆汽车),也可是无形的(如一项
3、计划)。,基本概念-对象,面向对象方法中的对象 是系统用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。 对象由一组属性和一组操作构成。属性:用来描述对象静态特征操作:用来描述对象动态特征,基本概念- 类,分类人类通常的思维方法 分类所依据的原则抽象 注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。 例如,石头、树木、汽车、房屋等都是人们在长期的生产和生活实践中抽象出的概念。,基本概念- 类,面向对象方法中的“类“ 一类或者一组具有类似属性的共同操作的事物 为属于该类的全部对象提供了抽象的描述,包括属性和操作两个主要部分。,基
4、本概念- 类,举例:,类的结构,属性属性是类的一个特性,它描述了类的对象(也就是类的实例)类的属性在该类的每个对象中都有具体值操作操作是类能够做的事情,类的结构,类的结构的举例,学生的属性与操作是什么?,?Question,操作,类 Vs 对象,一个属于某类的对象称为该类的一个实例。,面向对象,面向对象是认识事物的一种方法面向对象方法是一种把面向对象的思想运用于软件开发过程,指导开发活动的系统方法,包括分析、设计和实现等活动,面向对象思想,抽象 继承 多态 封装,类的特性 - 抽象,过滤掉对象的一部分特性和操作直到只剩下你所需要的属性和操作。,类的特性 封装,封装是一种信息隐蔽技术,它体现于类
5、的说明,是对象的重要特性。封装的好处是让设计更flexible,更容易变更。如果封装的好,变更的部分只有实现,接口不需要变化,从而使用者也不需要变化。,设计类或子系统的时候,一项重要任务就是决定哪些特性应该是对外部公开的,哪些应该是作为秘密隐藏起来的,举例:封装,类的特性 继承,继承又叫泛化(generalization)是类和类之间的关系,体现了“is-a-kind-of”的含义子类会继承父类的操作、属性和关系,举例:继承,Question,学生类可以继承什么类呢?学生类可以有哪些子类呢?,类的特性 -多态:,多态性是指在父类中定义的属性和服务为其子类继承后,可以具有不同的数据类型或者表现出
6、不同的行为。多态性的机智不但为软件的结构提供了灵活性,减少信息冗余,而且显著的提高了软件的复用性和可扩充性。,举例:多态,动物,叫:汪汪,叫:喵喵,叫,How the analyst designed it,How the programmer wrote it,How the customer explained it,How the project leader understood it,请问我在哪儿 ?,请问我在哪儿?,你在热气球里,离地面约5米。,荆里周游世界,但迷路了。于是就降低高度,向地面上的人求助,程煦元,UML的由来,UML: Unified Modeling Languag
7、e统一建模语言在Rational Software公司的支援下在于1994年开始成形。UML的标准是由OMG协会在1997年所制定。OMG: Object Management Group,是一个非营利性的组织。,UML简介,统一建模语言(Unified Modeling Language),一种图形化的表示法,用来表达设计概念的图形。 Unified:UML是一种标准语言,广泛运用于全世界。 Modeling:UML用途在于建模 Language:UML是一种建模语言,什么是建模?,建模就是认识现实世界,客观世界,主观世界,认识世界,改造世界,世界是什么样的呢?,什么是建模?,建模Model
8、ing 建立模型的过程例如,航天工程师 太空飞船的模型 建筑工程师 楼房的模型装修设计师 装修效果图,生活中的建模?,一家电信公司给顾客提供两种上网收费方式:方式A:以每分0.1元的价格按上网时间计费。方式B:除收月基费20元外再以每分0.05元的价格按上网时间计算如何选择?,业务流程,计算机系统,可视化建模,“建模获取系统的关键部分”,UML,-41-,上升到面向对象 用面向对象观点观看事物,用对象观点认识事物,A.这里面有什么东东? 类与对象 B.每个东东看上去是什么样的? 类的属性 C.每个东东能做点什么用? 类的方法 D.这些东东都呆在什么地方? 类的行为、状态、部署 E.这些东东之间
9、有什么关系? 类间的关联 F.这些东东是怎么成事的? 类间的交互,我的一个朋友结婚了-A,A.这里面有什么东东? Object Class 我 本剧与我无关 我的朋友 小伙 我朋友的妻子 姑娘 月老 恋人 玫瑰 ,A,我的一个朋友结婚了-B,B.每个东东看上去是什么样的? 每个事物看上去都有自己的属性,在每个属性上都有一个特征值 小伙:体格,特征值:强壮 姑娘:性情,特征值:温柔 月老:年纪,特征值:较大 恋人:关系,特征值:黏糊 玫瑰花:颜色,特征值:火红,D,A,C,B,E,F,我的一个朋友结婚了-C,C.每个东东能做点什么用? 每个事物都具备某种能力 小伙:追求、送花、娶亲 姑娘:爱慕、
10、相许、出嫁 月老:牵线搭桥 玫瑰:示爱,D,A,C,B,E,F,我的一个朋友结婚了-D,D.这些东东都呆在什么地方? 每个事物都会有它合理的或者必须的空间位置和逻辑位置。尤其当这些位置对事物的行为造成重要影响的时候,表明他们的位置极其重要 本剧列出的位置对故事主要情节没有太大的影响,系统中不予考虑,D,A,C,B,E,F,我的一个朋友结婚了-E,E.这些东东之间有什么关系? 事物之间的关系非常多,面向对象的观点一般分为主要的三类: 整体-部分关系(组成和聚合),甲是乙的一个组成部分:如恋人和小伙,恋人和姑娘的关系 抽象-具体关系(泛化),甲是乙的一个特例:如人和小伙,人和月老,人和姑娘的关系 合作关系(关联),甲会对乙做点什么:如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的关系,D,A,C,B,E,F,面向对象,面向对象,面向对象,第一,要改,只需更改要改之字,此为可维护; 第二,这些字并非用完这次就无用,完全可以在后来的印刷中重复使用,此乃可复用; 第三,此诗若要加字,只需另刻字加入即可,这是可扩展; 第四,字的排列其实可能是竖排可能是横排,此时只需将活字移动就可做到满足排列需求,此是灵活性好。”,