资源信息系统第二章第二节.ppt

上传人:max****ui 文档编号:6755334 上传时间:2020-03-03 格式:PPT 页数:69 大小:3.47MB
返回 下载 相关 举报
资源信息系统第二章第二节.ppt_第1页
第1页 / 共69页
资源信息系统第二章第二节.ppt_第2页
第2页 / 共69页
资源信息系统第二章第二节.ppt_第3页
第3页 / 共69页
点击查看更多>>
资源描述
资源信息系统 第二章资源信息系统的开发方法 ChinaUniversityofGeosciences 目录 ChinaUniversityofGeosciences 本节内容提要 系统开发的系统开发策略与开发计划接收式的开发策略直接式的开发策略迭代式的开发策略实验式的开发策略第二节地矿资源勘查信息系统的开发过程系统开发的基本方法 要求掌握各种方法的基本细想 实施步骤 优缺点和适用范围 1 生命周期法 LifeCycleApproach 2 原型法 PrototypingApproach 3 面向对象法 Object OrientedApproach ChinaUniversityofGeosciences 参考书目 张海潘 软件工程导论 清华大学出版社 1998 邝孔武 王晓敏 信息系统分析与设计 清华大学出版社 1998 黄敬仁 系统分析 清华大学出版社 2002 ChinaUniversityofGeosciences 资源勘查领域的信息管理与处理技术 第二章资源勘查信息系统开发方法第二节资源勘查信息系统的开发方法 ChinaUniversityofGeosciences 一 资源信息系统开发概述 资源信息系统开发的阶段与步骤1 系统战略规划2 项目论证 可行性分析 3 用户需求调查4 系统分析5 系统设计6 系统实现7系统测试8 系统维护和评价 一 资源信息系统开发的阶段与步骤 ChinaUniversityofGeosciences 系统开发要搞清楚5个W即what why who where when 即要做什么 为什么要做 由谁来做 在什么地方做和什么时候做 这里首先讲what 就是说要确定做什么 系统开发的最大错误就是没弄清问题就动手去做 结果在错误的时间 错误的地点做了错误的事 不是前功尽弃 也是得不偿失 因而识别问题是最最重要的事 过去进行数据处理系统的分析时一般提调查信息需求 在今天管理信息系统和网络时代 这已显得不够 只调查现时的或中低层人员的信息需求 往往做出的系统只是手工作业的计算机化 只能减轻中低层管理人员的负荷 对提高效益和效率的作用甚少 当代信息系统的开发 均要首先了解企业目标 现行企业系统的问题 企业的信息战略 然后才是如何用信息技术解决这些问题 要识别的问题首先是管理上的问题 例如企业战略优势下滑 产品滞销 生产周期过长 成本过高 资产短缺 人浮于事 机构臃肿 行政效率低下等 然后才是信息技术问题 例如数据混乱 处理速度慢 设备老化等 识别上述问题以后 还要了解这些需求的确实程度 现代系统开发均是要捕捉未来的信息和信息技术的需求 这些需求多数不是由管理人员直接说出的 而是由系统分析员科学启发以后 激起管理人员的新需求 所以说现代的系统分析已由 满足顾客需求 变到 使顾客满意 满足需求是被动的 使顾客满意则是主动的 系统分析员识别问题要有变革现实的主动性 识别确定程度 要识别信息需求的确定程度和稳定程度 处理方式的确定和稳定程度 以及管理人员思想组织的确定和稳定程度 总之 问题识别的越准越清楚 系统开发成功的概率将会越大 ChinaUniversityofGeosciences 可行性研究 可行性 feasibility 研究是指在当前组织内外的具体条件下 系统开发工作必须具备资源和条件 看其是否满足系统目标的要求 在系统开发过程中进行可行性研究 对于保证资源的合理使用 避免浪费和一些不必要的失败 都是十分重要的 系统开发可行性研究包括如下几方面 1 目标和方案的可行性2 技术方面的可行性3 经济方面的可行性4 社会方面的可行性 ChinaUniversityofGeosciences 1 目标和方案的可行性目标和方案的可行性是指目标是否明确 方案是否切实可行 是否满足组织进一步发展的要求等等 ChinaUniversityofGeosciences 2 技术方面的可行性技术方面的可行性就是根据现有的技术条件 考虑所提出的要求能否达到 如计算机速度 容量等能否达到要求 一般来说 技术方面的可行性包括如下几个方面 1 人员和技术力量的可行性即有多少科技人员 其技术力量和开发能力如何 有没有系统开发的可行性 如果本单位没人 有没有同其它单位合作开发的可能性 2 基础管理的可行性即现有的管理基础 管理技术 统计手段等能否满足新系统开发的要求 3 组织系统开发方案的可行性即合理地组织人 财 物和技术力量并进行实施的技术可行性 4 计算机硬件的可行性包括各种外围设备 通讯设备 计算机设备等的性能是否能满足系统开发的要求 以及这些设备的使用 维护及其充分发挥效益的可行性 5 计算机软件的可行性包括各种软件的功能能否满足系统开发的要求 软件系统是否安全可靠 本单位对使用 掌握这些软件技术的可行性 暂时不能被本单位开发人员掌握的技术 一般应视为不成熟或是没有可行性的技术 6 环境条件以及运行技术方面的可行性 ChinaUniversityofGeosciences 3 经济方面的可行性经济方面的可行性主要是从组织的人力 财力 物力三方面来考查系统开发的可行性 如有多少资源可以利用 有多少资金可以投入 应该建立什么样规模的系统 资金分几批投入时投资效果最好等等 另一个方面就是要研究系统开发后可能带来的经济效益 信息系统的经济效益有两个方面 一是直接效益 二是间接效益 ChinaUniversityofGeosciences 4 社会方面的可行性社会方面的可行性主要是指一些社会的或者人的因素对系统的影响 如由于某些特殊的原因 如体制问题 安全保密问题 制度问题等等 不能向系统提供运行所必须的条件 另外由于信息系统的实施将会给组织各方面带来很多变化 如工作方式的变化 管理模式的变化 以及人的权力 作用 职责 工作范围的变化等 都会对信息系统的开发和开发后的运行造成影响 ChinaUniversityofGeosciences 二 系统开发的原则 系统开发所应遵循的原则一般包括 1 领导参加的原则信息系统的开发是一项庞大的系统工程 它涉及到组织日常管理工作的各个方面 所以领导出面组织力量 协调各方面的关系是开发成功的首要条件 2 优化与创新的原则信息系统的开发不能模拟目的管理模式和处理过程 它必须根据实际情况和科学管理的要求加以优化与创新 3 充分利用信息资源的原则即数据尽可能共享 减少系统的输入输出 对已有的数据 信息作进一步的分析处理 以便充分发挥深层次加工信息和作用 ChinaUniversityofGeosciences 二 系统开发的原则 4 实用和时效的原则即要求从制定系统开发方案到最终的信息系统都必须是实用的 及时的和有效的 5 规范化原则即要求按照标准化 工程化的方法和技术来开发系统 6 发展变化的原则即充分考虑到组织和管理模式可能发生的变化 使得系统具有一定适应环境变化的能力 ChinaUniversityofGeosciences 三 系统开发策略 在进行了上述工作之后 下一步将要考虑的是系统开发策略的选择以及制定出系统的开发计划 系统开发策略目前主要有四种 1 接收式的开发策略2 直接式的开发策略3 迭代式的开发策略4 实验式的开发策略 ChinaUniversityofGeosciences 1 接收式的开发策略 经过调查分析 认为用户对信息需求是正确的 完全的和固定的 现有的信息处理过程和方式也是科学的 这时可采用接收式的开发策略 即根据用户需求和现有状况直接设计编程 过渡到新系统 这种策略主要适用于主系统规模不大 信息和处理过程结构化程度高 用户和开发者又都很有经验的场合 ChinaUniversityofGeosciences 2 直接式的开发策略 是指经调查分析后 即可确定用户需求和处理过程 且以后不会有大的变化 则系统的开发工作就可以按照某一种开发方法的工作流程 如结构化系统开发方法中系统开发生命周期的流程等等 按部就班的走下去 直至最后完成开发任务 这种策略对开发者和用户要求都很高 要求在系统开发之前就完全调查清楚实际问题的所有状况和需求 ChinaUniversityofGeosciences 3 迭代式的开发策略 是指当问题具有一定的复杂性和难度 一时不能完全确定时 就需要进行反复分析 反复设计 随时反馈信息 发现问题 修正开发过程的方法 这种策略一般花费较大 耗时较长 但对用户和开发者的要求较低 ChinaUniversityofGeosciences 4 实验式的开发策略 是指当需求的不确定性很高时 一时无法制定具体的开发计划 则只能用反复试验的方式来做 原型方法就是这种开发策略的典型代表 这种策略一般需要较高级的软件支撑环境 且对大型项目在使用上有一定的局限性 ChinaUniversityofGeosciences 系统开发计划主要是针对已确定的开发策略 选定相应的开发方法 开发计划主要是制定系统开发的工作计划 投资计划 进度计划 资源利用计划 开发计划一般多是根据具体问题 具体情况而定 没有什么统一的模式 在一般情况下 我们常用甘特 Gaut 图来记载和描绘开发计划的时间 进度 投入和工作顺序之间的关系 经改造后的甘特图如下所表示 它的横坐标表示开发阶段 纵坐标表示人员的工作投入 四 系统开发计划 ChinaUniversityofGeosciences Caut图 ChinaUniversityofGeosciences 五 系统开发前的准备工作 搞好系统开发前的准备工作是信息系统开发的前提条件 系统开发前的准备工作一般包括基础准备和人员组织准备两部分 1 基础准备工作资金准备开发软硬件环境准备数据管理准备 做好基础数据管理工作 严格计量程序 量化手段 检测手段和数据统计分析渠道 资料准备 数据 文件 报表的统一化 2 人员组织准备 领导是否参与开发是确保系统开发能否成功的关键因素 建立一支由系统分析员 管理岗位业务人员和信息技术人员组成的研制开发队伍 明确各类人员 系统分析员 企业领导 业务管理人员 程序员 计算机软 硬件维护人员 数据录人员和系统操作员等 的职责 ChinaUniversityofGeosciences 3 资源信息系统的开发方法 资源信息系统的 开发 与 建造 资源信息系统的开发 是指软件开发者根据某一专业 或行业 领域的用户需求 通过对信息系统基础软件 DBS和GIS等 进行再开发 或称为二次开发 从而建立一个具有一定通用性的高功能RIS专用软件的过程和全部工作 软件开发 资源信息系统的建造 是指用户根据本单位资源信息管理和处理的实际需求 选择并利用适宜的专用RIS软件 来具体地建立一个适合于本单位使用的点源信息系统的过程和全部工作 工程实施 ChinaUniversityofGeosciences 资源信息系统的开发是一项复杂的系统工程 必须从系统的观点出发 按照系统发展的客观规律进行作业 从数据库诞生以来的30多年中 人们通过大量的实践 探索和发展了许多指导信息系统开发的理论和方法 如结构化生命周期法 企业系统规划法 战略数据规划法 原型法和面向对象的分析及设计法等 正确的开发策略和方法是提高信息系统开发质量和成功率 降低开发费用的基本保证 3 资源信息系统的开发方法 ChinaUniversityofGeosciences 按照系统的分析要素 可以把开发方法分为三类 面向处理方法 processingoriented 简称PO 面向数据方法 dataoriented 简称DO 面向对象的方法 objectoriented 简称OO 3 1开发方法分类 ChinaUniversityofGeosciences 3 1开发方法分类 从系统工程的角度分为 1 生命周期法 LifeCycleApproach 2 原型法 PrototypingApproach 3 面向对象法 Object OrientedApproach ChinaUniversityofGeosciences 结构化系统开发方法 Structuredsystemdevelopmentmethodologies 亦称SSA D structuredsystemanalysisanddesign 或SADT structuredanalysisanddesigntechnologies 是结构化分析和结构化设计方法的简称 是自上向下结构化方法 工程化的系统开发方法和生命周期方法的结合 该法出现于70年代 是迄今为止开法方法中应用最普遍 最成熟的一种 3 2结构化生命周期法 ChinaUniversityofGeosciences 3 2 1结构化系统开发方法的基本思想 结构化方法的基本思想是把信息系统看成是功能模块的集合 这些功能模块由一定的系统结构相联系 其分析过程是一个自顶而下的功能分解过程 而设计过程是一个自顶向下的功能合成过程 有利于把一个复杂的大系统分解成许多子系统来处理 结构化方法的着眼点在于一个信息系统需要什么样的加工方法和过程 并把数据结构和处理方式截然分开 用过程抽象来应付系统的要求 ChinaUniversityofGeosciences 3 2 2结构化开发方法的特点 1 预先明确用户的要求 根据用户需求来设计系统 用户至上 强调直接为用户服务 要求以用户需求为系统设计的出发点 而不是以设计人员的主观想象为依据 因此 本法将需求调查作为系统分析的前提 并且要求在未明确用户需求之前 不能进行下一阶段的工作 以保证工作质量和以后各阶段开发的正确性 需求的预先定义 使系统开发减少了盲目性 ChinaUniversityofGeosciences 2 自顶向下来设计或规划信息系统结构化生命周期法着眼于全局 从维护系统总体效益的角度来设计或规划系统 保证了系统内数据和信息的完整性 一致性 注意系统内部或子系统之间的有机联系和信息交流 并且努力防止系统内部数据的重复存贮和处理 从而大大地减少了数据的冗余量 保证了系统运行的有效性 3 2 2结构化开发方法的特点 ChinaUniversityofGeosciences 3 严格按阶段进行开发该法将系统开发的生命周期划分为若干个阶段 每个阶段都规定了明确的任务和目标 进而将各个阶段划分为若干项工作和步骤 这种有序的安排 不仅条理清楚 便于计划管理和控制 而且有利于后续工作的展开 基础扎实 不易出现返工现象 3 2 2结构化开发方法的特点 ChinaUniversityofGeosciences 3 2 2结构化开发方法的特点 4 工作文档标准化和规范化该法将系统开发的生命周期划分为若干个阶段 每个阶段都规定了明确的任务和目标 进而将各个阶段划分为若干项工作和步骤 这种有序的安排 不仅条理清楚 便于计划管理和控制 而且有利于后续工作的展开 基础扎实 不易出现返工现象 ChinaUniversityofGeosciences 5 运用系统的分解和综合技术 使复杂的系统简单结构化方法的基本思想是把信息系统看成是由一定的系统结构相联系的功能模块集合 自顶而下地将一个复杂的大系统 分解为一系列相互联系而又相对独立的子系统和模块 使对象简单化 便于建模 设计 开发和实施可以使系统的设计和实施过程 成为一个自下而上的功能合成过程 从而地将子系统及其功能模块综合成完整的系统以体现总体功能 3 2 2结构化开发方法的特点 ChinaUniversityofGeosciences 6 强调阶段成果的审定和检验进行生命周期的阶段划分 目的是尽量使任务单一化和分工明确化 增强系统开发的有序性 并且减少错误的传播 为此 要求加强阶段成果的审定和检验 及时发现并清除系统中的隐患 弥补各阶段工作的不足与过失 根据结构化生命周期法的建模原则 只有得到用户 管理人员和专家认可的阶段成果 才能作为下一阶段工作的依据 3 2 2结构化开发方法的特点 ChinaUniversityofGeosciences 3 2 3 系统开发的生命周期 用结构化系统开发方法开发一个系统 将整个开发过程划分为五个首尾相连接的阶段 一般称之为系统开发的生命周期 lifecycle 一般信息系统的生命周期 ChinaUniversityofGeosciences ChinaUniversityofGeosciences 3 2 4系统开发的过程描述 1 系统开发准备阶段在筹划建立资源信息系统或者现行系统不能适应新形势要求而着手开发新系统之前 用户单位的领导首先应当选派有关人员进行初步调查和论证 然后组成系统开发领导小组 进行宏观得规划 规定开发目标 时间进度并制定初步开发计划 ChinaUniversityofGeosciences 2 系统调查 可行性研究 阶段在这一阶段中 系统分析员采用各种方式 调查用户的业务工作现状和数据现状 搞清系统的界限 组织分工 业务流程 资源及薄弱环节等 并且用一系列相关图表加以表示 在此基础上 进行需求分析 同时结合系统开发的经费来源 社会效益与经济效益 政策因素与法律约束 用户的组织机构和隶属关系等方面进行可行性综合分析 然后与用户协商讨论 提出对系统目标的初步设想和论证 编写并提交可行性报告 ChinaUniversityofGeosciences 3 系统分析阶段所谓系统分析 是指在建立新的信息系统之前或之初 从系统观念出发 应用各种技术方法和手段 对系统的目的 目标 结构 功能和信息工作流程等进行全面而深入的分析和评价 找出存在的问题及其产生的原因 并根据现时的目标需求和所处的环境条件 拟定出系统模型及解决问题的可行性方案 ChinaUniversityofGeosciences 4 系统设计阶段系统设计是信息系统开发的核心 其基本任务是把系统分析阶段提出的逻辑模型变成系统的物理模型 即按照系统分析阶段所确定的的目标和逻辑模型 具体地设计出运行效率高 适应性强 可靠性高且经济实用的系统实施方案和应用软件 系统设计阶段可划分为总体设计和详细设计两个亚阶段 ChinaUniversityofGeosciences 5 系统实现阶段系统实现是把系统的物理模型付诸实际运行的过程 其基本任务是 制定实施计划 组织实施队伍 筹措硬软件及配套设施 重新组织信息流程 修订业务规程 程序编制与调试 系统平台 硬 软件 的安装与调试 信息系统的整体调试 培训上岗人员 整理数据 数据库与数据文件的实际加载 试运行 评价与验收 ChinaUniversityofGeosciences 6 系统维护阶段信息系统不仅具有复杂的结构 而且具有显著的时限性 任何一个企业和单位的业务活动与管理活动总是随着系统的目标 环境及自身条件的变化而不断变化和发展的 为了适应这种变化 一方面 信息系统开发时必须留下发展的余地 另一方面也必须不断地地加以改进和更新 这就需要进行系统维护 ChinaUniversityofGeosciences 3 2 5结构化系统开发方法的优缺点 优点 强调系统开发过程的整体性和全局性 强调在整体优化的前提下来考虑具体的分析设计问题 即自上向下的观点 它强调的另一个观点是严格地区分开发阶段 强调一步一步地严格地进行系统分析和设计 每一步工作都及时地总结 发现问题及时地反馈和纠正 从而避免了开发过程的混乱状态 是一种目前广泛被采用的系统开发方法 ChinaUniversityofGeosciences 最突出缺点是它的起点太低 所使用的工具落后 主要是手工绘制各种各样的分析设计图表 致使系统开发周期过长 带来了一系列的问题 如在这段漫长的开发周期中 原来所了解的情况可能发生较多的变化等 这种方法要求系统开发者在调查中就充分地掌握用户需求 管理状况以及预见可能发生的变化 这不大符合人们循序渐进地认识事物的规律性 这样的系统一旦完成 往往不能要求做很大的变动 因此在实际工作中实施有一定的困难 适用性 适用于大型 管理模型相对确定的系统 ChinaUniversityofGeosciences 原型方法 是80年代随着计算机软件技术的发展 特别是在关系数据库系统 RDBS relationaldatabasesystem 第4代程序生成语言 4GL 4thgenerationlanguage 和各种系统开发生成环境产生的基础之上 提出的一种从设计思想 工具 手段都全新的系统开发方法 与前面介绍的结构化方法相比 它扬弃了那种一步步周密细致地调查分析 然后逐步整理出文字档案 最后才能让用户看到结果的繁琐作法 原型法一开始就凭借着系统开发人员对用户要求的理解 在强有力的软件环境支持下 给出一个实实在在的系统原型 然后与用户反复协商修改 最终形成实际系统 3 3原型方法 ChinaUniversityofGeosciences 首先用户提出开发要求 开发人员识别和归纳用户要求 根据识别 归纳的结果 构造出一个原型 即不完善的一个初步系统 然后开发人员同用户一道评价这个原型 如果根本不行 则回到第三步重新构造原型 如果不满意 则修改原型 直到用户满意为止 满意后就开始系统试运行 进入系统运行和维护阶段 3 3 1原型方法的工作流程 ChinaUniversityofGeosciences 从上述流程来看 原型方法无论从原理到流程都是十分简单的 并无任何高深的理论和技术 但为什么会倍受推崇 在实践中获得了巨大的成功呢 我们认为与结构化方法相比 原型方法具有如下几方面的特点 1 从认识论的角度来看 原型方法更多地遵循了人们认识事物的规律 因而更容易为人们所普遍接受 这主要表现在 人们认识任何事物都不可能一次就完全了解 并把工作做得尽善尽美 认识和学习的过程都是循序渐进的 人们对于事物的描述 往往都是受环境的启发而不断完善的 人们批评指责一个已有的事物 要比空洞地描述自己的设想容易得多 改进一些事物要比创造一些事物容易得多 3 3 2原型法的特点 ChinaUniversityofGeosciences 2 原型方法将模拟的手段引入系统分析的初期阶段 沟通了人们的思想 缩短了用户和系统分析人员之间的距离 解决了结构化方法中最难于解决的一环 这主要表现在 所有问题的讨论都是围绕某一个确定原型而进行的 彼此之间不存在误解和答非所问的可能性 为准确认识问题创造了条件 有了原型后才能启发人们对原来想不起来或不易准确描述的问题有一个比较确切的描述 能够及早地暴露出系统实现后存在的一些问题 促使人们在系统实现之前就加以解决 3 充分利用了最新的软件工具 摆脱了老一套工作方法 容易复用已有得软件成果 使系统开发的时间 费用大大地减少 效率 技术等方面都大大地提高 ChinaUniversityofGeosciences 原型方法有很多长处 有很大的推广价值 但必须指出 它的推广应用必须要有一个强有力的软件支持环境作为背景 没有这个背景它将变得毫无价值 一般认为原型方法所需要的软件支撑环境主要有 一个方便灵活的关系数据库系统 RDBS 一个与RDBS相配套的方便灵活的数据字典 它具有存储所有实体的功能 一套与RDBS相对应的快速查询系统 能支持任意非过程化的 即交互定义方式 组合条件查询 一套高级的软件工具 如4GL或信息系统开发生成环境等等 用以支持结构化程序 并且允许采用交互的方式迅速地进行书写和维护 产生任意程序语言的模块 即原型 一个非过程化的报告或屏幕生成器 允许设计人员详细定义报告或屏幕输出样本 软件的组件 构件 复用件库 原型库 3 3 3软件支持环境 ChinaUniversityofGeosciences 3 3 4快速原型法的优点及缺点 快速原型法采用设假求真的策略 比结构化生命周期法更为明智 其优点主要有 开发周期短 费用相对较少 用户的参与更及时 更直接 更富有建设性 易于改进 因而生命力较强 易学易用 用户培训时间短 快速原型法的缺陷 难以直接面对大系统和复杂系统 开发过程管理困难 如果用户配合不好会拖延开发进程 用户易于将早期所看到原型错当新系统而缺乏信心 软件人员易于用原型取代系统分析 ChinaUniversityofGeosciences 适用性快速原型法比较适合于用户需求不清 管理及业务处理不稳定 需求经常变化 系统规模较小且较为简单 信息可以相对分散处理的系统或单位 可见原型方法是在信息系统研制过程中的一种简单的模拟方法 与最早人们不经分析直接编程时代以及结构化系统开发时代相比 它是人类认识信息系统开发规律道路上的 否定之否定 它站在前者的基础之上 借助于新一代的软件工具 螺旋式地上升到了一个新的更高的起点 它 扬弃 了结构化系统开发方法的某些繁琐细节 继承了其合理的内核 是对结构化开发方法的发展和补充 这种相互补充 相互促进的系统开发方式将会是今后若干年信息系统或软件工程中所使用的主要方法之一 3 3 5快速原型法的适用性 ChinaUniversityofGeosciences 面向对象系统的开发方法是从80年代各种面向对象的程序设计方法 如Smalltalk C 十等 逐步发展而来的 面对对象方法 ObjectOriented 简称OO方法 而是从面向对象的角度为我们认识事物 进而开发系统提供了一种全新的方法 避免功能分解方法只能单纯反映管理功能的结构状态 数据流程模型 dataflowdiagram 简称DFD 只是侧重反映事物的信息特征和流程 信息模拟只能被动地迎合实际问题需要的做法 3 4面向对象的开发方法 ChinaUniversityofGeosciences OO方法认为 客观世界是由各种各样的对象组成的 每种对象都有各自的内部状态和运动规律 不同的对象之间的相互作用和联系就构成了各种不同的系统 当我们设计和实现一个客观系统时 如能在满足需求的条件下 把系统设计成由一些不可变的 相对固定 部分组成的最小集合 这个设计就是最好的 而这些不可变的部分就是所谓的对象 3 4 1OO方法的基本思想 ChinaUniversityofGeosciences 对象是OO方法的主体 对象有以下特征 1 模块性即对象是一个独立存在的实体 从外部可以了解它的功能 但其内部细节是 隐蔽 的 它不受外界干扰 对象之间的相互依赖性很小 因而可以独立地被其它各个系统所选用 2 继承和类比性事物之间都有一定的相互联系 事物在整体结构中都会占有它自身的位置 在对象之间有属性关系的共同性 在OO方法学中称之为继承性 即子模块继承了父模块的属性 通过类比方法抽象出典型对象的过程称之为类比 3 动态连接性即各种对象之间统一 方便 动态的消息传递机制 3 4 1OO方法的基本思想 ChinaUniversityofGeosciences 因此 以对象为主体的OO方法可以解释为 客观事物都是由对象 object 组成的 对象是在原事物基础上抽象的结果 任何复杂的事物都可以通过对象的某种组合结构构成 对象由属性和方法组成 属性 attribute 反映了对象的信息特征 如特点 值 状态等等 而方法 method 则是用来定义改变属性状态的各种操作 对象之间的联系主要是通过传递消息 message 来实现的 而传递的方式是通过消息模式 messagepattern 和方法所定义的操作过程来完成的 对象可按其属性进行归类 class 类有一定的结构 类上可以有超类 superclass 类下可以有子类 subclass 这种对象或类之间的层次结构是靠继承关系维系着的 对象是一个被严格模块化了的实体 称之为封装 encapsulation 这种封装了的对象满足软件工程的一切要求 而且可以直接被面向对象的程序设计语言所接受 ChinaUniversityofGeosciences 按照上述思想 可将用OO方法开发的工作过程分为四个阶段 l 系统调查和需求分析对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究 即先弄清要干什么的问题 2 分析问题的性质和求解问题在繁杂的问题域中抽象地识别出对象以及其行为 结构 属性 方法等 这一阶段一般被称之为面向对象分析 简称为OOA 3 整理问题即对分析的结果作进一步地抽象 归类 整理 并最终以范式的形式将它们确定下来 这一阶段一般被称之为面向对象设计 简称为OOD 4 程序实现即用面向对象的程序设计语言将上一步整理的范式直接映射 即直接用程序语言来取代 为应用程序软件 这一阶段一般被称之为面向对象的程序 简称为OOP 下面我们重点看一下OOA和OOD所包涵的具体内容 因OOP是一个直接映射过程 故不详细介绍 3 4 2OO方法的开发过程 ChinaUniversityofGeosciences 面向对象的分析方法 即OOA方法 在一个系统的开发过程中进行了系统业务调查以后 就可以按照面向对象的思想来分析问题 OOA所说的分析与结构化分析有较大的区别 OOA所强调的是在系统调查资料的基础上 针对OO方法所需要的素材进行的归类分析和整理 而不是对管理业务现状和方法的分析 映射 l 处理复杂问题的原则用OOA方法对所调查结果进行分析处理时 一般依据以下几项原则 抽象 abstraction 封装 encapsulation 继承 inheritance 相关 association 消息通信件 communicationwithmessage 组织方法 methodoforganization 比例 scale 行为范畴 categoriesofbehavior 映射映射 3 4 3OOA方法 ChinaUniversityofGeosciences 第一步 确定对象 object 和类 class 对象即对数据及其处理方式的抽象 它反映了系统保存和处理现实世界中某些事物的信息的能力 类是多个对象的共同属性和方法集合的描述 它包括如何在一个类中建立一个新对象的描述 第二步 确定结构 structure 这里所说的结构是指问题域的复杂性和连接关系 类成员结构反映了泛化一特化关系 整体一部分结构反映整体和局部之间的关系 第三步 确定主题 subject 即确定事物的总体概貌和总体分析模型 第四步 确定属性 attribute 即确定数据元素 可用来描述对象或分类结构的实例 可在图中给出 并在对象的存储中指定 第五步 确定方法 method 即确定在收到消息后必须进行的一些处理方法 方法要在图中定义 并在对象的存储中指定 对于每个对象和结构来说 那些用来增加 修改 删除和选择一个方法本身都是隐含的 虽然它们是要在对象的存储中定义的 但并不在图上给出 而有些则是显示的 如计算费用等 用OOA五个基本步骤 ChinaUniversityofGeosciences 面向对象的设计方法 OOD 是OO方法中一个中间过渡环节 其主要作用是对OOA分析的结果作进一步的规范化整理 以便能够被OOP直接接受 在OOD的设计过程中 要展开的主要有如下几项工作 l 对象定义规格的求精过程对于OOA所抽象出来的对象一 一类以及汇集的分析文档 OOD需要有一个根据设计要求整理和求精的过程 使之更能符合OOP的需要 这个整理和求精过程主要有两个方面 一是要根据面向对象的概念模型整理分析所确定的对象结构 属性 方法等内容 改正错误的内容 删去不必要和重复的内容等 二是进行分类整理 以便于下一步数据库设计和程序处理模块设计的需要 整理的方法主要是进行归类 对类一 一对象 属性 方法和结构 主题进行归类 3 4 4OOD方法 ChinaUniversityofGeosciences 2 数据模型和数据库设计数据模型的设计需要确定类一 一对象属性的内容 消息连接的方式 系统访问 access 数据模型的方法等等 最后每个对象实例的数据都必须落实到面向对象的库结构模型中 3 优化OOD的优化设计过程是从另一个角度对分析结果和处理业务过程的整理归纳 优化包括对象和结构的优化 抽象 集成 对象和结构的模块化表示OOD提供了一种范式 这种范式支持对类和结构的模块化 这种模块符合一般模块化所要求的所有特点 如信息隐蔽性好 内部聚合度 cohesion 强和模块之间耦合度 coupling 弱等 抽象表示对明抽象 abstractionbyspecification 和参数化抽象 abstractionbyparameterization 集成化使得单个构件有机地结合在一起 相互支持 ChinaUniversityofGeosciences OO方法以对象为基础 利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换 这是OO方法最主要的特点和成就 OO方法解决了传统结构化开发方法中客观世界描述工具与软件结构的不一致性问题 缩短了开发周期 解决了从分析和设计到软件模块结构之间多次转换映射的繁杂过程 是一种很有发展前途的系统开发方法 但是同原型方法一样 OO方法需要一定的软件基础支持才可以应用 另外在大型的MIS开发中如果不经自须向下的整体划分 而是一开始就自底向上的采用OO方法开发系统 同样也会造成系统结构不合理 各部分关系失调等等问题 所以00方法和结构化方法目前仍是两种在系统开发领域相互依存的 不可替代的方法 3 4 5 OO方法的特点和面临的问题 ChinaUniversityofGeosciences 目前这些工具技术的发展主要支持的都是在信息系统开发的后几个环节 例如系统实施 系统设计和系统分析中各种流程图的绘制等 这就导致了目前信息系统开发工作中工作量重心的偏移 就国外最新的统计数据来看 在信息系统开发过程中各环节工作量所占的比重如下表所示 4各种开发方法的比较 ChinaUniversityofGeosciences 1 原型方法它是一种基于4GL的快速模拟方法 它通过模拟以及对模拟后原型的不断讨论和修改最终建立系统 要想将这样一种方法应用于一个大型信息系统开发过程中的所有环节是根本不可能的 故它多被用于小型局部系统或处理过程比较简单系统的设计到实现环节 2 面向对象法它是一种围绕对象来进行系统分析和系统设计 然后用面向对象的工具建立系统的 这种方法可以普遍适用于各类信息系统开发 但是它不能涉足系统分析以前的开发环节 4各种开发方法的比较 ChinaUniversityofGeosciences 3 结构化系统开发方法只有结构化系统开发方法是真正能较全面支持整个系统开发过程的方法 其它几种方法尽管有很多优点 但都只能作为结构化系统开发方法在局部开发环节上的补充 暂时都还不能替代其在系统开发过程中的主导地位 尤其是在占目前系统开发工作量最大的系统调查和系统分析这两个重要环节 这里再一次强调所例举的几种方法不是相互独立的 它们经常是可以混合应用的 4 结论一个复杂的资源信息系统的开发需要多种方法的合理混合使用 ChinaUniversityofGeosciences 可以把原型的开发过程作为结构化生命周期法开发过程的需求定义阶段 弥补结构化生命周期法在需求定义阶段存在的或可能产生的困难 一旦需求完全清楚 就可以丢弃各种原型 采用严格的结构化方法进行开发 ChinaUniversityofGeosciences 1 资源信息系统开发的一般步骤 1 项目论证 可行性分析 2 用户需求调查3 系统分析4 系统设计5 系统实现6系统测试7 系统维护和评价 小结 ChinaUniversityofGeosciences 2 资源信息系统开发的一般方法 1 生命周期法 LifeCycleApproach 2 原型法 PrototypingApproach 3 面向对象法 Object OrientedApproach 综合法详细介绍请参阅相关资料 小结 ChinaUniversityofGeosciences TheendThanks
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!