mis课件 (5).ppt_第1页
mis课件 (5).ppt_第2页
mis课件 (5).ppt_第3页
mis课件 (5).ppt_第4页
mis课件 (5).ppt_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 系统分析,开始上课!,信息化网站 企业信息化网站 先进制造技术网站 。 百渡网站 制造业信息化 httpwww.e-,系统分析,系统分析,系统分析的任务,系统的详细调查,结构化的系统分析,面向对象的系统分析,4.1 系统分析的任务,系统分析阶段: 进行新系统的逻辑设计。首先对企业进行详细调研,了解用户需求、业务流程、了解信息的输入、处理、存贮和输出,然后建立新系统的逻辑模型。借助数据流图、数据字典及文字说明写出新系统逻辑设计文档(系统分析说明书)。 系统分析的内容 组织机构与功能分析。 业务流程分析。 数据与数据流程分析。 功能(过程)/数据分析。 系统改进方案与新系统逻辑方案分析。,

2、4.2 系统的详细调查,详细调查的调查方法 系统业务调查,4.2.1 详细调查的调查方法,信息的采集方法 开调查座谈会; 重点询问的方式; 发调查表(如:部门功能调查表、业务流程调查表、企业概况调查表); 观察、取样调查法; 深入实践的调查方法; 查阅资料; 原形法;,调查内容,信息的分类 有关组织的信息 组织目标、组织结构图、职能部门的目标、政策 有关人员方面的信息 权利与职责的关系、工作责任、信息需求 有关工作方面的信息 作用与工作流、执行工作的方法和步骤、工作进程和工作量、作业和工作的性能指标 有关工作环境方面的信息 工作区域的物理分布、可用资源,4.2.2 系统业务调查,系统业务调查主

3、要有三部分内容: 组织结构分析:通过组织结构图来实现,将调查中所了解的组织结构具体地描绘在图上; 业务过程与组织结构联系分析:通过业务与组织关系图来实现,利用系统调查中所掌握的资料着重反映管理业务过程与组织结构之间的关系; 业务功能一览表:把组织内部各项管理业务功能都用一张表的方式罗列出来。,组织结构图,组织结构图是一张反映组织内部之间隶属关系(上下级关系)的树状结构图,如P309图18.2。 除了后勤等与企业生产、经营、管理环节无直接关系的部门外,其它部门一定要反映全面、准确。 为了表明企业的运行过程,往往也画出企业物流和管理组织关系图,如P309图18.3。 管理的组织结构形式参见P38面

4、2.3节管理的组织,它包括U型组织、M型组织和H型组织三种基本形式。,组织/业务关系分析,用组织/业务关系图反映组织各部分的主要业务职能和它们在业务过程中所承担的工作。,*:表示该业务是对应组织的主要业务; :表示该单位是参加协调该项业务的辅助单位; :表示该单位是该项业务的相关单位(或称有关单位); 空格:表示该单位与对应业务无关。,业务功能一览表,业务功能一览表是一个完全以业务功能为主体的树型表,用于描述组织内部各部分的业务和功能。 画出业务功能一览表的目的是使我们在了解组织结构的同时,对于依附于组织结构的各项业务功能也有一个概貌性的了解,也可以对于各项交叉管理、交叉部分各层次的深度以及各

5、种不合理的现象有一个总体的了解。 在设计和考虑系统的时候应该以功能为准,使系统对组织结构的变化有一定的独立性。,业务流程分析,描述一个作业所涉及的组织,又描述组织在此作业中的作用,又描述作业进行的时间顺序的图叫业务流程图(Transaction flow diagram,TFP)。业务流程分析的目的是理顺业务过程,发现问题、分析不足,优化业务处理过程。,业务处理单位,业务处理描述,表格制作,信息传递,存储,业务流程图,汽车配件公司销售的业务流程图:,缺件订货单,进货通知单,销售记录,进货记录,采购部,进货处理,缺件的供,货处理,备货单,仓,库,库存记录,业务流程分析,对每一业务弄清其输入、处理

6、、存贮、输出、立即存取要求,收集相应资料。上例: 输入:订货单、进货通知单 处理:验收订单、供货处理、缺货处理、进货处理、缺件的到货处理。 存贮:进货记录、库存记录、顾客档案、缺件订单表、销售历史。 输出:各货单、缺货通知单。 立即存取要求:经营情况、库存情况、未供货情况。 理顺各个岗位、各个业务流程之间的关系。 除去不必要的环节,对重复的环节进行合并,对新的环节进行增补。 确定哪些是今后计算机系统要处理的环节。,4.3 结构化的系统分析,数据流程图 数据字典 处理逻辑的表达工具 功能/数据分析 新系统逻辑模型的确定,4.3.1 数据流程图,数据流程图(Data Flow Diagram:DF

7、D) 定义:用一组符号来描述整个系统中信息的流动、存贮及变化的全貌。实体、数据流向、数据处理及数据存储表示如下:,特点:抽象性:把具体的组织机构、工作场所、物质流都去掉, 只剩下信息和数据存储、流动、使用以及加工情况。概括性:把系统对各种业务的处理过程联系起来考虑,形成一个总体。,数据存储,序号,数据流向,数据流程图,DFD的画法: 采用结构化系统分析方法SA:自顶向下,逐层分解,逐步求精的分析方法。 通过分解与抽象的办法,把IS按空间维进行分解。采用空间维分解的办法,抽象出若干子系统,对每个子系统再抽象出若干逻辑功能,对复杂功能再往下分解(抽象:抓住关键的,忽略次要的细节)。 画DFD的步骤

8、: 第一步:绘制环境图(说明系统的外部实体以及系统与这些外部实体之间的数据交换)。 第二步:绘制零层图(相对概括地反映出信息系统最主要的处理功能、外部实体、输入和输出数据流、数据存储。,画DFD的步骤,第三步:分解加工,画出各级子图(描述父图中某一个子系统或过程的扩展数据流程图) DFD层次分解的两种方法:扩展法和爆破法 扩展法:下一层数据流程图是上一层数据流程图更为详细的描述。 爆破法:分层次构造一系列数据流程图(将环境图中的处理过程分解为一系列子过程,而每一个子过程又进一步分解为一系列更为详细的子过程(子过程按层次编号)。 第四步:构造总体数据流程图。把分解后的DFD碎片装配起来,画出DF

9、D的总图。如用最低层基本加工装配太庞大,而高层DFD又过于抽象,可选择适当层次的子图来装配总图。要求:总图既有全局概念,又清晰易懂。,4.3.2 数据字典,1)数据字典概念 数据字典书定义和陈述数据的所有细节,包括数据元素本身及它的数据流(动态的)、存储(静态的)、处理等的档案工具。数据字典是一组卡片(数据流、数据项、数据存储、处理功能)的集合。,数据字典,2)数据字典描述 数据字典描述包括数据元素和数据结构的描述、处理逻辑的描述、数据存储的描述。 (1)数据元素的描述 A 数据元素(数据项)的名称:它由130个字符(包括数字、字母、连接符)组成。注意,一般用英文字母开头,连接符不要放在前或后

10、。数据项名称描述时,可以有别名,别名是不同的用户部门,对同一个数据元素的内部同名称。 B 数据元素的值:数据元素的值可以是离散的,也可以是连续的。对于 离散型的元素,要对每个元素指出其值和含义,值用一个“编码”表示,含义用“意义”表示,一般在某一系统中是长期不变的。 C 数据类型和长度:数据类型分为字符型数据、数值型数据、日期型数据、逻辑型数据、备注型数据、通用型数据等,一般分别用C、N、D、L、M、G表示。,数据字典描述,(2)数据结构的描述 数据结构描述是数据组成的描述,它代表数据流或数据存储的逻辑组成。在数据结构描述中,注意有3种特殊项的表示: A 任选项(即为可有可无的数据项)用 表示

11、。 B 必须项(多个数据中必须出现其中之一)用 表示 C 重复项(可多项重复出现的数据项)用*表示。 (3)处理逻辑的描述 处理逻辑是指处理元素的有关算法(包括计算、查询、转换、检索等)。处理逻辑的描述主要描述输入、处理 、输出。这种描述草原黑盒子结构,即知道输入的数据元素和输出的数据元素,确定黑盒子具有哪种处理能力。,数据字典,(4)数据存储的描述 数据存储描述是对记录的静态数据的描述,主要描述静态数据的数据结构、输入数据流、输出数据流。 3)数据字典卡片 包括数据元素卡片、数据结构卡片、数据流卡片、数据存储卡片和处理功能卡片。,4.3.3 处理逻辑的表达工具,1)决策树表达树工具 决策树:

12、用来描述一个功能模块的逻辑处理过程,是结构化英语的另一种表现形式; 2)判定表表达工具 判断表:用来表达逻辑判断的工具,它能把所有的条件组合充分地表达出来,但其建立过程较为繁杂,表达方式不如前面两者简便;,处理逻辑的表达工具,3)结构化英语 结构化英语:用来描述一个功能单元逻辑要求,不同于自然英语语言,有三种基本结构顺序结构、判断结构和循环结构,并利用几个关键词来完成对模块处理过程的描述,如IF,THEN等。 4)数据立即存取图表达工具 数据立即存取图表达工具是用来定义那些用户需要且系统能够实现的实时查询信息(包括实体和属性)。,4.3.4 功能/数据分析,功能/数据分析就是要确定系统的功能子

13、系统以及各个功能子系统与数据之间的关系。 功能/数据分析通过U/C阵的建立和分析来实现。 U/C阵的建立采用自顶向下的方法,首先确定系统的功能类和数据类,然后填上功能/数据之间的关系(Create/Use/不填),见P315图18.8。 U/C阵的正确性检验 完备性检验:具体的数据类必须有一个产生者和至少一个使用者。 一致性检验:具体的数据类有且仅有一个产生者,如有多个产生者,则产生了不一致性现象。 无冗余性检验:表中不允许有空行空列。,功能/数据分析,U/C阵的求解:对系统结构划分的优化过程。 它是基于子系统划分应相互独立,而且内部凝聚性高这一原则之上的一种聚类操作。 其具体作法是使表中的“

14、C”元素尽量地靠近U/C阵的对角线,然后再以“C”元素为标准划分子系统。 U/C阵的求解过程是通过表上作业来完成的,其具体作法是调换表中的行变量或列变量,使得“C”元素尽量地朝U/C阵的对角线靠近。 系统逻辑功能划分:在求解后的U/C阵中划出一个个的小方块,见P321图18.13。划分时应注意: 沿对角线一个接一个画,既不能重叠,又不能漏掉任何一个数据和功能。,功能/数据分析,小方块的划分是任意的而不是唯一的,具体如何划分要根据实际情况以及分析者个人的工作经验和习惯来定,但必须将所有的“C”元素都包含在小方块内。每一个小方块就是一个子系统。 数据资源分布 对系统划分并确定了子系统后,所有的数据

15、被分隔成了两类:一类在小方块内;一类在小方块外。小方块内的数据主要在本子系统内处理,小方块外的数据则反映了各子系统之间的数据联系,主要通过网络来共享(数据传输,共享数据库)。,4.3.5 新系统逻辑模型的建立,新系统逻辑方案指的是经分析和优化后,新系统拟采用的管理模型和信息处理方法。因它不同于计算机配置方案和软件结构模型方案等实体结构方案,故称逻辑方案。 新系统逻辑方案的建立是系统分析阶段的最终成果。主要包括:对系统业务流程分析整理的结果;对数据及数据流程分析整理的结果;子系统划分的结果;各个具体的业务处理过程,以及根据实际情况应建立的管理模型和管理方法。,新系统逻辑模型的建立,确定合理的业务

16、处理流程 删去或合并多余的或重复处理的过程; 优化和改动业务处理过程,原因是什么; 确定最终的业务流程图; 指出业务流程图中哪些部分新系统(计算机软件系统)可以完成,哪些需要用户完成,或需要用户配合新系统来完成。 确定合理的数据和数据流程 删去或合并多余的或重复的数据处理过程; 优化和改动数据处理过程,原因是什么; 确定最终的数据流程图; 指出数据流程图中哪些部分新系统(计算机软件系统)可以完成,哪些需要用户完成,或需要用户配合新系统来完成。 确定新系统的逻辑结构和数据分布,新系统逻辑模型的建立,确定新系统的管理模型就是确定今后系统在每一个具体的管理环节上的处理方法。一般应根据系统分析的结果和

17、管理科学方面的知识来定。 1.综合计划模型 2.生产计划管理模型 3.库存管理模型 4.财会管理模型 5.成本管理模型 6.经营管理决策模型 7.统计分析模型 8.预测模型,4.4 面向对象的系统分析,面向对象系统分析的概述 确定对象及对象类 确定对象的内部特征(属性、服务)(特征层) 确定对象的外部特征(联系)(关系层) 建立主题层 编制OOA文档,4.4.1 面向对象系统分析的概述,(1)面向对象的系统分析(OOA) 面向对象的系统分析,即OOA是OO犯法的一个组成部分,它利用面向对象方法进行系统分析,即在明确用户需求的基础上,通过对问题空间的分析,建立以对象为基本单元的信息系统的逻辑模型

18、。 OOA的主要目的是利用面向对象的方法,站在对象的角度对所要研究的问题空间及系统责任进行深刻的理解,正确认识问题空间中的事物及其事物之间的关系,识别描述问题空间及系统责任所需的对象及类,定义对象及类的属性与服务,建立与问题空间和系统责任相映射。,面向对象系统分析的概述,(2)系统分析方法简述 1)功能分析法:是以功能为中心来理解和描述系统的,它需要根据系统的目标要求定义系统的功能、子功能以及功能之间的接口,并据此设计数据结构。 2)结构化分析法:又叫数据流法,它是从研究数据如何在问题空间中流动,被加工和存储入手,把问题空间映射为由数据流、加工、存储以及外实体等成分构成的数据流图以及其他说明工

19、具,以此来定义和构造信息系统。 3)信息建模法的基本概念是实体和关系。实体描述了问题空间的一个事物,它包含一组描述事物数据信息的属性;关系则是问题空间中各事物之间的数据联系,它也是有自己的信息属性;这种方法在发展后期也把实体称作对象,把实体之间关系的属性信息组织到关联对象中去。,面向对象系统分析的概述,(2)系统分析方法简述 上述三种方法在系统愤怒系中受到局限。OOA作为一种分析方法,应用面向对象方法中对象与类、属性与服务、封装与继承、基于消息的通信等概念和原则,可以实现问题空间和系统责任比较精确的理解和描述,使对象模型更能反映客观世界的现实。因此,相比较其他方法来讲,OOA是一种发展前景较为

20、广阔的未来主流的系统分析方法。,面向对象系统分析的概述,(3) OOA的系统模型 OOA的系统模型包括三大部分: 1)基本模型 基本模型是以类图的形式来表达系统最重要的信息,而类图则由类、属性、服务、一般特殊结构、整体局部结构、实例连接和消息连接等主要成分所构成。这些成分所表达的模型信息可分为三个层次: 对象层:给出了系统中所有反映问题空间及系统责任的对象,用类符号来表达属于每一类的对象。 特征层:给出了每一类机器所代表对象的内部特征,即每类的属性与服务,描述了对象的内部构成状况及细节。 关系层:给出了各个类及其所代表的对象彼此之间的关系。,面向对象系统分析的概述,概括地说,OOA基本模型分别

21、描述了: A 系统中就该具有的哪几类对象 B 每一类对象的属性和服务是什么 C 各类对象与外部的联系状况 (2)补充模型 补充模型由主题图、使用实例和交互图构成。 主题是具有较强联系的类组织的集合体,它是对系统类图的进一步抽象,是较高层次上系统的视图。 使用实例是对系统功能使用情况的文字描述,每个使用实例对应着系统中的一个功能,它描述系统的外实体与系统之间的信息交流关系。,面向对象系统分析的概述,交互图是一个使用实例与完成相应功能的系统成分之间的对照图,它具体表明了使用实例中陈述的事件是由系统中的哪个服务来响应和完成,以及 这个服务在执行过程中又进一步用到哪些其他对象中的服务。 (3)系统的详

22、细说明 详细说明是按照面向对象方法的要求格式对系统模型作出的进一步的解释,它主要由类描述模板构成。类描述模板主要以文字方式给出,但有时也附加一些图表说明。,面向对象系统分析的概述,(4) OOA的基本步骤 OOA分析方法是建立在对处理对象客观运行状态的信息模拟(实体关系图和语义数据模型)和面向对象程序设计语言的概念基础之上,用OOA分析一个事物时,遵循五个基本步骤: 确定对象(object)和类(class):对象是对数据及其处理方式的抽象,反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。 确定结构(stru

23、cture):结构是指问题域的复杂性和连接关系。类成员结构反映了泛化特化关系,整体部分结构反映整体和局部之间的关系。,OOA的基本步骤,确定主题(subject):主题是指事物的总体概貌和总体分析模型。 确定属性(attribute):属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。 确定方法(method):方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定。,4.4.2 确定对象及对象类,一个适合于所研究客观世界问题空间的对象集合能够确保软件的可重用性,提高可扩充性;而不适合的或错误的对象集合则会造成软件开发的障碍。因此,

24、确定对象应OOA的基础。 1)确定对象 对象是客观世界问题空间中人、地点和事物的抽象描述,是其相关属性和处理这些属性的服务的封装体,是系统分析中具有独立意义的实体。对象是构成系统的基本单位。 (1)发现对象 发现对象是从问题空间、系统边界、系统责任、用户需求资料等入手,尽可能全面发现系统组成中的候选对象。 (2)筛选对象 筛选对象是指所得到的对象清单进行全面的审查,从中舍弃那些无用的对象,精简、合并一些有用的对象,所得到的对象集就是我们系统中应该确定的对象。,确定对象及对象类,(3)构建对象 构建对象即命名对象,封装对象的属性和服务性。命名对象应采用“名词或形容词+名词”的形式作为对象名,尽可

25、能选择能反映主题的标准词汇、其含义应具体、明确且无二义性。 2)确定类 (1)确定类的原则 A 从对象集合到类采用的是抽象原则。类是对象的抽象,对象是类的实例,每个对象总是属于一个类。 B 类名、属性和服务中所有涉及的英文字母的首字母大写,且所有名字均为单数,并对应着一定的含义。 C 在定义对象类时,必须对所出现的异常情况做出检查、修改和调整。,确定对象及对象类,D 确定类时应正确把握类的命名原则: 类的命名应符合这个类所包含的每一对象; 类的命名应反映每个对象的个体、而非群体; 类名应采用名词或带有定语的名词,而非动词; 类名应采用 用户惯用的词汇以及规范的词汇; 应避免使用毫无意义的字符、

26、数字或符号作为类名。 (2)建立类图 为每个对象抽象一个类。用类符号表达出所定义的类,其中主动对象类名前应家上其标记“”,这样即可形成OOA基本模型中的对象层。,4.4.3 确定对象的内部特征,对象内部特征包括对象的属性及服务,确定对象的属性和服务就是研究对象的特征。 1)确定对象的属性 对象属性是指对象内封装的数据,它描述了对象的内部特征,是待开发系统中所有待存储数据的反映,对象只有在其封张的那些数据之上才能工作。确定属性可利用实体关系图(ER图)来确定。 确定属性分为4步: 寻找属性; 筛选属性; 属性命名和定位; 属性说明。,确定对象的内部特征,(1)属性的分类 A 根据属性值的特征可以

27、把属性分为3类: 单值属性:是指属性值在任何时刻是有一个值或一种状态,它是属性中最常见的属性类型。 互斥属性:是指属性值的出现依赖于其他属性值的出现与否的属性,经常与特定问题空间相联系,讨论该属性与问题空间中特定类的其他属性联系时,才能确定这类属性的存在。 多值属性:是指任何时都具有多个值的属性。,确定对象的内部特征,B 根据属性值的来源和使用特点可以把属性分为4类: 描述性属性:属性值通过对象建立、改变而产生。 定义性属性:属性值使用于超过一个成员以上的对象分类。 综合可得性属性:属性值在任何时刻皆可由其他数据获得的属性。 偶尔可得性属性:有时候可由其他数据获得,如奖励属性,只有学生达到奖励

28、标准的学期才能获得奖。,确定对象的内部特征,(2)寻找属性 寻找属性的方法一般有两种: 根据实体关系图中需要存储的属性来确定属性; 根据对象系的描述来确定。 寻找属性应从以下的角度去进行: A 根据问题空间的特征,来确定每个对象应该拥有的单值属性; B 根据系统责任的要求,来探讨对象的定义性属性; C 按照对象在问题空间中的一般常识,来确定对象的常用描述性属性; D 按照对象必须记忆的要求来了解一些通过前面寻找没有发现的不明显属性、单值属性或多值属性。 E 从对象存在的状态,区别其他队长的特征,来设置属性。 F 从整体部分结构和实例连接的要求出发,在有关对象中设置相应的属性。,确定对象的内部特

29、征,(3)筛选属性 属性筛选应考虑到以下原则: 适应性原则:即所选择的属性对表达对象的实例是适用的,对所考虑的客观世界中的事物是必不可少的。 原子性原则:即所选择的属性在概念上是不可分的,在实际中对应着事物的一个原子性特征。 无冗余的原则:即属性在对象类中不允许重复出现,也不允许一个属性的值通过另一个属性或另外几个属性的值推导而出,否则这个属性应该删除,以保持属性中没有冗余。 体现对象本身的特征和反映系统的责任原则:即选择的实行应能确切描述与问题空间特征相对应的信息,应是实现系统功能和目标所需要的信息。,确定对象的内部特征,(4)属性的命名和定位 属性命名原则为:使用名词或带定语的名词以及规范

30、的行业领域通用的词汇,避免使用无意义的字符、符号或数字,且命名应无二义性。 确定属性的位置采用的是继承的原则,主要针对的是分类结构,即一般特殊结构。 (5)属性说明 包括以下主要信息: 以简练的文字,对属性的意义和作用进行描述; 对属性数据类型进行确定,常用的数据类型有整数、实数、字符串、数组、结构、指针等; 对于表示整体部分关系或实例连接关系的属性,应做出进一步解释说明; 对属性的某些特征值进行详细定义,如属性的取值范围、初始值、峰值、精度、度量单位等进行说明。,确定对象的内部特征,2)确定对象的服务 服务的确定是由系统分析员与用户共同合作完成的,分为4步: (1)寻找服务 从系统责任和问题

31、空间出发 ,去发现对象的服务; 从所确定的对象入手,去发现对象的服务; 追踪服务在对象模型中的动态轨迹,去发现服务; 从所确定的对象属性入手寻找服务。 (2)筛选服务 服务应是对象所映射的事物固有的行为,如果这种映射关系不存在,则要考虑所设置的服务是否有必要。 服务应是满足系统责任(功能)所要求的,或是能够响应其他对象请求的有用服务,无用服务应排除。 一个服务应完成一项明确定义、完整而功能单一的操作,若一个服务中包括了多项可能独立定义的功能,则应将该服务分解;如果一个独立功能分割多个对象服务中去完成,则应加以合作。,确定对象的内部特征,(3)服务的命名和定位 与属性的命名相异,服务的命名应采用

32、“动词+名词”组成的动宾词组,服务的命名应能准确地反映该服务的职能,在相关的对象中服务名应是唯一的,服务名在类结构中应前后一致。 (4)服务说明 包括以下信息: 对服务的作用及功能进行进一步解释; 说明请求该服务的消息格式,包括服务名、输入输出参数、参数类型; 表明该服务执行时需要其他对象的服务; 对服务执行的前置、后置条件以及执行时间进行说明; 对于实现较复杂的服务,需要画出该服务执行的服务流程图,画出的服务流程图应能告知程序员如何去做。,确定对象的内部特征,3)建立OOA模型的特征层 把以上确定出来的对象属性和服务都填写到相应的类型符号中,就构成了OOA模型(类图)的特征层,它也是组成OO

33、A基本模型的重要成分,这样既可以完成对象的静态特征(或内部特征)的定义和说明。,4.4.4 确定对象的外部特征,对象(以及对象)与外部之间的关系有4种结构形式: 一般特殊结构:即对象间一般特殊关系; 整体部分结构:即对象之间组成关系的反映; 实例连接:即通过对象属性反映的联系; 消息连接:即反映对象行为之间的依赖关系。 1)确定一般 特殊结构 一般特殊结构是一个层次式的父子结构,也叫分类结构。它通过刻画问题空间的类成员层次,把类的公共特性扩充到实例之中来呈现客观世界事件的通用性及专用性。 一般特殊结构只连接类不连接对象。,确定一般 特殊结构,(1)一般特殊结构的有关概念: 定义:设有两类,即A

34、类和B类,如果A类具有B类的全部属性和服务,而且A类也具有自身特有的一些属性和服务,则把A类叫做B类的特殊类,而B类叫做A类的一般类。 一般类是对特殊类的共有特性的抽象描述,而特殊类除具有一般类的特性外,还具有独特的自身所具有的属性和服务。 (2)寻找一般特殊结构 寻找策略: 从当前行业领域中已有的行业知识和分类知识中,寻找与问题空间相对应的一般特殊结构; 根据常识,从各种不同的角度考虑事物的分类,从而发现一般特殊结构;,确定一般 特殊结构,研究分析类的属性与服务,若一个类的属性和服务只适合于该类的一部分对象,不适应另一部分对象,则应从类中划分出一些特殊类; 考虑问题领域范围内的复用,应在更高

35、水平上运用一般特殊结构,使本系统的开发能贡献一些可复用性更强的类构件。 (3)调整所确定的一般特殊结构 调整原则: 与现实系统中客观事物关系相吻合的原则; 应符合系统责任的要求; 一般特殊结构中各类之间的关系应符合人类日常思维习惯的原则,否则,会产生一些奇怪的、难以理解的结构; 检查层次是否符合类层次之间的继承原则; 应符合简单化原则。,确定对象的外部特征,2)确定整体部分结构 (1)整体部分结构的概念 整体部分结构是表达客观世界事物的一种基本组织方式,即整体和部分组成的结构关系,在面向对象方法中用于描述系统中各类对象之间的构成关系。 整体部分结构通过把部分类与各自的整体类联系在一起,可以简化

36、问题空间,清晰的表达系统中事物之间的复组成; 整体部分结构也可以表明和传递对于问题空间的理解,便于模型表达与客观世界问题空间的正确映射; 同时整体部分结构可以简化对象的定义、支持软件的复以内感,为软件开发者提供了用途更为广泛的系统结构技巧,方便软件开发等。,确定整体部分结构,(2)寻找整体部分结构 寻找策略: 寻找整体部分结构的基本出发点是对象或对象类,通过查看分析对象名进行; 寻找的基本原则是先从整体向部分考虑,再从部分向整体考虑; 寻找整体部分结构应从现实问题空间事物组成的多种形式和角度上考虑,即主要从总装与零件,容器与内容物、组织与成员等考虑。 从抽象事物的概念组成,以及具体事物的抽象方

37、面出发,也可以发现存在于这些事物中的整体部分结构。,确定整体部分结构,(3)筛选所确定的整体部分结构 筛选原则: 对描述问题空间事物组成结构有用的原则,若不能够描述和不能反映问题空间事物关系,则应舍去; 对系统责任有效性的原则; 满足特殊性要求的原则; 在确定整体部分结构时,还可能世纪调整对象层和属性层的问题。,确定对象的外部特征,3)建立结构层 结构层是指由一般特殊结构和整体部分结构组合而成的对象模型结构,它确定了对象之间的组装和继承关系。这一关系是处理OOA模型负责的机制之一。 4)确定实例连接 (1)实例连接的概念 实例连接是一个对象的实例与另一个对象的实例的对应关系,它表达了对象之间的

38、静态关联关系,即通过对象属性表示的一个对象对另一个对象的依赖关系和基于消息的通信机制,实例连接和属性构成了OOA模型的属性层。 (2)实例连接的实现方式 对于简单的实例连接,因可用对象指针或对象确定来实现,即在被连接的两个类中选择一个,在它的对象中设立一个指针类型的属性,用于指向另一类中与它有两极关系的对象实例。,确定实例连接,对于多对多的复杂性实例连接,可以通过增加第三个对象类,分解多对多为两个一对多的实例连接,再对任一个多对多实例连接按上述方式实现。 对于连接关系中带有属性的实例连接,实现实例连接时,可在一个类中设置一组属性,其中一个属性是指向实例连接另一端对象的指针,其余的属性是连接关系

39、中所列出的连接属性;另外,也可以根据连接关系来定义一个结构数据类型,用域变量来指向一端对象类或两端对象类的指针,其余域变量是连接的属性,以此来实现对象的连接。 对于连接关系中即带有属性也带有操作实例的连接,可以对连接创建一个新类,再根据两个类之间的连接关系,利用上述手段实现。,确定实例连接,(3)建立实例连接 A 从问题空间和系统责任出发,分析对象之间的静态关系,从而确定必须建立的实例连接。 B 对所确定的每个实例连接,分析其连接关系应具有的属性和服务,并探讨是否增加新的对象类来表达这一连接关系 C 进一步分析实例连接的多重性,并填写相应的数值在连接线的下方。 D 对于所确定的实例连接,若含有

40、多元关联和多对多的实例连接,则应增设新的对象类,转化现有的实例连接为二元连接和一对多。,确定对象的外部特征,5)确定消息连接 (1)消息连接的概念 消息是指客观世界中的人或事物之间传递的一种信息。 消息连接是指在对象之间进行的消息通信。 消息连接存在于顺序系统和并发系统中。 顺序系统是指OOA模型中只有一个主动对象,一切操作都是顺序执行的系统。 并发系统是指OOA模型中含有多个主动对象和多个任务并发执行的系统。 消息连接的符号有两种:一个控制线程内部的消息连接;在不同控制线程之间的消息连接。,确定消息连接,(2)建立消息连接 建立消息连接时可分两步进行: 第一步:建立控制线程内部消息连接: A

41、 分析类图中的每个对象的服务与属性的一致性,对象的每个属性必须关联到某个服务,否则两者之间就缺乏一致性,这样会导致属性的无用性。 B 从主动对象开始访问每个对象,研究这个对象是如何建立的?下一步要做什么工作?做此工作时需要请求其他对象提供什么服务?不同对象间的服务需求形成了对象间的消息连接,依次可以建立对象之间的消息通信路径,形成对象间的消息连接。 C 从系统的行为出发,寻找每个事件产生的消息,探求这些消息发送给哪些对象?这些对象产生了什么响应?这样从每个消息追踪到该消息的服务对象,在有消息交换的对象间画出消息连线,这样依次类推,直到把每一个消息都经历一遍。,建立消息连接,D 在建立了全部的消息连接后,还要针对系统中的每个对象类和每个服务进行检查,以探讨每个服务是否在以上的过程中被分析过,否则这个服务就可能是多余的或遗漏了向这个服务发出的消息,如果确是无用的服务,则应删除,如果发生了遗漏,则应加以补充,这样即可得到全控制线程内的消息连接模型。 第二步:建立控制线程之间的消息连接 主要探讨以下问题: A 某个控制线程在执行时,是否需要请求其他控制线程中的对象为其提供服务?是否与其他控制线程的对象之间有数据信息的交换关系?是否产生了对其他控制线程执行有影响的事件?,建立消息连接,B 如果A成立,则寻找该线程

温馨提示

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

评论

0/150

提交评论