《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法

上传人:E**** 文档编号:89412254 上传时间:2019-05-24 格式:PPT 页数:88 大小:1.10MB
返回 下载 相关 举报
《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法_第1页
第1页 / 共88页
《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法_第2页
第2页 / 共88页
《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法_第3页
第3页 / 共88页
《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法_第4页
第4页 / 共88页
《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法》由会员分享,可在线阅读,更多相关《《信息系统分析与设计》-电子教案-李晓 第8章 面向对象的系统开发方法(88页珍藏版)》请在金锄头文库上搜索。

1、第8章 面向对象的系统开发方法,本章内容,8.1 面向对象方法概述 8.2 面向对象系统开发过程 8.3 业务事件分析 8.4 用例模型 8.5 类图 8.6 交互模型,随着面向对象语言的出现,面向对象程序设计也就应运而生且得到迅速发展。之后,面向对象不断向其他阶段渗透,1980年,Grady Booch提出了面向对象设计的概念,之后面向对象分析开始。1985年,第一个商用面向对象数据库问世。1990年以来,面向对象分析、设计、测试、度量和管理等研究都得到长足发展。,8.1.1 面向对象领域中的基本概念,什么是面向对象?Coad和Yourdon给出的定义是: 面向对象(Object Orien

2、ted)=对象(Objects)+分类(Classification)+继承(Inheritance)+通信(Communication) 如果一个软件系统是使用这样的概念设计和实现的,就可以认为这个软件系统是面向对象的。,What Is a Class?,Class: Professor,Attributes,Operations,对象(Object)是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。类(Class)是对象的模板。,Example Object-Oriented Programming in C+,class Shape public: virtural voi

3、d Draw() const= 0; ; class Square : public Shape public: virtual void Draw() const; ; class Circle : public Shape public: virtual void Draw() const; ; void DrawAllShapes(vector ,封装,封装(Encapsulation)使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块。 封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性。,继承机制,类通过继承定义成不同的层次结构,将相关类的特点抽象出来作为

4、父类,子类继承父类的结构和方法后,再定义各自特定的数据和操作。,消息(Message),OrderEntryForm,Order,orderID date salesTotal tax shipDate,CalculateOrderTotal(),calculateOrderTotal(),The class Order has the responsibility to calculate the total dollar value.,Message,对象之间进行通信的结构叫做消息(Message),多态(Polymorphism),多态,字面上是指有多种形态的意思。在面向对象技术中,多态

5、是指一个事物在不同上下文中具有不同意义或用法的能力。 同一消息为不同的对象接受时可产生完全不同的行动。,8.1.2 面向对象方法,面向对象的方法起源于面向对象的编程语言。自20世纪80年代中期到90年代,OO的研究重点已经从面向对象编程语言转移到设计方法学方面,陆续提出了一些面向对象的开发方法和设计技术。,面向对象方法模型,重要的对象被发现后,通过一组互相关联的模型详细表示类之间的关系和对象的行为,这些模型从四个不同的侧面表示了软件的体系结构: 静态逻辑 动态逻辑 静态物理 动态物理,8.1.3 统一建模语言(Unified Modeling Language,UML),面向对象方法的建模语言

6、; 一种通用的可视化建模语言,可用于工程领域特别是软件工程领域的建模,统一建模语言UML(Unified Modeling Language )是一种通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的工作文档。 UML体系包括三个部分: UML基本构造块:事物、关系、图; UML规则; UML公共机制。,UML事物是对模型中最有代表性的成分的抽象。 UML中有四种事物: 结构事物(structural thing) 行为事物(behavioral thing) 分组事物(grouping thing) 注释事物(annotational thing),UML基本构造块,

7、UML关系,UML中关系(relationship)包括四种: 依赖(dependency) 关联(association) 泛化(generalization) 实现(realization),UML图之间的关系,本章内容,8.1 面向对象方法概述 8.2 面向对象系统开发过程 8.3 业务事件分析 8.4 用例模型 8.5 类图 8.6 交互模型,8.2.1 面向对象系统开发过程概述,面向对象的分析(OOA,Object Oriented Analysis) 面向对象的设计(OOD,Object Oriented Design) 面向对象的实现(OOP,Object Oriented Pr

8、ogramming),计算机世界,现实世界,结 构 化 开 发 方 法,结构化 分析,结构化 设计,结构化 编程,OOA,OOD,OOP,面 向 对 象 开 发 方 法,8.2.2 面向对象系统开发活动,运用面向对象方法来具体开发一个信息系统,其分析和设计过程包括以下几个方面的内容: 识别系统目标与边界; 识别用例,建立用例图; 识别对象,建立类图; 设计用例的详细逻辑,建立顺序图和协作图; 精化和完善模型。,面向对象系统开发活动的四个基本步骤,(1)标识业务事件并制作事件表; (2)标识用例并生成系统用例图,编写基本用例叙述; (3)建立各层次类图,以表示系统中的概念、属性、关联以及操作;

9、(4)为每个用例场景绘制系统交互图,编写操作约定。,8.2.3 面向对象系统开发模型,8.2.4 面向对象系统开发技术,信息收集技术 ; 事件分析 ; 用例建模 ; 类建模 ; 交互建模 。,本章内容,8.1 面向对象方法概述 8.2 面向对象系统开发过程 8.3 业务事件分析 8.4 用例模型 8.5 类图 8.6 交互模型,面向对象系统开发活动的四个基本步骤,Step 1. 标识业务事件并制作事件表; Step 2. 标识用例并生成系统用例图,编写基本用例叙述; Step 3. 建立各层次类图,以表示系统中的概念、属性、关联以及操作; Step 4. 为每个用例场景绘制系统交互图,编写操作

10、约定。,从事件开始,事件(Events)是在特定的时间发生的事情,并且启动或触发了系统的预置响应。 事件流是指不包含与应用相关的细节特征值的信息流。 数据流包含与应用程序相关的具有描述事件细节特征值的数据元素。,8.3.1 事件分析相关概念,8.3.2 业务事件分析原理,事件驱动原理:以事件的方式来理解系统行为采用的是“刺激-响应”方式( a stimulus-response perspective ) 。事件驱动系统的基本行为模式如下: (1)系统空闲等待,直到有事件来触发系统行为; (2)事件发生时系统做出完整响应; (3)响应完成后,系统继续等待其他事件发生。,Event Analys

11、is,(Insert Figure 3.4),系统输入和输出是系统与其环境交流的惟一方式,Event Analysis描述,系统输入 通知系统需要了解的事件内容的消息(刺激) 系统的动作或响应 系统必须执行一个动作或行为以对事件做出响应 系统输出 系统为了响应事件而产生的消息,8.3.3 业务事件分析方法,描述业务事件; 确定参与者; 确定系统的输入和输出; 确定系统的动作。,事件列表(Event Table),8.3.4 业务事件分析示例: 高校公修课选课情景,根据教务处的时间期限,每个学期的高校公修课班级计划列表都在学生选课日期之前制定出来。根据这个时间期限,大学里的每个系必须向教务处提交

12、该学期的本系公修课班级计划列表。这些列表中信息综合在一起形成最终的学校公修课班级计划列表。学校公修课班级计划列表被分发给各个系办公室和每位教授,而学生可以在学校布告栏看到。 在预选课期间,学生对自己要选的班级提出请求(通过选课单方式)。每个班级请求包含学生的学号以及学生要选择的公修课的班级号(注:一门课程可分多个班级)。如果该班级不能选,学生可以尝试选择同类课程的其他班级。当学生选择了尽可能多(达到最大允许值)的班级后,学生获得一份打印出来的班级列表。该列表显示了学生成功选定的所有班级。 列出了所含学生的名字和学号的每个班级花名册被打印出来后送给每位任课教授。,(1)确定业务事件,1)系提交公

13、修课班级计划列表; 2)到生成学校公修课班级计划列表的时间了; 3)学生选择班级; 4)到生成班级花名册的时间了。,(2)确定参与者,这个过程中需要知道谁提供系统输入或从系统获得输出。 通过分析四个事件,可以识别出系、学生和教授三个参与者。,(3)确定系统输入和输出,在高校公修课选课系统中有两个输入: 系公修课班级计划列表(事件“系提交公修课班级计划列表”); 选择班级请求(事件“学生选择班级”)。 三个输出: 学校公修课班级计划列表(事件“到生成学校公修课班级计划列表的时间了”); 学生班级列表(事件“学生选择班级”); 班级花名册(事件“到生成班级花名册的时间了”)。,(4)确定系统动作,

14、高校公修课选课系统中有四个业务事件,系统必须执行的一个动作或行为对这四个事件作出响应。 这四个动作是: 提交公修课班级计划列表(事件“系提交公修课班级计划列表”); 生成学校公修课班级计划列表(事件“到生成学校公修课班级计划列表的时间了”); 选择班级(事件“学生选择班级”); 生成班级花名册(事件“到生成班级花名册的时间了”)。,本章内容,8.1 面向对象方法概述 8.2 面向对象系统开发过程 8.3 业务事件分析 8.4 用例模型 8.5 类图 8.6 交互模型,面向对象系统开发活动的四个基本步骤,Step 1. 标识业务事件并制作事件表; Step 2. 标识用例并生成系统用例图,编写基

15、本用例叙述; Step 3. 建立各层次类图,以表示系统中的概念、属性、关联以及操作; Step 4. 为每个用例场景绘制系统交互图,编写操作约定。,用例:一种在系统内提供所需功能的过程。 它是一组连续的操作,在参与者使用系统来完成某个过程时出现; 系统对事件作出响应时所需的动作或行为; 表明系统响应来自环境的消息时会发生何种情况。,购买商品,8.4.1 用例:对过程的描述,Find use case,错误:用例是执行者和系统之间为了达到某个目的而进行一次交互过程。,从事件表导出用例,Event 系提交班级计划 到生成大学班级计划的时间了 学生注册班级 到生成班级花名册的时间了,Use cas

16、e 提交系班级计划. 生成大学班级计划. 注册班级. 生成班级花名册.,以下问题可以帮助确定用例: 对于已确定的各个执行者,哪些任务会涉及到系统? 是否需要将系统中发生的某些特定事件通知给此执行者? 此执行者是否需要将突发变更或外部变更通知给系统? 系统是否给业务提供了正确的行为? 已经确定的用例是否可以执行系统所有功能? 哪些用例将支持和维护系统? 在系统内应该修改或创建什么信息? 系统启动和停止。 系统的维护。例如,添加新用户和建立用户简档。,8.4.2 参与者(Actor),参与者是与系统交互的某个人、组织或系统,参与者将消息发送至系统或从系统接收消息。,客户给销售员发来传真订货, 销售员下班前将当日订货单汇总输入系统。 谁是系统的Actor?,Actor:必须知道系统是为谁而设计的,即谁将使用该系统。不同类型的用户群体代表了使用系统的一种角色(actor),称为执行者。,识别参与者,谁初始化每个外部事件? 谁作为每个事件的一部分,将信息输入系统或者从系统获取信息? 谁来

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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