UML系统分析设计-01PPT课件_第1页
UML系统分析设计-01PPT课件_第2页
UML系统分析设计-01PPT课件_第3页
UML系统分析设计-01PPT课件_第4页
UML系统分析设计-01PPT课件_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、2021/3/91 数学与信息学院数学与信息学院信息管理与信息系统专业教师:张旭洁(课时数:4)2021/3/92环境及要求1 分析UML工具:Rational Rose 20072 开发工具:自己熟悉的面向对象语言2021/3/93第一部分 理论概述1.第一章 软件工程概述补充复习:2.结构化系统分析与设计概述3.面向对象系统分析与设计概述2021/3/94第1章 软件工程与UML概述2021/3/95目录目录1.1 软件工程概述1.1.1 软件工程的发展历史1.1.2 软件工程的生命周期1.2 建模的目的1.2.1 建模的重要性1.2.2 建模四原则1.2.3 面向对象建模1.3 UML概

2、述1.3.1 UML的历史1.3.2 UML包含的内容1.3.3 UML的定义1.3.4 UML的应用领域2021/3/96经典的软件工程思想将软件开发分成以下5个阶段:需求捕获(Requirement Capture)阶段系统分析与设计(System Analysis and Design)阶段系统实现(System Implementation)阶段测试(Testing)阶段维护(Maintenance)阶段2021/3/97简而言之,模型是对现实的简化。模型提供系统的蓝图,包含细节设计,也包含对系统的总体设计。一个好的模型包括重要的因素,而忽略不相干的细节。每一个系统可以从不同的方面使用

3、不同的模型进行描述,因此每个模型都是对系统从语义上近似的抽象。模型可以是模型可以是结构结构的的、侧重于系统的组织侧重于系统的组织,也可以是,也可以是行为的、侧重行为的、侧重于系统的动作。于系统的动作。2021/3/98建立模型可以帮助帮助开发者更好地了解正在开发的系统。通过建模,要实现以下4个目标。便于开发人员展现系统。允许开发人员指定系统的结构或行为。提供指导开发人员构造系统的模板。记录开发人员的决策。2021/3/99在工程学科中,对模型的使用有着悠久的历史,人们从中总结出了4条基本的建模原则。选择建立什么样的模型对如何发现和解决问题具有重要的影响。每个模型可以有多种表达方式。最好的模型总

4、是能够切合实际。孤立的模型是不完整的。2021/3/910公认的面向对象建模语言出现于20世纪70年代中期。从19891994年,其数量从不到10种增加到了50多种。在众多的建模语言中,语言的创造者努力宣传自己的产品,并在实践中不断完善。但是,使用面向对象方法的用户并不了解不同建模语言的优缺点及相互之间的差异,因而很难根据应用特点选择合适的建模语言,于是爆发了一场“方法大战”。20世纪90年代中期,一批新方法出现了,其中最引人注目的是Booch 1993、OOSE和OMT-2等。2021/3/9111994年10月,Grady Booch和Jim Rumbaugh将Booch 93和OMT-2

5、统一起来,并于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(Unitied Method)。1995年秋,OOSE的创始人Jacobson加盟到这一工作中。1996年6月和10月分别发布了两个新的版本,即UML 0.9和UML 0.91,并将UM重新命名为UML(Unified Modeling Language)。目前最新版本为UML 2.1。可以在OMG的网站上获得uml规范文档。2021/3/912作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。(1)UML语义描述基于UML的精确元模型定义。元模型为UML的所有元素在语法和语

6、义上提供了简单、一致和通用的定义性说明。(2)UML表示法定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文本所表达的是应用级的模型,在语义上它是UML元模型的实例。2021/3/913UML由视图(View)、图(Diagram)、模型元素(Model Element)和通用机制(General Mechanism)等几个部分组成。视图(视图(View)是表达系统的某一方面特征的UML建模元素的子集,视图并不是图,它是由一个或多个图组成的对系统某个角度的抽象。在建立一个系统模型时,通过定义多个反映系统不同方面的视图,才能对系统做出完整、

7、精确的描述。图(图(Diagram)是模型元素集的图形表示,通常是由弧(关系)和顶点(其他模型元素)相互连接构成的。UML通常提供9种基本的图,把这几种基本图结合起来就可以描述系统的所有视图。模型元素(模型元素(Model Element)代表面向对象中的类、对象、接口、消息和关系等概念。UML中的模型元素包括事物和事物之间的联系,事物之间的关系能够把事物联系在一起,组成有意义的结构模型。常见的联系包括关联关系、依赖关系、泛化关系、实现关系和聚合关系。同一个模型元素可以在几个不同的UML图中使用,不过同一个模型元素在任何图中都保持相同的意义和符号。通用机制(通用机制(General Mecha

8、nism)用于表示其他信息,比如注释、模型元素的语义等。另外,UML还提供扩展机制(Extension Mechanism),使UML能够适应一个特殊的方法/过程、组织或用户。2021/3/914UML中的视图大致可以分为如下5种。(1)用例视图(Use Case View),强调从用户的角度看到的或需要的系统功能,是被称为参与者的外部用户所能观察到的系统功能的模型图。(2)逻辑视图(Logical View),展现系统的静态或结构组成及特征,也称为结构模型视图(Structural Model View)或静态视图(Static View)。(3)并发视图(Concurrency View)

9、,体现了系统的动态或行为特征,也称为行为模型视图(Behavioral Model View)或动态视图(Dynamic View)。(4)组件视图(Component View),体现了系统实现的结构和行为特征,也称为实现模型视图(Implementation Model View)。(5)配置视图(Deployment View),体现了系统实现环境的结构和行为特征,也称为环境模型视图(Environment Model View)或物理视图(Physical View)。2021/3/915视图是由图组成的,UML提供9种不同的图。(1)用例图(Use Case Diagram),描述系

10、统功能。(2)类图(Class Diagram),描述系统的静态结构。(3)对象图(Object Diagram),描述系统在某个时刻的静态结构。(4)时序图(Sequence Diagram),按时间顺序描述系统元素间的交互。(5)协作图(Collaboration Diagram),按照时间和空间顺序描述系统元素间的交互和它们之间的关系。(6)状态图(State Diagram),描述了系统元素的状态条件和响应。(7)活动图(Activity Diagram),描述了系统元素的活动。(8)组件图(Component Diagram),描述了实现系统的元素的组织。(9)配置图(Deploym

11、ent Diagram),描述了环境元素的配置,并把实现系统的元素映射到配置上。UML 2.0中包含13种图,将会在后面章节介绍。2021/3/916需要补充和复习的内容需要补充和复习的内容2.2.结构化系统分析与设计概述结构化系统分析与设计概述2021/3/917 结构化系统分析与设计方法结构化系统分析与设计方法2.1 结构化生命周期法简介2.2 结构化系统分析方法2.3 结构化系统设计方法2021/3/9182.1 2.1 结构化生命周期法简介结构化生命周期法简介2.1.1 系统规划阶段2.1.2 系统分析阶段2.1.3 系统设计阶段2.1.4 系统实施阶段3.1.5 系统运行和维护阶段2

12、021/3/919 结构化生命周期法的基本思想就是将整个信息系统的开发过程划分为分为系统规划、系统分析、系统设计、系统实施、系统运行与维护5个阶段。相邻的阶段间首尾相连,形成信息系统开发的周期循环过程。2021/3/9202.1.1 系统规划阶段系统规划阶段 系统规划阶段的主要任务是根据用户提出的系统开发请求,进行初步调查,明确系统要完成的主要功能、基本要求和要产生的信息,即确定总体结构方案,然后进行可行性研究,确定所要开发的系统是否可行,只有可行才可以进行后续工作。2021/3/9212.1.2 系统分析阶段系统分析阶段 系统分析阶段根据系统规划阶段所确定的系统总体结构方案,对现有的管理系统

13、进行详细调查研究,从所获取的信息中分析出合理的信息流动、处理、存储的过程,即建立目标系统的逻辑模型。2021/3/9222.1.3 系统设计阶段系统设计阶段 当目标系统逻辑方案审查通过后,就可以开始系统设计了。系统设计阶段实际上是根据目标系统的逻辑模型确定目标系统的物理模型,即解决目标系统“怎样做”的问题。2021/3/9232.1.4 系统实施阶段系统实施阶段 在系统分析和系统设计完成之后,系统开发即进入实施阶段。新系统设计方案的成功实施是MIS生命周期中的一个重要阶段。系统实施是将新系统设计方案转换成实际运行系统的全过程。2021/3/9242.1.5 系统运行与维护阶段系统运行与维护阶段

14、 这个阶段是整个系统开发生命周期中最长的一个阶段,可以是几年甚至十几年。这一阶段要对系统的日常运行进行管理,并对系统进行评价和维护。2021/3/9252. 2.2 2 结构化系统分析方法结构化系统分析方法2.2.1 需求分析2.2.2 组织结构分析2.2.3 功能体系分析2.2.4 业务流程分析2.2.5 数据流程分析2.2.6 数据字典2.2.7 新系统的逻辑模型2.2.8 数据流程分析2021/3/9262.2.1 需求分析需求分析 用户需求用户需求指的是新系统必须满足的所有性能和限制,包括:功能要求、性能要求、可靠性要求、安全保密要求、开发费用、开发周期和可使用的资源等方面的限制等等。

15、 需求分析要全面理解用户的各项要求,又需求分析要全面理解用户的各项要求,又不能全盘接受所有的要求,而需要准确地表达不能全盘接受所有的要求,而需要准确地表达用户的要求,因为并非全部要求都合理。用户的要求,因为并非全部要求都合理。2021/3/9272.2.2 组织结构分析组织结构分析 组织结构的调查组织结构的调查与分析通常采用组织结构图来完成,通过建立组织结构图,可以详细了解各部门人员的业务分工情况和有关人员的姓名、工作职责、决策内容、存在问题和对新系统的要求等。总经理计划科生产部财务部供销科计划组统计组计划调度组外协组统计组成本组会计组出纳组供应组销售组仓库2021/3/9282.2.3 功能

16、体系分析功能体系分析 功能体系调查可以了解或确定系统的功能构造。系统有一个总的目标,为达到这个目标,必须要完成各子系统的功能,而各子系统功能的完成,又依赖于它下面各项更具体的功能来执行,通常采用功能体系图对功能体系进行描述。销售系统管理销售计划管理销售合同管理销售核算与统计成品库管理市场预测销售历史资料管理编制年度销售大纲编制销售计划合同有效性检查合同执行情况分析合同登记和变更销售收入核算销售利润核算销售统计分析出入库管理库存统计市场预测市场分析2021/3/9291.2.4 业务流程分析业务流程分析 业务流程分析可以帮助我们了解某项业务的具体处理过程具体处理过程,发现和处理系统调查工作中的错

17、误和疏漏工作中的错误和疏漏,修改和删除原系统的不合理部分,促成在新系统基础上优化业务处理流程。2021/3/9302.2.5 数据流程分析数据流程分析 数据流程分析是把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。这些问题包括数据流程不畅、前后数据不匹配和数据处理过程不合理等等。2021/3/9312021/3/9322.2.6 数据字典数据字典 数据字典是以特定格式记录

18、下来的、对系统的数据流图中各个基本要素(数据流、加工、存储和外部项)的内容和特征所作的完整的定义和说明,是对数据流图的重要补充。2021/3/9332.2.7 新系统的逻辑模型新系统的逻辑模型 新系统逻辑模型的提出要以现行系统的数据流图为基础,并以新系统的目标为依据,通过逐渐修改现行系统的数据流图来实现。2021/3/9342.2.8 系统分析报告系统分析报告 系统分析报告又称系统说明书,反映了反映了系统分析阶段调查分析的全部情况,是这一阶段的重要文档。用户可通过它来验证和认可新系统的开发策略和开发方案,而系统设计师则可以用它来指导系统设计工作和以后的系统实施标准。2021/3/9352. 2

19、.3 3 结构化系统设计方法结构化系统设计方法2.3.1 功能模块设计2.3.2 系统配置设计2.3.3 代码设计2.3.4 数据库设计2.3.5 输入/输出设计2.3.6 人机对话设计2.3.7 系统设计说明书2021/3/9362.3.1 功能模块设计功能模块设计 功能模块设计方法功能模块设计方法是在结构化思想的基础上发展起来的一种用于复杂系统结构设计的技术,它运用一套标准的设计准则和工具,采用模块化的方法进行系统结构设计。2021/3/9372.3.2 系统配置设计系统配置设计 系统配置设计主要包括硬件和软件两部分。 在硬件配置设计中,需要确定开发新系统所需要的计算机主机、外围设备、联网

20、设备等硬件设备的配置方案; 在软件配置设计中,则需要确定操作系统、网络协议、数据库产品以及应用软件等的选择方案。2021/3/9382.3.3 代码设计代码设计 代码是代表客观存在的实体及其各种属性的符号。使用代码可以使数据的表达方式标准化,节省存储空间,便于信息的传递和进行分类、合并、检索等处理,提高计算机处理信息的,标明事物所处状态。 代码设计是在系统调查与分析的基础上,确定系统内需要代码化的实体,给出编码结构和编码规则,以及对所有编码对象实施编码,从而为系统建立一套统一而科学的代码体系。2021/3/9392.3.4 数据库设计数据库设计系统需求分析:确认设计范围,在此基础上调查分析信息

21、需求,最终建立需求说明文档。概念设计:将需求分析得到的用户需求抽象为信息结构(即概念模型)。逻辑设计:将概念设计阶段建立的E-R模型转换为关系模型,并按需要进行关系规范化,最终实现模式优化。物理设计:为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构。2021/3/9402.3.5 输入输入/输出设计输出设计 输入设计阶段,要确定输入的数据内容、输入方式、记录格式、输入设备等,还要完成输入数据的正确性校验。 输出设计是从信息输出角度,通过对输出设备、输出内容、输出界面、输出控制等方面的分析研究,确定出可行的输出设计方案。2021/3/9412.3.6 人机对话设计人机对话设计 人机对话是

22、人与计算机进行信息交流的过程。输入、输出都是人机对话,用户通过屏幕、键盘等设备可以与计算机进行信息交换,控制系统的运行。2021/3/9422.3.7 系统设计说明书系统设计说明书 系统设计阶段的工作,最终将以系统设计以系统设计说明书的形式体现出来说明书的形式体现出来。系统设计说明书既是系统设计阶段的工作成果,也是系统实施的重要依据。2021/3/943结构化系统开发方法三个阶段小结2021/3/944需要补充和复习的内容需要补充和复习的内容3.3.面向对象系统分析与设计概述面向对象系统分析与设计概述2021/3/94545为什么要学习面向对象系统开发方法为什么要学习面向对象系统开发方法现代信

23、息系统体系结构庞大、数据量大,运用传统的方法及现代信息系统体系结构庞大、数据量大,运用传统的方法及工具已难以满足用户的要求,需要有新的方法论来指导系统工具已难以满足用户的要求,需要有新的方法论来指导系统的分析与设计过程。的分析与设计过程。面向对象的方法是基于对象概念的分析与设计方法,认为信面向对象的方法是基于对象概念的分析与设计方法,认为信息系统是按照不同抽象层次组织的对象的集合。息系统是按照不同抽象层次组织的对象的集合。2021/3/946463.1 面向对象方法的基础理论本节内容:3.1.1 面向对象的基本概念 3.1.2 基于面向对象方法的系统开发生命周期2021/3/947473.1

24、面向对象方法的基础理论客观世界可以看成由许多不同种类的对象构成,每个对象都有其内部状态和运动规律,不同对象间存在联系和互动。 “面向对象”是人类从客观事物组织结构的角度认识并模拟客观世界,即建立适应一般思维方式的问题域描述模型的一种方法。2021/3/9483.1 面向对象的基本概念2021/3/949对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的基本单位,由一组属性和施加于这组属性的一组操作构成。对象中的属性(Attribute)用来描述对象静态特征的一个数据项。对象中的操作(Operation)用来描述对象动态特征(行为)的一个动作序列。2021/3/950类(cl

25、ass)相同属性和操作的一组对象属于同一个类,它为属于该类的全部对象提供了统一的抽象描述,由一个类名、一组属性和一组操作构成,同一个类的对象之间,属性值可不同,操作完全相同。类的作用用于创建对象,对象是类的实例。2021/3/951 继承继承(inheritance)特殊类自动拥有其一般类的全部属性和操作,称为特殊类对一般类的,也称一般类对特殊类的。公司人员姓名身份证号股东股份职员工资研究生学号班级职员职称工资在职研究生在职单位单继承多继承2021/3/952继承的层次与抽象、分类原则的运用运输工具轮船车辆飞机火车汽车卡车轿车较多地忽略事物之间的差别,得到较一般的类较多地注意事物之间的差别,得

26、到较特殊的类2021/3/953关联(association)类之间的静态关系;类实例为对象,对象之间用链连接。链是关联的实例。教师学生1 指导论文 *2021/3/954聚合(aggregation)一个(较复杂)对象由其他若干(较简单)对象作为其构成成分,这种对象间关系称为聚合;是关联的一种。汽车发动机车轮2021/3/955面向对象的基本原则抽象从事物中舍弃个别的、非本质的特征,分类较多地,把具有相同属性和操作的对象划分一类。2021/3/956封装(encapsulation)用对象把属性和操作包装起来,形成一个独立的实体单位,并尽量对外隐蔽内部细节。售报亭-报刊A-报刊B-钱箱+报刊

27、零售-款货清点属性操作属性操作操作操作操作封装与信息隐蔽2021/3/957消息(message)对象通过它提供的操作在系统中发挥作用;其他对象向这个对象发请求,该对象并;对象之间通过消息进行通信,实现对象之间的。2021/3/958多态性(polymorphism)可定义同名的属性或操作,来;一般类一般类中的属性或操作,在不同特殊类中。输出设备打印针式打印机打印行式打印机打印2021/3/959动态行为分析动态行为分析用对等(关联)和层次(继承和聚合)描述类间关系,称为静态模型(或结构模型);按属性值按属性值,可把对象划分为不同的状态不同的状态,用状态转化图表示用状态转化图表示;对象间发送消

28、息,协同完成某项功能,用交互对象间发送消息,协同完成某项功能,用交互图(即写作图和顺序图)表示图(即写作图和顺序图)表示;用主动对象和被动对象表示并非行为用主动对象和被动对象表示并非行为。2021/3/960永久对象(persistent object)目前大多数OOPL(OO编程语言)是不支持永久对象的;采用文件或数据库存储;读出后进行必要的格式转换,恢复对象。面向对象数据库管理系统(OODBMS)OO语言和数据结合,支持对象永久性。2021/3/961主动对象(active object)至少有一个操作不需要接收消息就可主动执行的对象。所有操作必须接收消息才能执行的对象,称为。在多任务并发

29、执行的系统中,存在多个主动对象。2021/3/962复杂性控制系统分为若干“包(package)”,把类图中按模型元素之间关系的紧密程度,并把模型元素组织到各个包中。2021/3/963与人们认识世界的方法相对应;对象对应问题域中的事物;其属性和操作刻画事物的静态和动态特征。继承、聚合、依赖和关联关系如实反映问题域事物之间的关系。使客观世界到计算机语言的鸿沟变窄面向对象语言比非面向对象语言更接近问题域。2021/3/964面向对象方法使问题域和计算机的鸿沟变窄问题域需求分析总体设计详细设计编程测试计算机分析与设计的鸿沟自然语言编程语言问题域OOAOODOOPOOT自然语言OO语言计算机2021

30、/3/965数据结构数据结构数据结构算法算法算法关系数据结构+算法数据结构+算法数据结构+算法数据结构+算法关系2021/3/966663.1.1 面向对象的基本概念 “面向对象面向对象”是一种认识客观世界的认知方法是一种认识客观世界的认知方法学。从人们思维模型和认识事物的角度,面向学。从人们思维模型和认识事物的角度,面向对象很自然地与客观世界的固有特征相对应。对象很自然地与客观世界的固有特征相对应。 “面向对象面向对象”亦是一种解决问题的思维方法。亦是一种解决问题的思维方法。这种方法描述的现实世界模型贴切合理,符合这种方法描述的现实世界模型贴切合理,符合人们认识世界的思维方法。人们认识世界的

31、思维方法。2021/3/967673.1.2 基于面向对象方法的系统开发生命周期面向对象系统开发 将面向对象技术用于系统开发的全过程,包括:等。 从面向对象观点出发,以应用领域的问题对象为着眼点,用直观的方式描述客观世界的内部结构,将现实世界的空间模型平滑而自然地过渡到面向对象的系统模型,使系统开发过程与人们认识客观世界的过程保持最大限度的一致。 整个过程可从和两个层面去理解。 2021/3/968683.1.2 基于面向对象方法的系统开发生命周期面向对象系统开发宏观层面从宏观层面看,面向对象的系统开发方法包括分析、设计、实现以及运行与维护等四大阶段,这种反复累增的生命周期与传统的不同,既。2

32、021/3/9693.1.2 基于面向对象方法的系统开发生命周期目 标 系 统类 库t时间分析设计分析设计 类一类二类三设计实现t 时 间运行维护分析设计反复累增的生命周期2021/3/970703.1.2 基于面向对象方法的系统开发生命周期面向对象系统开发宏观层面 反复是指分析、设计与实现各阶段不是顺序完成的,而是经过多次迭代完成,每一次迭代都要以前次迭代结果为基础,进行相应的分析、设计与实现。 累增是指在每一次迭代过程中,分析、设计与实现都会产生新的成果,系统功能结构逐步得到改进,最后达到用户要求。2021/3/971711.2 基于面向对象方法的系统开发生命周期面向对象系统开发层面面向对象方法包含每一宏观阶段中的标识对象,确定对象的属性,定义对象的服务,以及确定对象间关系等处理步骤。分析阶段,通过详细调查问题领域,列举问题领域主要实体对象,初步梳理出这些实体对象的属性、行为及彼此间的关系。2021/3/972723.1.2 基于面向对象方法的系统开发生命周期面向对象系统开发微观层面设计阶段,对分析阶段所得到的问题领域实体对象/类进行求精,进一步发

温馨提示

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

评论

0/150

提交评论