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

上传人:夏** 文档编号:561629447 上传时间:2023-11-07 格式:DOC 页数:11 大小:111KB
返回 下载 相关 举报
《软件工程》教案-06 面向对象分析与设计.doc_第1页
第1页 / 共11页
《软件工程》教案-06 面向对象分析与设计.doc_第2页
第2页 / 共11页
《软件工程》教案-06 面向对象分析与设计.doc_第3页
第3页 / 共11页
《软件工程》教案-06 面向对象分析与设计.doc_第4页
第4页 / 共11页
《软件工程》教案-06 面向对象分析与设计.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《《软件工程》教案-06 面向对象分析与设计.doc》由会员分享,可在线阅读,更多相关《《软件工程》教案-06 面向对象分析与设计.doc(11页珍藏版)》请在金锄头文库上搜索。

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

2、三节 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,轻化B507 答疑:每周四78节,机电C41

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

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

6、ism):指同一个操作作用于不同的对象上可以有不同的解释,并产生不同的执行结果。 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-Oriented Design) 将分

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

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

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

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

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

14、消息或事件来通知对方改变或恢复信息?描述系统与执行者之间的主消息流是什么?以及系统中哪些实体被使用或修改? 用例中可供选择的流:用例中的活动可根据条件或异常(exception)有选择地执行。 如何通过给执行者一个值来结束用例:描述何时可认为用例已结束. 用例的简要描述 订购货物:客户创建一个新的请求商品的订单,并为那些商品付费 取消订单:客户取消一个已经存在的订单 用例的详细描述模版 用例名称 参与的执行者 前置条件和后置条件:表示用例开始和结束的条件 事件流(flow of events):事件流是一系列陈述句,它是从执行者的角度看,列出用例的各个步骤。事件流可分为两部分:基本路径,可选路径。基本路径是运转正常时的路径,是一系列没有分支和选择的简单陈述句。可选路径是指不同于基本路径而允许不同的事件序列的路径。对于明显有可能随时发生的事情来说,可选路径非常有效 用例描述中可以包含条件、分支和循环。 其他需求:在用例中还可描述一些特殊的需求,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号