《UML系统建模基础教程_教学资料01》由会员分享,可在线阅读,更多相关《UML系统建模基础教程_教学资料01(29页珍藏版)》请在金锄头文库上搜索。
1、面向对象系统分析与设计学时:理论(36)+实验(12) 考试:闭卷 成绩:期末考试(70)平时(15)+实验(15)姚璐 S207面向对象系统分析与设计基本思想在任务明确之后,编码之前,建立一个全局性的设计模型, 为形成最终成绩做基础。UML统一建模语言是一种“统一”的,“建模”类型的语言 ,通用于各种面向对象语言。可联合“软件设计模式”一起学习。面向对象系统分析与设计主要内容第1章 面向对象设计 2第2章 UML通用知识点概述 2第3章 Rational统一过程 2第6章 用例图 4第7章 类图与对象图 4第8章 序列图 4第9章 协作图 4第10章 活动图 4第11章 包图 2第12章 构
2、件图和部署图 2第13章 状态图 2内容分布:概念+画图面向对象系统分析与设计重点内容:l面向对象思想的基本概念 l面向对象的三大要素 l面向对象与项目设计 l用面向对象思想建立系统模型第第1 1章章 面向对象设计与面向对象设计与UML UML 面向对象系统分析与设计一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象技术是一种以对象为基础,以事件和消息来驱动对象执行 处理的程序设计技术。从程序设计方法上来讲,它是一种自下而上的程序设计方法,它不 像面向过程程序设计那样一开始就需要使用一个主函数来概括出整个程 序,面向对象程序设计往往从问题的一部分着手,一点一点地构建出整 个程序。 面
3、向对象设计是以数据为中心,使用类作为表现数据的工具,类是 划分程序的基本单位。而函数在面向对象设计中成了类的接口。1 1、什么叫面向对象、什么叫面向对象? ? 面向对象系统分析与设计对象(object)是面向对象(Object-Oriented,OO)系统的基本 构造块,是一些相关的变量和方法的软件集。 根据韦氏大词典的词典释义,对象有如下两点释义: 某种可为人感知的事物; 思维、感觉或动作所能作用的物质或精神体。2 2、对象、对象 一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计例如:学生管理系统 被管理的信息所属的对象学生; 对学生信息进行管理的管理员; 对学生信
4、息有权进行查询的校方人员; 管理信息的电脑; 学生所在的院系; 学生的学号; 学生的班级; 学生的成绩。2 2、对象、对象 一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计软件对象可以这样定义:所谓软件对象,是一种将状态和行为有机 地结合起来而形成的软件构造模型,它可以用来描述现实世界中的一个 对象。 可以利用软件对象来代表现实世界中的对象:可用一个飞行试驾程 序来代表现实世界中的正在飞行的飞机,或者用机床数控程序来代表现 实世界的运行的机床。同样可以使用对象来表示抽象的概念,比如,点击按钮事件就是一 个用在GUI窗口系统的公共对象,它可以代表用户点击程序界面中的一
5、个确定按钮的动作。 2 2、对象、对象 一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计一、一、ADO.NETADO.NET基础基础 类(Class)是具有相同属性和操作的一组对象的组合,也就是说 ,抽象模型中的“类”描述了一组相似对象的共同特征,为属于该类的全 部对象提供了统一的抽象描述。例如名为“学生”的类被用于描述为被学生管理系统管理的学生对象 。类的定义要包含以下的要素第一,定义该类对象的数据结构(属性的名称和类型)第二,定义对象所要执行的操作,也就是类的对象要被调用执行哪 些操作,比如数据库操作等等。类的用途有如下两点:第一,在内存中开辟一个数据区,存储新对
6、象的属性。第二,把一系列行为和对象关联起来。3 3、类、类一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计一、一、ADO.NETADO.NET基础基础 类的确定和划分通常依赖于设计人员的经验、技巧记忆对实际项目 中问题的把握。通常的标准是“寻求共性、抓住特性”。确定一个类的步骤通常包含以下几个方面:(1)确定系统的范围;(2)在系统范围内寻找对象,该对象通常具有一个或多个类似的 事物;(3)将对象抽象成为一个类,按照类的定义确定类的数据和操作 。3 3、类、类一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计所谓消息(Message)是指描述事
7、件发生的信息,是对象间相互联 系和相互作用的方式。一个消息主要由5部分组成:消息的发送对象、消息的接收对象、 消息传递方式、消息内容(参数)、消息的返回。所谓事件通常是指一种由系统预先定义而由用户或系统发出的动作 。事件作用于对象,对象识别事件并作出相应反应 。当系统中的其它对象请求这个对象执行某个方法时,就向该对象发 送一个消息,对象响应这个请求,完成指定的操作。4 4、消息与事件、消息与事件一、面向对象思想的基本概念一、面向对象思想的基本概念面向对象系统分析与设计二、面向对象的三大要素二、面向对象的三大要素封装、继承、多态是面向对象程序的三大特征。封装(Encapsulation)是把对象
8、的状态和行为绑到一起的机制, 把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。封装有两个含义:一是把对象的全部状态和行为结合一起,形成一 个不可分割的整体。对象的私有属性只能够由对象的行为来修改和读取 。二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口 来实现。封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它 对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的 细节问题。比如说使用手机,我们关注的通常是这个手机能实现什么功能,而 不太会去关心这个手机的是怎么一步步制造出来的。1 1、封装、封装 面向对象系统分析与设计二、面向对象的三大要素二、面向对象
9、的三大要素继承(Inheritance)是一种连接类与类的之间的层次模型。继承是指特 殊类的对象拥有其一般类的属性和行为。继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定 义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属 性和行为。继承对类的重用性,提供了一种明确表述共性的方法。即一个特殊类既有 自己定义的属性和行为,又有继承下来的属性和行为。2 2、继承、继承 面向对象系统分析与设计二、面向对象的三大要素二、面向对象的三大要素多态性(Polymorphism)是指在两个或多个属于不同类中同一函数名 对应多个具有相似功能的不同函数,可以使用相同的调用方式来调
10、用这 些具有不同功能的同名函数。 3 3、多态、多态 面向对象系统分析与设计三、面向对象与项目设计三、面向对象与项目设计1 1、用面向对象方法分析项目需求、用面向对象方法分析项目需求 面向对象系统分析与设计三、面向对象与项目设计三、面向对象与项目设计系统分析的步骤:1.获取需求内容陈述; 2.建立系统的对象模型结构(1)标识和确定类例如:“学生管理系统”暂定类:软件 学生管理系统 系统管理员 学生老师 个人信息 管理员权限 学生的考试成绩学生的班级 日志 数据库维护 校长删减标准: 消除冗余类; 去掉与系统不相干的类; 去掉模糊类; 去除掉属性; 去除掉操作。1 1、用面向对象方法分析项目需求
11、、用面向对象方法分析项目需求面向对象系统分析与设计三、面向对象与项目设计三、面向对象与项目设计系统分析的步骤:(2)准备数据字典 (3)确定关联 (4)确定属性 (5)使用继承来细化类 (6)完善对象模型1 1、用面向对象方法分析项目需求、用面向对象方法分析项目需求面向对象系统分析与设计三、面向对象与项目设计三、面向对象与项目设计系统分析的步骤:3. 建立对象的动态模型。步骤如下:(1)准备脚本;(2)确定事件;(3)准备事件跟踪表;(4)构造状态图; 4. 建立系统功能模型(1)确定输入值、输出值(2)建立数据流图 5. 确定类的操作。1 1、用面向对象方法分析项目需求、用面向对象方法分析项
12、目需求面向对象系统分析与设计1.面向对象设计的准则:(1)模块化(2)抽象(3)信息隐匿(4)低耦合(5)高内聚 2. 面向对象设计的启发规则:(1)设计的结果应该清晰易懂(2)一般到具体结构的深度应适当(3)尽量设计小而简单的类(4)使用简单的消息协议(5)实用简单的函数或方法(6)把设计变动减至最小2 2、用面向对象的方法设计系统、用面向对象的方法设计系统三、面向对象与项目设计三、面向对象与项目设计面向对象系统分析与设计3. 系统设计一般步骤:(1)分解系统(2)确定并发性(3)处理器及任务分配(4)数据存储管理(5)全局资源的处理(6)选择软件控制机制(7)人机交互接口设计2 2、用面向
13、对象的方法设计系统、用面向对象的方法设计系统三、面向对象与项目设计三、面向对象与项目设计面向对象系统分析与设计瀑布模型也被称为生存周期模型,其核心思想是按照相应的工序将问题进 行简化,将系统功能的实现与系统的设计工作分开,便于项目之间的分工与 协作。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、 软件实现、软件测试、软件运行和维护这6个阶段。1 1、瀑布模型、瀑布模型 四、用面向对象思想建立系统模型四、用面向对象思想建立系统模型面向对象系统分析与设计优点:有利于软件开发过程中人员的组织及管理。缺点:(1)只有在项目生命周期的后期才能看到结果。(2)通过过多的强制完成日期和里程
14、碑来跟踪各个项目阶段。(3)在软件需求分析阶段,要完全地确定系统用户的所有需求是意见比较 困难的事情,甚至可以说完全确定是不太可能的。适用领域:对于能够在前期确定需求的项目,瀑布模型还是有一定价值的。1 1、瀑布模型、瀑布模型 四、用面向对象思想建立系统模型四、用面向对象思想建立系统模型面向对象系统分析与设计喷泉模型是一种以对象为驱动、以用户需求为动力的模型,主要用于描述面 向对象的软件开发过程。该模型认为软件开发过程自下而上周期的各阶段是 相互重叠和多次反复的,就像水喷上去又可以落下来,类似一个喷泉。2 2、喷泉模型、喷泉模型四、用面向对象思想建立系统模型四、用面向对象思想建立系统模型面向对
15、象系统分析与设计优点:可以提高软件项目的开发效率,节省开发时间,适应与面向对象的 软件开发过程。缺点:(1)开发过程中需要大量的开发人员,不利于项目的管理。(2)这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能 随时加入各种信息、需求与资料的情况。2 2、喷泉模型、喷泉模型四、用面向对象思想建立系统模型四、用面向对象思想建立系统模型面向对象系统分析与设计基于构件的开发模型利用模块化方法将整个系统模块化,并在一定构件模型 的支持下复用构件库中的一个或多个软件构件,通过组合手段高效率、高质 量地构造应用软件系统的过程。3 3、基于组件的开发模型、基于组件的开发模型四、用面向对象思想建立
16、系统模型四、用面向对象思想建立系统模型面向对象系统分析与设计优点:构件组装模型导致了软件的复用,提高了软件开发的效率。缺点:(1)缺乏通用的组装结构标准,引入了较大的风险,可重用性和软件高效 性不易协调,同时需要精干的有经验的分析和开发人员。(2)客户满意度低,并且由于过分依赖于构件,所以构件库的质量影响着 产品的质量。3 3、基于组件的开发模型、基于组件的开发模型四、用面向对象思想建立系统模型四、用面向对象思想建立系统模型面向对象系统分析与设计敏捷方法强调适应性而非预测性、强调以人为中心,而不以流程为中心, 以及对变化的适应和对人性的关注,其特点是轻载、基于时间、紧凑、并行 并基于构件的软件过程。在所有的敏捷方法中,XP(EXtreme Programming)方法是最引人注目的一 种轻型开发方法。它规定了一组核心价值和方法,消除了大多数重量型开发 过程中的不必要产物,建立了一个