ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:26.43KB ,
资源ID:5045872      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5045872.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《软件工程》教案06 面向对象分析与设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《软件工程》教案06 面向对象分析与设计.docx

1、软件工程教案06 面向对象分析与设计山东轻工业学院教师授课教案课程名称:软件工程课程代码:0310040学 分:3课程类别:选修课开课单位:信息科学与技术学院授课班级:计科07-12授课教师:赵培英山东轻工业学院教务处制授课时间2009年 10 月 30 日 星期 五 第 34 节2009年 11 月 4 日 星期 三 第 34 节2009年 11 月 6 日 星期 五 第 34 节2009年 11 月 13 日 星期 五 第 34 节授课内容概要第六章 面向对象分析与设计第一节 面向对象的基本概念(对象,类,继承,信息,多态,动态绑定。)第二节 面向对象分析与设计过程(OOA的任务、步骤及过

2、程,OOD步骤、过程,设计模式。)第三节 UML概述(UML各种视图与图的对应,UML各种图的简介。)第四节 用例建模(利用用例、用例图实现功能建模。)第五节 静态建模(利用类图和对象图实现静态建模。)第六节 动态建模(利用状态图、顺序图等实现动态建模。)第七节 物理体系结构建模(构件图、部署图的使用。)目的要求 了解设计模式、UML视图与图的对应,了解构件图、部署图; 掌握OOA的任务、步骤及过程,OOD步骤、过程; 熟练掌握面向对象的基本概念,掌握面向对象建模方法。重 点 面向对象的基本概念; 类图、对象图、状态图、用例图的使用; 建立对象模型、动态模型、功能模型的基本步骤。难点 建立对象

3、模型、动态模型、功能模型的基本步骤。作业布置1.列举并简要说明OO的基本概念?2.OOA的步骤?OOD步骤?3.什么是用例?什么是执行者?4.结合课本实例说明创建用例模型的步骤? 参考书1. 软件工程钱乐秋等 清华大学出版社2.软件工程导论(第四版),张海藩主编,清华大学出版社,2003年。3.面向对象与经典软件工程(第5版)(英文影印版),(美)Stephen R.Schach主编,机械工业出版社,2002年。课 型理论课学时分配复 习 5 分钟主要教具多媒体讲 授 35 分钟教学方法多媒体课件指 导 2 分钟教学手段讲授结合实例总 结 3 分钟备注授课:双周周三34,每周周五34,轻化B5

4、07 答疑:每周四78节,机电C415学时分配:指本章节每节课(45分钟)的平均分配情况授 课 内 容备 注 复习及引言讲授新课第一节 面向对象的基本概念面向对象 = 对象(object)+分类(classification)+继承(inheritance) +通过消息的通信 (communication with messages)1、对象(object):对象是指一组属性以及这组属性上的专用操作的封装体。 属性(attribute)通常是一些数据。对象的属性值,表示该对象的状态。操作(operation)(也称方法或服务)规定了对象的行为,表示对象所能提供的服务。封装(encapsulat

5、ion)是一种信息隐蔽技术。 2. 类(class):又称对象类,是一组具有相同属性和相同操作的对象的集合。 3. 继承(inheritance): 基于层次关系的类共享数据和操作的一种机制。 父类中定义了子类的公共属性和操作。子类中除了定义自己特有的属性和操作外,可以继承其父类(或祖先类)的属性和操作,还可以父类(或祖先类)中的操作重新定义其实现方法(重载)。分单重继承和多重继承。抽象类(abstract class):没有实例的类称为抽象类。在抽象类中可以定义抽象操作,指:只定义这个类的操作接口,不定义它的实现,其实现部分由其子类定义。4. 消息(message): 对象间通信的手段。5.

6、 多态性(polymorphism):指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。 6. 动态绑定(dynamic binding):运行时才将消息所请求的操作与实现该操作的方法连接起来。第二节 面向对象的分析和设计过程一、面向对象的分析OOA(Object-Oriented Analysis)(一)OOA过程1.获取客户基本需求 常采用用例来收集客户需求: 首先标识执行者(actor)。(与用户不同) 执行者的每一个使用场景(或功能)称为一个用例,所有用例构成系统的完整需求。2.标识类和对象:类和对象来自问题领域。可采取CRC技术。3. 定义类的结构和层次类的结构主

7、要有两种:复习:引出: 一般特殊结构(generalizationspecialization)反映类间的一般与特殊关系,即 “is a”关系。可形成类层次结构。 整体部分结构(wholepart)反映类间的整体与部分关系。是一种“has a”关系。整体部分结构也具有层次结构。 主题(subject)或子系统(subsystem):互相协作以完成一组紧密结合在一起的责任的类的集合。实际上是系统更高抽象层次上的一种描述。4.建造对象关系模型:描述系统静态结构。指出类间的关系:关联、依赖、泛化、实现等。5.建立对象行为模型:描述了系统的动态行为。步骤如下: 评估所有的用例,以完全理解系统中交互的序

8、列。 标识驱动交互序列的事件,理解这些事件如何和特定的对象相关联。 为每个用例创建事件轨迹(event trace)。 建造状态机图。 复审。(二)OOA模型1、 基本模型: 一个类图(class diagram)。以直观的方式表达系统最重要的信息。分三个层次(对象层、特征层、关系层)分别描述了:系统中应设哪几类对象,每类对象的内部构成,对象与外部的关系。2、 补充模型 主题图画出了系统的主题。 交互图(interaction diagram) 是Use case与系统成分之间的对照图。3、 详细说明 :对分析模型进行说明和解释。主要以文字为主。二、面向对象设计OOD(Object-Orien

9、ted Design) 将分析模型转换为设计模型,解决“如何作”的问题。(一)面向对象设计准则 1)模块化 2)抽象 3)信息隐藏 4)弱耦合 5)强内聚 6)可重用(二)面向对象设计的主要内容 1)设计问题域组元 2)设计人机交互组元 3)设计任务管理组元 4)设计数据管理组元OOD的一般步骤 系统设计: 将分析模型划分为若干子系统,子系统应该具有良好的接口,子系统内的类相互协作。标识问题本身的并发性,为子系统分配处理器。并选择设计策略和设计控制机制。 对象设计:为每个类的属性和操作进行详细设计,包括它们的数据结构和实现算法。 消息设计:设计连接类与它的协作者之间的消息规约(specific

10、ation of the messages)。 复审(四)OOD模型三、设计模式(design patterns)帮助设计者复用以前成功的设计。一个设计模式通常可用四个信息来描述:1)模式名:应具实际含义,反映模式的适用性和意图。2)使模式可被应用所必须存在的环境和条件。3)设计模式的特征:指出一些设计的属性,调整这些属性使该模式能适应各种不同的问题。4)应用设计模式的结果(consequences):表明设计决策的走向。第三节 UML概述 UML(Unified Modeling Language) 一种基于面向对象的可视化的通用建模语言。 UML的主要组成 视图(Views):观察角度 图

11、(Diagrams) 模型元素(Model elements) 元模型及扩展机制一、UML2.0的视图与图二、模型元素 模型元素代表OO中的对象、类等基本概念以及模型元素间相互连接的关系。 三、元模型及扩展机制 元模型:用于描述建模语言自身,用于表示注释,模型元素的语义等信息。 扩展机制(Extensibility mechanisms) : 剖面机制允许在不修改基础元模型前提下,对UML进行扩展 包括3个扩展结构:构造型(Stereotype)、标记值(Tagged value)和约束(Constraint)第四节 用例建模 通过开发者和客户之间为导出需求规约而进行的交互过程来建立用例模型。

12、 用例模型通过用例图来描述。一、用例图的组成及符号 用例图给出了用户所感受到的系统行为。其主要成分:用例、执行者和系统。 每个用例指明了一个完整的功能。二、用例建模步骤 定义系统 确定执行者 确定用例 描述用例( 普通正文,或活动图) 定义用例间的关系(关联、扩展、包含、泛化) 确认模型(一) 确定执行者 可以通过回答下列问题来确定执行者: 谁使用系统的主要功能(主执行者)? 谁需要从系统中得到对他们日常工作的支持? 谁需要维护、管理和维持系统的日常运行(副执行者)? 系统需要控制哪些硬件设备? 系统需要与哪些其它系统交互? 哪些人或哪些系统对系统产生的结果(值)感兴趣?(二)确定用例可以通过

13、让每个执行者回答以下问题来寻找用例: 执行者需要系统提供哪些功能?执行者需要做什么? 执行者是否需要读、创建、删除、修改或储存系统中的某类信息? 执行者是否要被系统中的事件提醒,或者执行者是否要提醒系统中某些事情?从功能观点看,这些事件表示什么? 执行者的日常工作是否因为系统的新功能(尤其是目前尚未自动化的功能)而被简化或提高了效率?另外还有一些不是目前的执行者回答的问题:(三) 用例描述 通常用正文来描述,也可用活动图来描述 。 用例的正文描述应包括以下内容: 用例的目的:用例的最终目的是什么?它试图达到什么? 用例是如何启动的:哪个执行者在什么情况下启动用例的执行? 执行者和用例之间的消息

14、流:用例与执行者之间交换什么消息或事件来通知对方改变或恢复信息?描述系统与执行者之间的主消息流是什么?以及系统中哪些实体被使用或修改? 用例中可供选择的流:用例中的活动可根据条件或异常(exception)有选择地执行。 如何通过给执行者一个值来结束用例:描述何时可认为用例已结束. 用例的简要描述 订购货物:客户创建一个新的请求商品的订单,并为那些商品付费 取消订单:客户取消一个已经存在的订单 用例的详细描述模版 用例名称 参与的执行者 前置条件和后置条件:表示用例开始和结束的条件 事件流(flow of events):事件流是一系列陈述句,它是从执行者的角度看,列出用例的各个步骤。事件流可

15、分为两部分:基本路径,可选路径。基本路径是运转正常时的路径,是一系列没有分支和选择的简单陈述句。可选路径是指不同于基本路径而允许不同的事件序列的路径。对于明显有可能随时发生的事情来说,可选路径非常有效 用例描述中可以包含条件、分支和循环。 其他需求:在用例中还可描述一些特殊的需求,这些需求常常是非功能性需求,如可用性、安全性、可维护性、负载、性能、自动防故障、数据需求等。(四)、确定用例之间的关系(五)实例第五节 静态建模(类和对象建模) 类和对象模型描述了系统的静态结构,在UML中用类图和对象图来表示。类和对象模型的基本模型元素:类、对象以及它们之间的关系。一、类图和对象图的图形记号二、确定

16、类CRC技术CRC技术:类责任协作者(classresponsibilitycollaborator)技术。(一)CRC卡片CRC实际上是一组表示类的索引卡片每张卡片分成三部分,它们分别描述类名、类的责任和类的协作者。(二)CRC技术标识类的步骤1. 标识类(1) 标识潜在的对象类:陈述中的名词或名词短语(2) 筛选对象类,确定最终对象类2. 标识责任 责任是与类相关的属性和操作。(1)标识属性(2) 定义操作3. 标识协作者协作标识了类间的关系。如果一个对象为了完成某个责任需要向其它对象发送消息,则我们说该对象和另一对象协作。4. 复审CRC卡复审应由客户和软件分析员参加。复审方法:三、表示

17、类之间的关系1. 关联(1)二元关联 关联的两端可加上重数(multiplicity) ,表示该类有多少个对象可与对方的一个对象关联(2)多元关联 三个或三个以上的类之间可以互相关联 (3)受限关联(qualified association): 用于一对多或多对多的关联。限定符用来区分关联“多”端的对象集合,指明了在关联“多”端的某个特殊对象 (4) 聚集和组合聚集(aggregation)是表示整体一部分关系的一种关联,它的“部分”对象可以是任意“整体”对象的一部分。组合(composition):一种更强形式的关联,代表整体的组合对象有管理它的部分对象的特有责任。组合关联具有强的物主身份

18、,即“整体”对象拥有“部分”对象,“部分”对象生存在“整体”对象中。(5)关联类 :UML中可以把关联定义成类,该关联的每个链都是这个类的实例 (6)导航性(navigability)2.泛化 类间的“一般特殊关系” (is-a) 一般类定义公共属性和操作 对一般类扩展一些属性和/或操作后,可以特化(specialize)成特殊类 特殊类可以继承一般类的属性和操作 一般类是特殊类的父类,特殊类是一般类的子类 子类可以定义自己的属性和操作,也可重新定义父类中的操作,但重新定义的操作必须与父类具有相同的操作特征(signature)3. 实现: 实现关系将一个模型元素(如类)连接到另一个模型元素(

19、如接口),后者(如接口)是行为的规约,前者是后者的实现。 泛化和实现的关系4. 依赖: 依赖指出两个或多个模型元素之间语义上的关系。它表示被依赖元素的变化会要求或指示依赖元素的改变。5约束和派生(constraint & derivation) 约束:是用自然语言或特定的形式语言正文表示的语义条件或限制 。 用“正文字符串” 形式表示。 约束可以附加到任何模型元素上。 派生:是一个元素与另一个元素之间的关系,前者能通过后者计算得到。 计算派生元素的公式可以用约束给出。派生元素的表示:元素名前加斜线。 6模板(Templates) 模板是一个参数化的模型元素,使用它时参数必须在建模时绑定到实际值

20、。第六节 动态建模 用来描述系统的动态行为,显示对象在系统运行期间不同时刻的动态交互。UML中用状态机图、活动图、顺序图、通信图和协作图来建立动态模型。1状态机图 状态机图描述了对象的动态行为,是一种对象生存周期的模型。 状态机图的基本符号 画状态机图的步骤2活动图 一种特殊形式的状态机,用于对计算流程和工作流建模。 活动图使用状态机图的符号表示,活动图中的状态称为动作状态,用圆角矩形表示,动作状态之间的迁移用箭头表示,迁移上可以附加警戒条件、发送子句和动作表达式。 与状态机图不同的是,活动图中动作状态之间的迁移不是靠事件触发的,当动作状态中的活动完成时迁移就被触发。 3顺序图 顺序图用来描述

21、对象间的交互行为,它关注于消息的顺序。 顺序图还揭示了一个特定场景的交互,即系统执行期间发生在某时间点的对象之间的特定交互。它适合于描述实时系统中的时间特性和时间约束。 顺序图有两个坐标,垂直坐标表示时间(从上到下),水平坐标表示一组对象(用对象框表示)。 顺序图中对象框下可画一垂直的虚线,称为该对象的生存线(lifeline),用来指出该对象执行期间的时序。 对象之间的消息发送用生存线之间的消息箭头表示。当一个对象接收到一个消息时,该对象开始活动,称为激活。激活画成对象生存线上的一个长方形框,表示该对象可能在执行自己的代码,可能在等待另一对象的返回。 按垂直坐标从上到下的次序读顺序图,可以观

22、察到随时间的前进消息通信的顺序。4通信图 通信图展示了围绕着组合结构的各部分或协作的各角色而组织的一种交互。 通信图对包含在交互中的角色和链(link)建模,角色与对象绑定,链与对象间的关联绑定,用附加到关联上的箭头表示角色之间的消息通信。同一进程中的所有消息是顺序排列的,不同进程中的消息可以是并发的,也可以是顺序的。第七节 物理体系结构建模描述系统各部分的结构、接口以及它们用于通信的机制。UML中物理体系结构用构件图、内部结构图和部署图来描述。1构件图 显示了系统中的构件及其依赖关系。 构件是系统设计的模块化部分,它给出一组外部的接口,而隐藏了它的实现。 构件的内部结构用内部结构图定义2部署图 描述了处理器、设备和软件构件运行时的体系结构。基本元素:结点、连接、构件、依赖等。小结及作业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1