第1章 软件建模导论_第1页
第1章 软件建模导论_第2页
第1章 软件建模导论_第3页
第1章 软件建模导论_第4页
第1章 软件建模导论_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、2022-2-91页考核方法考试采用笔试和平时成绩相结合的方法,笔试成绩占70%,平时成绩占30%。平时成绩包括作业和课堂出勤成绩两部分。2022-2-92页 Chapter 1 Why We Model完成本章学习后,你将能了解:UML的概念软件开发和建模的面向对象方法UML在软件建模中的应用Rational Rose的基本应用方法2022-2-93页Build a dog house可以由一个人制造的需求:最小模型简单的过程简单的工具2022-2-94页Build a house由一个团体建设,并且需要更高的效率、更精确的时间限制需求模型良好定义的过程功能强大的工具2022-2-95页Bu

2、ild a high-rise office building2022-2-96页1.1 Modeling NotationsIt is important to have standard notations for modeling, documenting, and communicating decisionsModeling helps us to understand requirements thoroughly2022-2-97页1.1 Modeling NotationsWhat is a model? Simply put, A model is a simplificat

3、ion of reality.A model provides the blueprints of a system.Models may encompass detailed plans, as well as more general plans.Modeling is a proven and well-accepted engineering technique.2022-2-98页1.1 Modeling NotationsThrough modeling achieve four aims:Models help us to visualize a system as it is

4、or as we want it to be.Models permit us to specify the structure or behavior of a system.Models help us to communicate the desired structure and behavior of our system. Models help us to document the decisions we have made.Models help us to manage risk.2022-2-99页1.1 Modeling NotationsWhy we model? O

5、ne fundamental reason We build models so that we can better understand the system we are developing.We build models of complex systems because we cannot comprehend such a system in its entirety.2022-2-910页1.2 UML简介概述软件工程领域在1995年至1997年取得了前所未有的进展,其成果超过软件工程领域过去15年来的成就总和。其中最重要的、具有划时代重大意义的成果之一就是统一建模语言 UM

6、L ( Unified Modeling Language)的出现。在世界范围内,至少在近10年内,UML将是面向对象技术领域内占主导地位的标准建模语言。2022-2-911页1.2 UML简介什么是UML?UML (Unified Modeling Language) is a collection of notations used to document software specifications and designs. It is a standard language for writing software blueprints是一种用于对软件密集型系统的制品进行可视化、详述

7、、构造和文档化的图形语言,同时也可以对其它非软件系统建模;UML是一种绘制系统蓝图的标准语言,给出了统一的标记符号,这些符号可以帮助开发者、最终用户、领域专家等之间进行很好的交流;The UML is only a language, so it is just one part of a software development method. 2022-2-912页1.2 UML简介什么是UML?UML是软件界第一个统一的建模语言,该方法结合了Booch, OMT, 和OOSE方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。它是一种标准的表示,已成

8、为国际软件界广泛承认的标准。它是第三代面向对象的开发方法,是一种基于面向对象的可视化的通用(General)建模语言。为不同领域的用户提供了统一的交流标准 UML图。2022-2-913页1.2 UML简介UML的形成九十年代中,面向对象方法已经成为软件分析和设计方法的主流。1994年10月Jim Rumbaugh和Grady Booch共同合作把他们的OMT和Booch方法统一起来,到1995年成为“统一方法”(Unified Method)版本0.8。随后,Ivar Jacobson加入,并采用他的用例(User case)思想,到1996年,成为“统一建模语言”版本0.9。1997年1月

9、,UML版本1.0被提交给OMG组织,作为软件建模语言标准的候选。其后的半年多时间里,一些重要的软件开发商和系统集成商都成为“UML伙伴”,如IBM,Mircrosoft,HP等。1997年11月7日被正式采纳作为业界标准。 2022-2-914页1.2 UML简介UML的应用UML应用领域很广泛,可用于软件开发建模的各个阶段,商业建模(Business Modeling), 也可用于其它类型的系统。 制造业、医疗卫生、军事、航天、游戏等领域。2022-2-915页1.2 UML简介UML的好处用统一而直观的图符来帮助不同角色(客户、分析者、设计者、实现者)进行良好的沟通。开发的不同阶段(分析

10、、设计、实施、测试)均采用一致的模型,从而保证阶段顺利切换,以及能够及时测试等。2022-2-916页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-917页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-918页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-919页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?

11、2022-2-920页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-921页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-922页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-923页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-924页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前

12、,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-925页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-926页1.1 UML简介讨论:在开发一个大型的复杂的软件系统之前,如果不对系统建模就着手开发,将会是一个什么情形?2022-2-927页 UML图示Eight graphical modeling notationsUse Case Diagram 用例图:业务建模与捕获需求Sequence Diagram 序列图:强调时间顺序的交互图Class Diagram 类图:类以及类之间的相互关系Colla

13、boration Diagram 协作图:强调对象协作的交互图State Diagram 状态图:类经历的各种状态Activity Diagram 活动图:对工作流程建模Component Diagram 组件图:构件及其相互依赖关系Deployment Diagram 部署图:构件在各节点上的部署2022-2-928页1.3 面向对象的概念对象的概念源于用计算机程序对现实世界的复杂事物进行建模的过程。“面向对象”的意思是指把软件作为对象的集合进行组织。2022-2-929页1.3 面向对象的概念对象对象定义了数据(属性)和行为(操作)。在面向对象系统中,对象是基本的运行实体。如:一个人、一个

14、地方、一个银行账户、一张数据表等。对象 数据 过程当一个程序执行时,对象通过彼此发送消息来进行交互。对象只需要知道接收到的消息类型和对象返回的答复的类型。2022-2-930页1.3 面向对象的概念类类把一系列对象共有的特性(属性和功能)定义为抽象数据类型。类是用户自定义的数据类型,与基本数据类型如整型、布尔型等类似。对象是类的类型变量。一旦一个类被定义了,就可以生成任意多个属于这个类的对象,这个过程叫做实例化。一个类是具有相同类型的对象集合。类考虑对象的共性,不考虑其特殊性。2022-2-931页继承继承使一个类能够从另一个类那里获得一些特性。在这个过程中,超类把它的特性赋给了子类。如:继承

15、是从老对象生成新对象的一种代码重用机制。继承的两个附加作用:允许扩展一个类,把新的应用程序建立在已有的功能之上。允许类似的类共享它们共同的属性和行为。1.3 面向对象的概念生物动物植物脊椎动物无脊椎动物2022-2-932页1.3 面向对象的概念多态性多态性是指具有多种形式,它提供了使用单一信息调用许多不同种类行为的能力。如:Shapepaint()Trianglepaint(int,int,int)Circlepaint(int)Quadranglepaint(int,int)2022-2-933页1.3 面向对象的概念封装面向对象的方法把数据和对数据的操作看作一个独立的单元,这个单元就是对

16、象;数据和对数据的操作就是这样被封装的。封装也叫信息隐藏。它把一个对象的外部特征与这个对象的内部实现细节分离开。其它对象可以访问外部特征,而内部细节是隐藏的。由于没有对象与其它对象的内部直接相联系,这就使得对象不会遭到意外的破坏。2022-2-934页1.4 面向对象的开发与传统的软件开发方法不同,面向对象的开发是一种基于现实抽象的新的软件开发方法。面向对象的开发方法的重点是首先从应用领域确定对象,然后,围绕这些对象开发程序。2022-2-935页1.4 面向对象的开发在面向对象的软件开发中,软件的生命周期可分为以下四个阶段: 分析:定义用例、建立领域模型,这个模型强调系统必须做什么的抽象,而

17、不是怎么做的抽象。 系统设计:确定系统的整体框架结构,需要做出怎样解决问题的决策。 对象设计:确定解决问题的方法,对分析阶段得到的抽象在这个阶段得到实现。定义软件对象及对象之间的协作,从而定义交互图与类图。 实现:在对象设计阶段开发的类最终转换成用独特的程序设计语言编写的代码或数据库。2022-2-936页1.4 面向对象的开发面向对象的软件开发方法,在用户需求发生变化时,所开发的软件能够更好地适应这种变化,因为它们是基于应用领域的基本框架,而不是基于一个单一问题的功能需求。UML适合用于描述面向对象的开发过程。2022-2-937页1.5 Rational Rose简介Rational Rose 是一种工具,它可以在Rose建模中提供建立、视图、修改和操作组件的能力Rose 运行环境Windows NT,Windows 95UNIX(Solaris,HP/UX,AIX,DEC Unix)Rose支持Unified、Booch、OMT标记

温馨提示

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

评论

0/150

提交评论