面向对象软件开发事例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、 看书看书 实验实验 吃饭吃饭 睡觉睡觉 学生学生 属性属性 姓名姓名 性别性别 籍贯籍贯 专业专业 出生年月出生年月 住址住址 服务服务 看书看书 实验实验 吃饭吃饭 睡觉睡觉 起重车起重车 类类 汽车类汽车类 拖拉机类拖拉机类 三角形类三角形类 四边形类四边形类 六边形六边形 退休者退休者教师教师 退休教师退休教师 多边形多边形 矩形矩形 多边形多边形三角形三角形 类与对类与对 象层象层 服务层服务层 结构层结构层 主题层主题层 主题主题 服务服务 消息消息 属性属性 实例连接实例连接 类边界类边界 实例边界实例边界 爱丽丝 属性 服务 订阅标识订阅标识 订阅状态订阅状态 有关细节有关细节

6、 订户标识订户标识 收件人标识收件人标识 邮局标识邮局标识 价格标识价格标识 付款标识付款标识 属性 订户订户 服务 1 1 订户标识订户标识 订户信息订户信息 地址标识地址标识 属性 服务 确认订阅请求 订阅请求 录入订款信息 录入赠阅信息 报告订户 终止订阅 续订 属性 订户订户 服务 录入订户 录入地址 报告地址 泛化类泛化类 特化类特化类 1,m1 1 1 11 (OOD) 电梯控制系统电梯控制系统 事例学习系统描述事例学习系统描述 n总的需求是设计和实现一个能对一座总的需求是设计和实现一个能对一座40层楼的层楼的 建筑物内的建筑物内的 4 部电梯进行调度和控制的程序。部电梯进行调度和

7、控制的程序。 n这个程序应能有效地,并合理地对电梯进行调这个程序应能有效地,并合理地对电梯进行调 度。比如说,有人在第度。比如说,有人在第 4 层楼召唤电梯,按下层楼召唤电梯,按下 向下的按钮,那么下行的将要经过第向下的按钮,那么下行的将要经过第 4 层楼的层楼的 一部电梯就应在第一部电梯就应在第 4 层楼停下来,让这个乘客层楼停下来,让这个乘客 进入电梯。进入电梯。 n另一种情况是:如果一部电梯没有乘客,它就另一种情况是:如果一部电梯没有乘客,它就 应当停在其最后一次完成的目的地请求的楼层,应当停在其最后一次完成的目的地请求的楼层, 直到被召唤。直到被召唤。 n一部电梯不应中途改变其运行方向

8、,除非在现一部电梯不应中途改变其运行方向,除非在现 行方向上的乘客都到了其目的地。行方向上的乘客都到了其目的地。 n如果一部电梯中的乘客数已达到了电梯的容量,如果一部电梯中的乘客数已达到了电梯的容量, 那么这部电梯就不应再响应任何新的召唤请求。那么这部电梯就不应再响应任何新的召唤请求。 n每部电梯都有一个超重传感器,计算机和程序每部电梯都有一个超重传感器,计算机和程序 能够对这些传感器进行询问能够对这些传感器进行询问。 n目的地按钮:每部电梯配有一个面板,上面有目的地按钮:每部电梯配有一个面板,上面有 一列一列40个按钮,每个按钮代表一个楼层,并标个按钮,每个按钮代表一个楼层,并标 有楼层号(

9、有楼层号(1到到40)。)。 n从计算机传送到面板上的信号可以使这些目的从计算机传送到面板上的信号可以使这些目的 地按钮亮起来。地按钮亮起来。 n当一个乘客按下原先指示灯不亮的目的地按钮,当一个乘客按下原先指示灯不亮的目的地按钮, 这个面板后面的电路就向计算机发出一个中断这个面板后面的电路就向计算机发出一个中断 信号。信号。 n当计算机接收到这其中的一个信号后,程序就当计算机接收到这其中的一个信号后,程序就 去读相应的八位输入寄存器的存储。去读相应的八位输入寄存器的存储。 n每个中断对应一个寄存器,每个寄存器对应一每个中断对应一个寄存器,每个寄存器对应一 部电梯。寄存器中存放引起这个中断事件的

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

11、楼层号 写入相应的输出寄存器的存储中。写入相应的输出寄存器的存储中。 n按钮指示灯亮就相当于告诉乘客系统已经注意按钮指示灯亮就相当于告诉乘客系统已经注意 到了他的请求,而且当乘客再一次按下该按钮到了他的请求,而且当乘客再一次按下该按钮 (由于急躁?)时就不再产生中断。(由于急躁?)时就不再产生中断。 n当控制器在某一楼层停下电梯时,它就向目的当控制器在某一楼层停下电梯时,它就向目的 地按钮面板发送一信号,熄灭该层的目的地按地按钮面板发送一信号,熄灭该层的目的地按 钮指示灯。钮指示灯。 n楼层传感器:每一部电梯升降井的每一个楼层楼层传感器:每一部电梯升降井的每一个楼层 上都有一个楼层传感器开关。

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

13、每个指示器对应指示某一楼层。这器的面板,每个指示器对应指示某一楼层。这 个面板就在电梯门的正上方。个面板就在电梯门的正上方。 n设置这个面板的目的是要告诉电梯中的乘客这设置这个面板的目的是要告诉电梯中的乘客这 部电梯现在正要到达的楼层的楼层号。部电梯现在正要到达的楼层的楼层号。 n当电梯到达一楼层时程序应让该楼层指示器当电梯到达一楼层时程序应让该楼层指示器 发亮,当电梯离开该层楼或到达另一层楼时,发亮,当电梯离开该层楼或到达另一层楼时, 该指示器应熄灭。该指示器应熄灭。 n这个信号的发送实际就是程序将楼层指示器这个信号的发送实际就是程序将楼层指示器 所对应的楼层号写入相应的输出寄存器(每所对应

14、的楼层号写入相应的输出寄存器(每 个寄存器对应一部电梯)的存储中。个寄存器对应一部电梯)的存储中。 n召唤按钮:建筑物中的每个楼层都有一个带召唤按钮:建筑物中的每个楼层都有一个带 有召唤按钮面板。有召唤按钮面板。 n每层楼,除了底层(第每层楼,除了底层(第1层)和顶层(第层)和顶层(第40 层)外,面板上都有两个按钮:一个标着向层)外,面板上都有两个按钮:一个标着向 上标记;另一个标着向下标记。上标记;另一个标着向下标记。 n底层召唤面板只有一个向上按钮,顶层召唤底层召唤面板只有一个向上按钮,顶层召唤 面板只有一个向下按钮。面板只有一个向下按钮。 n因此总共有因此总共有78个召唤按钮,个召唤按

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

温馨提示

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

评论

0/150

提交评论