黄老师 发表于 2013-8-13 08:29:20

大工13春《管理信息系统》辅导资料十一

大工13春《管理信息系统》辅导资料十一
主    题:第九章面向对象的系统分析与设计(第1—4节)
学习时间:2013年6月10日-6月16日
内    容:
第九章面向对象的系统分析与设计(第1—4节)
学习第九章中的第1—4节,这部分重点是面向对象方法的概念;面向对象的分析与设计方法。
    第一节 面向对象的基础理论
   一、面向对象的基本概念
1.面向对象(object oriented)方法,简称OO方法。是基于“对象”概念的分析与设计方法,认为信息系统是按照不同抽象层次组织的对象的集合。作为一种新颖、具有独特优越性的方法,近年来被广泛应用于软件、硬件各个领域。
2.面向对象方法的提出
传统的系统开发方法常使软件工程师面对以下两个困境:
• 修改困难;
• 代码的重用率低。
3.面向对象方法学的出发点和基本原则
(1)尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类认识世界、解决问题的方法与过程。
(2)人们在认识和理解现实世界的过程中,普遍运用以下三个构造法则:
        区分对象及其属性,如区分车和车的大小;
        区分整体对象及其组成部分,如区分车和车轮;
        不同对象类的形成及区分,如所有车的类和所有船的类。
4.面向对象所带来的好处
(1)程序的稳定性与可修改性
(2)可复用性
5.对象(Object)
在OO方法中,对象就是我们在问题空间中要考虑的那些人或事物,它具有一组属性和一组操作,这些属性的值刻画了一个对象的状态;这些操作是对象的行为,通过它们改变对象的状态(即属性值)。泛指所要研究的具体事物、抽象概念等。不同应用领域中的对象称为问题对象,由一组数据和施加于这些数据上的一组操作封装而成的。
对象是对一组信息及对其的操作的描述,是可以看到、摸到或感觉到的一种实体。
构成对象的基本要素包括:标识、数据、操作、接口。
   记录对象静止特征的数据,包括:
          公共数据:对外界是可见的,用于对象间信息的传递;
          私有数据:私有数据则是对象操作实现过程中的局部信息,外界不可见。

6.属性(Property):属性即对象所包含的信息。
  7.方法(Method) :即对象所具有的各种操作。
  8.事件(Event)
即对象在执行某一操作后激发并执行的一个或多个过程。
 这些过程对用户是透明的,用户可以为这个过程编写自己的程序代码,以完成特定的操作。
9.类(Class)与实例(Instance)
与对象相关的两个概念是对象类和实例。
(1)对象类简称类,是指有相同属性和服务的一组相似对象的集合。例如,有对象“客车”、“货车”、“拖车”等,它们属一个共同的类——“车辆”;对象“桃树”、“橡树”、“松树”等属于类——“树”。
    对象集合的抽象规定了相似对象的公共状态与行为特征。
(2)实例(Instance)
一个对象就是该对象所在类的一个实例,或者说实例是以类为模板创建的一个特定对象。
类与实例的关系:类是抽象虚无的,实例是具体实在的,如同数据类型和变量的关系。在程序运行过程中根据类定义来创建实例,每个实例互不干扰,各自有自己独立的存储空间,保存自己特有的属性。但每个实例的服务过程是相同的。
10.继承(Inheritance)
继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。
在软件开发中使用继承可以明显地带来两个方面的好处:
   (1)可以简化系统的描述和实现;
   (2)较好地实现软件重用,提高效率。
有继承关系的类之间应具有如下特性:共享性、差异性、层次性。
继承最重要的优点在于支持重用。
11.消息(message)
消息是实现对象与对象间相互合作的通信载体,是连接对象的纽带。从实现的角度看,消息就是请求对象执行某个处理或提供某些信息的要求,既可以是数据流,又可以是控制流。
面向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要一个机构协助进行,这样的机构可以称为"消息传递"。消息传递过程中,由发送消息的对象(SENDER)的使动操作产生输出结果,作为消息(MESSAGE)传送至接受消息的对象(RECEIVER),引发接受消息的对象一系列的操作。所传送的消息实质上是接受对象(RECEIVER)所具有的操作/方法名称,有时还包括相应参数。
12.小结:“面向对象”是一种认识客观世界的认知方法学,亦是一种解决问题的思维方法。
二、基于面向对象方法的系统开发生命周期
面向对象系统开发:将面向对象技术用于系统开发的全过程,包括分析、设计、编程、测试及集成等。整个过程可从宏观和微观两个层面去理解。
第二节 面向对象方法的建模工具
统一建模语言是一种支持面向对象系统开发过程的工具。
   一、UML的产生与发展
面向对象建模语言出现于70年代中期。至1994年,建模语言的种类激增至五十多种。最突出的问题是,缺乏支持分析、设计及实施各阶段成果有效交流的公共平台。
Grady Booch、James Rumbaugh和Ivar Jacabson三人共同推出了标准建模语言UML。
自1995年开始,许多公司纷纷支持UML标准,逐渐形成UML联盟。之后持续发展。
二、UML的基本模型
UML提供一套相互组合的图表元素,支持以图形方式对系统需求、功能、结构等内容进行建模,描述系统组成结构、功能结构及实现细节,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。
从组成结构角度看,UML包括九种基本图。   
1.类图
类图几乎是所有面向对象开发方法的支柱。类图描述类和类之间的静态关系,比如关联、聚类、组成和继承关系。类图不仅显示了信息的结构,还描述了系统的行为,是定义其它图的基础。
   2.对象图
对象(Object)是类的实例,具有具体属性值和行为。对象图常用于表示复杂类图的一个实例,对象之间的链(Link)是类之间的关联的实例。
在UML中,对象图与类图具有几乎完全相同的表示形式,主要差别是对象的名字下面要加一条下划线。
   3.用例图
用例是从用户的观点对系统行为或系统使用场景的描述。
需求分析阶段的用例模型是系统开发者和用户反复讨论的结果,应能够充分表达开发者和用户共同认可的需求内容。
   4.状态图
   表述在任何给定的时刻,一个对象所处的某一特定状态。比如,电梯可以处于上升、停止或下降状态。状态图描述一个特定对象的所有可能的状态以及引起状态转换的事件。
   5.时序图
表达对象之间的基于时间的动态交互关系,着重体现对象间消息传递的时间顺序。时序图存在两个轴:水平轴表示不同的对象,垂直轴表示时间。
   6.活动图
    用途:既可用来描述操作(类的方法)的行为,也可以描述用例和对象内部的工作过程。简单来说就是描述动作及动作之间的关系。
依据对象状态的变化来捕获动作(将要执行的工作或活动)与动作的结果。一个活动结束后立即进入下一个活动,用例和对象行为的各个活动之间通常也具有时间顺序。
7.协作图
表达系统中相互合作的对象为完成目标之间的交互关系和链接关系。与时序图着重体现交互的时间顺序不同,协作图强调交互对象间的静态链接关系。
8.组件图
用于明确系统各部分的功能,例如在图书管理系统中可以包括“借/还书处理”、“信息查询”等组件。
9.配置图
用于显示信息系统的物理体系结构,可以描述计算机和设备,展示其连接以及驻留在每台机器中的软件。
   第三节 面向对象的分析与设计过程
   一、面向对象系统分析的过程
面向对象系统分析的基本任务:找出并规定该问题域中根据系统各项要求而行动并相互作用的对象,并依据这些对象及其关系建立问题域模型。
面向对象分析的基本步骤:
   1.问题域陈述:通过与用户不断交流,开发人员获得对问题域详尽的陈述。
   2.识别对象/类
把对象分为以下三类:
实体对象指在问题领域中直接认识到的对象;
接口对象是一种技术性对象,用于连接应用(应用问题/应用软件)和外界系统或用户;
控制对象主要用来协调实体对象和接口对象的活动。 分析阶段识别的主要是实体对象。
   识别对象的准则:搜寻准则、判别准则、检验准则。
   3.确定对象的属性:分析与选择。
   4.确定对象的服务:对象行为。
   5.确定对象/类的关系
   对象之间的关系主要分为以下三种:
概括(继承)--是类与其衍生体之间的关系;
聚集--是对象间存在的一种整体与部分的关系,例如地址,其中可包括省名、县(市)名、街名、门牌号及邮政编码等部分;
消息连接--是一种调用关系,表示一个对象在某种情况下依赖于另一对象提供某种或某些服务,类似于人机系统的交互方式。这部分放在设计阶段完成。
    二、面向对象系统设计的一般步骤
    面向对象设计阶段要解决的问题:
 把分析阶段确定出来的对象和类配置起来以实现系统功能。
 建立系统的体系结构。
面向对象设计阶段具体任务:
 对实体对象进行增、并、改,并识别接口对象和控制对象。
 确定实体对象、接口对象和控制对象之间的各种关系。
 完善对象类结构图,组织系统的体系结构。
(一)识别和安排接口对象
确认接口对象/类的准则:
为用户、主要设备安排接口对象,称之为中央接口对象。
对于特制的图形用户接口(GUI),分别建立接口对象,它们可与中央接口对象通信联系。
对于其他类型设备(如输出处理设备)可增配接口对象。
(二)识别控制对象
控制对象通常是暂时的或瞬间的,只存在于某一系统事件的发生过程中。
判别实体对象与控制对象的规则:若一个对象包含属性并且是永久的,则该对象为实体对象,若一个对象不包含属性并且是暂时的,则该对象为控制对象。
一个控制对象最好只同一个与系统交互作用的实体相联系,以减少变化的影响。太复杂和缺乏功能凝聚性的控制对象应分解,具有强烈的功能凝聚性的控制对象则应合并。
(三)明确实体对象、接口对象和控制对象间的联系
(1)静态联系:实体对象间的静态联系在分析阶段已经确定。接口对象间、控制对象间也存在静态联系,需进一步确认。
(2)消息连接:接口对象与实体对象、控制对象与实体对象、接口对象与控制对象间都只存在消息连接。
(四)系统结构设计
系统的体系结构是一种组织机制,利用这种机制把系统分为若干个子系统(模块或组件),全面地反映系统各个层次的结构、功能及动态特征。
在面向对象系统中,体系结构是用代表较高级抽象的类组来表达。
第四节面向对象的系统实施
系统实施阶段主要进行:
 编程语言的选择。
 面向对象应用程序框架的构建。
 面向对象应用程序编写等。
本周要求掌握的内容如下:
面向对象的基本概念、UML的基本模型、面向对象的分析与设计。
练习:1、与传统开发方法相比,面向对象的系统开发方法主要解决了哪些问题?
2、试简述UML包括多少种基本模型?
3、采用面向对象系统分析的主要成果是什么?
1. 面向对象技术中,对已有的实例稍作修改生成新的实例的机制被称为(C)。
(A) 委托   
(B) 代理
(C) 继承   
(D) 封装
2. 它包含十种图,其中,用例图展示了外部actor与系统所提供的用例之间的连接,UML中的外部actor是指(D)。
(A) 人员
(B) 单位
(C) 人员或单位
(D) 人员或外部系统
3. UML中用例可以用(C)图来描述。
(A) 类
(B) 状态
(C) 活动
(D) 协作
4. 协作图描述了协作的(A)之间的交互和链接。
(A) 对象
(B) 类
(C) 用例
(D) 状态
5.在使用UML建模时,若需要描述跨越多个用例的单个对象行为,用(D)最适合。
(A) 协作图
(B) 序列图
(C) 活动图
(D) 状态图
页: [1]
查看完整版本: 大工13春《管理信息系统》辅导资料十一