面向对象分析与设计(UML[1][1]20版第2章对象的概念资料
- 格式:ppt
- 大小:2.02 MB
- 文档页数:36
《面向对象分析与设计(UML)》课程大作业大纲一、课程简介《面向对象分析与设计(UML)》是一门是软件工程专业重要的、实践性很强的一门必修课。
UML是一种定义良好、易于表达、功能强大且适用于各种应用领域的建模语言,已被OMG采纳为标准。
目前UML已成为面向对象技术领域内占主导地位的标准建模语言。
掌握UML 语言,不仅有助于理解面向对象的分析与设计方法,也有助于对软件开发全过程的理解。
通过该课程的学习,使学生能基本掌握面向象技术基本概念和面向对象分析与设计方法,能够使用UML 语言来进行初步的系统分析与设计。
二、课程目标结合专业培养目标,本课程大作业要达到的目标如下:1.知识与技能目标通过本课程的学习,使学生掌握面向对象分析与设计基本理论和使用统一建模语言(UML)实现软件生命周期模型的六大阶段(需求分析,概要设计,详细设计,编码,测试,维护)的一般性原理、主要思想、关键技术;了解和掌握各阶段的规范文档书写格式,通过实验项目实践活动,培养学生理解和应用相关的知识技能,开发软件项目。
2.过程与方法目标了解面向对象分析与设计的发展历史及趋势,掌握运用UML 理论及方法解决实际问题的分析步骤。
通过具体方法的学习与运用,理解它们的优势与不足,从而锻炼和提高思维分析能力(归纳能力,演绎能力,对比分析能力,变通能力,总结能力,抽象能力)。
3.软件工程文档写作目标通过面向对象程序设计实践,培养作为一个软件工程技术人员必须具备的文档写作能力,严谨治学的科学研究态度,为未来的学习、工作和科研奠定良好的理论基础和实践基础。
通过本课程的大作业的训练,使学生在分析问题、解决问题等方面得到锻炼,增强学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。
三、作业设计任务由指导教师向学生提供一定数量的设计题目,每一题目所用到的知识至少要覆盖《面向对象分析与设计(UML)》教学大纲中的大部分内容,主要包括利用UML2进行面向对象分析与设计的方法,运用面向对象的一般原则和模式进行应用系统的分析和设计建模。
面向对象设计与UML建模面向对象设计是一种软件开发方法,它将现实世界的实体抽象为对象,并以对象之间的相互关系来组织和描述系统的行为。
而UML(统一建模语言)是一种用于可视化、规范化软件系统设计的标准建模语言。
本文将从面向对象设计的概念入手,介绍面向对象设计与UML建模的关系及应用。
一、面向对象设计的概念面向对象设计(Object-oriented Design)是一种以对象为中心的软件开发方法。
在面向对象设计中,将系统中的各个对象抽象出来,通过定义对象之间的属性和方法,以及对象之间的关系,来描述系统的功能和行为。
面向对象设计的核心思想是将现实世界的实体抽象为对象,对于每个对象,描述其属性和方法,并通过对象之间的交互来实现系统的功能。
这样的设计方式使得系统更加模块化,易于扩展和维护。
二、UML建模的概念UML(Unified Modeling Language)是一种用于规范化、可视化软件系统设计的标准建模语言。
它提供了一套丰富的符号和约定,用于描述系统的结构、行为和交互。
UML建模是面向对象设计的重要工具之一,它能够帮助开发人员更好地理解和设计系统。
通过使用UML,开发人员可以绘制出类图、时序图、用例图等各种类型的图表,来描述系统的不同方面和视角。
三、面向对象设计与UML建模的关系面向对象设计与UML建模是紧密相关的。
面向对象设计将系统抽象为对象,定义了对象的属性和方法,以及对象之间的关系。
而UML建模则是通过各种类型的图表来表示和描述这些对象、属性、方法和关系。
具体来说,面向对象设计中的类可以通过UML的类图来表示。
类图用于描述系统中的类及其之间的继承、关联、聚合等关系。
类图能够清晰地展示系统的结构,有助于开发人员对系统进行整体把握和分析。
此外,面向对象设计中的时序和交互可以通过UML的时序图、活动图和通信图来表示。
时序图用于描述对象之间的交互顺序,活动图用于描述系统的流程和行为,通信图用于描述对象之间的消息传递。
面向对象分析与设计第三章UML是一种建模语言,用于对软件系统制品进行规约。
可视化构造和文档化,也可以用于业务建模以及其他非软件系统的建模。
因此他只是一种建模语言,而不是一种建模方法UML用于建立系统的分析模型和设计模型,而不是用于编程UML的主题部分并不是一种形式化语言,它只是部分的采用了形式化语言的定义方式,而且也不是严格的形式化第四章抽象是面向对象方法中使用最为广泛的原则:1:系统中的对象是对现实世界中事物的抽象2:类是对象的抽象3:一般类是对特殊类的抽象4:属性是事物静态特征的抽象5:操作是事物动态特征的抽象粒度控制:人在面对一个复杂的问题时,不可能在同一时刻纵观全局,又能洞察秋毫。
因此需要控制自己的视野;考虑全局时,注重其大的组成部分;暂时不去详细考察每一部分的具体细节;考虑某个部分的细节时暂时撇开其余部分和宏观上的问题,这就是粒度控制。
行为分析:采用如下行为分析原则,以控制行为的复杂性:以对象为单位描述系统中的各种行为;通过消息描述对象之间的行为依赖关系认识行为的起因,区分主动行为和被动行为认识系统的并发行为用况图:把用况、参与者以及它们之间的关系用一些图形符号进行可视化表示,便得到用况图(use case diagram)用况图是直接描述需求的,因此它是一个需求模型模型图中表达不尽的信息,需要以文字和表格等方式做进一步描述,这就是模型规约。
OOA与OOD的关系:不同的目标、内容和抽象层次:通过OOA和OOD所得到的系统模型分别成为OOA模型和OOD 模型,它们都是对系统的抽象描述,但是属于不同的抽象层次。
OOA的主要内容是研究问题域和系统责任,运用面向对象的观点发现问题域中与系统责任有关的对象,认识对象的内部特征和各类对象之间的关系,目标是建立一个直接映射问题域,符合用户需求的OOA模型。
OOD的主要内容是以OOA为基础,针对选定的实现平台进行系统设计,目标是产生一个能够在选定的软硬件平台上实现的OOD模型。
《面向对象分析与设计》第一部分面向对象技术的基本概念和基本方法1.1 软件开发方法的发展计算机诞生之后,计算机技术一直处于高速发展状态,计算机科学技术的发展由原来只依靠硬件的发展逐渐变为更多地依靠软件的发展。
事实上,软件技术的发展经历了多代历程。
第一代(20世纪50-60年代),是以FORTRAN和ALGOL等编程语言为标志的算法技术时代。
那时,程序设计全靠人们发挥创造才能,全靠技巧和窍门。
基于这种算法技术的软件生产率非常低,程序很难看懂,甚至程序员自己写的程序过一段时间后自己也看不懂,这给软件的修改、维护带来极大的困难。
于是60年代末出现了“软件危机”。
第二代(20世纪70年代末开始到80年代盛行的),以PASCAL、COBOL等编程语言和关系数据库管理系统为标志的结构化系统分析和设计技术。
为了克服软件危机,人们主要从如下两个方向做了努力:一是从管理的角度改进软件开发方法,提出了软件工程方法,大大改善了软件的质量与可维护性。
二是侧重于对软件开发过程中分析与设计方法的研究和改进。
这方面的重要成果就是在70年代出现了风靡一时的结构化开发方法—结构化系统分析和设计技术。
第三代(80年代开始至今还盛行的)以Smalltalk、C++等为代表的面向对象软件开发方法。
问题1:面向对象软件开发方法发展的动因是什么?传统的结构化程序设计以算法为核心,把本来密切相关的数据和对数据的操作分离开来,很难保持数据和操作的一致性,其软件开发方法也不符合人们的自然思维习惯,设计出来的软件系统其解空间与问题空间不一致,致使程序难以理解、修改和扩充,最终导致程序复杂性问题和软件危机。
为了超越程序复杂性障碍,克服软件危机,人们提出了面向对象软件开发方法。
问题2:面向对象软件开发方法的优点有哪些?面向对象开发方法一改过去传统的以功能分析和功能分解为基础的面向过程的结构化分析与设计方法,面向对象开发方法模拟人们理解和处理客观世界的方式来分析问题,把系统视为一系列对象的集合,其面向对象的设计又将分析的结果映射到某种面向对象实现工具的结构上,使映射过程有着比较直接的对应关系,使分析者、设计者和编程者都可使用相同的概念,从而使面向对象的软件开发能比较自然地模拟客观世界的活动,使问题描述空间与解空间在结构上尽可能一致。
《面向对象系统分析与设计》教学大纲一、课程的性质和任务面向对象系统分析与设计课程是计算机科学与技术本科专业的一门重要的专业课。
通过本课程的学习,使学生在已有的计算机软、硬件基础知识、程序设计知识、数据库和网络通信知识的基础上系统掌握面向对象系统分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析、设计与实现)的能力。
二、课程的基本要求1.掌握系统分析与设计的基本概念和方法。
2.掌握面向对象的基本概念。
3.掌握面向对象系统分析与设计的常用方法和UML统一建摸语言。
4.能运用面向对象系统分析与设计的基本技术方法和开发工具,承当软件项目的开发,设计和管理。
三、课程的核心1.基本概念:系统、系统分析与设计、面向对象基本概念(对象和类、属性、消息、方法等)2.基本方法:面向对象系统分析与设计方法(包括OMT方法、UML统一建模语言等)、项目管理方法四、预备知识在学习本课程之前,应具有计算机、网络和数据库的基础知识、并应至少掌握一门面向对象程序设计语言(如VC++、JAVA或VB),至少掌握一种数据库管理系统(如ORACLE、SQL SERVER或ACCESS)的使用。
五、教学环节本课程由课堂教学、实验和课程设计等教学环节组成。
针对本课程的特点:技术新、外文资料多,课堂教学采用双语教学方式,使用多媒体教学手段,将理论教学与案例讲解、实际系统演示相结合,使学生系统掌握本课程的基本理论知识以及方法和技术;实验环节中要求学生学习并熟练掌握一种或几种流行的系统建模工具、数据库和编程语言以及项目管理软件的使用;课程设计环节包括设计题目的讨论、分析、设计和实现,通过课程设计使学生将理论应用于实践,加强学生对实际问题的分析和解决能力,以及团体协作和项目管理能力。
通过这些教学环节,将学生培养成为基础理论扎实、动手能力强,并且能力全面的综合型人才。
六、教学内容(一)课堂教学内容第一章系统分析与设计概论(Introduction to System Analysis and Design)1.1系统分析与设计基本概念(What is System Analysis and Design)1.1.1 系统和信息系统(System and Information System)1.1.2 系统分析与设计(System Analysis and Design)1.1.3信息系统生命期和信息系统开发生命期(System Life Cycle and the Process of System Development)1.1.4 信息系统分析和设计的基本原则(The Principles for System Analysis and Design)1.2系统开发模型和方法(System Development Models and Methods)1.2.1 常用模型:瀑布模型(Waterfall Model)螺旋模型(Spiral Model)喷泉模型(Fountain Model)1.2.2 结构化系统分析与设计方法(Structured System Analysis and Design)1.2.3 原型法(Prototyping)1.2.4 面向对象系统分析与设计方法(Object-Oriented System Analysis and Design)1.2.5 计算机辅助软件工程(CASE, Computer-Aided Software Engineering) 第二章面向对象的基本概念(Concepts of Object-Oriented Technology)2.1 对象和类(Objects and Classes)2.2 属性、消息、方法(Attributes、Messages、Methods)2.3 关系:关联(Associations)一般-特殊(is-a)整体-部分(part-of)2.4 状态、抽象化、封装、继承(Status、Abstraction、Encapsulation、Inheritance)第三章面向对象系统分析与设计方法(Object-Oriented System Analysis and Design Method)3.1 面向对象开发过程概述(The Process of Object-Oriented System Development)3.2 OMT方法3.3 Shlaer & Mellor法3.4 Coad & Yourdon法3.5 Booch法3.6 UML统一建模语言(Unified Modeling Language)第四章面向对象编程(Object-Oriented Programming)4.1分析、设计、编程的流程(The Process of Analysis, Design and Programming)4.2分析、设计、编程的关系(The Relationship of Analysis, Design and Programming)第五章UML面向对象设计基础(Object-Oriented Design with Unified Modeling Language)5.1用户模型视图:用例图(Use Case Diagram)5.2结构模型视图:类图(Class Diagram)对象图(Object Diagram)5.3行为模型视图:序列图(Sequence Diagram)协作图(Collaboration Diagram)状态图(State Diagram)活动图(Activity Diagram)5.4实现模型视图:组件图(Component Diagram)5.5环境模型视图:展开图(Deployment Diagram)第六章UML面向对象开发(Unified Modeling Language Development Method)6.1 UML系统分析和建模(UML System Analysis and Modeling)6.2 UML系统设计和建模(UML System Design and Modeling)第七章项目管理(Project Management)7.1项目和项目管理的概念(What is a Project and Project Management)7.2 项目管理知识体系(PMBOK , Project Management Body Of Knowledge)7.3两个工具:PERT图(PERT Chart)甘特图(Gantt Chart)(二)实验1.学习并使用系统建模工具(Rational Rose、Microsoft Visio等)2.学习并运用程序设计语言进行数据库编程,程序设计语言可选择VC++、JAVA或VB,数据库可选择ORACLE、SQL SERVER或ACCESS。
UML面向对象分析、建模与设计课程教学大纲01课程说明课程代码:课程名称:UML面向对象分析、建模与设计/UML object-oriented analysis, modeling and design开课学期:4学分/学时:3/32+16课程类型:必修02课程的性质、目的与任务《UML面向对象分析、建模与设计》是软件工程专业中一门综合性很强的基础课程,主要内容包括软件工程与面向对象方法、UML的定义和背景、UML基础(UML构造块、UML通用机制、UML“4+1”架构、UML建模工具)、UML系统动态建模(用例图、活动图、状态机图、顺序图、通信图)、类图、对象图、包图、组件图、部署图、统一软件开发过程、UML具体实例等。
本课程的目的与任务是使学生通过本课程的学习,从UML的基本概念入手,由浅入深地认识和学习软件工程核心要素,以体系化、工程化的方法思考软件工程过程。
本课程除要求学生掌握UML的图示语法和语义,重点要求学生掌握设计软件的逻辑能力以及对软件内部各种组织结构的表达能力,掌握对事物的抽象能力和建模的基本思想,为更深入地学习和今后的实践打下良好的基础。
03教学内容及教学基本要求1.软件工程与面向对象方法(2学时)了解软件工程的概念和历史,了解软件工程的目标和原则;了解面向对象方法的概念和历史,了解面向对象方法的优点。
2.统一建模语言UML(2学时)了解UML的定义和历史背景;了解UML的目标和应用范围。
3.初识UML(2学时)掌握UML构造块,分别是事物、关系、图;掌握UML的通用机制;了解“4+1”架构;了解常用的UML建模工具。
4.用例图(2学时)了解用例的概念、设计方法和注意事项理解用例图的组成元素,分别为参与者、用例、用例图中的关系;理解并掌握用例图中的关系,分别为参与者间的泛化关系、参与者与用例的关联关系、用例间的泛化关系、用例间的依赖关系;理解用例描述的概念;掌握用例说明文档的书写;掌握用例图建模,分别为对系统的语境建模和对系统的需求建模;了解用例图的使用环境。
XX XX职业技术学院教案课程名称UML面向对象分析与设计授课专业班级________________ 授课教师XXX ____________授课时间20XX-2OXX年度第X学期XXXX职业技术学院教务处制教案书写规范与要求一、以每次课为一个备课单元书写。
二、每一备课单元书写下列内容:1.周次、课次、授课时间、章节名称;2.简要说明:教学目的、重点、难点、教学方法和授课手段(包括与课程相关的上机和实验、课件制作等);3.教学主要内容(教案主体)及教学方法手段;4.作业内容。
注:其余授课电子版文件待本课程结束后,交教务处统一刻成光盘存档。
UML面向对象分析与设计课程授课总体计划书XXXX职业技术学院教案周次:第1周课次:第1课授课时间:20XX年2月18日周次:第1周课次:第1课授课时间:20XX年2月18日对象通过对外提供的方法在系统中发挥自己的作用,当系统中的其它对象请求这个对象执行某个方法时,就向该对象发送一个消息,对象响应这个请求,完成指左的操作。
程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。
二、面向对象的三大要素而向对象的三大要素是:封装、继承.多态。
1、封装(EnCaPSlIIation)是把对象的状态和行为绑到一起的机制,把对象形成一个独立的整体,并且尽可能的隐藏对象的内部细节。
封装有两个含义:一是把对象的全部状态和行为结合一起,形成一个不可分割的整体。
对彖的私有属性只能够由对彖的行为来修改和读取。
二是尽可能隐蔽对象的内部细节,与外界的联系只能够通过外部接口来实现。
封装的信息屏蔽作用反映了事物的相对独立性,我们可以只关心它对外所提供的接口,即能够提供什么样的服务,而不用去关注其内部的细节问题。
2、继承(InhCritanCC)是一种连接类与类的之间的层次模型。
继承是指特殊类的对象拥有英一般类的属性和行为。
继承意味着“自动地拥有”,即在特殊类中不必重新对已经在一般类中所定义过的属性和行为进行定义,而是特殊类自动地、隐含地拥有其一般类的属性和行为。