5-信息系统分析与设计方法-OO

合集下载

面向服务的信息系统分析与设计方法

面向服务的信息系统分析与设计方法
Ar h t c u e S c ie t r , OA)是
预 留 空 口 、槽 、 盒 的 尺 - f 位 置 应 正 确 ,抹 灰 面 边 缘 要 整 齐 。 过 湿 的 部 位 将 会 造 成 抹 灰 层 强 度 的 不 足 或 开 裂 。 , H f 4 4 灰 面 层 的接 搓 应 平 整 、光 滑 、洁 净 、颜 色 一 致 , 『阳 .抹 5 月 57施 工 完 毕 的 墙 面 应 该 避 免 磕 碰 及 水 冲 浸 泡 ,并 要 保 证 室 . 内通 风 良 好 。 角方 正光 滑 。
3 1 务 的 概 念 .服 信息系统是 社会 技术 系统 ,影响信 息系统体 系结构的 不 在刚接 触服务 很容易与 对象的概 念相混淆 ,事 实上 ,对象 但 有 技 术 因 素 而 且 有 组 织 管 理 . 制 度 , 社 会 等 因 素 , 系 统 , T 规 模 越 大 ,越 复 杂 ,非 技 术 因素 影 响 越 大 。 w EB S r i e 主要是 面 向 I 的 ,侧 重描述 的是 程序概念 上 的内容 ;而 服务 evC s ( EB 服 务 )技 术 的 出 现 和 发 展 , 改 变 了 企 业 应 用 集 成 的 模 是面 向业 务的。s W OA可 以看作是 企业业务 与 I 之间的一 种契 T 式, 使传统 的静态 集成转变成动态集成 ,为信息系统集成提供 了 约 , 因 此 服 务 总 是 与 业 务 紧 密 联 系 。 此 外 , 对 象 的 粒 度 级 别 主要集 中在 类级 ,这种程 度的抽象级 别对于业 务服务 来说则显 新 的解 决 思路 。
面 向服 务 的 体 系 结 构
f Servi O i 3t Ce r e1 ed
得过 低 。
服务是一 种 为了满足 某项业务需 求的操 作 、规 则等 的逻辑 组合 ,它包含一 系列有序 活动的交互 ,为 实现用 户 目标提供支 持 。 服 务 从 更 广 泛 更 整 体 的 视 觉 角 度 来 对 待 功 能 的 实 现 , 并 使 软件工程 领域 里 的一种 新 型 的 软 件 体 系 结 构 ,其 主 用与实施细 节无关 的标准化接 口来构建 。 构思 良好 的服务将给 业 务 带 来 了 灵 活 性 和 敏 捷 性 ;它 们 通 过 松 散 耦 合 、 封 装 和 信 息 要 思 想 是 通 过 一 种 合 理 的 隐藏 使 重构 更加 容 易 。 软 件体 系结构提 高 代码 模 块 的 可 重 用 性 和 灵活 性 。 S OA 定 义 了 系统 由哪 些 服 务 组 成 ,描 3 2 务 和 业 务 流 程 定 义 .服 述 了 服 务 之 间的 交 互 , 并 将 服 务 映 射 到 一 个或 多 个具 体 技 术 的 必须对每 一个业 务流程进 行认真 的定义和 说 明,要弄 清楚 实 现 。 SOA 对 于 信 息、 统 的 体 系 结 构 的 影 响 极 为 明 显 , 特 别 哪 些 业 务 流 程 可 以 转 化 成 服 务 、 认 真 设 计 及 定 义 服 务 ,并 需 要 系 是 在基 于 W e evc s 术 体 系 下 ,这 种理 念 大 大 的 提 高 了信 区别服 务和组 件 。sOA 系统 架构 中的具体 服务应 该都 是独立 b S r ie 技

系统的结构化分析与设计方法

系统的结构化分析与设计方法

系统的结构化分析与设计⽅法1、结构化⽅法的主要思想:(1)软件是有组织、有结构的逻辑实体,其结构为⾃顶向下的形式(2)软件由程序和数据组成,其结构呈现三层组织形式,即系统、⼦系统、功能模块/数据体(3)软件结构中的各部分既独⽴⼜关联2、结构化⽅法的特点:(1)抽象性:抽象描述系统的本质内容(2)结构化、模块化、层次化:分⽽治之,由分到合(3)分析与设计线索:⾯向过程(处理) – 过程驱动⾯向数据 – 数据驱动3、总体规划:为所规划的软件系统作出⼀个战略的、宏观的、全局的技术⽅案构建宏观结构模型,为后期的分析与设计奠定基础三个⼯作内容:(1)需求调查(2)结构模型建⽴(3)总体规划⽂档撰写4、过程与数据间的关系建⽴ – U/C矩阵(1)过程(处理)对数据的操作可以分为2类: Use – 使⽤,包括Select、Insert、Delete、Update Create – 建⽴,即创建数据(2)U/C 矩阵⼆维矩阵表横向业务 – 过程;纵向 – 主题数据库(3)U/C矩阵的作⽤为⼦系统划分提供帮助5、⼦系统规划:(1)建⽴U/C矩阵(2)整理成“基本U/C矩阵” 在原始的U/C矩阵基础上,反复调换列,使得尽可能多的“C”标记处于矩阵的对⾓线附近(3)⼦系统划分按照“职能域”对U/C矩阵进⾏划分(4)⼦系统定义含业务过程和主题数据库6、⽤传统结构化和oo的观点看待系统的⽐较:1)传统⽅法:系统是处理的集合,处理与数据实体的交互,处理接受输⼊并产⽣输出2)OO⽅法:系统是交互对象的集合,对象与⼈或其他对象交互,对象发送和响应信息7、结构化分析:分析基础:总体规划说明书;分析每个业务过程的详细流程;分析每个主题数据库的数据结构;建⽴分析模型:系统业务流程图、详细的数据流图、数据字典;结构化系统分析结果:系统分析说明书8、系统流程图:对不同计算机程序、⽂件、数据库和相关⼿⼯过程设计的表达;主要从较⾼的层次描述系统的相对独⽴的⼦系统和程序模块;⽤图形化的⽅式描述了对⼦系统的组织;可以表明系统业务类:Batch(批处理) Real time(实时处理)9、10、基于数据流的系统分析 -- 数据流图数据流图:⽤处理、外部实体、数据流以及数据存储来表⽰系统需求的图表DFD的特点:图形元素少且符号简单易懂;较充分表达系统的主要需求:输⼊、输出、处理和数据存储;最终⽤户、管理⼈员和系统开发⼈员只需稍加培训即可读懂DFD图,⽅便交流。

信息系统分析与设计习题与答案

信息系统分析与设计习题与答案

一、单选题1、系统是由相互联系和相互制约的若干部分结合成的、具有特定功能的()。

A.有机整体B.部件C.构件D.结构正确答案:A2、信息系统的物理结构是指系统的硬件、软件、()等资源在空间的分布情况A.服务器B.数据C.文档D.程序正确答案:B3、信息系统物理结构可以分为()和分布式系统两大类。

A.路由式B.分散式C.镜像式D.集中式正确答案:D4、管理信息系统作为集成的人-机系统,面向(中层)管理人员,主要用来解决()决策问题,同时产生各种管理报告,主要采用数据库和网络技术。

A.结构化B.半结构化C.非结构化D.微观正确答案:A5、系统规划的主要任务包括()A. 明确组织的信息需求、制定系统总体结构方案B.对系统进行经济、技术和使用方面的可行性研究C.选择计算机和网络系统的方案D.确定软件系统的模块结构正确答案:A6、系统分析报告的主要作用是( )。

A.系统设计的依据B.系统规划的依据C.系统评价的依据D.系统实施的依据正确答案:A7、系统设计阶段的主要成果是()。

A.用户的分析方案B.系统总体设计方案C.用户的决策方针D.系统设计报告正确答案:D8、不同信息系统项目的开发过程基于生命周期出现了很多变种,下面给出的四种开发模型中,()不属于基于生命周期的开发模型。

A.结构化开发模型B.螺旋开发模型C.原型开发模型D.瀑布开发模型正确答案:A解析:结构化开发模型属于开发技术模型9、不同的开发技术和软件结构形成了不同的软件开发方法。

下面几种方法中,()不属于基于开发技术的系统开发方法。

A.原型开发方法B.面向对象开发方法C.结构化开发方法D.面向服务开发方法正确答案:A10、企业系统规划法的优点在于能保证()独立于企业的组织机构。

A.系统规划B.信息系统C.管理功能D.数据类正确答案:B11、关键成功因素的选择力求精简,通常控制在()个因素以内。

A.3~4B.7~8C.9~10D.5~6正确答案:D12、下列方法中不属于信息系统战略规划的方法的是()。

系统分析与设计

系统分析与设计

22
5
RMO 案例中的事件 p.5-14
與顧客有關的重要外部事件
顧客想要檢查商品能否供貨、顧客下訂單、顧客變 更或取消訂單, 參考圖5-13
事件表格(event table)中與每個事件相關的資訊 :
每個使用案例的型錄資訊 (圖 5-15)
5
涉及部門的其他外部事件
寄送已完成的訂單、行銷部門想要寄送促銷內容給 顧客、商品部門更新型錄
事件分解技術 CRUD 分析技術 (建立, 讀取, 更新, 刪除)
Systems Analysis and Design in a Changing World, 4th Edition
11
Systems Analysis and Design in a Changing World, 4th Edition
10
5
5
在設計階段建立的模型 (圖 5-5)
3. 事件、活動與使用案例
使用案例 (use case)
Use case~activity
系統為回應使用者的要求所執行的活動 「案例」 是參與者使用系統的地方 辨識使用案例的技術 辨識使用者目標
Elementary Business Processes
基本企業流程 (EBP) 層次的目標就是使用案例 (參考圖5-6) EBP – 由一名工作人員、在一個場所執行的一項任務,目的是要回應 某個企業事件。它能夠增加可測量的企業價值,並讓系統與資料維持 一致的狀態
事件的類型
外部事件 (External event)
發生在系統之外 由外部的代理人(e.g.顧客)或參與者所啟動 , 圖5-8 事件命名: 外部代理人+動作名稱 (customer pays)

OO设计

OO设计
——不存在分析与设计之间的鸿沟
3、有不同的侧重点和不同的策略
OOA主要针对问题域,识别有关的对象以及它们之间 的关系,产生一个映射问题域,满足用户需求,独立于 实现的OOA模型。 OOD主要解决与实现有关的问题,基于OOA模型, 针对具体的软、硬件条件(如机器、网络、OS、GUI、 DBMS等)产生一个可实现的OOD模型。
图形用户界面系统 硬件、操作系统及网络 数据管理系统 其他——编程语言、可复用构件库……
按实现条件调整 OOA模型 新增的组成部分, 隔离实现条件
基本思想:
尽可能隔离实现 条件对系统的影 响——提供独立 的接口 对不可隔离的因 素,按实现条件 调整OOA模型
实 现 条 件 实现条件
实 现 条 件155 Nhomakorabea特点:
1. 以面向对象的分析为基础,一般不依赖结构化分析。 2. 与相应的OOA方法共同构成一种OOA&D方法体系。OOA 和OOD采用一致的概念与原则,但属于软件生命周期的 不同阶段,有不同的目标及策略。 3. 较全面地体现面向对象方法的概念与原则。 4. 大多数方法独立于编程语言,通过面向对象的分析 与设计所得到的系统模型可以由不同的编程语言实现 (若设计时不考虑编程语言)。
25
(3)按编程语言调整继承
起因:OOA强调如实地反映问题域,OOD考虑实现问题, 所用语言不支持多继承,甚至不支持继承
多继承模式
狭义菱形
广义菱形
26
把多继承调整为单继承
A B A B
C
C
因为聚合和泛化是不同的概念,这种方法并不是通用的。 在大多数情况下,需要考虑形成多继承的原因,将本来在 特殊类中显式定义的信息离出来,作为部分对象,以原来 的一般类作为整体对象。

信息系统的设计教案

信息系统的设计教案

信息系统的设计教案
首先,教案应该明确学习目标,包括知识、能力和素养的培养。

学生在学习信息系统设计课程时应该掌握的基本概念、原理和方法,以及能够运用所学知识解决实际问题的能力。

其次,教案需要根据课程大纲和教学要求确定教学内容。

信息
系统设计课程通常包括信息系统的概念、结构与功能、需求分析、
系统设计方法与工具、系统实施与维护等内容。

教案应该合理安排
这些内容的教学顺序和深度,确保学生能够系统地掌握相关知识。

教学方法也是教案设计的重要内容之一。

针对信息系统设计课程,可以采用讲授、案例分析、实践操作、课堂讨论等多种教学方法,以促进学生的综合能力培养。

此外,教案还需要考虑教学资源的配置和利用。

包括教材选用、实验室设备、教学软件等方面的安排,以及外部资源的整合利用,
如实习基地、企业合作等。

最后,教案应该明确评估方式和标准。

信息系统设计课程的评
估可以包括考试、作业、项目实践、课堂表现等多种形式,教案需
要设计合理的评估方式,以全面客观地评价学生的学习情况。

综上所述,设计信息系统的教案需要综合考虑学习目标、教学内容、教学方法、教学资源和评估方式等多个方面,以确保教学质量和教学效果。

OO方法——精选推荐

OO方法——精选推荐

OO⽅法OO⽅法(Object-Oriented Method,⾯向对象⽅法,⾯向对象的⽅法)是⼀种把⾯向对象的思想应⽤于软件开发过程中,指导开发活动的系统⽅法,简称OO (Object-Oriented)⽅法,是建⽴在“对象”概念基础上的⽅法学。

对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,⼀个对象类定义了具有相似性质的⼀组对象。

⽽每继承性是对具有层次关系的类的属性和操作进⾏共享的⼀种⽅式。

所谓⾯向对象就是基于对象概念,以对象为中⼼,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

⾯向对象⽅法作为⼀种新型的独具优越性的新⽅法正引起全世界越来越⼴泛的关注和⾼度的重视,它被誉为"研究⾼技术的好⽅法",更是当前计算机界关⼼的重点。

⼗多年来,在对OO⽅法如⽕如荼的研究热潮中,许多专家和学者预⾔:正象70年代结构化⽅法对计算机技术应⽤所产⽣的巨⼤影响和促进那样,90年代OO⽅法会强烈地影响、推动和促进⼀系列⾼技术的发展和多学科的综合。

⼀、⾯向对象⽅法的由来与发展 回顾历史可激励现在,以规划将来。

OO⽅法起源于⾯向对象的编程语⾔(简称为OOPL)。

50年代后期,在⽤FORTRAN语⾔编写⼤型程序时,常出现变量名在程序不同部分发⽣冲突的问题。

鉴于此,ALGOL语⾔的设计者在ALGOL60中采⽤了以"Begin……End"为标识的程序块,使块内变量名是局部的,以避免它们与程序中块外的同名变量相冲突。

这是编程语⾔中⾸次提供封装(保护)的尝试。

此后程序块结构⼴泛⽤于⾼级语⾔如Pascal 、Ada、C之中。

60年代中后期,Simula语⾔在ALGOL基础上研制开发,它将ALGOL的块结构概念向前发展⼀步,提出了对象的概念,并使⽤了类,也⽀持类继承。

70年代,Smalltalk语⾔诞⽣,它取Simula的类为核⼼概念,它的很多内容借鉴于Lisp语⾔。

信息系统开发与管理试题及答案解析【可修改文字】

信息系统开发与管理试题及答案解析【可修改文字】

可编辑修改精选全文完整版信息系统开发与管理试题及答案卷面总分:100分答题时间:120分钟试卷题量:37题一、单选题(共30题,共60分)1.梅特卡夫法则认为网络的价值与结点数的平方成正比,这反映了系统的______的价值。

A.稳定性B..开放性C.层次性D..整体性2.作业层的数据结构通常为()A.结构化B.非结构化C.半结构化D.结构化和半结构化3.客户关系管理系统的英文缩写是()A.ERPB.CRMC.SCMD.DSS4.系统设计阶段的任务是提出新系统的()A.概念模型B.逻辑模型C.物理模型D.理论模型5.IMM5对应于()A.技术支撑级B.战略支持级C..持续改善级D.管理优化级6.C/S模式又称为()A.瘦客户机/胖服务器模式B.胖客户机/瘦服务器模式C.瘦客户机/瘦服务器模式D.胖客户机/胖服务器模式7.数据流图的绘制在______阶段进行。

()A.系统分析B.系统设计C.系统实施D.系统运行8.数据流程图由外部实体、数据处理、数据存储和______组成。

()A.数据流B.数据结构C.文件D.信息9.系统分析阶段形成的文档是()A.系统设计说明书B.系统分析说明书C.系统开发计划书D.程序设计报告10.()的任务是进一步验证软件的有效性,检查软件的功能是否与用户的要求一致。

A.单元测试B.集成测试C.确认测试D.系统测试11.下面哪个选项不属于系统设计阶段的任务?()A.功能模块设计B.数据库设计C.输入设计D.程序设计12.下列软件维护的方式中,工作量最大的是()A.正确性维护B.适应性维护C.完善性维护D.预防性维护13.数据流图中的箭线用以表示()A.控制流B.物质流C.数据流D.事务流14.下列系统转换方式中成本最高的是()A.直接转换B.并行转换C.分段转换D.间接转换15.()要求得到授权的实体在有效的时间内能够访问和使用其所要求的数据。

A.数据机密B.数据完整C.数据可控D.数据可用16.BPR的特点有()A.根本性B.显著改善C.流程D.以上均对17.下列不属于可行性分析的是()A.经济可行性B.技术可行性C.隐见的可行性D.管理上的可行性18.数据字典中,最小的数据组成单位是()A.数据结构B.数据项C.数据流D.数据存储19.系统维护活动是在系统生命周期的哪个阶段()A.系统分析B.系统设计C.系统实施D.系统运行20.DBMS的中文含义是()A.数据管理系统B.数据库系统C.数据库应用系统D.数据库管理系统21.模块结构图中,带实心圆的小箭头表示()A.模块B.调用C.数据信息D.控制信息22.直接调用某模块的模块个数称为此模块的()A.耦合系统B.扇入系数C.扇出系数D.程序行数23.保障系统对外界环境变化的适应能力原则是系统设计的()A.系统性原则B.灵活性原则C.可靠性原则D.经济性原则24.关于信息的定义有多种说法,其中信息理论创始人香农认为()A.信息是构成有定义的一组数据B.信息是用以消除不确定性的东西C.信息是影响人改变决策方案的评价D.信息是经过加工后的数据25.为了实现组织的目标,需要管理过程的各种职能,其中保证计划实现的职能是()A.控制B.协调C.指挥D.组织26.在系统设计阶段,用户界面设计属于()A.逻辑设计和总体设计B.逻辑设计和详细设计C.物理设计和总体设计D.物理设计和详细设计27.从总体说,管理信息系统是由4个部分组成的,这四个部分是()A.信息源、信息处理器、信息用户和信息管理者B.数据库、信息处理器、信息存储器和信息管理者C.数据库、信息处理器、信息用户和信息存储器D.信息源、计算机、数据库和信息管理者28.企业信息系统建设中,下述哪一个是系统建设的基础?()A.网络B.硬件C.软件D.数据29.数据字典建立在______阶段进行的.()A.系统规划B.系统分析C.系统设计D.系统实施30.对于下面列出的任务:Ⅰ.将系统或子系统分解为多个模块Ⅱ.确定模块间传送的数据及其调用关系Ⅲ.评价并改进模块结构的质量Ⅳ.将多个模块合并为一个系统总体设计的主要任务有()A.Ⅰ,Ⅱ和ⅢB.ⅠC.ⅡD.全部二、问答题(共7题,共40分)31.信息是指什么?32.OO方法中的多态性是指什么?33.黑盒测试是指什么?34.信息系统监理是指什么?35.软件的健壮性是指什么?36.简述管理的职能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/1/7 华中农业大学 信息学院 5/103
面向对象程序设计示例
结构化方法不足: 面向过程的设计方法,以算法为核心,把数据和处 理过程作为相互独立的部分。数据代表问题域中的实 体,程序代码用于处理这些数据。
数据和代码分离,总存在错误的数据调用正确的模 块,或正确的数据调用错误的模块的风险。使数据与 代码保持一致,是软件工程师的沉重负担。

-圆心坐标 -半径 -起始角度 -结束角度 -可见性 +读/写圆心坐标() +读/写半径() +读/写可见性() +显示() +隐藏() +读/写起始角度() +读/写结束角度()
8/103
2019/1/7
华中农业大学 信息学院
面向对象的基本概念与特征
• 面向对象的基本概念
面向对象技术的研究近几年来已经得到了很大的发展, 但是,迄今为止,对面向对象技术还没有一个明确的定 义。一般认为在软件开发中使用了对象、类和继承等概 念就是面向对象技术,其涉及领域非常广泛,包括软件 开发时使用的方法学,软件开发实现阶段所使用的语言、 数据库等等。同时,面向对象技术还渗入到人工智能、 操作系统、并行处理等各个研究领域。作为面向对象技 术的核心,对象、类和继承以及其他一些概念的确切含 义如何,是计算机界一直比较关心的话题,但迄今还没 有一个标准的定义。
类的继承关系
“多重继承”。
2019/1/7 华中农业大学 信息学院 20/103
单继承与多继承
2019/1/7
华中农业大学 信息学院
21/103
五、继承性(inheritance) • 子类中方法或属性的定义有下面三种方式:
1. 子类定义新的属性和方法作为对它所继承 的属性和方法的补充。 2. 子类重新实现所继承的一个或多个方法。 3. 子类实现一个或多个其父类声明但没有实 现的方法。
第五章
信息系统分析与设计方法 ——面向对象方法
2019/1/7
华中农业大学 信息学院
1/103
第一节 面向对象的基本概念
一、概述 二、对象(object) 三、类(class) 四、消息(message)与操作方法(method) 五、继承性(inheritance)
六、多态性(polymorphism)
2019/1/7 华中农业大学 信息学院 18/103
四、消息与操作方法(method)
(2)消息的性质 同一对象可接收不同形式的多个消息, 产生不同的响应; 相同形式的消息可以送给不同对象,所 做出的响应可以是截然不同的; 消息的发送可以不考虑具体的接收者, 对象可以响应消息,也可以对消息不予 理会,对消息的响应并不是必须的。
组织机构:有关机构,如公司、部门、小组等;
地点或位置:用做系统环境或问题上下文的场所、 位置,如客户地址、收件人地址等; 操作规程:如操作菜单、某种数据输入过程等。
类的概念:类是在对象之上的抽象,一个类定义
三、类(class)
了一组大体上相同的对象。一个类所包含的操作
方法和属性数据描述了一组对象的共同行为和属
性。
具有相同属性和方法的一组对象的集合 同类对象具有相同的属性和方法 对象是类的具体化,是类的实例。 每一个对象都属于某个类。
对象和类的描述 对象和类一般采用“对象图” 和 “类图” 来描 述。
类名
人 姓 名:字符串 年 龄: 整 型 改换工作 改换地址 文件 几何对象 颜色 位置 移动(delta:矢量) 选择(P:指针型):布尔型 旋转(角度)
类图
属性 运算
文件名 文件大小 最近更新日期
打印

李军:人
对象类的描述
张红兵 张红兵 28 绘图员 人民路8号
对象图
李军 24 程序员 无

2019/1/7
对象的描述
15/103
华中农业大学 信息学院
轿

张经理的轿车
型号:字符串 颜色:字符串 牌照号:字符串 ....
型号=桑塔纳 颜色=红色 牌照号=沪AN2037 ....
用、请求和响应,它就是消息。 对象内部的实现代码受到封装壳的保护,其他对象 不能直接修改本对象所拥有的数据和代码。
2019/1/7
华中农业大学 信息学院
26/103
七、封装性(encapsulation)
(3)协议
协议是一个对象对外服务的说明,它声明这个对
象可以为外界做什么。它是由一个对象能够接受并 且愿意接受的所有信息构成的对外接口。也就是说, 请求对象进行操作的唯一途径就是通过协议中提供 的消息进行的。
(1)消息的定义 面向对象方法学中对消息的定义是:消息就是向对象 发出的服务请求,它应该含有下述信息:提供服务的对 象标识、服务标识、输入信息和回答信息。 消息是对象之间相互请求或相互协作的途径,是要求 某个对象执行其中某个功能。通常,我们把发送消息的 对象称为发送者,接收消息的对象称为接收者。对象间 的联系,只能通过传送消息来进行。对象也只有在收到 消息时,才被激活,被激活后的对象代码将“知道”如 何去操作它的私有数据,去完成所发送的消息要求的功 能。
11/103
二、对象(object)
• 对象的基本概念:问题空间中与系统问题处理相关的 事物的抽象体,它是把事物的属性和对属性数据的操作 方法结合而成的整体。(动物、植物、物体、所有事物 (某次会议))
• 所有有意义的一切事物都是对象。
• 对象的三个特性: 1 、对象的标识:标识是对象的唯一编号,用来与 其他对象相区别。 2、对象的状态:一个对象可以有任意个属性或域, 对象的状态和存储在它的域中的值相对应。静态特征 3 、预定义行为:对象初始时所定义的动作序列。 动态特征。
在多人合作开发的大型软件中,如果负责设计数据 结果的人中途改变了某个数据的设计,而又没有通知 所有有关人员,则会发生很多不该发生的事情。
2019/1/7 华中农业大学 信息学院 6/103
面向对象程序设计示例
面向对象设计: 它模仿人类习惯的解题办法,用对象分解代替功能分
解。每个对象既有自己的数据,又有处理这些数据的
对象的分类(以下都可以看成对象)
外部实体:与系统交换信息的外部设备、相关子系 统、操作员或用户等;
信息结构:问题论域中的概念实体,如信号、报表、 显示信息等; 需要记忆的事件:系统执行过程中产生并需要记忆 的事件,如单击鼠标,击打键盘等; 角色:与系统交互的人员所扮演的角色,如学生、 教师、会计等;
2019/1/7
华中农业大学 信息学院
22/103
五、继承性(inheritance)
继承机制的特点:
在面向对象系统中,引入继承机制后具有如下特点:
①能清晰体现相关类间的层次结构关系; ②减少代码和数据的重复冗余度,大大增加程序的重 用性; ③通过增强一致性来减少模块间的接口和界面,大大
增加程序的易维护性;

实例对象
2019/1/7
华中农业大学 信息学院
16/103
四、消息与操作方法(method)
• 消息 对象与对象之间不是彼此独立的,它们之间 存在着联系,在面向对象系统中,对象之间 的联系是通过消息(Message)来传递的。
2019/1/7
华中农业大学 信息学院
17/103
四、消息与操作方法(method)
2019/1/7 华中农业大学 信息学院 25/103
七、封装性(encapsulation)
(2)封装的条件 从上面的叙述可以看出,封装应该具有下面几个条件: 具有一个清楚的边界,对象的所有私有数据、内部 程序(成员函数)细节都被固定在这个边界内。
具有一个接口,这个接口描述了对象之间的相互作
2019/1/7
华中农业大学 信息学院
10/103
面向对象的基本概念与特征
• 面向对象方法具有下述四个要点(续):
3.按照子类(或称为派生类)与父类(或 称为基类)的关系,把若干个对象类组成 一个层次结构的系统(也称为类等级)。 4.对象彼此之间仅能通过传递消息互相联 系。
2019/1/7
华中农业大学 信息学院
④是自动传播代码的有力工具; ⑤是在一些比较一般的类的基础上构造、建立和扩充 新类的最有效的手段。
2019/1/7 华中农业大学 信息学院 23/103
六、多态性(polymorphism)
• 多态的概念:
不同的对象收到同一消息可产生多种不同的
结果,即会有多种不同形式。在使用多态时,系 统发出一个通用消息,而实现的细节由收到消息 的对象自行决定。这样,同一消息就可以产生不 同的调用方法。
201装性(encapsulation)
概念的封装和实现的隐蔽: 概念的封装和实现的隐蔽,使得类具有更大 的独立性。 在任一时刻都可以在类的界面上增加新的操
作,并能够修改实现,以改进性能,或引入
原来设计中没有的新服务。 为便于类的调整,应尽量做到定义与实现分 离。对一个类的共有界面的实现所做的多次 修改不应影响利用它的那些类。
2019/1/7 华中农业大学 信息学院 19/103
五、继承性(inheritance)
继承性是类层次结构中的 一个重要特点,是超类和
子类之间共享数据和操作
方法的机制。 图所示为超类 A和它的子类 B 之间的继承关系。类 A 得 到继承,叫做“单重继
承”。如果一个子类有两
个以上的父类,则称为
七、封装性(encapsulation)
八、对象接口(Interface)
2019/1/7 华中农业大学 信息学院 2/103
一、概述 面向对象的历史 1960-70年代 COBOL,FORTRAN,C 结构化分析和设计技术 1980-1990年前 SmallTalk,Ada,C++,VB, 早期面向对象生成(代码)方法 1990年中晚期 Java UML
相关文档
最新文档