《第四章--系统分析课件.ppt》由会员分享,可在线阅读,更多相关《第四章--系统分析课件.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章第四章 系统分析系统分析112 一月 2023系系统分析分析系统分析的任务系统分析的任务系统的详细调查系统的详细调查结构化的系统分析结构化的系统分析面向对象的系统分析面向对象的系统分析24.1 系系统分析的任分析的任务逻辑设计:逻辑设计:是指在逻辑上构造新系统的功能,解决系统“能做什么”问题。系统分析:系统分析:34.1 系系统分析的任分析的任务系统分析阶段:系统分析阶段:进行新系统的逻辑设计。首先对企业进行详细调研,了解用户需求、业务流程、了解信息的输入、处理、存贮和输出,然后建立新系统的逻辑模型。借助数据流图、数据字典及文字说明写出新系统逻辑设计文档(系统分析说明书)。系统分析的内容
2、系统分析的内容组织机构与功能分析。业务流程分析。数据与数据流程分析。功能(过程)/数据分析。系统改进方案与新系统逻辑方案分析。44.1 系系统分析的任分析的任务系统分析的步骤和方法:系统分析的步骤和方法:调查;分析;建模;系统分析报告系统分析的注意事项系统分析的注意事项调查与分析交替进行;用户需要出发高于现行系统54.2 系系统的的详细调查详细调查的调查方法详细调查的调查方法系统业务调查系统业务调查64.2.1 详细调查的调查方法详细调查的调查方法信息的采集方法信息的采集方法开调查座谈会;重点询问的方式;(CFS)发调查表(如:部门功能调查表、业务流程调查表、企业概况调查表);(BSP)观察、
3、取样调查法;深入实践的调查方法;查阅资料;7调查内容内容1.界限与运行状态;2.组织机构与人员分工3.业务流程4.计划、单据和报表5.资源情况6.约束条件7.薄弱环节8.用户要求 84.2.2 系统业务调查系统业务调查系统业务调查系统业务调查主要有三部分内容:1)组织结构分析组织结构分析:通过组织结构图组织结构图来实现,将调查中所了解的组织结构具体地描绘在图上;2)管理功能调查管理功能调查;层次性管理功能图3)业务流程调查:业务流程调查:9组织结构构图q组织结构图是一张反映组织内部之间隶属关系(上下级关系)的树状结构图。q除了后勤等与企业生产、经营、管理环节无直接关系的部门外,其它部门一定要反
4、映全面、准确。q为了表明企业的运行过程,往往也画出企业物流和管理组织关系图。10组织结构构图q组织各部分间的常见关系:q 集中表现各种信息流动的内容11管理功能管理功能图用功能层次图来描述从系统目标到各项功能的层次关系12业务流程分析流程分析描述一个作业所涉及的组织,又描述组织在此作业中的作用,又描述作业进行的时间顺序的图叫业务流程图(Transaction flow diagram,TFP)。业务流程分析的目的是理顺业务过程,发现问题、分析不足,优化业务处理过程。业务处业务处理单位理单位业务处业务处理描述理描述表格制作表格制作信息传递信息传递存储存储13业务流程流程图汽车配件公司销售的业务流
5、程图:缺件订货单缺件订货单 进货通知单进货通知单 销售记录销售记录 进货记录进货记录 采购部采购部 进货处理进货处理 缺件的供缺件的供 货处理货处理 备货单备货单 仓仓库库 库存记录库存记录 14业务流程分析流程分析对每一业务弄清其输入、处理、存贮、输出、立即存取要求,收集相应资料。上例:输入:订货单、进货通知单处理:验收订单、供货处理、缺货处理、进货处理、缺件的到货处理。存贮:进货记录、库存记录、顾客档案、缺件订单表、销售历史。输出:各货单、缺货通知单。立即存取要求:经营情况、库存情况、未供货情况。理顺各个岗位、各个业务流程之间的关系。除去不必要的环节,对重复的环节进行合并,对新的环节进行增
6、补。确定哪些是今后计算机系统要处理的环节。154.3 结构化的系构化的系统分析分析数据流程图数据流程图数据字典数据字典处理逻辑的表达工具处理逻辑的表达工具功能功能/数据分析数据分析新系统逻辑模型的确定新系统逻辑模型的确定164.3.1 4.3.1 数据流程图数据流程图数据流程图(数据流程图(Data Flow Diagram:DFD)是新系统逻辑模型的主要组成部分,主体是数据。与系统流程图的区别:与系统流程图的区别:174.3.1 4.3.1 数据流程图数据流程图数据流程图(数据流程图(Data Flow Diagram:DFD)定义定义:用一组符号来描述整个系统中信息的流动、存贮及变化的全貌
7、。实体、数据流向、数据处理及数据存储表示如下:特点特点:抽象性:把具体的组织机构、工作场所、物质流都去掉,只剩下信息和数据存储、流动、使用以及加工情况。概括性:把系统对各种业务的处理过程联系起来考虑,形成一个总体。数据存储序号实体序号数据处理数据流向184.3.1 4.3.1 数据流程图数据流程图基本元素:基本元素:1.数据源数据源/去向;去向;S2.数据流;数据流;F3.处理;处理;P4.数据存储。数据存储。D19数据流程图数据流程图qDFD的画法的画法:采用结构化系统分析方法SA:自顶向下,逐层分解,逐步求精的分析方法。通过分解与抽象的办法,把IS按空间维进行分解。采用空间维分解的办法,抽
8、象出若干子系统,对每个子系统再抽象出若干逻辑功能,对复杂功能再往下分解(抽象:抓住关键的,忽略次要的细节)。q画画DFD的步骤:的步骤:第一步:绘制环境图(说明系统的外部实体以及系统与这些外部实体之间的数据交换)。第二步:第二步:绘制零层图(零层图(相对概括地反映出信息系统最主要的处理功能、外部实体、输入和输出数据流、数据存储。20画画DFD的步的步骤第三步:第三步:分解加工,画出各级子图各级子图(描述父图中某一个子系统或过程的扩展数据流程图)DFD层次分解的两种方法:扩展法扩展法和爆破法爆破法扩展法:扩展法:下一层数据流程图是上一层数据流程图更为详细的描述。爆破法:爆破法:分层次构造一系列数
9、据流程图(将环境图中的处理过程分解为一系列子过程,而每一个子过程又进一步分解为一系列更为详细的子过程(子过程按层次编号)。第四步:第四步:构造总体数据流程图总体数据流程图。把分解后的DFD碎片装配起来,画出DFD的总图。如用最低层基本加工装配太庞大,而高层DFD又过于抽象,可选择适当层次的子图来装配总图。要求:总图既有全局概念,又清晰易懂。214.3.2 4.3.2 数据字典数据字典1)数据字典概念)数据字典概念数据字典是定义和陈述数据的所有细节,包括数据元素本身及它的数据流(动态的)、存储(静态的)、处理等的档案工具。数据字典是一组卡片(数据流、数据项、数据存储、处理功能)的集合。作用:分析
10、阶段/设计阶段/实施阶段/维护阶段22数据字典数据字典2)数据字典描述)数据字典描述数据字典描述包括数据元素和数据结构的描述、处理逻辑的描述、数据存储的描述。(1)数据元素的描述)数据元素的描述A 数据元素(数据项)的名称:它由130个字符(包括数字、字母、连接符)组成。注意,一般用英文字母开头,连接符不要放在前或后。数据项名称描述时,可以有别名,别名是不同的用户部门,对同一个数据元素的内部同名称。B 数据元素的值:数据元素的值可以是离散的,也可以是连续的。对于 离散型的元素,要对每个元素指出其值和含义,值用一个“编码”表示,含义用“意义”表示,一般在某一系统中是长期不变的。C 数据类型和长度
11、:数据类型分为字符型数据、数值行数据、日期象数据、逻辑型数据、备注型数据、通用型数据等,一般分别用C、N、D、L、M、G表示。23数据字典描述数据字典描述(2)数据结构的描述)数据结构的描述数据结构描述是数据组成的描述,它代表数据流或数据存储的逻辑组成。在数据结构描述中,注意有3种特殊项的表示:A 任选项(即为可有可无的数据项)用 表示。B 必须项(多个数据中必须出现其中之一)用 表示 C 重复项(可多项重复出现的数据项)用*表示。(3)处理逻辑的描述)处理逻辑的描述处理逻辑是指处理元素的有关算法(包括计算、查询、转换、检索等)。处理逻辑的描述主要描述输入、处理、输出。这种描述草原黑盒子结构,
12、即知道输入的数据元素和输出的数据元素,确定黑盒子具有哪种处理能力。24数据字典数据字典(4)数据存储的描述)数据存储的描述数据存储描述是对记录的静态数据的描述,主要描述静态数据的数据结构、输入数据流、输出数据流。3)数据字典卡片)数据字典卡片包括数据元素卡片、数据结构卡片、数据流卡片、数据存储卡片和处理功能卡片。(图)254.3.3 4.3.3 处理逻辑的表达工具处理逻辑的表达工具v1)决策树表达树工具)决策树表达树工具 决策树:用来描述一个功能模块的逻辑处理过程,是结构化英语的另一种表现形式;v2)判定表表达工具)判定表表达工具 判断表:用来表达逻辑判断的工具,它能把所有的条件组合充分地表达
13、出来,但其建立过程较为繁杂,表达方式不如前面两者简便;26处理逻辑的表达工具处理逻辑的表达工具v3)结构化英语)结构化英语 结构化英语:用来描述一个功能单元逻辑要求,不同于自然英语语言,有三种基本结构顺序结构、判断结构和循环结构,并利用几个关键词来完成对模块处理过程的描述,如IF,THEN等。v4)数据立即存取图表达工具)数据立即存取图表达工具 数据立即存取图表达工具是用来定义那些用户需要且系统能够实现的实时查询信息(包括实体和属性)。274.3.4 4.3.4 功能功能/数据分析数据分析功能/数据分析就是要确定系统的功能子系统以及各个功能子系统与数据之间的关系。功能/数据分析通过U/C阵的建
14、立和分析来实现。U/C阵的建立采用自顶向下的方法,首先确定系统的功能类和数据类,然后填上功能/数据之间的关系(Create/Use/不填),见P64图3-4。U/C阵的正确性检验1)完备性检验:具体的数据类必须有一个产生者和至少一个使用者。2)一致性检验:具体的数据类有且仅有一个产生者,如有多个产生者,则产生了不一致性现象。3)无冗余性检验:表中不允许有空行空列。28功能功能/数据分析数据分析U/C阵的求解:对系统结构划分的优化过程。它是基于子系统划分应相互独立,而且内部凝聚性高这一原则之上的一种聚类操作。其具体作法是使表中的“C”元素尽量地靠近U/C阵的对角线,然后再以“C”元素为标准划分子
15、系统。U/C阵的求解过程是通过表上作业来完成的,其具体作法是调换表中的行变量或列变量,使得“C”元素尽量地朝U/C阵的对角线靠近。系统逻辑功能划分:在求解后的U/C阵中划出一个个的小方块,见P66图3-5。划分时应注意:沿对角线一个接一个画,既不能重叠,又不能漏掉任何一个数据和功能。29功能功能/数据分析数据分析小方块的划分是任意的而不是唯一的,具体如何划分要根据实际情况以及分析者个人的工作经验和习惯来定,但必须将所有的“C”元素都包含在小方块内。每一个小方块就是一个子系统。数据资源分布对系统划分并确定了子系统后,所有的数据被分隔成了两类:一类在小方块内;一类在小方块外。小方块内的数据主要在本
16、子系统内处理,小方块外的数据则反映了各子系统之间的数据联系,主要通过网络来共享(数据传输,共享数据库)。304.3.5 4.3.5 新系统逻辑模型的建立新系统逻辑模型的建立q新系统逻辑方案指的是经分析和优化后,新系统拟采用的管理模型和信息处理方法。因它不同于计算机配置方案和软件结构模型方案等实体结构方案,故称逻辑方案。q新系统逻辑方案的建立是系统分析阶段的最终成果。主要包括:对系统业务流程分析整理的结果;对数据及数据流程分析整理的结果;子系统划分的结果;各个具体的业务处理过程,以及根据实际情况应建立的管理模型和管理方法。31新系统逻辑模型的建立新系统逻辑模型的建立1)确定合理的业务处理流程删去
17、或合并多余的或重复处理的过程;优化和改动业务处理过程,原因是什么;确定最终的业务流程图;指出业务流程图中哪些部分新系统(计算机软件系统)可以完成,哪些需要用户完成,或需要用户配合新系统来完成。2)确定合理的数据和数据流程删去或合并多余的或重复的数据处理过程;优化和改动数据处理过程,原因是什么;确定最终的数据流程图;指出数据流程图中哪些部分新系统(计算机软件系统)可以完成,哪些需要用户完成,或需要用户配合新系统来完成。3)确定新系统的逻辑结构和数据分布32新系统逻辑模型的建立新系统逻辑模型的建立确定新系统的管理模型就是确定今后系统在每一个具体的管理环节上的处理方法。一般应根据系统分析的结果和管理
18、科学方面的知识来定。1.综合计划模型 2.生产计划管理模型 3.库存管理模型 4.财会管理模型 5.成本管理模型 6.经营管理决策模型 7.统计分析模型 8.预测模型33新系统逻辑模型的建立新系统逻辑模型的建立系统分析报告的内容 1 系统概括;2 现行系统状况 3 新系统逻辑模型 4 系统开发计划344.4 面向面向对象的系象的系统分析分析面向对象系统分析的概述面向对象系统分析的概述确定对象及对象类确定对象及对象类确定对象的内部特征确定对象的内部特征(属性、服务)(特征层)(属性、服务)(特征层)确定对象的外部特征确定对象的外部特征(联系)(关系层)(联系)(关系层)建立主题层建立主题层编制编
19、制OOAOOA文档文档354.4.1 4.4.1 面向对象系统分析的概述面向对象系统分析的概述(1)面向对象的系统分析()面向对象的系统分析(OOA)面向对象的系统分析,即OOA是OO方法的一个组成部分,它利用面向对象方法进行系统分析,即在明确用户需求的基础上,通过对问题空间的分析,建立以对象为基本单元的信息系统的逻辑模型。OOA的主要目的是利用面向对象的方法,站在对象的角度对所要研究的问题空间及系统责任进行深刻的理解,正确认识问题空间中的事物及其事物之间的关系,识别描述问题空间及系统责任所需的对象及类,定义对象及类的属性与服务,建立与问题空间和系统责任相映射,相对应的系统对象分析模型。36面
20、向对象系统分析的概述面向对象系统分析的概述(2)系统分析方法简述)系统分析方法简述1)功能分析法:是以功能为中心来理解和描述系统的,它需要根据系统的目标要求定义系统的功能、子功能以及功能之间的接口,并据此设计数据结构。2)结构化分析法:又叫数据流法,它是从研究数据如何在问题空间中流动,被加工和存储入手,把问题空间映射为由数据流、加工、存储以及外实体等成分构成的数据流图以及其他说明工具,以此来定义和构造信息系统。3)信息建模法的基本概念是实体和关系。实体描述了问题空间的一个事物,它包含一组描述事物数据信息的属性;关系则是问题空间中各事物之间的数据联系,它也是有自己的信息属性;这种方法在发展后期也
21、把实体称作对象,把实体之间关系的属性信息组织到关联对象中去。37面向对象系统分析的概述面向对象系统分析的概述(2)系统分析方法简述)系统分析方法简述上述三种方法在系统分析中受到局限。OOA作为一种分析方法,应用面向对象方法中对象与类、属性与服务、封装与继承、基于消息的通信等概念和原则,可以实现问题空间和系统责任比较精确的理解和描述,使对象模型更能反映客观世界的现实。因此,相比较其他方法来讲,OOA是一种发展前景较为广阔的未来主流的系统分析方法。38面向对象系统分析的概述面向对象系统分析的概述(3)OOA的系统模型的系统模型OOA的系统模型包括三大部分:1)基本模型)基本模型基本模型是以类图的形
22、式来表达系统最重要的信息,而类图则由类、属性、服务、一般特殊结构、整体局部结构、实例连接和消息连接等主要成分所构成。这些成分所表达的模型信息可分为三个层次:对象层:给出了系统中所有反映问题空间及系统责任的对象,用类符号来表达属于每一类的对象。特征层:给出了每一类机器所代表对象的内部特征,即每类的属性与服务,描述了对象的内部构成状况及细节。关系层:给出了各个类及其所代表的对象彼此之间的关系。39面向对象系统分析的概述面向对象系统分析的概述概括地说,OOA基本模型分别描述了:A 系统中就该具有的哪几类对象B 每一类对象的属性和服务是什么C 各类对象与外部的联系状况(2)补充模型)补充模型补充模型由
23、主题图、使用实例和交互图构成。主题是具有较强联系的类组织的集合体,它是对系统类图的进一步抽象,是较高层次上系统的视图。使用实例是对系统功能使用情况的文字描述,每个使用实例对应着系统中的一个功能,它描述系统的外实体与系统之间的信息交流关系。40面向对象系统分析的概述面向对象系统分析的概述交互图是一个使用实例与完成相应功能的系统成分之间的对照图,它具体表明了使用实例中陈述的事件是由系统中的哪个服务来响应和完成,以及 这个服务在执行过程中又进一步用到哪些其他对象中的服务。(3)系统的详细说明)系统的详细说明详细说明是按照面向对象方法的要求格式对系统模型作出的进一步的解释,它主要由类描述模板构成。类描
24、述模板主要以文字方式给出,但有时也附加一些图表说明。41面向对象系统分析的概述面向对象系统分析的概述(4)OOA的基本步骤的基本步骤建立基本模型建立补充模型进行详细说明编制文档424.4.2 4.4.2 确定对象及对象类确定对象及对象类1)确定对象)确定对象对象是客观世界问题空间中人、地点和事物的抽象描述,是其相关属性和处理这些属性的服务的封装体,是系统分析中具有独立意义的实体。对象是构成系统的基本单位。(1)发现对象发现对象是从问题空间、系统边界、系统责任、用户需求资料等入手,尽可能全面发现系统组成中的候选对象。(2)筛选对象筛选对象是指多所得到的对象清单进行全面的审查,从中舍弃那些无用的对
25、象,精简、合并一些有用的对象,所得到的对象集就是我们系统中应该确定的对象。43确定对象及对象类确定对象及对象类(3)构建对象构建对象即封装对象的属性和服务。命名对象应采用“名词或形容词+名词”的形式作为对象名,尽可能选择能反映主题的标准词汇、其含义应具体、明确且无二义性。2)确定类)确定类(1)确定类的原则A 从对象集合到类采用的是抽象原则。类是对象的抽象,对象是类的实例,每个对象总是属于一个类。B 类名、属性和服务中所有涉及的英文字母的首字母大写,且所有名字均为单数,并对应着一定的含义。C 在定义对象类时,必须对所出现的异常情况做出检查、修改和调整。44确定对象及对象类确定对象及对象类D 确
26、定类时应正确把握类的命名原则:类的命名应符合这个类所包含的每一对象;类的命名应反映每个对象的个体、而非群体;类名应采用名词或带有定语的名词,而非动词;类名应采用 用户惯用的词汇以及规范的词汇;应避免使用毫无意义的字符、数字或符号作为类名。(2)建立类图为每个对象抽象一个类。用类符号表达出所定义的类,其中主动对象类名前应家上其标记“”,这样即可形成OOA基本模型中的对象层。454.4.3 4.4.3 确定对象的内部特征确定对象的内部特征对象内部特征包括对象的属性及服务,确定对象的属性和服务就是研究对象的特征。1)确定对象的属性确定属性分为4步:寻找属性;筛选属性;属性命名和定位;属性说明。46确
27、定对象的内部特征确定对象的内部特征(1)属性的分类)属性的分类A 根据属性值的特征可以把属性分为3类:单值属性:互斥属性:多值属性:47确定对象的内部特征确定对象的内部特征B 根据属性值的来源和使用特点可以把属性分为4类:描述性属性:定义性属性:综合可得性属性:偶尔可得性属性:48确定对象的内部特征确定对象的内部特征(2)寻找属性)寻找属性寻找属性的方法一般有两种:根据实体关系图中需要存储的属性确定;根据对象的描述确定。寻找属性应从以下的角度去进行:A 问题空间的特征单值属性;B 系统责任的要求定义性属性;C 对象的一般常识,常用描述性属性;D 对象不明显属性、单值属性或多值属性。E 对象存在
28、的状态来设置属性。F 从整体部分结构和实例连接的要求设置相应的属性。49确定对象的内部特征确定对象的内部特征(3)筛选属性)筛选属性属性筛选应考虑到以下原则:适应性原则:原子性原则:无冗余的原则:体现对象本身的特征和反映系统的责任原则:50确定对象的内部特征确定对象的内部特征(4)属性的命名和定位)属性的命名和定位属性命名原则为:确定属性的位置采用的是继承的原则,主要针对的是分类结构,即一般特殊结构。(5)属性说明)属性说明51确定对象的内部特征确定对象的内部特征2)确定对象的服务)确定对象的服务服务的确定是由系统分析员与用户共同合作完成的,分为4步:(1)寻找服务)寻找服务从系统责任和问题空
29、间出发;从所确定的对象入手;追踪服务在对象模型中的动态轨迹;从所确定的对象属性入手。(2)筛选服务)筛选服务服务应是对象所映射的事物固有的行为,如果这种映射关系不存在,则要考虑所设置的服务是否有必要。服务应是满足系统责任(功能)所要求的,或是能够响应其他对象请求的有用服务,无用服务应排除。一个服务应完成一项明确定义、完整而功能单一的操作,若一个服务中包括了多项可能独立定义的功能,则应将该服务分解;如果一个独立功能分割多个对象服务中去完成,则应加以合作。52确定对象的内部特征确定对象的内部特征(3)服务的命名和定位)服务的命名和定位采用“动词+名词”组成的动宾词组(4)服务说明)服务说明53确定
30、对象的内部特征确定对象的内部特征3)建立)建立OOA模型的特征层模型的特征层把以上确定出来的对象属性和服务都填写到相应的类型符号中,就构成了OOA模型(类图)的特征层,它也是组成OOA基本模型的重要成分,这样既可以完成对象的静态特征(或内部特征)的定义和说明。实例544.4.4 4.4.4 确定对象的外部特征确定对象的外部特征对象(以及对象)与外部之间的关系有4种结构形式:一般特殊结构;整体部分结构;实例连接;消息连接。1)确定一般)确定一般 特殊结构特殊结构一般特殊结构是一个层次式的父子结构,也叫分类结构。它通过刻画问题空间的类成员层次,把类的公共特性扩充到实例之中来呈现客观世界事件的通用性
31、及专用性。一般特殊结构只连接类不连接对象。55确定一般确定一般 特殊特殊结构构(1)一般)一般特殊结构的有关概念:特殊结构的有关概念:一般类是对特殊类的共有特性的抽象描述,而特殊类除具有一般类的特性外,还具有独特的自身所具有的属性和服务。(2)寻找一般)寻找一般特殊结构特殊结构寻找策略:寻找策略:从当前行业领域中已有的行业知识和分类知识中,寻找与问题空间相对应的一般特殊结构;根据常识,从各种不同的角度考虑事物的分类,从而发现一般特殊结构;56确定一般确定一般 特殊特殊结构构研究分析类的属性与服务,若一个类的属性和服务只适合于该类的一部分对象,不适应另一部分对象,则应从类中划分出一些特殊类;考虑
32、问题领域范围内的复用,应在更高水平上运用一般特殊结构,使本系统的开发能贡献一些可复用性更强的类构件。(3)调整所确定的一般)调整所确定的一般特殊结构特殊结构调整原则:与现实系统中客观事物关系相吻合的原则;应符合系统责任的要求;一般特殊结构中各类之间的关系应符合人类日常思维习惯的原则,否则,会产生一些奇怪的、难以理解的结构;检查层次是否符合类层次之间的继承原则;应符合简单化原则。57确定对象的外部特征确定对象的外部特征2)确定整体)确定整体部分结构部分结构(1)整体)整体部分结构部分结构58确定整体确定整体部分部分结构构(2)寻找整体)寻找整体部分结构部分结构寻找策略:寻找整体部分结构的基本出发
33、点是对象或对象类,通过查看分析对象名进行;寻找的基本原则是先从整体向部分考虑,再从部分向整体考虑;寻找整体部分结构应从现实问题空间事物组成的多种形式和角度上考虑,即主要从总装与零件,容器与内容物、组织与成员等考虑。从抽象事物的概念组成,以及具体事物的抽象方面出发,也可以发现存在于这些事物中的整体部分结构。59确定整体确定整体部分部分结构构(3)筛选所确定的整体)筛选所确定的整体部分结构部分结构筛选原则:对描述问题空间事物组成结构有用的原则,若不能够描述和不能反映问题空间事物关系,则应舍去;对系统责任有效性的原则;满足特殊性要求的原则;在确定整体部分结构时,还可能世纪调整对象层和属性层的问题。6
34、0确定对象的外部特征确定对象的外部特征3)建立结构层)建立结构层结构层是指由一般特殊结构和整体部分结构组合而成的对象模型结构,它确定了对象之间的组装和继承关系。4)确定实例连接)确定实例连接(1)实例连接的概念)实例连接的概念实例连接是一个对象的实例与另一个对象的实例的对应关系,它表达了对象之间的静态关联关系,即通过对象属性表示的一个对象对另一个对象的依赖关系和基于消息的通信机制,实例连接和属性构成了OOA模型的属性层。(2)实例连接的实现方式)实例连接的实现方式对于简单的实例连接,因可用对象指针或对象确定来实现,即在被连接的两个类中选择一个,在它的对象中设立一个指针类型的属性,用于指向另一类
35、中与它有两极关系的对象实例。61确定确定实例例连接接对于多对多的复杂性实例连接,可以通过增加第三个对象类,分解多对多为两个一对多的实例连接,再对任一个多对多实例连接按上述方式实现。对于连接关系中带有属性的实例连接,实现实例连接时,可在一个类中设置一组属性,其中一个属性是指向实例连接另一端对象的指针,其余的属性是连接关系中所列出的连接属性;另外,也可以根据连接关系来定义一个结构数据类型,用域变量来指向一端对象类或两端对象类的指针,其余域变量是连接的属性,以此来实现对象的连接。对于连接关系中即带有属性也带有操作实例的连接,可以对连接创建一个新类,再根据两个类之间的连接关系,利用上述手段实现。62确
36、定确定实例例连接接(3)建立实例连接)建立实例连接A 从问题空间和系统责任出发,分析对象之间的静态关系,从而确定必须建立的实例连接。B 对所确定的每个实例连接,分析其连接关系应具有的属性和服务,并探讨是否增加新的对象类来表达这一连接关系C 进一步分析实例连接的多重性,并填写相应的数值在连接线的下方。D 对于所确定的实例连接,若含有多元关联和多对多的实例连接,则应增设新的对象类,转化现有的实例连接为二元连接和一对多。63确定对象的外部特征确定对象的外部特征5)确定消息连接)确定消息连接(1)消息连接的概念)消息连接的概念消息是指客观世界中的人或事物之间传递的一种信息。消息连接是指在对象之间进行的
37、消息通信,。消息连接的符号有两种:一个控制线程内部的消息连接;在不同控制线程之间的消息连接。64确定消息确定消息连接接(2)建立消息连接)建立消息连接建立消息连接时可分两步进行:第一步:建立控制线程内部消息连接:第二步:建立控制线程之间的消息连接654.4.5 4.4.5 建立主题层建立主题层1.主题层的概念:主题层的概念:(1)主题层的涵义:主题层的涵义:主题层是在OOA中对一个或几个类工友特征的概括描述,是具有较强联系的对象集合。主题是由一组相互关联类所组成的类的集合,但七自身并不是一个类(即没属性和服务)。主题的内容应是高内聚的,即关联性强;而主题之间应是低耦合的,即相互的联系应尽可能少
38、。主题层可以分层,主题名66主主题层的概念的概念(2)主题层的表示:主题层的表示:主题可用主题图来表示。常用的主题图有两种:简式表示法和复杂表示法。编号编号 主题名主题名主题的简式表示法主题的简式表示法类名类名1类名类名2主题名主题名1主题名主题名2编号编号 主题名主题名主题的复杂表示法主题的复杂表示法67主主题层的概念的概念(3)主题层的作用:主题层的作用:建立主题层具有重要的作用,它提供了系统分析员一种认识和秒素问题空间的手段,有利于系统分析员对复杂系统的清晰明确的表示,同时主题也有利于用户对OOA方法的认识,使用户可以在不同的层次对OOA模型做出准确的理解。68建立主题层建立主题层2.主
39、题层的建立:主题层的建立:(1)划分主题的策略)划分主题的策略划分主题的策略有两种:自顶向下划分策略和自底向上的划分策略。自顶向下划分策略是先把问题空间划分内成一些小的应用领域或子系统,每一个子系统就是一个主题,针对每一个主题建立模型。这种策略适合于所要开发的系统较为庞大时的情况。自底向上的划分策略是先确定系统的类图,在类图的基础上采用抽象的手段概括划分类图以形成主题图,这种策略适合于所开发的系统较小的情况。69主主题层的建立的建立(2)划分主题的方法)划分主题的方法 划分主题时以OOA模型中所得到的类图为基础。从类图中的一般特殊结构和整体部分结构入手确定主题,一般可考虑把每个一般特殊结构和每
40、个整体部分结构分别作为一个主题:结构中交叉的部分可据需要划分。把类图中通过实例连接相互联系的类可考虑话分在意个主题中。70主主题层的建立的建立(3)合并主题的原则)合并主题的原则对于一些在概念上比较相近,或有很强相关性的主题,应合并成为一个主题。对于主题中所涉及的功能类似,体现系统责任有较大相关性的主题,也要合并成一个主题。对主题之间具有较强耦合性的主题,可合并成为一个大的主题。(4)主题图的建立)主题图的建立划分主题图后,还需要把它以图形的方式表示出来,形成主题图。714.4.6 4.4.6 编制编制OOAOOA文档文档OOA文档包括以下主要内容:文档包括以下主要内容:(1)系统概述 说明该系统开发的目标、功能、背景、作用等。(2)OOA的基本模型 通过对系统的分析研究,建立系统类图的3个层次模型,即对象层、特征层和关系层。(3)主题说明 建立信息系统的主题层,以简式、复杂方式展开主题图,并对每个主题的构成、作用进行简要说明。(4)详细说明 利用类描述模板,对类、属性、服务等进行详细说明,而对结构和连接的说明也包括其中。72