第三章 旅游管理信息系统的开

? 第一节 管理信息系统的生命周期
? 第二节 管理信息系统的开发
? 第三节 管理信息系统的总体规划
? 第四节 结构化生命周期法
? 第五节 原型化方法
? 第六节 面向对象法
第一节 管理信息系统的生命周

? 系统规划阶段
? 系统分析阶段
? 系统设计阶段
? 系统实施阶段
? 系统运行和维护阶段
开发
请求
审查
初步
调查
可行性
研究
审批
详细
调查
逻辑
设计
审查
总体
设计
详细
设计
编程
调试
系统
转换
验收
系统
维护
系统
评价
系统
规划
系统
分析
系统
设计
系统
实施
系统
运行
和维护











1.1系统规划阶段
? 对企业的环境、目标及现行系统的状况进行
初步调查;
? 根据企业目标和发展战略,确定管理信息系
统的发展战略;
? 对建设新系统需求作出分析和预测;
? 研究建设新系统的必要性和可行性;
? 提出拟建系统的被选方案,对这些方案进行
可行性分析并撰写分析报告;
? 可行性分析报告审议通过后将信息同建设方
案及实施计划编写成系统设计任务书。
1.2系统分析阶段
(又称逻辑设计阶段)
? 根据系统设计任务书确定的范围对现行
系统进行详细调查,描述现行系统的业
务流程;
? 指出现行系统局限性和不足,提出新系
统的逻辑模型。
? 编写系统说明书,审查通过后作为下一
阶段工作的依据。
1.3系统设计阶段
(物理设计阶段)
? 根据系统说明书要求,结合实际条件具体设
计实现逻辑模型的技术方案,即设计新系统
的物理模型。
? 该阶段可分为总体设计和详细设计两个阶段。
? 该阶段的技术成果是系统设计说明书,审查
通过后是下一阶段的工作依据。
1.4系统实施阶段
? 根据系统设计说明书要求,购置计算机
等设备,并安装调试;
? 程序的编写和调试;
? 人员培训、数据文件转换;
? 系统调试与转换;
? 这一阶段应写出实施进度报告,系统测
试后要写出系统测试分析报告。
1.5系统运行和维护阶段
? 系统投入运行后,要经常进行维护和评
价,记录系统运行状况;
? 对系统进行必要修改;
? 评价系统的工作质量和工作效益。
各阶段主要成果及审核安排见下图:
第二节 管理信息系统的开发
? 管理信息系统开发的步骤
? 管理信息系统开发的方式
? 管理信息系统开发应具备的基本条件
? 管理信息系统的开发方法综述
2.1管理信息系统开发步骤
? 管理信息系统开发成功的三要素,
1、合理确定系统目标
2、组织系统开发队伍
3、遵循系统工程开发步骤
管理信息系统开发步骤(续)
? 开发步骤:
1、建立开发领导小组
2、建立系统分析组
3、进行 MIS总体规划
4、在总体规划指导下进行具体开发
系统分析、系统设计、系统实施
5、系统运行评价维护
建立系统开发领导小组
组成系统分析组
系统总体规划
系 统 分 析
系 统 设 计
系 统 实 施
系统运行维护


















2.2管理信息系统开发的方式
2.3系统开发应具备的基本条件
? 有一个适宜的开发环境
? 对 MIS有一个正确的认识
? 有一定的科学管理基础
? 有一只稳定的专业技术开发队伍和企业
自己的技术力量(用户、系统管理员、
系统分析员、系统设计员、程序员、数
据员、数据录入员、系统操作员、系统
维护员、数据库管理员等)
2.4系统开发方法综述
? 计算机在 20世纪 50年代开始应用于管理领域
? 60年代出现信息系统发展的第一个高潮,称
为“计算机推销员的时代”
? 70年代公司开始聘请系统分析专家进行调查
研究,信息系统走上了较为顺利发展道路,
称为“系统分析员的年代”
? 早期开发方法的不足:
1、目标含糊
2、通信误解
3、步骤混乱
4、缺乏管理控制
结构化方法的产生
? 结构化方法产生于 20世纪 70年代中期,“结
构化”一词来源于程序设计。
? 1964年,波姆和雅科比尼提出结构化程序设
计理论,认为任何程序都可以用三种基本逻
辑结构来编制,尽量避免用 GO TO语句。这
种方法使程序设计由一种“艺术”成为一种
“技术”,大大提高程序员工作效率,改进
程序质量,增强程序可读性和可修改性。受
结构化程序设计启发,模块化思想被引入到
信息系统设计中,这就是结构化系统设计基
本思想。
程序的基本逻辑结构
动作 A动作 B动作 A动作 B
动作 A 条件 C条件 C
( a)顺序结构 ( b)判断结构 ( c)循环结构
结构化方法的基本思想
? 结构化方法遵循原则:
1、面向用户的观点
2、严格区分工作阶段,每个阶段有明确
的任务和应得的成果
3、按照系统观点,自顶向下地完成系统
的研制工作
4、充分考虑变化的情况
5、工作成果文献化、标准化
结构化方法的局限性
? 开发周期长
? 早期结构化方法注重系统功能,兼顾数
据结构方面不够
? 结构化程度较低的系统,在开发初期难
于锁定功能要求
原型法的基本思想
? 20世纪 80年代初兴起的一种系统开发模
式。其基本思想是在投入大量的人力物
力之前,在限定的时间内用最经济的方
法,开发出一个可实际运行的系统原型,
以便尽早澄清不明确的系统需求。在原
型系统的运行中发现问题,提出修改意
见,技术人员完善原型,使它逐步满足
用户的要求。(借鉴了工程技术中的建
模方法)
面向对象方法
? 是由面向对象程序设计方法 OOP( object
oriented programming)发展起来的。其基本思
想如下:
? 1、客观世界的任何事物都是对象
? 2、对象之间有抽象与具体、群体与个体、整
体与部分等关系,构成对象的网络结构
? 3、对象具有继承性(子对父的继承)
? 4、对象之间可以互送信息
软件开发工具
? 是一个比较新的技术领域,是指在第三代语言
基础上,在软件开发各个阶段帮助开发者提高
工作质量和效率的一类新型软件。
? 它是一种软件
? 它是继高级语言后,软件技术进一步发展的产

? 它的目的是在软件开发过程的不同方面给予人
们不同程度的支持和帮助
软件开发工具类型
? 需求分析工具
? 设计工具
? 编码工具
? 测试工具
? 运行维护工具
? 项目管理工具
实用开发工具
? 可视化编程工具
如 VB( visual basic),Delphi
? 数据库管理系统开发工具及语言
如 Visual Foxpro for Windows; Oracle、
sybase,Informix; PowerBuilder等。
? MIS应用生成工具
如 DBPro、王特 MIS、雅奇 MIS等。
第三节 管理信息系统的总体规

? 总体规划的目的与任务
? 现行系统初步调查
? 新系统目标的确定
? 拟定计算机系统的初步实现方案
? 可行性分析
系统规划是信息系统生命周期的第一阶段,
其主要目标是明确系统整个生命周期内的发
展方向、系统规模和发展计划,是信息系统
建设成功的关键之一,比具体项目的开发更
为重要:
好的系统规划 +好的开发 =优秀的信息系统
好的系统规划 +差的开发 =好的信息系统
差的系统规划 +好的开发 =差的信息系统
差的系统规划 +差的开发 =混乱的信息系统
3.1总体规划的目的
? 总体规划的重要性和目的:
1、总体规划是系统开发成功的基础
2、总体规划是整个系统开发的纲领
3、总体规划是筹措资金的依据
4、总体规划是开发项目确立的依据
5、总体规划是有效开发的前提
3.1总体规划的任务
? 现行系统的初步调查、分析与评价;
? 分析与确定新系统的目标、规模、拟解
决的主要问题、功能结构等;
? 拟定系统的初步实现方案;
? 进行可行性分析;
? 确定应用项目的研制顺序、研制方式;
? 制定新系统开发的初步计划。
3.2现行系统初步调查
调查对象和目的
? 调查对象主要是组织中各主要部门的领
导或业务负责人。
? 调查目的是调查各部门业务概况、管理
流程、主要业务需求及各部门之间的信
息联系、存在的主要问题。
调查内容
? 整个组织机构的概况
? 现行管理信息系统的概况
? 组织机构的对外关系
? 现行管理信息系统在组织机构中的地位
及作用
? 各方人员对现行系统的态度和对新系统
的要求
? 开发新系统的资源情况和约束条件
调查方法和步骤
? 调查计划
? 调查顺序(先自上而下,再自下而上)
? 调查方法(查阅书面文件、实地观察、
座谈、问卷等)
? 调查记录
3.3新系统目标的确定
? 目标的总体战略性
? 目标的多重性
? 目标的依附性
? 目标的长期性
? 目标的适应性
案例:某医院 MIS的目标
? 建立全院计算机网络,实现信息资源共享;
? 建立数据库,集中存储医院管理和病人医疗数
据信息;
? 支持医疗和管理的窗口业务,完成医院各部门
之间的信息传递;
? 支持医疗科研和教学,提供临床诊断和医院管
理的辅助决策支持系统;
? 建立计算机网络和数据库维护机制。
3.4拟定计算机系统的初步实现方案
硬件系统和系统软件的需求分析
? 岗位计算机需求数
? 各岗位计算机的要求
? 各岗位间的数据交换与共享
? 各岗位间的数据通信要求
? 打印机数量
? 其它外部设备
? 服务器或主机的要求
? 系统软件
总体结构初步方案确定
? 确定物理系统的处理结构(有集中式、
分布式、集中 —— 分布式等);
? 确定物理系统的通信结构(近距离多机
结构、中距离局域网、长距离远程网);
? 确定物理系统的设备构成(信息处理设
备和存储设备、人机接口设备、通信设
备),画出物理系统总体结构示意图;
? 确定系统软件。
工作站 工作站 服务器
工作站 工作站
工作站 工作站 工作站
远程工作站
远程工作站
服务器 服务器



HUB HUB HUB


物理系统总体
结构示意图
3.5可行性分析
? 必要性分析
? 可行性分析
技术方面
经济方面
运行方面
可行性报告
1、概述。说明系统的名称、用户和开发者;
2、系统建立的背景、意义;
3、现行系统的概略描述;
4、新系统的目标、模式和主要功能;
5、新系统的初步实现方案( 1个主要方案和几个候选
方案);
6、可行性分析;
7、结论;
8、如果可行性分析结论是可行的,则写出系统开发
计划。
第四节 结构化生命周期法
? 结构化系统开发方法的基本思想
? 结构化系统分析
? 结构化系统设计
? 系统实施
4.1结构化系统开发方法的基本思想
结构化系统开发方法是一种面向功能的生
命周期法,它的主要思想是用系统工程化的观
点,将系统开发看作工程项目,有计划、有步骤、
分阶段、自上而下在结构化和模块化基础上
进行。它将具体开发过程分为结构化分析、
结构化设计和系统实施三个阶段,将系统总
功能分解为多个子系统功能,子系统功能还
可分解为更细的功能,并在功能分析的同时
进行相应的数据分析和分解。因此说它是一
种面向功能的方法,并将功能和数据分析、
分解相结合的一种技术。
4.2结构化系统分析
? 结构化系统分析的任务
? 结构化系统分析工具
? 现行系统详细调查
? 系统化分析
? 新系统逻辑方案的建立
结构化系统分析(新系统逻辑设
计)
? 系统分析又称需求分析或新系统逻辑设
计。 MIS逻辑设计是指在逻辑上(即从信
息处理角度)构造新系统的功能和任务,
解决系统能“做什么”的问题。
? 系统需求主要分为功能需求和信息需求
两部分,系统分析主要就是对这两方面
进行分析。
结构化系统分析的任务
? 结构化系统分析 是从现行系统入手,通
过详细调查研究和用户需求分析,由系
统分析员运用经营管理知识、计算机知
识以及系统分析技术绘制一组描述系统
总体方案的图表,经过与用户反复讨论、
分析和修改后得到用户比较满意的新系
统逻辑模型。
结构化系统分析的任务(续)
? 现行系统的详细调查;
? 现行系统的分析评价;
? 新系统逻辑模型的建立;
? 撰写系统分析说明书
结构化系统分析工具
? 组织机构图
? 业务功能图
? 业务流程图
? 数据流程图
组织机构图
? 组织机构图 是一种简单而又方便的描述
组织机构的方法。在绘制组织机构图的
过程中,逐步了解组织中各部门的职能
及其之间的联系。
例:某工厂组织机构示意图
厂长
工厂管理委员会
厂长工作部 经营部 生产部 后勤部 宣传部











































































业务功能图
? 业务功能图 就是用一个层次化的结构图
来描述系统的功能,上层完成较抽象的功
能,下层完成较具体的功能,
例,某管理信息系统功能结构图
业务流程图
? 对现行系统的业务描述需要用业务流程
图,它表示了各机构的业务处理过程和它
们之间的业务联系,
业务流程图所用符号及含义
处理
数据存储
物或单据
物或信息流
输入或输出
系统的外部环境
收费标准
填写收费
通知单
催交款
通知书
住户
检查违约
记录
费用收取
一览表 统 计
登 记
确 认
汇总表
管理费
管理费
计财

例:物业公司收缴物业管理费的业务流程图
数据流程图
? 数据流程图是用来描述系统中数据的加
工处理过程,
? 用数据流程图描述管理信息系统的逻辑
模型主要有两个特点,
1、抽象性
2、概括性
数据流程图的基本符号
外部实体
? 它是一个 数据源, 它表示数据的输入来
源或输出方向, 它可以表示一个组织如
银行 。 也可以代表一个人如顾客等 。 它
是 处于系统之外 但又和系统密切相关的
部分 。 不同实体标注 S (Source),S1,S2
进行区别 。 一般情况下只在 框内填上名
称 即可,,在存档时要标注简称 。
数据流
? 它表示 数据或信息的流向, 用 F(Flow)表
示, 不同的数据流可用 F1,F2等区别 。
数据流如果经过一个处理后没发生任何
变化可用同一数字注脚表示 。 数据流可
以是一个或多个记录 。 组合项或基本项 。
可以是单箭头或双箭头 。 在 流线上除注
明简称 F字符外, 还要用文字说明数据流
的名称 。 如 F1的名称是, 可供货订单, 。
数据存贮
? 它可以表示一个手工的台帐, 存根, 留
底, 计算机用的 文件或数据库 。 用字符 D
( Deposit)及框内加注名称表示 。 一般只
画一个 不封闭的框, 写上名称 即可 。
数据处理
? 它表示一个处理过程,描述一项功能,用字
母 P( Process)表示。框内填写的名称一定是
一个动词,如 XX处理,建立 XX,计算、提
货、打印、统计等。 每个处理框都必须具有
输入的数据流和输出的数据流 。不能出现只
出不进或只进不出。在图框下部还要注明执
行部门或程序名称。一般情况下标识和执行
部门名称都不需标注,只在方框内加功能描
述即可。
例:学生成绩处理数据流程图
教师
1
登记
成绩
学生成绩 补考日程表 学生档案文件
3
作成绩
报告
2
统计
成绩
5
作补考
通知单
4
查不及
格同学
教务处
学生
数据流程图的分层绘制
? 一个信息系统往往有几十甚至几百个加工块,
不可能集中绘制在一张图纸上,因为图纸将太
庞大复杂。为了控制复杂性,结构化方法遵循
“自顶向下”逐层分解的原则,采用“由外向
里”的方法绘制,这样有控制的逐步增加细节,
实现从抽象到具体的逐步过渡,最终得到一套
分层的数据流程图。
? 绘制分层流程图时应注意加工块编号。








现行系统详细调查
? 内容和方法与初步调查类似,只是更详
细、更具体些。主要是对组织的管理体
制、管理功能、管理业务流程、数据流
程、信息流量等方面进行全面细致地调
查。并用有关图表将有关调查内容进行
描述,以便分析使用。
系统化分析
? 目标与体制分析
? 逻辑功能分析
? 管理业务流程分析
? 数据流程及数据分析
? 子系统划分(或功能 /数据分析)
目标与体制分析
? 目标分析主要是分析现行系统目标是否合理,各
子目标之间关系,将现行系统目标与新系统目标
进行对比研究,新系统目标是否符合实际情况 ;
对新系统目标进行细化。
? 体制分析既对组织的现行管理体制进行分析,
又对现行信息系统运行管理体制进行分析,如
人员配备、组织机构、管理方法等是否合理,
是否会对新系统的实现产生障碍。
逻辑功能分析
? 新系统的功能是建立在现行系统已有功
能的基础上,根据需求加于改进的,这
些功能都侧重于逻辑方面,不考虑具体
实现。
管理业务流程分析
? 原有流程的分析
? 业务流程的优化
? 确定新的业务流程
? 新系统的人机界面
数据流程与数据分析
数据流程分析
? 原有数据流程的分析
? 数据流程的优化
? 确定新的数据流程
? 新系统的人机界面
数据分析
? 主要是对数据的属性、存储、查询、输
入输出等进行分析,为以后的数据库设
计奠定基础。具体分析时先将调查收集
到的数据分为 3类,即输入数据类、输出
数据类、存储数据类。然后对每一类数
据进行 3方面分析,即汇总并检查数据有
无遗漏,检查数据的完整性和一致性,
建立统一的数据字典。
子系统划分
? 把系统划分为子系统可以大大简化工作。
子系统划分后一方面实现了系统逻辑功
能的划分,另一方面确定了数据的分布
情况。
新系统逻辑方案的建立
? 逻辑方案是新系统开发中要采用的管理
模式和信息处理方法。系统分析阶段的
最终成果就是新系统逻辑方案的确定,
它是今后设计和实施的依据。逻辑方案
的内容包括:细化系统目标、新系统的
业务流程、新系统的数据流程、新系统
的逻辑结构及数据资源分布、新系统中
的管理模型。
4.3结构化系统设计
? 系统设计的任务及总原则
? 网络及计算机系统的选择与配置
? 模块功能及 IPO表设计(软件总体结构设计)
? 代码设计
? 输入设计
? 输出设计
? 对话设计
? 数据库设计
系统设计的任务
? 系统设计是在系统分析的基础上,根据系统分
析阶段所提出的新系统逻辑模型,建立新系统
的物理模型,因此也称为物理设计。
? 系统设计即物理设计包括两个方面,一是硬
件系统的设计,二是软件系统的设计。
? 计算机软件系统包括系统软件和应用软件,
应用软件即管理信息系统软件的设计则是整
个系统设计的主要内容。通常分两步,即软
件总体结构设计和具体设计(包括代码、输
入、输出、对话、处理过程、数据库设计
等)。
系统设计的原则
? 系统性
? 可靠性
? 方便性
? 可变性
? 经济性
网络及计算机系统的选择与配

? 网络硬件选择
? 计算机硬件选择
? 软件选择
模块功能及 IPO表设计(软件总体
结构设计)
? 管理信息系统软件总体结构设计的质量直接影
响整个系统质量及一些整体特性(如系统的可
读性、可维护性、可扩充性等)。
? 由功能的上下从属关系构成的图叫做功能结构
图。
? 功能模块是完成某一功能的一个或一组程序,
视具体功能而定。
? 层次化的功能结构图说明了系统的功能结构,
但没有说明每个功能模块的详细情况,可用
IPO图对其补充。
IPO图
代码设计
? 代码设计的原则
? 代码设计的步骤
? 代码的管理
代码设计的原则
? 唯一确定性
? 规范化
? 标准化和可通用化
? 可扩充性
? 可识别性
? 简洁性
代码设计的步骤
? 确定代码化对象
? 分析代码化对象的使用特点
? 确定编码方式
? 编写代码薄
代码管理
? 对代码的添加、修改和删除等需制定统
一的处理办法,否则会造成不良后果。
输入设计
? 输入设计的原则
? 输入设计的内容和步骤
? 输入数据的校验
输入设计的原则
? 输入量尽可能少
? 输入过程应简单方便
? 尽早检查错误
? 减少数据的转存
输入设计的内容和步骤
? 确定输入数据内容
? 确定数据的输入方式
? 设计输入数据的记录格式
输入数据的校验
? 视觉校验
? 重复校验
? 数据类型校验
? 数据界限校验
? 代码校验位校验
输出设计
? 输出设计评价
? 输出设计内容
? 选择输出设备和介质
输出设计评价
? 输出设计是否能为系统使用者提供及时、准确、
全面的信息服务;
? 输出设计是否充分考虑到和利用了各种输出设
备的功能;
? 各种信息的输出是否和原有系统相一致,对于
修改的部分,是否征得使用人员的同意;
? 输出的各种表格或图形是否符合使用者的习惯,
是否便于阅读和理解。
输出内容设计
? 首先确定输出信息使用方面的要求
? 然后确定具体的输出内容。
选择输出设备和介质
? 输出到打印机或硬拷贝;
? 输出到磁介质上保存;
? 屏幕显示。
对话设计
? 对话设计的原则
? 对话方式
对话设计的原则
? 对话要清楚、简单,尽量反映用户的观
点和习惯;
? 对话要适合操作人员的水平,通常应具
备多种操作使用方式;
? 对用户输入的信息及时确认与核对,如
有错误应及时指出,并指导用户修改;
? 对话本身应具有一定的指导用户操作的
能力。
对话方式
? 菜单式(一般菜单、光带式菜单、下拉
式菜单、弹出式菜单、多级重叠式菜单
等)
? 添表式
? 回答式
? 提问式
数据库设计
数据库设计一般分为五个阶段,
? 分析用户需求
? 概念模型设计
? 逻辑模型设计
? 物理结构设计
? 数据库保护方面的设计
分析用户需求
? 分析用户对信息的需求
? 分析用户对数据加工处理的需求
? 分析系统的约束条件
概念模式设计
? 建立概念性数据模型的方法有很多,比较
实用且有力的工具是实体联系法 (entity-
relationship,简称 E-R法 )。首先根据单个
应用的需求,画出能反映每一应用需求
的局部 E-R模型,然后将局部 E-R模型图
合并、消除冗余和可能存在的矛盾,最
后得出系统的总体 E-R模型。
逻辑模式设计
? 逻辑模式设计就是根据用户的需求特点,
选择合适 DBMS,然后根据概念性数据
模型以及所选用 DBMS的特点设计出该
DBMS能够支持的逻辑模式,实现概念
性数据模式向逻辑模式转换。
? 常见的逻辑模式有网状型、层次型和关
系型等,目前应用最广泛的是关系型数
据模型。
物理结构设计
? 物理结构设计就是要确定数据的存储结
构、存取路径、存储介质等,大多由
DBMS完成,只有一部分需要设计人员
确定。
数据库保护方面的设计
? 安全性设计的目的就是为了保护数据库
的安全,以防止不合法的使用。通常的
做法有:规定用户的操作权限、设置用
户名及口令、设置用户指纹、声音及照
片等。
4.4系统实施
? 软件的编制与调试
? 数据的录入与装配
? 工作环境准备
? 人员培训
? 系统实施报告及手册编写
? 系统调试与切换(系统调试分程序调试、联合
调试和系统调试三阶段;系统切换有直接切换、
并行切换和分步切换三种方式。)
好程序的标准
? 能够工作;
? 调试代价低;
? 易于维护;
? 易于修改;
? 设计不复杂;
? 效率高。
第五节 原型化方法
? 基本思想,系统开发人员在获得一组基本
用户需求后,便借助强有力的软件环境支
持,快速地构造一个系统的“原型”。用
户和开发人员面对实在的原型作为讨论
和修改的基础,经过反复评价修改原型,
逐步确定各种需求细节,适应需求的变
化,从而最终开发出用户满意的系统。
原型化方法的开发过程
? 确定用户的基本需求
? 初始原型设计
? 使用评价模型
? 修改原型
确定用户基本需求:
基本需求
系统范围
成本估计
开发初始原型
使用、评价原型
用户满意否? 不满意
满意 满意
修改、增强原型
将原型作为
应用系统
将原型作为
应用系统开发的基础







原型化方法的特点
? 把学习机制引入到系统开发过程中,遵
循人们认识事物的一般规律。
? 利用原型启发用户需求的提出。
? 增加了系统开发人员和用户之间的交流
及用户的参与程度。
? 开发周期短,费用相对少。
原型化方法的使用
? 对支撑软件的要求高(第四代语言)。
? 比较适合规模小、目标易变的开发项目。对于
开发项目规模大或目标比较稳定的系统,仍采
用结构化方法较为合适。
? 对于预先较难定义用户需求的大的开发项目,
可把原型化方法的开发过程作为结构化生命周
期法的一个阶段,即在系统分析阶段,采用原
型化方法定义用户的需求。
系统设计
系统分析
现行系统调查
可行性研究 确定基本需求
开发原型
评价原型
用户满意?
修改原型
满意
不满意
结构化生命周期法与原型化方法的结合
第六节 面向对象法
? 面向对象的基本概念
? 面向对象的特征
? 面向对象法简介
? 面向对象分析
? 面向对象设计
? 面向对象方法的特点
面向对象的基本概念
? 对象
? 类
? 封装
? 继承
? 消息
? 关系
? 多态性
对象
?对象( Object) 是现实世界中具有相同属性,服从
相同规则的一系列事物的抽象 。对象是一束、一块、
一堆聚集在一起的相关信息,以及作用于这些 信息
之上的 函数 。例如,银行帐户 (BankAccount)对象可
能包含了客户号 (customer number),帐户号 (account
number)和当前收支情况,这三条所有银行帐户都需
要的信息。许多编程语言都提供了把相关信息组织
成结构( structure) 和记录 (record)或者其他名称的
方法。但是,对象与它们不同的地方在于:对象除
了包含信息外,还包括了函数或行为。例如对象
BankAccount包括函数 Deposit(),Withdraw()和
GetBalance()。
对象的示例
类 (class)
? 类 (Class)是相类似的对象的抽象, 即具有一致
数据结构和行为 ( 函数 ) 的对象抽象成类 。 对
象是类的具体化, 是类的实例 ( instance) 。 如
任何一家银行都有许多帐户:你的, 我的以及
成千上万其他人的 。 这些帐户都有许多基本的
共性:都有帐户余额和客户号, 以及帐户所允
许的某种交易 。 在银行业的应用程序中, 可能
有几百个银行帐户对象, 每一个对象都是
BankAccount类的实例 。 如小汽车, 公共汽车,
卡车, 有轨电车, 客车都可以归为一类 — 汽车 。
封装 (Encapsulation)
? Encapsulation是指面向对象的方法它将
数据和操作封装 在一起,减少接口信息,
使对象尽可能少地向外界暴露其内部工
作情况,同时也尽可能地将外界与内部
隔离,减少外界对对象的干扰。
继承性 ( Inheritance)
? 继承性 ( Inheritance) 是指子类从父类那里继
承其数据和操作的特性, 是一种共享机制 。
? 例如,有一个学生对象类,包含属性:学号、
姓名、院系、专业、年级。包含操作:注册、
年级变更、退学等。现要定义研究生对象类时,
只要研究生类是学生类的子类,那么研究生类
就继承了学生类的属性和操作,并可加入新属
性:学位、导师、性质等;新操作:导师变更、
学位变更等,作为研究生自己的属性和操作。
消息( message)
? message是对象间进行通信的一种构造 。 对象
之间的交流或通信是通过互相发送消息来进行
的, 这样对象之间并不直接发生作用 。 当发送
消息的对象的使动操作产生输出结果时, 一个
消息就被发送, 这个消息包含着要求接收对象
去执行某些活动的信息, 通常是接受对象所具
有的方法名称, 接收到消息的对象经过解释,
会产生一系列操作给以响应 。 这种通信机制叫
消息传递 。
关系 (relationship)
? 一个问题域中会出现多个对象,它们相互之间不
是孤立的,而是存在某种关系 (relationship).关系
方式有以下几种类型,
? 一般 -特殊关系,表达对象层次关系,或称继承关
系 ;
? 整体 -部分关系,表达对象的组成结构关系,
? 实例连接关系,表达对象与对象的静态联系,
? 消息连接关系,表达对象与对象的动态联系,
多态性 (polymorphism)
? 多态性 (polymorphism)又叫多形性,指相同
的操作可作用于多种类型的对象并获得
不同的结构
面向对象法简介
? OOT(object- oriented technology)
? 面向对象( object- oriented)的概念早在
60年代就已出现
? 80年代才在程序设计语言领域中走向成
熟,得到推广
? 90年代面向对象分析和设计方法出现了
许多代表作,比较流行的面向对象的编程
语言有 VB,VC
面向对象分析
? 面向对象分析是用面向对象的方法进行
系统分析,解决系统分析所要解决的问题,
具体说,面向对象的分析是分析问题空间
内所涉及的对象、对象间的相互关系和
作用等。它的表示方法和策略是围绕对
象进行的,由于对象的稳定性,使得此
方法可灵活适应需求的变化而保持分析
结果相对稳定,同时使得人员的交流和
复用从前的结果变得简单易行。
分析对象的三个概念层次
? 信息对象
? I/O对象
? 内部对象
信息对象
? 信息对象是现实世界中客观存在的事物
和联系,是管理信息系统中特有的对象;
? 信息对象的可见人员是最终用户和系统
分析员。
I/O对象
? I/O对象是管理信息系统的重要组成部分,
它们是用户和管理信息系统的接口部分,
它的实现好坏直接关系到整个系统的可
用性、友好性和高效性等。
? I/O对象的可见人员是最终用户和系统分
析及设计员。
内部对象
? 内部对象是指软件实现中要用到的一些
数据结构;
? 内部对象的可见人员是系统设计员和程
序员,它隐藏在实现的内部。
面向对象设计
? 面向对象的设计是将分析的结果映射到
某种实现工具的结构上,增添计算机实
现细节。
面向对象方法的特点
? 突破了传统方法将数据与操作分离的模式,将数据
与有关的操作封装在一起成为一个对象,即在对象
中既有数据又有操作;
? 系统分析与系统设计之间过渡平滑,均以对象为基
础,提供了一种无缝连接的手段;
? 由于系统面向对象,使得最终形成的对象模型和现
实世界非常接近,符合人们认识世界的思维习惯;
? 以相对稳定的对象构成系统,便于开发标准软件模
块,缩短了软件开发时间;
? 面向对象软件系统很容易增删软件对象而不影响原
来结构,增强了系统应变能力,延长了系统生命周
期。
面向对象方法的不足
? 面向对象分析阶段对系统分析员要求更
高,前期工作量更为艰巨;
? 最终用户直接参与更为困难,采用面向
功能或面向数据的方法反而更为直接;
? 从系统分析到系统设计再到系统实现的
平滑过渡过程使得系统开发阶段性不明
显,对系统开发的质量控制较困难。