




已阅读5页,还剩103页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,主要内容 围绕面向对象技术的基本概念和运行机制,结合应用实例,介绍面向对象的系统开发方法。,10.5 面向对象的系统开发方法,面向对象方法将现实世界中任何事物均视为“对象”。 客观世界看做是由许多不同种类的对象构成的,对象之间的相互作用和相互联系构成完整的客观世界。,10.5 面向对象方法,10.5.1 面向对象方法的基本思想,客观事物是由对象组成 对象是由属性和方法构成 对象之间的联系通过消息传递机制来实现 对象可以按其属性来归类,子类可以通过继承机制获得其父类的特征 对象具有封装性,10.5.2 面向对象的基本概念和特征,1 面向对象 面向对象是一种认识客观世界的世界观,是从结构组织角度模拟客观世界的一种方法,人们在认识和理解现实世界的过程中,普遍运用以下三个构造法则:,4,(1) 区分对象及其属性,如区分车和车的大小; (2) 区分整体对象及其组成部分,如区分车和车轮; (3) 不同对象类的形成及区分,如所有车的类和所有船的类。,2 对象(Object) 对象是对一组信息及其操作的描述。,5,如:一辆汽车是一个对象,它包含了汽车的信息(如颜色、型号、载重量等)及其操作(如启动、刹车等)。 一个窗口是一个对象,它包含了窗口的信息(如大小、颜色、位置等)及其操作(如打开、关闭等)。,10.5.2 面向对象的基本概念和特征,3 属性(Property) 即对象所包含的信息。,6,如:窗口的宽度(form1.width),属性可以在设计对象时确定,也可以在程序运行时读取和修改(如: W=form1.width; form1.width=100)。,10.5.2 面向对象的基本概念和特征,4 方法(Methord) 即对象所应有的各种操作。 如:窗口关闭(form1.close) 这种操作的过程对外是封闭的,即用户只能看到这一方法实施后的结果。这相当于事先已经设计好的各种过程,只需要调用就可以了,用户不必去关心这一过程是如何编写的,事实上,这个过程已经封装在对象中,用户也看不到。 对象的这一特性,即是对象的封装性,7,10.5.2 面向对象的基本概念和特征,5 事件(Event) 即对象在执行某一操作后激发并执行的一个或多个过程。 这些过程对用户是透明的,用户可以为这个过程编写自己的程序代码,以完成特定的操作。 如:窗口对象在执行打开过程时,就会激活一个Active事件(过程),用户可以自己编写这一过程的代码,以便在打开这个窗口时完成一些自己所要求的任务,如打开一个数据库,对某个变量进行初始化等。,8,10.5.2 面向对象的基本概念和特征,6 类(Class)与实例(Instance) 类是具有共同属性、方法、事件的对象的集合。而一个具体的对象则是其对应类的一个实例。 如果对某一个类的定义进行修改,如增加一些属性或修改一些方法,就得到一个新的类,而原先的类就是新类的父类。,9,10.5.2 面向对象的基本概念和特征,6 类(Class)与实例(Instance) 我们在窗口类的定义上,另外定义它还包含两个按钮,一个标题是“确定“,一个标题是“取消“,并且在分别按下这两个按钮后,执行“OK“与“Cancel“两个事件。这样就定义了一个新类,我们可以把它叫做“选择窗口“类,并保存它,这样就可以直接由“选择窗口“生成窗口实例,而不用每次都由“窗口“类产生,然后再添加按钮。,10,10.5.2 面向对象的基本概念和特征,7 继承(Inheritance) 任何一个子类都具有其父类所有的属性、方法、事件。这一特性叫做类的继承。 如果父类的特性发生变化,其子类也相应改变。 继承机制的优点在于:,11,10.5.2 面向对象的基本概念和特征,7 继承(Inheritance) (1) 避免了由于系统内类对象封闭而造成数据和操作冗余的现象。 类与其父类、子类构成的层次关系称为类阶。每个子类都可以继承其父类的状态与行为。同时子类可以有与父类不同的地方,即子类可根据自身特点新增或局部修改父类的行为而加以使用,甚至可以覆盖父类中的定义。利用继承,我们只要在父类原有的基础上修改、增补、删减少量的数据和方法,即可得到子类。,12,10.5.2 面向对象的基本概念和特征,7 继承(Inheritance) (2) 接口的一致性(Consistency of interface),父类衍生子类的其他操作接口也传递给其子类。 (3) 符合软件可重用性,传统的结构化方法中的过程调用,以及由类定义的对象,都是软件重用的典型例子。但它们都比不上继承的层次高。因为通过继承明显使软件开发速度加快,实现较高程度的共享。这是继承最重要的优势。,13,10.5.2 面向对象的基本概念和特征,8 消息(message) 面向对象技术是通过对象间的相互合作来推动的,对象间的这种相互合作需要一个机构协助进行,这样的机构可以称为“消息传递”。 消息传递过程中,由发送消息的对象(SENDER)的使动操作产生输出结果,做为消息(MESSAGE)传送至接受消息的对象(RECEVER),引发接受消息的对象一系列的操作。所传送的消息实质上是接受对象所具有的操作/方法名称,有时还包括相应参数,如下图所示:,14,10.5.2 面向对象的基本概念和特征,8 消息(message) 例如,一个汽车对象具有“行驶“这项操作,那么要让汽车以时速50公里行驶,我们需传递给汽车对象“行驶“及“时速50公里“的消息,以触发这个对象,15,传送消息 (SENDER),接受消息 (RECEIVER),消息,10.5.2 面向对象的基本概念和特征,综上所述,面向对象的整体概念可表示如下: 面向对象数据抽象数据抽象类型继承性,16,10.5.2 面向对象的基本概念和特征,17,面向对象的特征 (1)对象惟一性 每个对象都有自身唯一的标识,通过这种标识可找到相应的对象。在对象的整个生命周期中,它的标识都不改变,不同的对象不能有相同的标识。在对象建立时,由系统授予新对象唯一的对象标识符,它在历史版本管理中有巨大作用。,10.5.2 面向对象的基本概念和特征,18,面向对象的特征 (2)封装性(信息隐蔽) 封装性是保证软件部件具有优良的模块性的基础。封装性是指所有软件部件内部都有明确的范围以及清楚的外部边界。每个软件部件都有友好的界面接口,软件部件的内部实现与外部可访问性分离。 面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。,10.5.2 面向对象的基本概念和特征,19,面向对象的特征 (2) 封装性(信息隐蔽) 对象是封装的最基本单位。在用面向对象的方法解决实际问题时,要创建类的实例,即建立对象,除了应具有的共性外,还应定义仅由该对象所私有的特性。因此,对象封装比类的封装更具体、更细致。 封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。,10.5.2 面向对象的基本概念和特征,20,面向对象的特征 (3)继承性 继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容做为自己的内容,并加入若干新的内容。 继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。,10.5.2 面向对象的基本概念和特征,21,面向对象的特征 (3)继承性 在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。 在类层次中,子类继承了多个父类的数据结构和方法则称为多重继承。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重用性。,10.5.2 面向对象的基本概念和特征,22,面向对象的特征 (3)继承性 采用继承性,提供了类之间规范的结构。对单重继承,可用树型结构来描述;对多重继承,可用网格结构来描述。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。,10.5.2 面向对象的基本概念和特征,23,面向对象的特征 (3)继承性,人,学生,教师,工人,农民,大学生,中学生,小学生,10.5.2 面向对象的基本概念和特征,24,面向对象的特征 (4)多态性(多形性) 多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。 多态性允许每个对象以适合自身的方式去响应共同的消息。这样就增强了操作的透明性、可理解性和可维护性。,10.5.2 面向对象的基本概念和特征,25,面向对象的特征 (4)多态性(多形性) 多态性增强了软件的灵活性和重用性。允许使用更为明确、易懂的方式去建立通用软件。多态性与继承性相结合使软件具有更广泛的重用性和可扩充性。,10.5.2 面向对象的基本概念和特征,26,面向对象的特征 (5)易维护性 面向对象的抽象、封装使对象信息隐藏在局部。当对象进行修改,或对象自身产生错误时,由此带来的影响仅仅局限在对象内部而不会波及其他对象乃至整个系统,这极大的方便了软件设计、构造和运行过程中的检错、修改。,10.5.2 面向对象的基本概念和特征,27,一、面向对象开发方法的内容与过程 首先是面向对象的系统分析(OOA),它的任务是了解问题域内该问题所涉及的对象和对象间的关系,建立问题模型。 其次是面向对象的系统设计(OOD),它的任务是调整、完善和充实由OOA建立的模型。 最后是面向对象的系统实现(OOP),它的任务是用面向对象的语言实现OOD提出的模型。 这与传统的生命周期法相似,但各阶段所解决的问题和采用的描述方法却有极大的区别。,10.5.3 面向对象系统开发方法的过程,28,二、面向对象开发方法各阶段的思路 1、面向对象的系统分析(OOA) 用面向对象方法分析问题域,建立基于对象、消息的业务模型,形成对客观世界和业务本身的正确认识。 生成业务对象的动、静态模型和抽象类。,10.5.3 面向对象系统开发方法的过程,29,1、面向对象的系统分析 面向对象的分析方法运用以下主要原则: 1.构造和分解相结合。构造是指由基本对象组装成复杂对象的过程。分解是对大粒度对象进行细化,从而完成系统模型细化的过程。 2. 抽象与具体相结合。抽象是指强调事务的本质属性而忽略非本质细节。具体则是对必要的细节加以刻画的过程。 3. 封装的原则。封装是指对象的各种独立外部特性与内部实现相分离,从而减少了程序间的相互依赖,有助于提高程序的可重用性。,10.5.3 面向对象系统开发方法的过程,30,1、面向对象的系统分析 4. 继承的原则。继承是指直接获取父类已有的性质和特性,而不必重复定义。 5. 构造问题空间。构造问题空间的常用方法如下: (1) 区分对象及其属性。如区分一棵树和树的大 小和位置。 (2) 区分整体对象及其组成部分。如区分一棵树和树枝,这一构造过程称为构造分类结构。 (3)不同对象类的形成与区分。如所有树的类和所有石头的类的形成与区分。此过程称为组装结构。,10.5.3 面向对象系统开发方法的过程,31,1、面向对象的系统分析(OOA) 面向对象的分析方法包括以下5个方面: 认定对象 认定结构 认定主题 定义属性和实例关联 定义服务和消息关联 由此可见:传统的分析产生一组过程性的文档,其着眼点是将系统看作一组功能。而面向对象的分析文档将问题看作一组相互作用的实体,并确定实体之间的关系。,10.5.3 面向对象系统开发方法的过程,32,2、面向对象的系统设计 针对OOA给出的问题域模型,用面向对象方法设计出软件基础架构(概要设计)和完整的类结构(详细设计),以实现业务功能。 生成对象类的动、静态模型。,10.5.3 面向对象系统开发方法的过程,33,3、面向对象的系统实施 这一阶段主要是将OOD中得到的模型利用程序设计实现。具体操作包括:选择程序设计语言编程、调试、试运行等等。前面两阶段得到的对象及其关系最终都必须由程序语言、数据库等技术实现,但由于在设计阶段对此有所侧重考虑,故系统实现不会受具体语言的制约,因而本阶段占整个开发周期的比重较小。,10.5.3 面向对象系统开发方法的过程,34,3、面向对象的系统实施 建议应尽可能采用面向对象程序设计语言,一方面由于面向对象技术日趋成熟,支持这种技术的语言已成为程序设计语言的主流;另一方面,选用面向对象语言能够更容易、安全和有效地利用面向对象机制,更好地实现OOD阶段所选的模型。,10.5.3 面向对象系统开发方法的过程,35,综上所述:面向对象分析与设计的实质是一种系统建模技术。但对象模型不仅受面向对象程序设计语言的影响,而且与其它许多因素有关。面向对象思想的实质,不是从功能上,或从处理问题的算法上进行系统分析,而是从系统的组织上进行分解。通过对问题的自然分割,利用类及对象作为基本构造单元,以更接近人类的思维方式建立问题域模型,从而使设计出的软件尽可能直接地、准确地描述现实世界,构造出模块化的、可重用的、可维护性好的软件系统。按此思想还可有效地控制软件复杂度,并可降低开发维护费用。,10.5.3 面向对象系统开发方法的过程,36,(一) 面向对象系统分析 主要是根据已有的问题空间的描述,采用面向对象分析方法,为现实应用领域建立相应模型,分析过程得到的模型能明确地刻划出系统的需求,为参与系统开发的人员提供交流基础,同时也为后续的设计和实现提供基本框架。,10.5.4 面向对象的系统开发实例,37,(一) 面向对象系统分析 1、问题陈述 某物资处入库管理系统主要对产品、零部件/中间件、原材料、辅料及标准件等物资进行管理,物资种类不多,但出入库频率较高,出入量大。库存管理员通过该系统实现物资出入库登记,定期汇总核算、生成报表,不定期查询物资库存等功能。 系统需要维护和提供的信息有:,10.5.4 面向对象的系统开发实例,38,(一) 面向对象系统分析 1、问题陈述 物资信息:物资名称、种类、计量单位、单价等; 出入库信息:出入库时间、物资名称、数量、供货单位、提货单位等; 库存信息:库存物资名称、数量、安全库存点等;,10.5.4 面向对象的系统开发实例,39,(一) 面向对象系统分析 1、问题陈述 汇总核算信息:某时间段内一种物资出入库总数量、总金额等; 库存管理员信息:姓名、使用权限、密码等。,10.5.4 面向对象的系统开发实例,40,(一) 面向对象系统分析 2、识别对象/类 标识对象:将现实应用中的实体与目标系统中的技术概念更加紧密地联系在一起,并构造一个稳定的框架作为应用领域模型的基础。,10.5.4 面向对象的系统开发实例,41,(一) 面向对象系统分析 2、识别对象/类 开发人员定义对象应首先从己得到的问题陈述入手,在此基础上反复对用户业务流程进行调查,研究用户提供的有关系统需求的形式不一的文字资料,查阅与应用领域紧密相关的专业文献,加强同用户进行及时的面对面的交流,研究所有尽可能得到的图示资料,包括系统组成图、高层数据流程图,从而获得对问题空间的深居的较完整的理解,并在此基础上尽量捕捉到与系统潜在对象相关的信息。下面列出有关准则:,10.5.4 面向对象的系统开发实例,42,(一) 面向对象系统分析 2、识别对象/类 (1) 搜寻准则。挖掘系统潜在对象时,要依次考虑以下几类事物: 结构:主要考虑分类和组装两种结构,这不仅能发现对象,还可以明确系统层次关系; 其他系统:是指与本系统相互作用的系统或“外部边界“。这种相互作用包括硬件链接,信息互传或实体相互作用。,10.5.4 面向对象的系统开发实例,43,(一) 面向对象系统分析 2、识别对象/类 设备:指与系统作用的有关设施,有些可能与系统进行数据或控制信息的转换; 需存贮的事件:指问题域中发生的需要保存相关信息的事件,包括时间、地点、人物、原因等因素在内都需系统维护; 人员作用:系统中人员通常分两种:其一是系统直接使用者,亦称用户;其二是系统所处理信息的源。,10.5.4 面向对象的系统开发实例,44,(一) 面向对象系统分析 2、识别对象/类 地点:指系统需考虑的物理地点、办公室或场所; 组织单元:指与系统有关的人所属的地域、部门或机构。 按搜寻准则对系统进行扫描,一旦发现候选对象,就参照判别准则来取舍,并利用检验准则做最终的审查。,10.5.4 面向对象的系统开发实例,45,(一) 面向对象系统分析 2、识别对象/类 (2) 判别准则。当决定模型中是否包含某一对象时,至少要考虑以下四点: 系统是否有必要保存该对象信息,为该对象提供服务 对象的属性至少大于l。利用这条准则过滤掉低层次上的一些对象。,10.5.4 面向对象的系统开发实例,46,(一) 面向对象系统分析 2、识别对象/类 公共属性及服务的确认。若确实是公共属性和服务,则抽象出来用以产生实例;否则需用分类结构进行说明。 基本要求。即在不考虑具体实现系统的计算机技术时,系统必须有的需求。,10.5.4 面向对象的系统开发实例,47,(一) 面向对象系统分析 2、识别对象/类 (3) 检验准则。在经历了对问题空间的搜索找到对象,并对这些对象进行判别后,我们得到一些使用自然语言描述的候选对象,究竟这些候选对多是否符合要求,还要经过严格的检验。,10.5.4 面向对象的系统开发实例,48,(一) 面向对象系统分析 2、识别对象/类 (3) 检验准则。 冗余的属性和服务。若系统在时间、进度、能力三方面的制约下,不必存贮某些属性数据或提供菜类服务,那么就删除这些属性数据及服务对应的对象。,10.5.4 面向对象的系统开发实例,49,(一) 面向对象系统分析 2、识别对象/类 (3) 检验准则。 单个实例对象。对有属性的对象,若单个对象确实反映问题空间中的实体,则其存在是合理的;若系统中还存在另一个有相同属性和服务的对象,则将二者合并;若系统中存在另一个有相似属性和服务的对象,则考虑使用分类结构。,10.5.4 面向对象的系统开发实例,50,(一) 面向对象系统分析 2、识别对象/类 (3) 检验准则。 派生结果。模型中不能有派生结果,但模型中需要保存能够得到派生结果的对象。在确定对象后,需要为对象命名。一个对象名应该能够描述对象的单个实例,它通常是单个名词,或是形容词+名词,并且是能够反映对象主题的标准词汇,还要具有较强的可读性。,10.5.4 面向对象的系统开发实例,51,(一) 面向对象系统分析 2、识别对象/类 直接依据准则列举与问题有关的对象和类是不容易的,还需采用一定的辅助方法,如问题领域中有形事物分析、动态行为分析、主要事件分析等。本例中采用的辅助分析方法是主要事件分析,待制系统的主要事件如下图所示:,10.5.4 面向对象的系统开发实例,52,验收单,待入库物资,管理员,物资入库,核 实,退 回单据物资,入库登记,不符合,入库 流水账,符合,(1),待制系统的主要事件,53,领料单,管理员,发出物资,判断 是否有足够的库存,领料单作废,出库登记,NO,出库 流水账,YES,(2),待制系统的主要事件,54,管理员,日汇总,更改台帐,出库 流水账,3),入库 流水账,入库 累计,出库 累计,库存台帐,待制系统的主要事件,55,管理员,查询,编制查询结果表,4),查询条件,是否有符合条件的记录,查询结果,YES,待制系统的主要事件,56,管理员,汇总,编制报表,5),核算表,汇总表,核算,出入库流水账,汇总结果,核算结果,待制系统的主要事件,57,二、面向对象的系统开发实例 (一) 面向对象系统分析 2、识别对象/类 根据本例的问题陈述,结合三个准则并辅助主要事件分析,可得到待制系统的实体对象如下图所示:,10.5.4 面向对象的系统开发实例,58,出库流水账,入库流水账,验收单,领料单,物 资,汇总表,核算表,台 帐,对象名称,属性,服务,待制系统的实体对象,59,(一) 面向对象系统分析 3、确定对象的属性 定义属性是分析与选择的过程,首先要明确某个属性究竟在描述哪个对象,在保证最大稳定性和模型一致性的基础上,从原子概念的层次上标识属性;若某对象只有一个属性,则将单个属性直接放入相关对象;若存在重复的属性,则考虑新增对象。定义属性主要是用名字和描述性语言说明属性,至于属性的约束则在设计阶段制定。,10.5.4 面向对象的系统开发实例,60,(一) 面向对象系统分析 3、确定对象的属性 对本例中已标识出的10个实体对象,可以分别按上述原则定义属性。以对象“物资”和“领料单”为例,其属性如图所示:,10.5.4 面向对象的系统开发实例,61,物资,服务,实体对象“物资”和“领料单”的属性,属性: 物资名称物资编码物资规格计量单位最高储量最低储量,领料单,服务,属性: 时间 价格 数量 经办人 领料单位,62,(一) 面向对象系统分析 4、确定对象的服务 服务是指对象收到一条消息之后所执行的处理。定义服务的核心就是为每个对象和类定义所需要的行为,下面就是三种常见的行为以及相应标识服务的策略:,10.5.4 面向对象的系统开发实例,63,(一) 面向对象系统分析 4、确定对象的服务 (1) 有直接动因的行为:直接动因 - 状态 - 事件 - 响应。 (2) 进化史上的相似行为:进化史 - 对象生命历程。 (3) 功能相似的行为:功能 - 最基本的服务。,10.5.4 面向对象的系统开发实例,64,(一) 面向对象系统分析 4、确定对象的服务 定义服务还必须解决的问题是确定对象实例之间必要的通讯。定义服务的策略分四步: 标识服务 追加服务 标识消息连接 详细说明服务。,10.5.4 面向对象的系统开发实例,65,(一) 面向对象系统分析 4、确定对象的服务 根据上述方法,可以对本例中已标识出的对象定义服务。以对象“物资”和“领料单”为例,其服务定义如图所示:,10.5.4 面向对象的系统开发实例,66,物资,服务:生产()释放(),实体对象“物资”和“领料单”的服务,属性,领料单,服务:生产()释放(),属性,67,(一) 面向对象系统分析 5、确定对象/类的关系 关系指客观世界中两个事物之间的相互作用和影响。对象之间的关系分为三种: 概括(继承),是类与其衍生体之间的关系; 聚集,是对象间存在的一种整体与部分之间的关系,例如地址,其中可包括省、市名、街道名、门牌号等部分。 消息连接,其实质是一种调用关系。,10.5.4 面向对象的系统开发实例,68,(一) 面向对象系统分析 5、确定对象/类的关系 在分析阶段主要确定对象间的静态关系,对象间的消息连接则放到设计阶段完成,本例中实体对象间的静态关系如下图所示:,10.5.4 面向对象的系统开发实例,69,领料单,验收单,台帐,物资,出库流水账,单据,流水账,报表,实体对象的静态关系,入库流水账,汇总表,核算表,聚集关系,继承关系,70,(一) 面向对象系统分析 系统分析阶段的工作全部结束。最终将所有文档汇集,包括OOA五个层次的系统模型示意图,属性及服务说明书,各种支持表(包括DFD图),可以得到从整体到部分的对系统数据,功能及动态特征的较深入认识。,10.5.4 面向对象的系统开发实例,71,(二) 面向对象系统设计 OOD阶段要解决的问题是如何把OOA阶段确定的对象/类配置起来,以实现系统功能,并建立系统体系结构。具体任务包括以下几个方面:,10.5.4 面向对象的系统开发实例,72,(二) 面向对象系统设计 1、对对象进行增删改,并识别接口对象和控制对象 1)识别接口对象的准则 为用户、主要设备安排接口对象,即中央接口对象。 对于特制的图形用户接口,分别建立接口对象。 对于其他类型设备,可增配接口对象。,10.5.4 面向对象的系统开发实例,73,(二) 面向对象系统设计 1、对对象进行增删改,并识别接口对象和控制对象 1)识别接口对象的准则 接口对象的服务包括:从系统外部获取信息,并为之提供信息。若用户行为发生变化,尤其是最终用户接口有所改变,则接口对象的服务随之而改变 本例中的接口对象如下图所示:,10.5.4 面向对象的系统开发实例,74,屏幕,调用屏幕接受请求,本例中的接口对象,屏幕名称屏幕代码屏幕标题,打印管理,调打印程序接受请求,打印机名称驱动程序名,数据库接口,调用数据库传递操作名,数据库名称数据库路径,管理员,发送信息检测,姓名 口令 权限,75,(二) 面向对象系统设计 1、对对象进行增删改,并识别接口对象和控制对象 2)识别控制对象。能否承担某项功能是控制对象存在的依据。控制对象通常是暂时的,只存在于某一系统事件发生的过程中。在实体对象和接口对象之间,控制对象起缓冲作用。 本例中的控制对象如下图所示:,10.5.4 面向对象的系统开发实例,76,汇总,计算 发送结果接受请求,汇总时间汇总结果,打印,接受打印请求、读取打印格式,打印表名 打印格式,核算,计算 发送结果 接受请求,核算时间 核算结果,登记流水账,选择数据库写入数据,单据类别,更新库存台帐,选择数据库 写入汇总数据,77,(二) 面向对象系统设计 2、确定实体对象、接口对象和控制对象之间的关系完成对象类结构图 1)静态联系。当需要接口对象或控制对象来保持关于它们所往来的实体对象的信息时,用接口或控制对象与实体对象之间的静态联系实现。 本例中部分接口/控制对象的静态联系如下图所示:,10.5.4 面向对象的系统开发实例,78,核算屏,屏幕,出库录入屏,汇总屏,入库录入屏,部分接口/控制对象的静态联系,79,(二) 面向对象系统设计 2、确定实体对象、接口对象和控制对象之间的关系完成对象类结构图 2)消息连接。 各种不同的对象之间存在着消息连接。 本例中部分对象关系图如下图所示:,10.5.4 面向对象的系统开发实例,80,屏幕,流水账,物 资,出库录入屏,单 据,管理员,流水库,生成物资对象,生成单据对象,写流水库,领料单,物资信息,单据信息,出库 流水账,登记 流水账,数据库接口,出库流水账,消息连接,81,(二) 面向对象系统设计 3、系统的体系结构设计 系统的体系结构是一种组织机制,是一张蓝图。利用这种机制把系统分为若干子系统。一般的应用系统由问题域子系统、人机交互子系统、任务管理子系统等部分组成。 系统的体系结构图如下图所示:,10.5.4 面向对象的系统开发实例,82,基础对象子系统,人机交互子系统,MIS,外部系统,问题域子系统,数据管理子系统,外部接口子系统,任务管理子系统,人,83,(二) 面向对象系统设计 3、系统的体系结构设计 问题域子系统设计 人机交互子系统设计 外部接口子系统设计 数据库管理子系统设计 任务管理及基础对象子系统设计,10.5.4 面向对象的系统开发实例,84,(三) 面向对象的系统实施 在系统实施阶段主要进行编码语言的选择、面向对象应用程序框架的构建、面向对象应用程序的编写等,构建出信息系统的应用软件平台。,10.5.4 面向对象的系统开发实例,1. 问题陈述 这里所举的例子是一个车辆注册管理系统。对该问题域的陈述如下: 车主在购入车辆后,执相关有效证件到主管部门,找到具体负责的工作人员进行登记注册,缴纳一定费用,获得相应牌照。注册后,有关车况信息和车主信息要备案。,面向对象的系统分析实例,系统所需维护的信息有: 1)主管部门信息(名称、负责人、地址、电话传真,还有具体工作人员信息(姓名、权限、工作年限) 2)车主信息(姓名、住址、联系电话) 3)登记信息(流水号、车号、所有权、凭据、放弃登记标识及费用) 4)注册发照信息(起始/终止时间、品牌(发动机出厂号,年份,种类,牌号)、标签(年份,品种,号码)、费用) 5)车辆信息(车号、出厂日期、制造商、车型、总重、载容量、内燃机马力、颜色、价格、已行驶里程) 工作人员负责登记发牌照,收取费用。,2. 标识对象,标识结构(类),3.定义属性,4.定义服务,三、面向对象的系统设计,面向对象设计的基本步骤: 1.识别接口对象和控制对象 2.系统
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年数字人民币跨境支付技术挑战与跨境支付效率提升策略
- 货物公司经理管理制度
- 租赁气瓶档案管理制度
- 锅炉钢架吊装方案(3篇)
- 财务风险安全管理制度
- 学生核心素养培养与课堂教学模式探索
- 企业规范税务管理制度
- 企业内部节能管理制度
- 企业外协班组管理制度
- 企业供水设备管理制度
- 档案馆建设标准
- 华中科技大学官方信纸4
- 交通运输企业安全生产隐患排查清单
- DB22∕T 2862-2018 林木种子园营建技术规程
- 【海外华文文学】期末考试复习提纲
- 化工进展稿件编辑、排版体例格式
- 部编版四年级语文下册期末调研测试卷(江苏南京江宁区2021春真卷)
- 外国美术史PPT现实主义
- 手术室医院感染风险评估与采取措施
- 房屋建筑学复习题最新版本
- 浮选柱对有色金属矿泥的浮选
评论
0/150
提交评论