《软件建模与》PPT课件.ppt_第1页
《软件建模与》PPT课件.ppt_第2页
《软件建模与》PPT课件.ppt_第3页
《软件建模与》PPT课件.ppt_第4页
《软件建模与》PPT课件.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

软件建模与UML,为什么要进行软件建模?,软件系统越来越大,任何个人都不可能单独管理这些代码; 没有参加开发的人员无法直接理解程序代码; 我们需要一种描述复杂系统的简单方法。,软件建模的概念,软件建模(Modeling):将所要设计的结构和系统的行为融汇贯通,对系统的体系结构进行可视化和控制,化解复杂性的问题,有效地管理开发风险,从而开发出高品质的软件。 面向对象的建模方法:人们在问题空间或解空间中识别各种对象,并对其进行抽象化描述,从不同的视角建立模型,形成系统的不同视图,并以对象或类作为软件系统的主要构造块 。始于80年代初。,UML的发展历史,什么是UML?(1),统一建模语言(Unified Modeling Language,UML):一种直观化、明确化、构建和文档化软件系统产物的通用可视化建模语言,从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合于用UML来建模。 它是一种富有表达力的语言,可以描述开发所需要的各种视图,并以此为基础组建系统。,什么是UML?(2),UML是一种语言 UML是一种可视化的建模语言 UML提供一组具有明确语义的图形符号,可以建立清晰的模型便于交流,同时所有开发人员都可以无歧义地解释这个模型。 UML是一种可用于详细描述的语言 UML为所有重要的分析、设计和实现决策提供了精确的、无歧义的和完整的描述。 UML是一种构造语言 UML不是一种可视化的编程语言,但它所描述的模型可以映射(正向工程/逆向工程)成不同的编程语言,如JAVA、C+和Visual Basic等。 UML是一种文档化语言 UML不是过程,也不是方法,但允许任何一种过程和方法使用它。它可以建立系统体系结构及其详细文档。,UML的概念模型:视图(1),视图(Views):每个视图代表系统的一个抽象,反映了系统中的一个特定方面,从而使不同的人员关注系统的不同方面。,UML的概念模型:视图(2),用例视图(Use Case View) 描述系统应该具有的功能集,它从系统外部用户的角度出发,实现对系统的抽象表示。 角色(Actor)代表外部用户或其他系统,用例(Use-case)表示系统能够提供的功能,通过列举角色和用例,显示角色在每个用例中的参与情况。 其他视图的核心和基础,其他视图的构造和发展依赖于用例视图所描述的内容。 静态地描述系统功能,主要为用户、设计人员、开发人员和测试人员而设置。 设计视图(Design View) 用来揭示系统功能的内部设计和协作情况。 利用静态结构和动态行为描述系统的功能。 静态结构描述类、对象及其关系等,动态行为主要描述对象之间发送消息时产生的动态协作、一致性和并发性等。 进程视图(Process View) 进程视图描述系统的并发工作状况,它包含形成系统并发与同步机制的线程和进程,主要提供给系统开发商和集成商。 实现视图(Implementation View) 实现视图由一些独立的构件和文件组成,显示实现模块及其之间的依赖关系。 分布视图(Deployment View) 分布视图主要描述系统的物理架构,显示系统硬件拓扑结构的节点,提供给开发人员、集成人员和测试人员。,UML的概念模型:图(1),图(Diagrams):系统模型中每一个视图的内容是由一些图来描述的,UML中包含九种图。 对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、时序图、协作图和活动图描述,而物理架构则是由组件图和分布图描述。,UML的概念模型:图(2),用例图 用例图定义了系统的功能需求,它完全是从系统的外部观看系统功能,并不描述系统内部对功能的具体实现。 类图 类图描述系统的静态结构,表示系统中的类以及类与类之间的关系。 对象图 对象图描述了一组对象以及它们之间的关系,表示类的对象实例。 状态图 状态图表示一个状态机,强调对象行为的事件顺序。 时序图和协作图 时序图和协作图均表示一组对象之间的动态协作关系,两者之间可以相互转换。 时序图反映对象之间发送消息的时间顺序,协作图反映收发消息对象的结构组织。 活动图 活动图反映系统中从一个活动到另一个活动的流程,强调对象间的控制流程。 组件图 组件图描述组件以及它们之间的关系,表示系统的静态实现视图。 分布图 分布图反映了系统中软件和硬件的物理架构,表示系统运行时的处理节点以及节点中组件的配置。,售票系统的用例图,售票系统的类图,包图,顺序图,协作图,状态图,活动图,构件组件图,部署分布图(描述层),部署分布图(实例层),UML的概念模型:模型元素 (1),模型元素(Model Elements):由一些基本的构造元素以及它们之间的连接关系组成 。,UML的概念模型:模型元素 (2),类:对一组具有相同属性、相同操作、相同关系和相同语义的对象的描述。 对象:类的实例。 接口:描述一个类或组件的服务的操作集。 用例:对一组动作序列的描述。 状态机:描述了一个对象响应事件所经历的状态序列。 组件:系统中物理的、可替代的部件。 节点:在运行时存在的物理元素。 包:把元素组织成组的机制。 注解:依附于一个或一组元素之上,对其进行约束或解释。 依赖:一种使用关系,它描述了一个事物的变化会影响到另一个使用它的事物。 关联:一种结构关系,说明一个事物的对象与另一个事物的对象间的联系。 泛化:一种一般事物(父类)和特殊事物(子类)之间的关系。 实现:一个类元指定了由另一个类元保证执行的契约,例如接口和实现它们的类或组件之间的关系。,类表示法,用例之间的关系,状态机,带接口的构件 构件图中的构件,部署图中的节点,包和包间的关系,关联表示法 限定关联 关联的设计特性 关联类,泛化表示法 多重继承,实现关系 接口和实现图标 ,依赖关系,约束关系,UML的概念模型:语义规则,语义规则(Rules):用于建立语义一致、与其他模型协调的良好模型。 命名(Name):为事物、关系和图起名; 范围(Scope):给一个名称以特定含义的语境; 可见性(Visibility):如何使一个名字被外部识别和使用,它包括public(公共)、protected(保护)、private(私有)三种可见性,分别用“+”、“#”和“-”表示; 完整性(Integrity):事物如何正确地、一致地相互联系; 可执行性(Execution):运行或模拟动态模型的含义是什么。,UML的概念模型:公共机制,说明(Specification):规定了对于每一个UML图形的文字说明的语法和语义。 修饰(Adornment):对UML元素加上各种修饰,说明该元素最重要特征之外的其他方面的细节特征。 通用划分(Common Division):UML的模型元素有两种划分,即型-实例、接口-实现。 型-实例:是一个通用描述符与单个元素项之间的对应关系,如类与对象的划分、数据类型与数据值的划分; 接口-实现:接口声明了一个约定,而实现则负责执行接口的全部语义。 扩展机制(Extensibility):允许UML的使用人员根据需要在不用改变基本建模语言的情况下自定义一些构造型语言成分。 约束(constraint)扩展了UML构造元素的语义,它是用文字表达式表示的语义限制。 标记值(tagged value)扩展了UML构造元素的特性,它是附加到任何模型元素上的命名的信息块。 构造型(stereotype)扩展了UML的语汇,它是在一个已定义的模型元素的基础上构造的一种新的模型元素。,UML的概念模型:扩展机制示例,UML建模示例(1),import java.awt.Graphics; class HelloWorld extends java.applet.Applet public void paint (Graphics g) g.drawString(“Hello, World!“, 10,10); HelloWorld抽象模型,UML建模示例(2),与HelloWorld直接相关的类,UML建模示例(3),HelloWorld的继承层次,UML建模示例(4),HelloWorld包,UML建模示例(5),pain

温馨提示

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

最新文档

评论

0/150

提交评论