版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、UML,1. UML简介,本章目标,了解面向对象软件开发方法 理解建模的基本概念和必要性 理解 UML设计目标与原则 了解 UML 的组成,为什么要用面向对象分析与设计,人们在越来越多的领域,把更多、更难的问题交给计算机去解决。这使得计算机软件的规模和复杂性与日俱增,从而使软件技术不断地受到新的挑战。,60年代软件危机的出现就是因为系统的复杂性超出了人们在当时的技术条件下所能驾御的程度。每当出现一种先进的方法与技术,都会使软件危机得到一定程度的缓和。,然而这种进步又立刻促使人们把更多、更复杂的问题交给计算机去解决。于是又需要更先进的方法与技术。,大型的、复杂的软件系统的开发是一项工程,必须按工
2、程学的方法组织软件的生产与管理,必须经过分析、设计、实现、测试、维护等一系列的软件生命周期阶段。,开发一个具有一定规模和复杂性的软件系统和编写一个简单的程序大不一样。其间的差别,借用G. Booch的比喻,如同建造一座大厦和搭一个狗窝的差别。,复杂的软件系统,大师说:没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。,软件可能是人类制造出来的最复杂的实体,软件开发的复杂性,软件开发的复杂性是软件设计与开发者的体验。具体有: 很难精确把握用户的需求,开发过程中用户需求总是不断变化,用户理解的软件研发与真实研发的实际情况不同。 很难发现大
3、型应用项目隐蔽着的复杂性。 人类本身处理复杂现象的能力有限。 很难预估最终输出的执行效果及其是否能满足用户的期望。 难以预测软件开发过程中可能遇到的问题。,面向对象的分析和设计 (OOAD),面向对象的方法按照人类的自然思维的方式,面对客观世界建立的软件模型。 充分体现了对复杂系统进行分解、抽象、模块化等思想,OOA依照用户所理解的现实世界中的对象,发现和分析对象内部的特性、行为和对象之间关系,建立准确而简洁的软件系统的对象模型。,OOD 是根据已建立的系统对象模型,运用面向对象技术,进行软件系统设计。,OOAD 与传统设计分析相比优点,在实现的结果和实际问题之间存在一种很接近的匹配关系 对象
4、的重用加速了设计和开发的过程 符合人类认知的方式,因为这是我们自然的思考方式 加强数据封装 有助于处理软件开发的复杂性 为维护中的系统提供优秀的可修改性、可扩展性、模块化的软件系统,为什么要建模,建模是为了让我们更好地理解将要开发的系统。 在表述一个软件问题时,由于问题本身的复杂性、计算机本身许多概念的晦涩、人员技术水平、交流及理解能力的局限,单单凭自然语言通常是不够,因此往往需要其他工具(如图形等)的协助。这也就是为什么要建模 大师说:“人类看图的能力要远远超过看文档的能力”,什么是模型,模型是用某种工具对同类或其他工具的表达方式。 模型从某一个建模观点出发,抓住事物最重要的方面而简化或忽略
5、其他方面。 工程、建筑和其他许多需要具有创造性的领域中都使用模型。,建模的原则,准确的原则 模型必须准确地反映软件系统的真实情况。模型必须准确,意味着在软件开发的整个周期内模型必须和产品始终保持一致。 分层的原则 在建模的过程中,必须有不同的模型,以不同的抽象程度,反映系统的不同侧面。在软件构筑的不同阶段,不同的开发人员如:投资者、管理者、设计者、程序员、测试者和使用者看待软件的侧重面有所不同。因此,软件系统的建模需要不同的模型以反映系统的不同侧面。如,一类模型描绘系统的外部边界和行为,另一类模型描绘系统的内部逻辑关系。 分治的原则 不可能单独用一个模型来反映整个系统的任何侧面。软件系统是复杂
6、的,对于软件模型的任意一个侧面不可能用一个模型来反映所有内容,需要把问题分解为不同的子模型,分别处理这些模型,相对独立但又互相联系,综合起来构成了此侧面的一个完整的模型。 标准的原则 模型必须在某种程度上是通用的。建模的基本目的是交流,一个开发队伍内部的交流,同一软件的不同时期的版本的开发队伍的交流,不同软件的开发队伍之间的交流,以实现最大程度的软件复用。交流需要语言,语言是通用的、标准的。,面向对象的建模,面向对象分析的目的是要构造能够理解实际系统的模型。分析从用户提供的问题描述开始,这一描述是非完整的或非形式化的。分析模型强调对象的三个方面:静态模型、动态模型和功能模型。模型用对象、关系、
7、动态控制流和功能转换等来描述,并不断获取需求信息,且把与客户间的交流贯穿整个分析过程。 面向对象设计包括系统设计与对象设计。系统设计是为实现需求目标而对软件的系统结构进行的总体设计,包括系统层次结构设计、系统数据存储设计、系统资源访问设计等。对象设计是根据具体的实施策略,对分析模型进行扩充的过程。对象设计包括:静态结构设计、动态行为模型设计。通过对象设计和系统设计就可以获得设计模型,这是系统实现的基础。,UML 简介,UML: 统一建模语言(Unified Modeling Language) UML是用于描绘软件蓝图的标准语言. 它可用于对软件密集型系统进行 可视化(visualize) 详
8、述说明(specify) 构造 (construct) 文档化(document) 这也是对软件系统进行建模的四个目的,UML简介,解释: UML是语言: 语言意味着有标准的表达规则 UML是蓝图 UML是由图形符号表达的建模语言 例如,这是UML的一个模型图(图.) 其上的图形符号是遵循给定的标准的 例如:类: (图.),UML为模型可视化提供表示法,说明用户与系统的交互的用例图 说明逻辑结构的类图 说明对象和链接的对象图 说明行为的状态图 说明软件的物理结构的构件图 显示软件与硬件配置之间的映射关系的部署图 说明行为的交互图(即协作图和时序图) 说明用例中事件流的活动图,UML 的发展,U
9、ML 开发中的贡献,在软件开发生命周期中的应用,初步调查:通过用例来捕获客户的需求 分析:在真实世界中的抽象层面上创建类图,以描述它们的存在和关系。 设计:对类进行建模 开发:程序员参考在设计阶段准备的各种 UML图表来理解和开发代码。 测试:UML 通过不同的图表来支持软件的测试,UML的组成,视图 - 意味着“观察”或“检查” 图 - 是特定视图的一部分,图表绘制完后,就会被指定给视图 关系 - 提供了对象之间通信的途径 建模元素 - 由帮助准备图和视图的符号组成,模型元素,“4+1”视图,UML 示例,显示“Hello Uml!”的简单 Java Applet程序 -先来看一下代码,im
10、port java.awt.Graphics; public class HelloUml extends java.applet.Applet public void paint(Graphics g) g.drawString(“Hello Uml!”,10,10); ,类HelloUml,第一行表示类名,第三行由类包含的操作或方法构成,第二行为空,因为该类中不需要属性,“+”表示方法访问类型为public,类的关系,用包来组织类,HelloUml,java,包被表示为带有标签的文件夹,有向的虚线段描述了对象与包之间的依赖关系,HelloUml.java的构件图,UML视图和图,总结,UML 是一种建模工具 可以使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理教学名师经验交流
- 护理教育课件下载
- 护理人文关怀实践
- 护理医学基础:常见疾病的护理原则
- 护理职业健康促进
- 老旧小区加装电梯诉求申请书
- 幼儿园活动语言游戏说课稿
- 心脏术后深静脉血栓的预防与护理
- 告别粗心失分|高三物理交变电流暑假易错题型清零课件
- 外科护理中的跨文化沟通与护理
- 2026-2030中国AKT抑制剂行业市场现状分析及竞争格局与投资发展研究报告
- 中国双相障碍防治指南(2025版)下载
- 游乐园安全生产管理制度
- 外墙面保温砂浆施工监理实施细则
- 2026年注册信贷分析师(CCRA)能力提升B卷题库带答案详解AB卷
- 2025神介学苑历年考核真题及答案全收录
- JJF 2376-2026 智能网联汽车自动泊车性能 计量测试规范
- 跨端洞见 增长新篇-2026年跨端生态行业白皮书
- 化工厂工艺指标考核制度
- 2025年澳门大学第一轮面试题库及答案
- 北京市保安员证考试试题库及答案
评论
0/150
提交评论