版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件过程模型软件过程模型 主讲主讲 :刘燕:刘燕 Tel :2875001 Email Email :主要内容第一章第一章 概述概述第二章第二章 UML基本知识基本知识 第三章第三章 UML与与JAVA 第四章第四章 UML在在J2EE中的应用中的应用 成绩评定平时成绩:平时成绩:30%30%期末成绩:期末成绩:70%70%考试形式:开卷考试形式:开卷考试时间:考试时间:6 6月初月初恭祝大家好运!恭祝大家好运! 2022-3-34第一章 概述1.1 1.1 软件开发过程软件开发过程1.2 1.2 软件开发模型软件开发模型1.3 1.3 统一建模语言统一建模语言 UMLUML 早期早期 第二阶
2、段第二阶段 第三阶段第三阶段 第四阶段第四阶段面向批处理面向批处理 多用户多用户 分布式系统分布式系统 强大的桌面系统强大的桌面系统有限的分布有限的分布 实时实时 嵌入嵌入“智能智能” ” 面向对象技面向对象技术术自定义软件自定义软件 数据库数据库 低成本硬件低成本硬件 专家系专家系统 软件产品软件产品 消费者的影响消费者的影响 人工神经网络人工神经网络 并行计算并行计算 网络计算机网络计算机195019601970198019902000Evolution of software#2022-3-361.1 1.1 软件开发过程软件开发过程计算机世界计算机世界现实世界现实世界影射影射软件过程是
3、一个将用户需求转化为软件系统所需要的活动的集合。软件过程是一个将用户需求转化为软件系统所需要的活动的集合。2022-3-382022-3-392022-3-3102022-3-311软件的工业化生产过程应具备的特点:软件的工业化生产过程应具备的特点:F明确的工作步骤明确的工作步骤F详细具体的规范化文档详细具体的规范化文档F明确的质量评价标准明确的质量评价标准“一个好的工业,应有一套良好的标准来配套”软件工程软件工程-思想思想软件产品的标准化软件产品的标准化软件开发过程的标准化软件开发过程的标准化1 1:软件工程软件工程-思想思想2022-3-3161.1 1.1 软件开发过程软件开发过程计算机
4、世界计算机世界现实世界现实世界影射影射软件开发过程主要是建立软件模型的过程软件开发过程主要是建立软件模型的过程2022-3-317 软件开发模型是软件开发全部过程、活动和任务的结构框架。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。 软件开发模型也常称为: 软件过程模型软件过程模型 软件生存周期模型 软件工程范型1.2 1.2 软件开发模型软件开发模型2022-3-318 模型模型( (model) :) : 现实世界某些重要方面的表示。现实世界某些重要方面的表示。 模型是对对象系统的形式化的特征抽象,概括性模型是对对象系统的形式化的特征抽象,概括性或近似地表示。或近似
5、地表示。 有时我们使用术语有时我们使用术语“抽象抽象”来表示模型,因为我来表示模型,因为我们从现实世界中们从现实世界中抽象抽象出对我们特别有用的东西。出对我们特别有用的东西。1 1:建模基本概念:建模基本概念2022-3-319抽象抽象 ( (Abstraction) )( (模型化模型化) )源于实验科学源于实验科学, ,主要要素为数据采集方法和假主要要素为数据采集方法和假设的形式说明设的形式说明, ,模型的构造与预测实验分析结模型的构造与预测实验分析结果分析果分析. .在为可能的算法数据结构和系统结构等构造模在为可能的算法数据结构和系统结构等构造模型时使用此过程型时使用此过程. .抽象的结
6、果是概念符号模型抽象的结果是概念符号模型1 1:建模基本概念:建模基本概念2022-3-320Windows NTWindows NT一体化的一体化的I/OI/O系统设计系统设计文件管理文件管理网络管理网络管理设备管理设备管理高速缓冲存储器高速缓冲存储器对虚拟文件的对虚拟文件的字节流字节流, ,虚拟文件可为虚拟文件可为任何设备和实任何设备和实体体抽象抽象抽象原则应用举例抽象原则应用举例2022-3-321模型构造的过程模型构造的过程构造模型的过程是一个抽象、分析的过程。构造模型的过程是一个抽象、分析的过程。对象系统模型系统抽象(映射)模型应用模型构造的过程2022-3-322当前当前系统系统目
7、标目标系统系统物理物理模型模型逻辑逻辑模型模型逻辑逻辑模型模型物理物理模型模型模型化模型化抽象化抽象化具体化具体化实例化实例化怎怎么么做做做做什什么么当前当前系统系统目标目标系统系统需需求求定定义义模型构造的过程模型构造的过程2022-3-323建模的作用建模的作用在建模过程中了解系统在建模过程中了解系统通过抽象降低复杂性通过抽象降低复杂性有助于回忆所有的细节有助于回忆所有的细节有助于开发小组间的交流有助于开发小组间的交流有助于与用户的交流有助于与用户的交流为系统的维护提供文档为系统的维护提供文档 可以管理风险可以管理风险 计算机世界计算机世界现实世界现实世界结结构构化化开开发发方方法法结构化
8、结构化分析分析结构化结构化设计设计结构化结构化编程编程OOAOODOOP面面向向对对象象开开发发方方法法建模的方法建模的方法2022-3-325加加工工说说明明控制说明控制说明数数据据对对象象说说 明明数据字典数据字典(DD)2022-3-326面向对象分面向对象分析模型的组成结构析模型的组成结构使用实例使用实例(Use Case)(Use Case)操作、操作、属性、属性、协作者协作者2022-3-327将分析模型转换为软件设计将分析模型转换为软件设计数据数据字典字典数据数据流图流图E-RE-R图图状态变迁图状态变迁图加加工工规规约约控制规约控制规约数数据据对对描描 述述象象数数 据据 设设
9、 计计体系结构设计体系结构设计接口设计接口设计过程设计过程设计分析模型分析模型设计模型设计模型2022-3-328 2 2 软件开发方法(软件开发方法(P35) 瀑布法 迭代法可行性研究与计划可行性研究与计划需求分析需求分析设计设计编码编码运行维护运行维护测试测试定义定义阶段阶段开开发发阶阶段段维护阶段维护阶段瀑布模型( (Waterfall Model) ) 2022-3-331在迭代化的方法中,我们将整个项目的开发目标划分成为一些更易于完成和达到的阶段性小目标,这些小目标都有一个定义明确的阶段性评估标准。迭代就是为了完成一定的阶段性目标而所从事的一系列开发活动,在每个迭代开始前都要根据项目
10、当前的状态和所要达到的阶段性目标制定迭代计划,整个迭代过程包含了需求、设计、实施(编码)、部署、测试等各种类型的开发活动,迭代完成之后需要对迭代完成的结果进行评估,并以此为依据来制定下一次迭代的目标。迭代式开发迭代式开发 迭代式开发模型迭代式开发模型2022-3-333Rational统一开发过程统一开发过程 RUP是一个通用的软件流程框架,它是一个以架构为中心、用例驱动的迭代化软件开发流程。 RUP是从几千个软件项目的实践经验中总结出来的,对于实际的项目具有很强的指导意义,是软件开发行业事实上的行业标准。RUP(Rational Unified Process)软件生命周期(开发周期)软件生
11、命周期(开发周期)在RUP中,我们把软件开发生命周期划分为四个阶段,每个阶段的结束标志就是一个主要的里程碑。这四个阶段主要是为了达到以下阶段性的目标里程碑:先启(Inception):确定项目开发的目标和范围 精化(Elaboration):确定系统架构和明确需求 构建(Construction):实现剩余的系统功能 产品化(Transition):完成软件的产品化工作,将系统移交给客户 Rational统一开发过程模统一开发过程模型型2022-3-336nUML (Unified Modeling Language)统一建模语言是一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语
12、言。 n图形化的建模语言n开发者用来为面向对象系统建立模型n具有灵活性与可扩展性1.3 1.3 统一建模语言统一建模语言 UMLUML2022-3-337三个主要创始人: Booch, Rumbaugh and Jacobson由Object Management Group (OMG)推荐成为国际标准UML历史 UML UML的开发历程的开发历程Booch91其它方法其它方法OMT-1OOSEBooch93OMT-2UML 0.8UML 0.9&0.91UML 1.0UML 1.1UML同行同行专家意见专家意见OMG认证认证10/9510/96 & 9/96OMG审核审核,1
13、/97OMG修正修正,9/97OMG采用采用,11/97UML 1.3工业化工业化标准化标准化统一统一分散的分散的各部分各部分2022-3-340标准化进程标准化进程nObject Management Group(OMG) n征集标准化建模语言的提案征集标准化建模语言的提案nRational 公司公司n提出提出 UML 语言语言n提供支撑环境产品提供支撑环境产品 Rosen支持支持 UML 的公司的公司nMicrosoft、HP、Oracle、TexasUML一统天下一统天下 统一的不是建模过程而是建模语言统一的不是建模过程而是建模语言 UML(Unified Modeling Langua
14、ge)中的U有两个方面的含义:1: 它有效地消除了原有建模语言间的差异;2: 它统一了存在于不同类型系统中的需求分析、设计、实现,以及内部概念中的观点和认识。 因此,UML是近年来推出的一种基于面向对象(OO)的可视化图形建模语言,用于对软件系统进行说明、构造和文档建立。 2022-3-342新概念新概念UML中增加了许多新概念,主要有: n模板(stereotypes); n职责(responsibilities); n扩展机制(extensibility mechanisms),有模板、附加值(tagged value)、约束(constraints)三类; n线程(threads)和过程
15、(processes); n分布式(distribution)和并发(concurrency); 2022-3-343新概念新概念n模式(patterns)和合作(collaborations); n活动图(用于商业过程); n清晰地区分类型(type)、类(class)和实例(instance); n细化(refinement); n接口(interfaces)和构件(components)。 2022-3-344 UML架构架构 UML由图和元模型组成。由图和元模型组成。n图是UML 的语法n元模型则给出的图的意思,是UML 的语义。2022-3-345UML架构架构UML 的语义是定义在
16、一个四层或四个抽象级建模概念框架中的这四层分别是:n元元模型层(元元模型层(meta-metamodel)n元模型层(元模型层(metamodel)n模型层(模型层(model)n用户模型层(用户模型层(user model)组成UML 最基本的元素事物(Thing),代表要定义的所有事物。组成了UML 的基本元素,包括面向对象和面向组件的概念,这一层的每个概念都是元元模型中事物概念的实例。组成了UML 的模型,这一层中的每个概念都是元模型层中概念的一个实例。这一层的模型通常叫做类模型class model 或类型模型type model。这层中的所有元素都是UML 模型的例子,这一层中的每个
17、概念都是模型层的一个实例。通过分类也是元模型层的一个实例,这一层的模型通常叫做对象模型object model 或实例模型instancemodel。2022-3-346UML的模型、视图、图与系统架构建模 UML 是用来描述模型的,它用模型来描述系统的结构或静态特征,以及行为或动态特征。它从不同的视角为系统的架构建模,形成系统的不同视图(view ),包括:n用例视图(use case view )n逻辑视图(logical view )n并发视图(concurrent view )n组件视图(component view)n展开视图(deployment view) 每一种UML 的视图都
18、是由一个或多个图(diagram )组成的。一个图就是系统架构在某个侧面的表示,它与其它图是一致的,所有的图一起组成了系统的完整视图。 UML 提供了九种不同的图。可以分成两大类。n静态图:用例图、类图、对象图、组件图、配置图。n动态图:序列图、协作图、状态图和活动图。2022-3-348UML的基本图的基本图n使用案例图使用案例图 Use case diagramn对象图对象图 Object diagramn类图类图 Class diagramn序列图序列图 Sequence diagramn协作图协作图 Collaboration diagramn状态图状态图 Statechart dia
19、gramn动作图动作图 Activity diagramn构件图构件图 Component diagramn发布图发布图 Deployment diagram2022-3-349UML的应用(的应用(1/2)需求分析需求分析用使用案例图描述客户需求,系统外部功能建模用使用案例图描述客户需求,系统外部功能建模系统分析(问题域建模)系统分析(问题域建模)系统结构:类图系统结构:类图系统行为:协作图、状态图、序列图、活动图系统行为:协作图、状态图、序列图、活动图系统设计(系统框架建模)系统设计(系统框架建模)逻辑框架:细化问题域模型逻辑框架:细化问题域模型界面设计、数据设计界面设计、数据设计物理框架
20、:构件图、发布图物理框架:构件图、发布图2022-3-350UML的应用(的应用(2/2)系统实现系统实现对象设计:从系统框架对象设计:从系统框架 程序结构程序结构可复用构件、可复用系统框架可复用构件、可复用系统框架系统测试系统测试单元测试:测试类(基于类图)单元测试:测试类(基于类图)结合测试:测试协作关系(基于构件图和协作图)结合测试:测试协作关系(基于构件图和协作图)系统测试:测试系统功能(基于使用案例图)系统测试:测试系统功能(基于使用案例图)2022-3-351 UML的应用领域的应用领域nUML被用来为系统建模,它可应用的范围非常广泛被用来为系统建模,它可应用的范围非常广泛n在不同
21、系统中的应用在不同系统中的应用n信息系统信息系统n技术系统技术系统n嵌入式实时系统嵌入式实时系统n分布式系统分布式系统n商业系统商业系统2022-3-352 特特 点点UML的主要特点有: (1) UML最重要的是将Booch、OMT和OOSE的概念融合在一起。 (2) UML吸收了现有方法中能够提供的功能,特别是关于并发(concurrent)、分布式(distribution)系统描述元素。 (3) UML致力于一种标准的建模语言,而不是标准的建模过程。尽管UML必须应用于过程,UML首先把重点放在通用的元模型(用带有文字说明的UML符号表示),用来统一语义;然后才是通用的符号表示,用以表
22、示语义提供的表示方法。2022-3-353n元模型是用于定义对象模型的语言。n元模型为UML的所有元素在语法上和语义上提供了单一的、通用的和确定的描述。元模型使开发者在语义上取得了一致,不仅消除了由于人为因素对语义表示所造成的影响,而且可使工具间的信息交换和复杂系统的设计在语义上保持了高度的一致。(4) UML使用图形符号和正文语法为系统建模,用来描述用户的层次模型,在语义上是UML元模型的实例。 特特 点点2022-3-354 (5)UML虽然没有把开发过程标准化,但却仍致力于以用例驱动、体系结构为中心,并且用可迭代的和易于增量的过程来完善。 特特 点点2022-3-357作业作业2022-
23、3-358补充内容补充内容2022-3-359面向对象的方法论面向对象的方法论n方法论是如何对复杂系统进行方法论是如何对复杂系统进行“抽象抽象”的工作,以及如何建立抽象模型的工作,以及如何建立抽象模型。2022-3-360面向对象分析建模面向对象分析建模(OOA)(OOA)面向对象分析方法确实不同于结构化分析方法吗?面向对象分析方法确实不同于结构化分析方法吗? Fichman,R.G and C.F.Kemerer,Fichman,R.G and C.F.Kemerer, 在在“Object-oriented Conventional Analysis Object-oriented Conv
24、entional Analysis and Design Methodologies” and Design Methodologies” 中阐述:中阐述: 我们的结论是面向对象分析方法表现了相对面向我们的结论是面向对象分析方法表现了相对面向过程的方法学(如结构化分析)的根本性变化,而且过程的方法学(如结构化分析)的根本性变化,而且相对面向数据的方法学仅仅是增量性的变化。面向过相对面向数据的方法学仅仅是增量性的变化。面向过程的方法学在建模过程中的关注点不是对象的内在性程的方法学在建模过程中的关注点不是对象的内在性质,从而导致了和面向对象的三个基本原理相正交的质,从而导致了和面向对象的三个基本原
25、理相正交的问题域模型。问题域模型。2022-3-361面向对象分析方法面向对象分析方法n面向对象分析方法使得软件工程师能够通过对面向对象分析方法使得软件工程师能够通过对象、属性和操作(作为主要的建模成分)的表象、属性和操作(作为主要的建模成分)的表示来对问题建模。示来对问题建模。 建立分析模型5个基本原则:(1 1)建模信息域;建模信息域;(2 2)描述模块功能;描述模块功能;(3 3)表示模型行为;表示模型行为;(4 4)分解以模型显示更多细节;分解以模型显示更多细节;(5 5)早期模型表示问题的本质,而后期早期模型表示问题的本质,而后期 模型提供实现细节。模型提供实现细节。2022-3-3
26、62OOAOOA的意图的意图n是定义所有和被求解的问题相关的类(及同类是定义所有和被求解的问题相关的类(及同类关联的关系和行为),为了达到这个目标,必关联的关系和行为),为了达到这个目标,必须完成以下任务须完成以下任务2022-3-363OOAOOA的意图的意图(1 1)必须在客户和软件工程师之间沟)必须在客户和软件工程师之间沟 通了解基本的用户需求;通了解基本的用户需求;(2 2)必须标识类)必须标识类( (定义属性和方法定义属性和方法) );(3 3)必须刻划类层次;)必须刻划类层次;(4 4)表示对象对象关系(对象连接);)表示对象对象关系(对象连接);(5 5)必须建模对象行为;)必须
27、建模对象行为;(6 6)任务)任务(1)(1)到到(5)(5)递进地反复使用,直至递进地反复使用,直至 完成建模完成建模2022-3-364流行的几种面向对象方法流行的几种面向对象方法Booch方法方法Coad-Yourdon方法方法Rumbaugh 方法方法(简称简称OMT)(Object Modeling Technology) Jacobson 方法(简称方法(简称OOSE)由由Rumbaugh 、 Booch 、 Jacobson 提出的统一建模语言提出的统一建模语言 (Unify Modeing Language简称简称UML)2022-3-365不同面向对象分析方法的不同面向对象分
28、析方法的相似步骤:相似步骤:(1 1)使用基本需求作为指南选择类)使用基本需求作为指南选择类 和对象;和对象;(2 2)为对象标识属性和操作;)为对象标识属性和操作;(3 3)定义组织类的结构和层次;)定义组织类的结构和层次;(4 4)建造对象)建造对象- -关系模型的;关系模型的;(5 5)建造对象)建造对象- -行为模型。行为模型。2022-3-366统一的统一的OOAOOA方法方法由由Rumbaugh 、 Booch 、 Jacobson 提出提出的统一建模语言的统一建模语言(Unify Modeing Language简称简称UML)nUML是一种定义良好,易于表达,功能是一种定义良好
29、,易于表达,功能强大且普遍实用的建模语言。强大且普遍实用的建模语言。2022-3-367UMLUML的开发历程的开发历程Booch91其它方法其它方法OMT-1OOSEBooch93OMT-2UML 0.8UML 0.9&0.91UML 1.0UML 1.1UML同行同行专家意见专家意见OMG认证认证10/9510/96 & 9/96OMG审核审核,1/97OMG修正修正,9/97OMG采用采用,11/97UML 1.32022-3-368OMT (对象建模技术对象建模技术Object Modeling Technology)n对象建模技术将使用三种不同的模型从不同侧面来描对象
30、建模技术将使用三种不同的模型从不同侧面来描述现实世界,即使用述现实世界,即使用对象模型对象模型,动态模型动态模型和和功能模型功能模型三种模型。三种模型。nOMTOMT是一种是一种自底向上自底向上和和自顶向下自顶向下相结合的方法。相结合的方法。OMTOMT的的第一步是从问题的陈述入手,构造系统模型,这是一第一步是从问题的陈述入手,构造系统模型,这是一种自底向上的归纳过程;系统模型建立后的工作就是种自底向上的归纳过程;系统模型建立后的工作就是分解,这是一种基于服务分解,这是一种基于服务(Service)(Service)的分解。这种从具的分解。这种从具体到抽象、再从抽象到具体的分析、设计过程符合人
31、体到抽象、再从抽象到具体的分析、设计过程符合人类的思维规律,使得需求分析更为彻底,系统可维护类的思维规律,使得需求分析更为彻底,系统可维护性也得以改善。性也得以改善。2022-3-369OMTOMT对象模型技术对象模型技术对象模型对象模型动态模型动态模型功能模型功能模型基本模型基本模型: :三个模型分别从不同角度分析系统三个模型分别从不同角度分析系统2022-3-370OMTOMT将开发过程划分为四个阶段将开发过程划分为四个阶段n分析:分析人员从问题陈述入手开始,建立分析:分析人员从问题陈述入手开始,建立一个表示现实世界重要性质的应用领域模型。一个表示现实世界重要性质的应用领域模型。 n系统设
32、计:系统设计阶段要求做出有关整个系统设计:系统设计阶段要求做出有关整个系统结构的高层决策,在这一阶段中,目标系统结构的高层决策,在这一阶段中,目标系统应该根据分析模型和所设置的系统整体系统应该根据分析模型和所设置的系统整体结构划分为若干子系统。系统设计人员必须结构划分为若干子系统。系统设计人员必须确定哪能些性能需要优化,选择处理问题的确定哪能些性能需要优化,选择处理问题的策略,做出初步的资源分配。策略,做出初步的资源分配。 2022-3-371OMTOMT将开发过程划分为四个阶段将开发过程划分为四个阶段n对象设计:设计模型是在分析模型的基础上添加实现对象设计:设计模型是在分析模型的基础上添加实
33、现细节来完成的,在增加工这细节时,设计人员应该遵细节来完成的,在增加工这细节时,设计人员应该遵守在系统设计阶段确定的策略守在系统设计阶段确定的策略 n实现:对象设计阶段所产生的对象类和联系最后都必实现:对象设计阶段所产生的对象类和联系最后都必须翻译成具体的程序设计语言,数据库或硬件实现,须翻译成具体的程序设计语言,数据库或硬件实现,在开发过程中,程序设计应该是相对简单机械的部分,在开发过程中,程序设计应该是相对简单机械的部分,因为所有最困难的决策已经在设计阶段做出,目标语因为所有最困难的决策已经在设计阶段做出,目标语言在某种程度上可能影响设计决定,但设计决不应该言在某种程度上可能影响设计决定,
34、但设计决不应该依赖程序设计语言的细节,虽然目标语言在某种程序依赖程序设计语言的细节,虽然目标语言在某种程序上可能影响设计决策上可能影响设计决策2022-3-372分析模型分析模型对象模型对象模型: 描述静态结构描述静态结构, 定义做定义做 事情的实体事情的实体功能模型功能模型: 描述处理描述处理(数据变换数据变换), 指明系统应指明系统应“做什么做什么”动态模型动态模型: 描述交互过程描述交互过程, 规定什么规定什么 时候做时候做2022-3-373OMTOMT模型系统分析和模型系统分析和设计过程概观图设计过程概观图产生需求产生需求结构及对象结构及对象设计设计建立模型建立模型问题描述问题描述对
35、象模型、动态模型、功能模型对象模型、动态模型、功能模型详细的对象模型详细的对象模型详细的动态模型详细的动态模型详细的功能模型详细的功能模型分分析析阶阶段段设设计计阶阶段段2022-3-374实例:饮料自动售货机系统实例:饮料自动售货机系统设置设置 一个饮料自动售货机可以放置五种不同或一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多调配,并可随时重新设置售价,但售货机最多仅能放置仅能放置5050罐饮料,其按钮设计在各种饮料样罐饮料,其按钮设计在各种饮料样本的下方,若经金额计算器累计金额足够
36、,则本的下方,若经金额计算器累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。售完灯会亮。2022-3-375实例:饮料自动售货机系统实例:饮料自动售货机系统销售销售 顾客将硬币投入售货机,经累加金额足额顾客将硬币投入售货机,经累加金额足额的饮料选择键灯亮,等顾客按键选择。顾客按的饮料选择键灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。键后饮料由取物楼掉出,并自动结算及找钱。取消交易取消交易 顾客可在按下选择键前任何一个时刻,拉顾客可在按下选择键前任何一个时刻,拉动退币杆取消交易收回硬币。动退币杆取消交易收回硬币。
37、2022-3-376步骤步骤(1)(1)找出对象及其关联找出对象及其关联(2)(2)赋予类及关联的属性数据赋予类及关联的属性数据(3)(3)组织类的结构组织类的结构OMT的对象图的对象图2022-3-377找出饮料自动售货机系统中的对象找出饮料自动售货机系统中的对象设置设置 一个饮料自动售货机可以放置五种不同或一个饮料自动售货机可以放置五种不同或部分相同的饮料,可由厂商根据销售状况自动部分相同的饮料,可由厂商根据销售状况自动调配,并可随时重新设置售价,但售货机最多调配,并可随时重新设置售价,但售货机最多仅能放置仅能放置5050罐饮料,其按钮设计在各种饮料样罐饮料,其按钮设计在各种饮料样本的下方
38、,若经本的下方,若经金额计算器金额计算器累计金额足够,则累计金额足够,则选择键灯会亮;若某一种饮料已销售完毕,则选择键灯会亮;若某一种饮料已销售完毕,则售完灯会亮。售完灯会亮。2022-3-378找出饮料自动售货机系统中的对象找出饮料自动售货机系统中的对象销售销售 顾客顾客将硬币投入将硬币投入售货机售货机,经累加金额足额,经累加金额足额的饮料的饮料选择键选择键灯亮,等顾客按键选择。顾客按灯亮,等顾客按键选择。顾客按键后饮料由取物楼掉出,并自动结算及找钱。键后饮料由取物楼掉出,并自动结算及找钱。取消交易取消交易 顾客可在按下选择键前任何一个时刻,拉顾客可在按下选择键前任何一个时刻,拉动动退币杆退
39、币杆取消交易收回硬币。取消交易收回硬币。2022-3-379对象模型对象模型 描述系统内部对象结构,包括对象本描述系统内部对象结构,包括对象本身的定义、对象的属性、操作,以及对身的定义、对象的属性、操作,以及对象与其它对象之间的关系。象与其它对象之间的关系。 对象模型是对象模型是OMT方法论中最重要的方法论中最重要的部分,动态模型、功能模型都将依次而部分,动态模型、功能模型都将依次而建立建立 对象模型以对象图形式呈现,对象对象模型以对象图形式呈现,对象图由类构成。图由类构成。饮料自动售货机饮料自动售货机系统系统对象图对象图贩卖机贩卖机饮料号码饮料号码价格价格投币投币- -接受接受饮料掉出饮料掉
40、出金额显示金额显示按纽按纽退币杆退币杆售完显示售完显示存量计算器存量计算器饮料号码饮料号码存量存量递减递减售完显示售完显示重置重置选择钮选择钮选择钮状态选择钮状态灯亮灯亮灯熄灯熄售完灯亮售完灯亮按钮按钮顾客顾客姓名姓名硬币硬币投币投币- -置入置入拿取饮料拿取饮料退币杆退币杆退币杆状态退币杆状态拉动拉动金额计算器金额计算器金额金额累加累加找零找零重置重置购买购买选取选取被拉动被拉动属于属于属于属于属于属于属于属于2022-3-381建立数据字典建立数据字典 为所有模型实体准备一个数据字典为所有模型实体准备一个数据字典, ,精确精确描述每一个对象类描述每一个对象类, ,包括包括: : 成员成员
41、约束约束 关联、属性、操作关联、属性、操作2022-3-382动态模型动态模型 用来描述系统与时间相关的动态行为用来描述系统与时间相关的动态行为即系统的控制逻辑,表现对象彼此间经即系统的控制逻辑,表现对象彼此间经过相互作用后,随时间改变的不同运算过相互作用后,随时间改变的不同运算顺序。顺序。 动态模型以动态模型以“事件事件”(Events)和)和“状态状态”(States)为其模型的主要概念。)为其模型的主要概念。 动态模型以状态图形式呈现动态模型以状态图形式呈现2022-3-383动态模型动态模型事件事件:瞬时发生的行为;瞬时发生的行为; 引起对象状态转换的控制信息引起对象状态转换的控制信息
42、。 事件类和属性举例:事件类和属性举例: 飞机起飞(航线、航班号、城市)飞机起飞(航线、航班号、城市) 按动鼠标按钮(按钮、位置)按动鼠标按钮(按钮、位置) . .2022-3-384动态模型动态模型状态状态: 对象属性和对象关联的抽象形式对象属性和对象关联的抽象形式状态的特征表示方法举例:状态的特征表示方法举例:状态:状态:闹铃响闹铃响描述:描述:闹铃响表示预定时间到闹铃响表示预定时间到产生本状态的事件序列:产生本状态的事件序列: 设置闹钟(预定时间)设置闹钟(预定时间) 不包括清除闹铃的任何后续操作不包括清除闹铃的任何后续操作 当前时间当前时间= =预定时间预定时间表征本状态的条件:表征本
43、状态的条件: 闹铃闹铃= =开,从预定时间起没有按键的情况下,开,从预定时间起没有按键的情况下, 目标时间目标时间 当前时间当前时间 目标时间目标时间=20=20秒秒2022-3-385动态模型动态模型本状态接受的各种时间:本状态接受的各种时间: 事件事件 动作动作 下一个状态下一个状态当前时间当前时间= =目标时间目标时间+20 +20 重新设置闹钟重新设置闹钟 正常正常按下按钮(任意按钮)按下按钮(任意按钮) 重新设置闹钟重新设置闹钟 正常正常2022-3-386动态模型表示方法动态模型表示方法状态图状态图 状态和事件的网络,侧重描述每一类对状态和事件的网络,侧重描述每一类对象的动态行为象
44、的动态行为2022-3-387状态图状态图状态状态1Do:活动活动1状态状态2 .事件事件1条件条件1 / 动作动作1结束结束事件事件初始初始事件事件空闲空闲可视菜单可视菜单左边按钮按下左边按钮按下/显示弹出菜单显示弹出菜单左边按钮弹起左边按钮弹起/擦除弹出菜单擦除弹出菜单光标移动光标移动/高亮菜单项高亮菜单项 弹出菜单动作弹出菜单动作2022-3-388举例:饮料自动售货机系统的状态图举例:饮料自动售货机系统的状态图 投入硬币投入硬币(有效的)(有效的)按下选择饮料键按下选择饮料键Do:显示售货机在备用显示售货机在备用 所有灯都关闭所有灯都关闭 Do:显示金额总数显示金额总数 Do:显示金额
45、已够显示金额已够 饮料选择灯亮饮料选择灯亮 取出饮料取出饮料 结算找零结算找零 扣减存量扣减存量 完成交易完成交易 饮料饮料“售完售完”灯亮灯亮 投入硬币金额投入硬币金额 (1元、元、5元、元、10元元)金额不足金额不足再投币再投币存量为零存量为零无效的硬币无效的硬币 取消取消 取消取消 回到备用状态回到备用状态 回到备用状态回到备用状态时序图举例:时序图举例:打电话的时序打电话的时序挂断电话挂断电话电话切断电话切断挂断电话挂断电话通通 话话通通 话话停止振铃停止振铃停止振铃停止振铃响应电话响应电话电话振铃电话振铃铃铃 声声拨拨 号号(3)拨拨 号号(7拨拨 号号(3)拨拨 号号(2)电话忙音
46、结束电话忙音结束拨拨 号号(8)电话忙音开始电话忙音开始拿起听筒拿起听筒电话线电话线接电话者接电话者打电话者打电话者举例:举例:饮料自动售货机饮料自动售货机系统系统的时序图的时序图存量为零存量为零找零找零扣减存扣减存量量灯亮灯亮余额余额饮料饮料结算结算选择键选择键 #选择按纽选择按纽灯亮灯亮金额总够金额总够显示总额显示总额总额总额累加累加投入硬币投入硬币金额计算器金额计算器存量计算器存量计算器顾客顾客售货机售货机选择键选择键售完灯售完灯2022-3-391功能模型功能模型 用来描述系统中数据的变换。用来描述系统中数据的变换。 传统传统DFD + DFD + 控制流控制流对象对象A对象对象B过程
47、过程1过程过程2数据存储区数据存储区控制流控制流数据流数据流2022-3-392基于三个模型的分析步骤基于三个模型的分析步骤 需求陈述需求陈述 对象建模对象建模 动态建模动态建模 功能建模功能建模 添加操作反复建模添加操作反复建模2022-3-393OMTOMT支持整个软件生命周期支持整个软件生命周期: : 需求分析、系统设计、系统实现、需求分析、系统设计、系统实现、测试与维护。测试与维护。2022-3-394OMTOMT支持整个软件生命周期支持整个软件生命周期: :1. 1. 分析阶段分析阶段: : 理解应用问题,理解应用问题,建立建立对象模型、对象模型、动态模型和功能模型,说明对象关联、控
48、动态模型和功能模型,说明对象关联、控制流及数据变换。制流及数据变换。2. 2. 系统设计阶段系统设计阶段: : 确定确定系统框架系统框架,考虑并发,考虑并发任务、通讯机制和数据存储策略。任务、通讯机制和数据存储策略。3. 3. 对象设计阶段对象设计阶段: : 从实现的角度从实现的角度细化细化分析对分析对象模型、动态模型和功能模型象模型、动态模型和功能模型4. 4. 实现阶段:实现阶段:具体代码实现具体代码实现2022-3-395OMT方法的特点方法的特点: 开发重点在分析阶段开发重点在分析阶段 强调数据结构而不是功能强调数据结构而不是功能 形式化描述能力强形式化描述能力强 开发步骤的衔接良好开
49、发步骤的衔接良好 重复性的开发过程重复性的开发过程2022-3-396YourdonYourdon的的OOAOOA方法方法以类与对象图及对象状态图为辅助工以类与对象图及对象状态图为辅助工具,建立问题域的五层模型具,建立问题域的五层模型. OOA模型被划分为五个层次模型被划分为五个层次( (五个视图五个视图) )2022-3-397分析阶段由五个活动组成:分析阶段由五个活动组成:(1) (1) 标识类及对象标识类及对象(2) (2) 标识结构标识结构(3) (3) 标识主题标识主题(4) (4) 定义属性及实例连接定义属性及实例连接(5) (5) 定义服务及消息连接定义服务及消息连接五个步骤常根
50、据需要交叉进行五个步骤常根据需要交叉进行OOAOOA的结构的结构类的边界类的边界Class &object layer (类及对象层类及对象层)Attribute layer (属性层属性层)Service layer (服务层服务层)Structure layer (结构层结构层)Subject layer (主题层主题层)实例的边界实例的边界实例连接实例连接消息连接消息连接主题主题服务服务属性属性2022-3-3992022-3-3100需求建模实例:需求建模实例:某金融贸易系统用例图某金融贸易系统用例图( (UML) ) 风险分析风险分析交易估计交易估计进行交易进行交易进行交易进
51、行交易接待员接待员酒店系统酒店系统财务系统财务系统2022-3-3101需求建模实例:需求建模实例:用例图举例(用例图举例(UML) 签定一份签定一份保险单保险单客户客户保险销保险销售人员售人员销售统计销售统计客户统计客户统计需求建模实例:需求建模实例: UML类图实例类图实例(Note 44)客人客人姓名姓名地址地址身份证号码身份证号码护照号码护照号码预订预订入住入住住宿编号住宿编号付款方式付款方式退房退房客房状态客房状态日期日期人数人数设置状态设置状态 客房客房服务服务日期日期数量数量设置设置读取读取服务类别服务类别名称名称价格价格设置设置 10.*10.*0.*0.11.*10.*1*2022-3-3103需求建模实例:描述客房状态的状态图描述客房状态的状态图(Note 45)取消取消预定预定入入住住已预订已预订空闲空闲占用占用维修维修维修维修完成完成退房退房换房换房入住入住事件事件创建创建2022-3-3104需求建模实例:需求建模实例:接电话的顺序图接电话的顺序图 (UML) 受话者受话者交换机交换机远程交换机远程交换机受话者受话者拿起话筒拿起话筒
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 儿童心理护理中的运动教育
- DSA术后感染预防与管理
- 创伤手术合并急性呼吸窘迫综合征的围手术期管理
- 创伤快速评分可视化在老年急诊中的适配方案
- 外科护理带教工作的创新与实践
- 2026年中国重组链激酶行业市场规模及投资前景预测分析报告
- 2026年中国重组胶原蛋白行业市场规模及投资前景预测分析报告
- 妊娠期高血压的药物治疗原则
- 分子诊断技术的质量控制要点
- 外科护理带教的重要性与意义
- 用人单位职业卫生管理自查表
- 公司内部业绩pk赛活动方案
- 小区电梯安装分工协议书
- 雨雪大雾冰冻天气车辆交通安全教育
- 轨道交通系统集成
- 麻风病防治知识课件
- 2024年版《输变电工程标准工艺应用图册》
- DL∕T 5210.2-2018 电力建设施工质量验收规程 第2部分:锅炉机组
- 《南方油料饼粕田间液态生物发酵与施用技术规程》征求意见稿
- 2024北京海淀区初二(下)期末物理及答案
- 五星级万达酒店机电系统设计导则
评论
0/150
提交评论