面向对象软件开发事例1_第1页
面向对象软件开发事例1_第2页
面向对象软件开发事例1_第3页
面向对象软件开发事例1_第4页
面向对象软件开发事例1_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、n软件软件开发原理开发原理n面向对象的概念面向对象的概念n面向对象分析面向对象分析(OOA)n面向对象设计面向对象设计(OOD)n事例学习事例学习: 电梯控制系统电梯控制系统ECS实用面向对象软件工程n20世纪世纪50年代年代 无规范化设计的概念无规范化设计的概念n20世纪世纪60年代年代 瀑布方法瀑布方法u 软件开发经历一系列规范化阶段软件开发经历一系列规范化阶段u 每个阶段的完成需交付一个或多个里程碑每个阶段的完成需交付一个或多个里程碑文档文档n20世纪世纪70年代年代 基于模型的软件工程基于模型的软件工程u 首先建立系统的工作模型首先建立系统的工作模型u 再调集资源实现系统再调集资源实现

2、系统蓝图、图表、库蓝图、图表、库存、采购单等存、采购单等需求定义需求定义模型模型分析模型分析模型设计模型设计模型实现模型实现模型用户、顾客、开发者等用户、顾客、开发者等t工作产品与里程碑工作产品与里程碑n分析模型与设计模型分开建立。分析模型与设计模型分开建立。u 分析模型主要描述系统将要做什么,完全分析模型主要描述系统将要做什么,完全不考虑具体的实现方法和技术细节。不考虑具体的实现方法和技术细节。u 设计模型描述在给定的实现环境下如何创设计模型描述在给定的实现环境下如何创建一个特定的软件系统。建一个特定的软件系统。n前者确定前者确定系统的行为系统的行为,后者给出,后者给出系统实现的蓝系统实现的

3、蓝图图。n需求定义模型主要用于获取和处理系统的整体需求定义模型主要用于获取和处理系统的整体需求。需求。n传统的方法强调程序的传统的方法强调程序的。n可理解性强的程序是可理解性强的程序是的程序。的程序。n为做到为做到模块化模块化u每个模块做且仅做一件事每个模块做且仅做一件事u每个模块应容纳一个数据结构每个模块应容纳一个数据结构u每个模块应能识别并对一个事件作出反应,每个模块应能识别并对一个事件作出反应,且这个事件是唯一的且这个事件是唯一的n面向对象方法则强调要让面向对象方法则强调要让。Object)属性属性服务服务购购 买买销销 售售称称 重重移移 动动属性属性服务服务购购 买买销销 售售称称

4、重重移移 动动 。属性属性服务服务看书看书实验实验吃饭吃饭睡觉睡觉属性属性服务服务王辉王辉属性属性服务服务看书看书实验实验吃饭吃饭睡觉睡觉看书看书实验实验吃饭吃饭睡觉睡觉姓名姓名性别性别籍贯籍贯专业专业出生年月出生年月住址住址学生学生属性属性服务服务看书看书实验实验吃饭吃饭睡觉睡觉属性属性服务服务看书看书实验实验吃饭吃饭睡觉睡觉属性属性服务服务刘华刘华属性属性服务服务看书看书实验实验吃饭吃饭睡觉睡觉看书看书实验实验吃饭吃饭睡觉睡觉学生学生属性属性姓名姓名性别性别籍贯籍贯专业专业出生年月出生年月住址住址服务服务看书看书实验实验吃饭吃饭睡觉睡觉起重车起重车类类汽车类汽车类拖拉机类拖拉机类三角形类三

5、角形类四边形类四边形类六边形六边形退休者退休者教师教师退休教师退休教师多边形多边形矩形矩形多边形多边形三角形三角形类与对类与对 象层象层服务层服务层结构层结构层主题层主题层主题主题服务服务消息消息属性属性实例连接实例连接类边界类边界实例边界实例边界爱丽丝属性服务 订阅标识订阅标识 订阅状态订阅状态 有关细节有关细节 订户标识订户标识收件人标识收件人标识 邮局标识邮局标识 价格标识价格标识 付款标识付款标识属性订户订户服务1 1订户标识订户标识订户信息订户信息地址标识地址标识 属性服务确认订阅请求订阅请求录入订款信息录入赠阅信息报告订户终止订阅续订属性订户订户服务录入订户录入地址报告地址泛化类泛

6、化类特化类特化类1,m11111(OOD)电梯控制系统电梯控制系统事例学习系统描述事例学习系统描述n总的需求是设计和实现一个能对一座总的需求是设计和实现一个能对一座40层楼的层楼的建筑物内的建筑物内的 4 部电梯进行调度和控制的程序。部电梯进行调度和控制的程序。n这个程序应能有效地,并合理地对电梯进行调这个程序应能有效地,并合理地对电梯进行调度。比如说,有人在第度。比如说,有人在第 4 层楼召唤电梯,按下层楼召唤电梯,按下向下的按钮,那么下行的将要经过第向下的按钮,那么下行的将要经过第 4 层楼的层楼的一部电梯就应在第一部电梯就应在第 4 层楼停下来,让这个乘客层楼停下来,让这个乘客进入电梯。

7、进入电梯。n另一种情况是:如果一部电梯没有乘客,它就另一种情况是:如果一部电梯没有乘客,它就应当停在其最后一次完成的目的地请求的楼层,应当停在其最后一次完成的目的地请求的楼层,直到被召唤。直到被召唤。n一部电梯不应中途改变其运行方向,除非在现一部电梯不应中途改变其运行方向,除非在现行方向上的乘客都到了其目的地。行方向上的乘客都到了其目的地。n如果一部电梯中的乘客数已达到了电梯的容量,如果一部电梯中的乘客数已达到了电梯的容量,那么这部电梯就不应再响应任何新的召唤请求。那么这部电梯就不应再响应任何新的召唤请求。n每部电梯都有一个超重传感器,计算机和程序每部电梯都有一个超重传感器,计算机和程序能够对

8、这些传感器进行询问能够对这些传感器进行询问。n目的地按钮:每部电梯配有一个面板,上面有目的地按钮:每部电梯配有一个面板,上面有一列一列40个按钮,每个按钮代表一个楼层,并标个按钮,每个按钮代表一个楼层,并标有楼层号(有楼层号(1到到40)。)。n从计算机传送到面板上的信号可以使这些目的从计算机传送到面板上的信号可以使这些目的地按钮亮起来。地按钮亮起来。n当一个乘客按下原先指示灯不亮的目的地按钮,当一个乘客按下原先指示灯不亮的目的地按钮,这个面板后面的电路就向计算机发出一个中断这个面板后面的电路就向计算机发出一个中断信号。信号。n当计算机接收到这其中的一个信号后,程序就当计算机接收到这其中的一个

9、信号后,程序就去读相应的八位输入寄存器的存储。去读相应的八位输入寄存器的存储。n每个中断对应一个寄存器,每个寄存器对应一每个中断对应一个寄存器,每个寄存器对应一部电梯。寄存器中存放引起这个中断事件的目部电梯。寄存器中存放引起这个中断事件的目的地按钮所对应的楼层号。当发生中断时,面的地按钮所对应的楼层号。当发生中断时,面板后的电路就将楼层号写入相应的映射输入寄板后的电路就将楼层号写入相应的映射输入寄存器的存储中。存器的存储中。n目的地按钮指示灯:目的地面板后有灯泡。当目的地按钮指示灯:目的地面板后有灯泡。当程序中的中断服务例程接收到一目的地按钮中程序中的中断服务例程接收到一目的地按钮中断,它就发

10、送一个信号到相应的面板,使相应断,它就发送一个信号到相应的面板,使相应的按钮指示灯发亮。的按钮指示灯发亮。n信号的发送实际就是程序将按钮对应的楼层号信号的发送实际就是程序将按钮对应的楼层号写入相应的输出寄存器的存储中。写入相应的输出寄存器的存储中。n按钮指示灯亮就相当于告诉乘客系统已经注意按钮指示灯亮就相当于告诉乘客系统已经注意到了他的请求,而且当乘客再一次按下该按钮到了他的请求,而且当乘客再一次按下该按钮(由于急躁?)时就不再产生中断。(由于急躁?)时就不再产生中断。n当控制器在某一楼层停下电梯时,它就向目的当控制器在某一楼层停下电梯时,它就向目的地按钮面板发送一信号,熄灭该层的目的地按地按

11、钮面板发送一信号,熄灭该层的目的地按钮指示灯。钮指示灯。n楼层传感器:每一部电梯升降井的每一个楼层楼层传感器:每一部电梯升降井的每一个楼层上都有一个楼层传感器开关。上都有一个楼层传感器开关。n当电梯正好运行到每个楼层的八英寸空间内时,当电梯正好运行到每个楼层的八英寸空间内时,电梯上的一个机轮就闭合该楼层的开关并向计电梯上的一个机轮就闭合该楼层的开关并向计算机发送一中断信号。算机发送一中断信号。n计算机接收到其中任一个中断信号后,程序就计算机接收到其中任一个中断信号后,程序就去读相应的八位输入寄存器的存储,存储中存去读相应的八位输入寄存器的存储,存储中存放的是引起该中断的楼层传感器开关所对应的放

12、的是引起该中断的楼层传感器开关所对应的楼层号。楼层号。n到达指示灯:在每个电梯里有一个有一排指示到达指示灯:在每个电梯里有一个有一排指示器的面板,每个指示器对应指示某一楼层。这器的面板,每个指示器对应指示某一楼层。这个面板就在电梯门的正上方。个面板就在电梯门的正上方。n设置这个面板的目的是要告诉电梯中的乘客这设置这个面板的目的是要告诉电梯中的乘客这部电梯现在正要到达的楼层的楼层号。部电梯现在正要到达的楼层的楼层号。n当电梯到达一楼层时程序应让该楼层指示器当电梯到达一楼层时程序应让该楼层指示器发亮,当电梯离开该层楼或到达另一层楼时,发亮,当电梯离开该层楼或到达另一层楼时,该指示器应熄灭。该指示器

13、应熄灭。n这个信号的发送实际就是程序将楼层指示器这个信号的发送实际就是程序将楼层指示器所对应的楼层号写入相应的输出寄存器(每所对应的楼层号写入相应的输出寄存器(每个寄存器对应一部电梯)的存储中。个寄存器对应一部电梯)的存储中。n召唤按钮:建筑物中的每个楼层都有一个带召唤按钮:建筑物中的每个楼层都有一个带有召唤按钮面板。有召唤按钮面板。n每层楼,除了底层(第每层楼,除了底层(第1层)和顶层(第层)和顶层(第40层)外,面板上都有两个按钮:一个标着向层)外,面板上都有两个按钮:一个标着向上标记;另一个标着向下标记。上标记;另一个标着向下标记。n底层召唤面板只有一个向上按钮,顶层召唤底层召唤面板只有

14、一个向上按钮,顶层召唤面板只有一个向下按钮。面板只有一个向下按钮。n因此总共有因此总共有78个召唤按钮,个召唤按钮,39个向上按钮,个向上按钮,39个向下按钮。需要乘电梯的乘客按下这些个向下按钮。需要乘电梯的乘客按下这些按钮以召唤一部电梯。按钮以召唤一部电梯。n计算机向面板发送一信号,这些召唤按钮就计算机向面板发送一信号,这些召唤按钮就能够发亮。能够发亮。n当一个乘客按下了一个原先不亮的召唤按钮,当一个乘客按下了一个原先不亮的召唤按钮,面板后的电路就向计算机发送一向量中断面板后的电路就向计算机发送一向量中断(UP 按钮对应一个中断,而按钮对应一个中断,而 DOWN 按钮按钮对应另一个中断)。对

15、应另一个中断)。n计算机接收到这两个中断的任一个后,程序计算机接收到这两个中断的任一个后,程序就去读相应的映射八位输入寄存器的存储,就去读相应的映射八位输入寄存器的存储,该存储中存放的是引起这个中断的召唤按钮该存储中存放的是引起这个中断的召唤按钮所对应的楼层号。自然,面板后的电路在产所对应的楼层号。自然,面板后的电路在产生向量中断时,需要将楼层号写入相应的映生向量中断时,需要将楼层号写入相应的映射输入寄存器的存储中。射输入寄存器的存储中。n电梯马达控制(上、下、停):对于每个电电梯马达控制(上、下、停):对于每个电梯马达都有一个存储转换的控制字。控制字梯马达都有一个存储转换的控制字。控制字的第零个二进制位命令电梯上升;第一个

温馨提示

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

最新文档

评论

0/150

提交评论