1、第5章(2) 面向对象的系统开发方法 与Access 数据库,内容提要: 1 面向对象的基本概念及特征 2 面向对象的系统开发方法的原理 3 开发举例 4 Access 数据库使用介绍,1面向对象的基本概念及特征,面向对象(Object Oriented, OO)方法,简称OO方法。 面向对象是一种解决问题的思维方法。它将观察焦点放在构成客观世界的成分上,这种成分即对象。将对象作为需求分析和系统设计的核心或主体把问题域中有意义的实体作为对象,将对象间有意义的相互作用作为通信把整个问题域抽象成为相互通信着的一组对象集合,将相似或相近的一组对象聚合为类。 这种方法描述的现实世界模型贴切、合理,更符
2、合人们认识世界的方法,1.1 面向对象的基本概念,1) 对象 把系统设计成由一些不可变的部分组成的最小集合,这些不变的部分就是所谓的对象。 对象即可以是具体的物理实体的抽象,也可以是人为的概念,或者是任何有明确边界和意义的东西。(如一名职工、一家公司贷款、借款等),对象是一个封闭体 构成: 数据+操作 数据:用来描述对象属性的存储或数据结构 操作:对象的行为(一类是对象自身承受的操作,另一类是施加于其它对象的操作)(看罗斯文案例),2) 类:是对有相同属性和行为的一个或多个对象的描述 实际上类是建立对象时使用的“样板”,按照这个样板所建立的一个个具体的对象就是类的实际例子。 类具有明显的层次性
3、。,3)属性:对象固有的特征。不同的对象具有不同的属性 4)事件与方法 事件:由对象发出且能够为某些对象感受到的行动。 方法:一个对象响应某一事件的一个操作序列。3) 消息:是向对象发出的服务请求。 消息是对象之间进行通信的数据结构,对象之间通过传递消息进行联系。 4) 方法: 就是对象所能执行的操作,也就是类中所定义的服务.,1.2 面向对象方法的特点 1) 抽象性 对复杂世界的简明表示是一种抽象。面向对象方法用对象表达一切事物,因而对象具有极强的抽象表达能力 2) 封装性 封装是面向对象方法的一个重要原则。所谓封装就是把对象的属性和行为相结合构成一个独立的基本单位并尽可能地隐蔽对象的内部细
4、节。,1) 继承性 继承体现了面向对象方法的共享机制。 有了继承关系,子类继承父类的属性和功能,从而可以有效地控制问题的复杂程度。 继承简化了对象、对象类的定义和创建。 2) 多态性 多态又叫多形。指相同的操作(或函数,或过程)可作用于多种类型的对象并获得不同的结果。 3) 易维护性,2 面向对象的系统开发方法的原理,2.1 面向对象分析(Object Oriented Analysis, OOA)方法 该过程的为: 对系统调查和需求分析 分析问题的性质和求解问题,其中:数据抽象是OOA的核心 分析步骤: 确定对象和类 确定结构 定义属性 确定方法,OOA要求把问题空间分解成一些类或对象,找出
5、这些对象的特点,以及对象间的关系,并由此产生一个规格说明。 在面向对象的建模技术中,类、对象和它们之间的关系是最基本的建模元素。对于一个希望描述的系统来说其类模型、对象模型和它们之间的关系揭示了系统的本质结构。建立类模型的过程,实际上是对客观现实的一个抽象过程。通过分类,可以有效地使问题简单化以便发现复杂问题的内在规律,从而帮助人们更深刻地理解问题的本质。 在使用面向对象程序设计语言来构造软件系统时,这些类和它们之间的关系将最终转换为实际的程序代码。,面向对象系统分析的基本任务:通过对问题领域进行分析,明确问题,识别对象,并根据确定的对象及其关系建立新的系统模型。 例:某单位物资库存管理系统
6、(面向对象的系统分析) 1。问题陈述 物资库存管理系统主要是对产成品、零部件、原材料、辅料及外构件等进行管理,库存管理员可通过该系统实现物资出入库的登记,定期汇总核算、生成报表、不定期检查库存等功能,2。识别对象/类 识别对象通常依据以下准则: (1)搜寻准则:考虑问题域中的结构、设备、事件、人员、地址等多方面的事件,从中挖掘系统潜在的对象。 (2)判别准则:根据系统是否有必要保存该对象的信息,确定模型对象。 (3)检验准则:对得到的候选对象进行严格的检验。看其存在是否是合理的,是否正确刻画问题。) 物资库存管理系统的对象:本题对象/类:物资(产成品、零部件、原材料、辅料、外构件)、验收单、领
7、料单、 出库明细帐、入库明细帐、 汇总帐、仓库、管理员等,3。识别结构-确定对象/类的关系 对象的关系分为: (1)继承:类与其衍生体之间的关系 (2)聚集:对象间存在的一种整体与局部的关系。 (3)消息连接:调用关系。,4. 确定对象的属性 (1)物资属性:物资编号,物资名称、种类、计量单位、单价、超储点、欠储点等 (2)出库明细帐属性:物资出库时间、物资名称、 数量、提货单位等 (3)入库明细帐属性:物资入库时间、物资名称、数量,单价, 供货单位等 (4)领料单属性:物资出库时间、 领料单位 、物资名称、 数量、提货原因、经办人等 (5) 验收单属性: 物资验收时间、物资名称、类型、数量,
8、单价, 供货单位等 (6)库存管理员属性:编号、姓名、使用权限、口令等 (7)仓库属性:仓库编号、仓库名称、容量、所存物资种类、地址等 (8)汇总帐属性:某时间段物资出入库总帐、总金额等,5。确定对象的行为方法 即识别在实际中能影响和改变对象状态属性的操作方法。确定方法的具体内容。可用类似于数据处理流程图和程序流程图的工具来表示。 (1)物资:物资信息的维护,查询。 (2)出库明细帐: 出库明细帐 信息的维护,查询,统计,报表,2.2 面向对象设计(Object Oriented Designs,OOD)该过程为: 1)理问题及对象定义规格的求精过程 该过程主要有两方面的工作: (1)整理分析
9、所确定的对象结构、属性、方法等内容 (2)进行归类整理2)数据模型和数据库设计(确定类及对象属性的内容、消息连接的方式),面向对象的系统设计步骤 1。对实体对象进行增、并、改 2。识别接口对象:接口对象是一种技术性对象,用于连接应用问题/软件和外界系统及用户。接口对象的行为方法主要是从系统外部获取信息,并系统提供信息。 识别接口对象的准则: (1)为用户、主要设备安排接口对象。 若:用户接口屏幕。 (2)对于特制的图形用户接口建立接口对象。 (3)对于其他类型设备建立接口对象。,3。识别控制对象 控制对象:主要是用来协调实体对象和接口对象的活动。控制对象通常是暂时的。只存在于某一事件的发生过程
10、中。在实体对象和接口对象间起到缓冲作用。 判别实体对象与控制对象的规则是:看该对象是否包含属性?是否是永久的? (1)包含属性且是永久的,则为实体对象 (2)不 包含属性且是暂时的,则为控制对象,4.画出对象关系图5。数据模型与数据库设计,例:物资基本信息: 属性 代码 类型 长度 小数 物资编号 BM C 8 物资名称 MC C 20 类别 LB C 4 计量单位 JLDW C 4 单价 DJ N 8 2 超储点 CCD N 6 2 欠储点 QCD N 6 2,2.3 面向对象的系统实施-程序设计 1。程序语言的选择 2。面向对象应用程序框架的构建 3。面向对象的程序编写,3 讲解实例(罗斯文例)4. Access 数据库使用介绍,小结:OO方法的特点及面临的问题 主要特点: 以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换。 OO方法的应用解决了传统结构化开发方法中客观世界描述根据与软件结构的不一致性的问题,缩短了开发周期,是一种很有前途的系统开发方法。, 使用该方法需注意的问题: 1) OO方法需要一定的软件支持才可以应用 2)在大型MIS开发中如果不经过自顶向下的整体规划,同样也会造成系统的不合理,各部分关系失调等问题。 OO方法与前面所学的结构化系统看法方法应是互相支持、依存的不是互相代替的。作业:,