1、系统开发生命周期系统开发生命周期方方 法法 学学技技 术术开发环境开发环境/工具工具中央数据库中央数据库图:开发方法结构体系图:开发方法结构体系面向过程方法面向过程方法面向数据方法面向数据方法面向对象方法面向对象方法结构化方法结构化方法原型法原型法 可视化技术可视化技术 CASE 软件复用技术等软件复用技术等 软件开发环境软件开发环境 CASE 程序支持环境程序支持环境2系统开发的概念框架系统开发的概念框架 MIS开发涉及的知识面广、部门多,不仅涉及技术,而且开发涉及的知识面广、部门多,不仅涉及技术,而且涉及管理业务、组织和行为。涉及管理业务、组织和行为。 用户缺乏如何比较规范的运作的知识。用
2、户缺乏如何比较规范的运作的知识。 MIS的开发存在着一些失败的教训。的开发存在着一些失败的教训。问题出在哪里?问题出在哪里?项目没有被很好地理解;计划不周,最终导致进度拖延。项目没有被很好地理解;计划不周,最终导致进度拖延。没有充分的文档资料。没有充分的文档资料。软件可靠性缺少度量的标准,质量无法保证。软件可靠性缺少度量的标准,质量无法保证。软件难以维护,不易升级。软件难以维护,不易升级。3从大量案例中,我们应借鉴些什么?从大量案例中,我们应借鉴些什么?关键成功因素:确定了战略目标,找出了瓶颈问题。关键成功因素:确定了战略目标,找出了瓶颈问题。成功经验:成功经验: 最终用户和高层领导的参与。最
3、终用户和高层领导的参与。 战略上重视。战略上重视。 充分认识充分认识IS开发的困难和风险。开发的困难和风险。 制订合理的开发目标、步骤。制订合理的开发目标、步骤。 充分认识到组织和管理模式可能发生的变化,使得系统具充分认识到组织和管理模式可能发生的变化,使得系统具有一定的适应环境变化的能力。有一定的适应环境变化的能力。 重视咨询,外部监管。重视咨询,外部监管。 培养自己的系统分析和系统开发人员。培养自己的系统分析和系统开发人员。4MIS开发与集成不成功的原因开发与集成不成功的原因 对对MIS的认识有偏差。的认识有偏差。 缺乏总体规划。缺乏总体规划。 目标不合理。目标不合理。 没有一个完善的管理
4、基础工作。没有一个完善的管理基础工作。 缺乏管理人员的重视。缺乏管理人员的重视。 系统开发方法落后。系统开发方法落后。 MIS过分迁就原手工系统的做法。过分迁就原手工系统的做法。 系统开发者的素质和水平。系统开发者的素质和水平。 对对MIS的开发的艰巨性缺乏充分的认识。的开发的艰巨性缺乏充分的认识。 人才的培养与爱护。人才的培养与爱护。52.1 结构化生命周期法结构化生命周期法2.1.1 传统的开发方法(生命周期法)传统的开发方法(生命周期法)Analysis Design Implementation Maintenance & EvaluationOld MISInvestigationN
5、ew MISNew SLCNewer SLC2 Methods of the MIS图图2-1 系统生命周期示意图系统生命周期示意图Investigation 62.1.1 传统的开发方法(生命周期法)(续)传统的开发方法(生命周期法)(续)传统开发方法的局限性:传统开发方法的局限性: 关注软硬件费用、功能而不重视用户需求。关注软硬件费用、功能而不重视用户需求。 急于闭门编程而不强调调查研究。急于闭门编程而不强调调查研究。2 Methods of the MIS72.1.2 结构化生命周期法结构化生命周期法图图2-2 结构化方法的组成结构化方法的组成2 Methods of the MIS系统
6、分析系统分析系统设计系统设计+顺序顺序选择选择循环循环结构化系统分析结构化系统分析结构化系统设计结构化系统设计结构化程序设计结构化程序设计 + + = 结构化方法结构化方法82.1.2 结构化生命周期法(续)结构化生命周期法(续)结构化方法结构化方法 + 生命周期法生命周期法= 结构化生命周期法结构化生命周期法= 结构化系统开发方法结构化系统开发方法= SSA&D(Structured System Analysis and Design)= SADT(Structured Analysis and Design Technology)结构化生命周期法是目前应用最广、最成熟的结构化生命周期法是
7、目前应用最广、最成熟的 MIS 开发方法。开发方法。方便起见,方便起见,“结构化生命周期法结构化生命周期法”在在今后教学过程中简称今后教学过程中简称“结构化方法结构化方法”或或 SSA&D。2 Methods of the MIS系统规划系统规划系统分析系统分析系统设计系统设计系统实施系统实施为什么做?为什么做?做什么?做什么?怎么做?怎么做?做做系统规划报告系统规划报告系统分析报告系统分析报告系统设计说明书系统设计说明书用户手册用户手册系统可行性分析报告系统可行性分析报告抽象程度10(1)SSA&D 的优势与改进的优势与改进SSA&D VS. 传统开发方法:传统开发方法: 提高编程效率,改进
8、程序质量。提高编程效率,改进程序质量。 采用模块结构,便于修改扩充。采用模块结构,便于修改扩充。2 Methods of the MIS11(2)SSA&D 的基本思想的基本思想SSA&D 的基本思想:的基本思想:在在系统分析系统分析与与系统设计系统设计阶段,阶段,用系统的思想、用系统的思想、系统工程的方法,按用户至上的原则,结构化、模系统工程的方法,按用户至上的原则,结构化、模块化、自顶向下地对信息系统进行分析与设计;块化、自顶向下地对信息系统进行分析与设计;在在系统实施系统实施阶段,自底向上逐步实施,然后按阶段,自底向上逐步实施,然后按照系统设计的结构,将模块一个个拼接到一起进行照系统设计
9、的结构,将模块一个个拼接到一起进行调试,自底向上、逐步地构成整个系统。调试,自底向上、逐步地构成整个系统。2 Methods of the MIS12(3)SSA&D 的基本原则的基本原则SSA&D 的基本原则:的基本原则: 面向用户面向用户 区分工作区分工作阶段阶段( 自顶向下地分析、设自顶向下地分析、设计;自底向上地实施计;自底向上地实施 采用模块结构应对变化采用模块结构应对变化 工作成果规范化、标准化工作成果规范化、标准化2 Methods of the MIS13 区分区分工作阶段工作阶段图图2-3 区分工作阶段、活动、作业区分工作阶段、活动、作业系系统统开开发发过过程程A1A1A2A
10、2A3A3AmAmActivitiesT1T1T2T2T3T3TkTkTasksCheck PointsPhasesP1P1P2P2P3P3PnPnBack2 Methods of the MIS14(4)SSA&D 的一般过程的一般过程 系统规划阶段:根据用户的系统开发请求,初步调查,明确问题,然后进行可系统规划阶段:根据用户的系统开发请求,初步调查,明确问题,然后进行可行性研究;同时划分模块、确定优先顺序。行性研究;同时划分模块、确定优先顺序。可行性研究报告可行性研究报告系统规划报系统规划报告告 系统分析阶段:需求分析;分析业务流程;分析数据与数据流程;分析功能与系统分析阶段:需求分析;分
11、析业务流程;分析数据与数据流程;分析功能与数据之间的关系;提出新系统逻辑模型。数据之间的关系;提出新系统逻辑模型。系统分析报告系统分析报告 系统设计阶段:系统设计阶段: 系统结构设计;处理流程设计;代码设计;数据库系统结构设计;处理流程设计;代码设计;数据库/文件设计;文件设计;I/O设计;网络设计。设计;网络设计。系统设计说明书系统设计说明书 系统实施阶段:设备购买和安装;编程或二次开发;人员培训;数据准备;系系统实施阶段:设备购买和安装;编程或二次开发;人员培训;数据准备;系统测试、调试与转换。统测试、调试与转换。程序清单程序清单系统测试报告系统测试报告系统使用说明书系统使用说明书 系统运
12、行阶段:系统运行阶段:日常运行管理、评价、监理审计。修改、维护、微调。日常运行管理、评价、监理审计。修改、维护、微调。系统评价分析报告系统评价分析报告需要指明的是:并非所有的步骤都是必须的。如需要与可能,可跳过某些步骤或需要指明的是:并非所有的步骤都是必须的。如需要与可能,可跳过某些步骤或有必要地反复,但不可打乱或颠倒顺序有必要地反复,但不可打乱或颠倒顺序152.1.3 SSA&D 的优缺点与适用范围的优缺点与适用范围(1)SSA&D 的优点的优点 严格区分严格区分开发阶段开发阶段对每一阶段的任务完成情况进行审查,对于出现的错误或问题及时加对每一阶段的任务完成情况进行审查,对于出现的错误或问题
13、及时加以解决,不允许转入下一阶段。错误纠正得越早,所造成的损失就越以解决,不允许转入下一阶段。错误纠正得越早,所造成的损失就越少。少。审查、审批、验收、审查、审批、验收、Check Points 整体性与全局性整体性与全局性好强调开发过程的整体性和全局性,自顶向下,逐好强调开发过程的整体性和全局性,自顶向下,逐步求精,在整体优化的前提下考虑具体的分析、设计问题步求精,在整体优化的前提下考虑具体的分析、设计问题2 Methods of the MIS。162.1.3 SSA&D 的优缺点与适用范围(续)的优缺点与适用范围(续)(2)SSA&D 的缺点的缺点 预先定义用户需求:要求开发人员在调查中
14、充分掌握用户需求、管理预先定义用户需求:要求开发人员在调查中充分掌握用户需求、管理状况并预见可能发生的变化,这不符合人们认识事物的客观规律。同状况并预见可能发生的变化,这不符合人们认识事物的客观规律。同时,用户也很难准确陈述其需求。时,用户也很难准确陈述其需求。 缺乏灵活性:修改系统分析和系统设计的结果工作量相当大,实施起缺乏灵活性:修改系统分析和系统设计的结果工作量相当大,实施起来相当困难。因此就要求步步为营,尽量避免需要修改的情况发生。来相当困难。因此就要求步步为营,尽量避免需要修改的情况发生。 开发阶段间存在鸿沟:各阶段采用不同的、没有严格对应关系的模开发阶段间存在鸿沟:各阶段采用不同的
15、、没有严格对应关系的模型作为开发工具,形成阶段间的鸿沟。即不能很好地解决从系统分析型作为开发工具,形成阶段间的鸿沟。即不能很好地解决从系统分析到系统设计之间的过渡,比如如何使物理模型如实反映出逻辑模型的到系统设计之间的过渡,比如如何使物理模型如实反映出逻辑模型的要求。要求。 开发工具落后:开发工具落后:起点太低。所使用的工具(主要是手工绘制各种各样的分析设计图表)落起点太低。所使用的工具(主要是手工绘制各种各样的分析设计图表)落后,致使系统开发周期过长而带来了一系列的问题。不能自动生成文后,致使系统开发周期过长而带来了一系列的问题。不能自动生成文档,文档整理工作量太大。档,文档整理工作量太大。
16、17很耗资源。很耗资源。不灵活,而且抑制变化。不灵活,而且抑制变化。不适合以决策为目的的应用。不适合以决策为目的的应用。SSA&D 适合用于开发适合用于开发能够预先定义需求、结构能够预先定义需求、结构化程度较高的大型系统和复杂系统化程度较高的大型系统和复杂系统。该方法不适合。该方法不适合用于小型系统的开发用于小型系统的开发182.2 原型化方法原型化方法2.2.1 原型化方法概述原型化方法概述(1)原型化方法的产生)原型化方法的产生两类软件系统:两类软件系统: 预先指定的系统:需求比较预先指定的系统:需求比较稳定而且能够预先定义;稳定而且能够预先定义; 用户驱动的系统:需求用户驱动的系统:需求
17、模糊或随时间变化。模糊或随时间变化。2 Methods of the MISSSA&D 无法用于开发用户驱动类系统。无法用于开发用户驱动类系统。采用采用 SSA&D 开发开发 MIS,有时会跟不上用户需求的变化。,有时会跟不上用户需求的变化。为解决以上困难,原型化方法(为解决以上困难,原型化方法(Prototyping Method)于于1980年代诞生。年代诞生。19(2)原型化方法的基本思想)原型化方法的基本思想原型法就是根据用户提出的需求,由用户与开原型法就是根据用户提出的需求,由用户与开发者共同确定系统的基本要求和主要功能,并在较发者共同确定系统的基本要求和主要功能,并在较短时间内建立
18、一个实验性的、简单的小型系统,称短时间内建立一个实验性的、简单的小型系统,称做做“原型原型”,然后将原型交给用户使用。用户在使,然后将原型交给用户使用。用户在使用用原型的过程中会产生新的需求,开发人员依据用户原型的过程中会产生新的需求,开发人员依据用户提出的评价意见对简易原型进行不断的修改、补充提出的评价意见对简易原型进行不断的修改、补充和完善。如此不断地反复修改(迭代),直至满足和完善。如此不断地反复修改(迭代),直至满足用户的需求。这就形成了一个相对稳定、较为理想用户的需求。这就形成了一个相对稳定、较为理想的的MIS。2 Methods of the MIS20(2)原型化方法的基本思想(
19、续)原型化方法的基本思想(续)原型法是原型法是在在系统开发初期系统开发初期,凭借系统开发人员,凭借系统开发人员对用户需求的了解和对用户需求的了解和系统主要系统主要功能的要求,在强功能的要求,在强有力的软件环境支持下有力的软件环境支持下,迅速,迅速构造出系统的初始构造出系统的初始原型,然后与用户一起不断原型,然后与用户一起不断对原型对原型进行修改、完进行修改、完善(善(迭代迭代),直到满足用户需求。),直到满足用户需求。2 Methods of the MIS21相关链接:迭代相关链接:迭代迭代就是用户对原型系统进行评价后,提出意迭代就是用户对原型系统进行评价后,提出意见,开发人员根据用户的意见
20、进行见,开发人员根据用户的意见进行修改的反复过程修改的反复过程。迭代不是简单的反复,每一次迭代都意味着原迭代不是简单的反复,每一次迭代都意味着原型系统向着用户需求又前进了一步,迭代是系统开型系统向着用户需求又前进了一步,迭代是系统开发进展的动力。发进展的动力。迭代过程的结束,就是原型的完成。迭代过程的结束,就是原型的完成。 Back2 Methods of the MIS识别基本需求识别基本需求构造初始原型构造初始原型使用验证原型使用验证原型满意吗?满意吗?放弃吗?放弃吗?放弃原型放弃原型可行性研究可行性研究生成文档交付系统生成文档交付系统修正修正/改进原型改进原型YYNN2.2.2原型化方法
21、原型化方法的开发过程的开发过程迭代迭代保存保存历史历史版本版本判定判定原型原型完成完成1、对系统开发的意义、费用、时、对系统开发的意义、费用、时间作出初步的估算,确定系统开间作出初步的估算,确定系统开发的必要性和可行性发的必要性和可行性2、系统结构、功能、系统结构、功能、I/O要求、要求、数据库基本结构、系统接口等数据库基本结构、系统接口等3、36周,不超过周,不超过2个月;使用软个月;使用软件工具辅助实现。件工具辅助实现。图图2-4 原型化方法的开发过程原型化方法的开发过程232.2.3 原型的种类和构造方法原型的种类和构造方法(1)原型的种类)原型的种类 根据在系统开发过程中的作用,可分为
22、:根据在系统开发过程中的作用,可分为:丢弃丢弃式原型式原型用用于描述和说明系统的需求;作为开发人员和用户之间于描述和说明系统的需求;作为开发人员和用户之间的通信工具;不作为实际系统运行。的通信工具;不作为实际系统运行。进化式原型进化式原型用于满足用户不断变化的需求;在原型系统基础上不断用于满足用户不断变化的需求;在原型系统基础上不断迭代;作为实际系统运行。迭代;作为实际系统运行。2 Methods of the MIS24(1)原型的种类(续)原型的种类(续) 根据原型的应用目的和场合的不同根据原型的应用目的和场合的不同 ,可分为:可分为:研究型原型(研究型原型(Exploratory Pro
23、totyping)实验型原型(实验型原型(Experimental Prototyping)演进型原型(演进型原型(Evolutionary Prototyping)2 Methods of the MIS25(2)(进化式)原型的构造方法(开发方式)(进化式)原型的构造方法(开发方式) 递增式系统开发(递增式系统开发(Incremental Prototyping)递增式系统开发的原理:递增式系统开发的原理:开始时系统有一个总体框架,各功能单元的结开始时系统有一个总体框架,各功能单元的结构和功能十分清楚;每一模块还未具体实现;以后构和功能十分清楚;每一模块还未具体实现;以后开发中逐步完善模块
24、。开发中逐步完善模块。递增式系统开发过程:递增式系统开发过程:总体设计、功能模块的反复实现。总体设计、功能模块的反复实现。2 Methods of the MIS26 递增式系统开发(续)递增式系统开发(续)图图2-5 进化式原型的递增式系统开发过程进化式原型的递增式系统开发过程功能子单元功能子单元全部实现?全部实现?系统总体设计系统总体设计最终系统最终系统实现一个功能子单元实现一个功能子单元YN2 Methods of the MIS系统是在原型系统是在原型的基础上逐步的基础上逐步扩展,横向发扩展,横向发展起来的。展起来的。27 进化式系统开发(进化式系统开发(Evolutionary Pr
25、ototyping)进化式系统开发的原理:进化式系统开发的原理:把系统开发看成一种周期过把系统开发看成一种周期过程,从设计到实现再到评估反复程,从设计到实现再到评估反复进行;最终产品被看作一个版本进行;最终产品被看作一个版本序列。序列。2 Methods of the MIS满意吗?满意吗?系统设计系统设计最终系统最终系统进化(重新设计、实施)进化(重新设计、实施)YN系统实施系统实施多次反复多次反复图图2-6 进化式原型的进化式系统开发过程进化式原型的进化式系统开发过程围绕基本需求围绕基本需求加强管理控制加强管理控制开发过程是系开发过程是系统不同版本的统不同版本的开发过程开发过程28(3)现
26、实的选择:原型化方法与)现实的选择:原型化方法与 SSA&D 的结合的结合采用丢弃式方法,将原型的开发过程作为采用丢弃式方法,将原型的开发过程作为SSA&D 的一个阶段,即需求定义阶段。的一个阶段,即需求定义阶段。研究型原型加强了研究型原型加强了 SSA&D 的需求定义和功能的需求定义和功能分析阶段的分析。分析阶段的分析。2 Methods of the MIS满意吗?满意吗?可行性研究可行性研究N识别基本需求识别基本需求多次反复多次反复需求定义需求定义系统分析系统分析系统设计系统设计系统实施系统实施系统管理及维护系统管理及维护构造初始原型构造初始原型使用验证原型使用验证原型修改修改YSSA&
27、D原型化方法原型化方法图图2-7 原型化方法与原型化方法与 SSA&D 的结合方式的结合方式302.2.4 原型化方法的优缺点与适用范围原型化方法的优缺点与适用范围(1)原型化方法的优点)原型化方法的优点 开发者在正式开发之前就可以得到用户的真正需求,开发者在正式开发之前就可以得到用户的真正需求,而用户能在较短的时间内看到新系统的模样。而用户能在较短的时间内看到新系统的模样。 改进了用户和系统开发人员的交流方式,有效避免开改进了用户和系统开发人员的交流方式,有效避免开发者和用户的认识差异所产生的失败。发者和用户的认识差异所产生的失败。 开发的系统更加贴近实际,提高了用户的满意程度。开发的系统更
28、加贴近实际,提高了用户的满意程度。 降低了系统开发风险,一定程度上减少了开发成本。降低了系统开发风险,一定程度上减少了开发成本。 采用自底向上的开发策略,更易被用户接受。采用自底向上的开发策略,更易被用户接受。2 Methods of the MIS31(2)原型化方法的缺点)原型化方法的缺点 由于原型法在实施进程中缺乏对由于原型法在实施进程中缺乏对 MIS 全面、系统的认全面、系统的认识。因此,它不适合用于开发大型或复杂的识。因此,它不适合用于开发大型或复杂的 MIS。 对用户的管理水平要求较高。原型化方法每次迭代都对用户的管理水平要求较高。原型化方法每次迭代都要花费人力、物力。如果用户合作
29、不好,盲目纠错,就会拖要花费人力、物力。如果用户合作不好,盲目纠错,就会拖延开发进程,甚至偏离原型的目的。延开发进程,甚至偏离原型的目的。 测试和文档工作常被忽略,使系统运行后很难进行正测试和文档工作常被忽略,使系统运行后很难进行正常的维护。常的维护。 开发工具开发工具要求高。支持原型开发的软件工具大致可分要求高。支持原型开发的软件工具大致可分为如下几类:原型化工具、为如下几类:原型化工具、CASE原型化工具、可用于原型开原型化工具、可用于原型开发的工具。发的工具。2 Methods of the MIS32(3)原型化方法的适用范围)原型化方法的适用范围原型法的适用于原型法的适用于用户需求不
30、清用户需求不清,管理及业务处管理及业务处理不稳定理不稳定,需求常常变化需求常常变化,规模小,不太复杂规模小,不太复杂,而,而且不要求集中处理的系统。且不要求集中处理的系统。2 Methods of the MIS方法方法内容内容原型法原型法SSA&D开发路径开发路径循环、迭代型循环、迭代型严格、顺序型严格、顺序型文档数量文档数量较少较少多多用户参与程度用户参与程度高高低低开发过程的可见度开发过程的可见度好好差差对功能需求或环境对功能需求或环境变化的适应性变化的适应性 较好较好差差用户的信息反馈用户的信息反馈早早迟迟对开发环境、软件对开发环境、软件工具的要求工具的要求高高低低对开发过程的管理和控
31、制对开发过程的管理和控制较困难较困难 较容易较容易表表2-1 原型法与生命周期法的比较原型法与生命周期法的比较342.3 面向对象方法面向对象方法2.3.1 OO方法的产生与发展方法的产生与发展(1)传统开发方法()传统开发方法(SSA&D)的困境)的困境 问题空间与求解空间不一致问题空间与求解空间不一致(即:(即:业务系统领域业务系统领域与与计算机领域计算机领域不一致)不一致) 系统分析到系统设计转换困难系统分析到系统设计转换困难 处理模型和数据模型分别建立处理模型和数据模型分别建立 忽视信息系统的行为特征忽视信息系统的行为特征2 Methods of the MIS352.3.2 OO方法
32、的相关概念与基本思想方法的相关概念与基本思想(1)OO方法的相关概念方法的相关概念 对象(对象(Object)客观世界中的任何事物或人脑中的各种概念在客观世界中的任何事物或人脑中的各种概念在计算机世界的抽象表示。计算机世界的抽象表示。它是它是OO编程的基本元素。编程的基本元素。2 Methods of the MIS对象对象 = 属性(私有数据属性(私有数据 )+ 操作(行为操作(行为/方法)方法)36(1)OO方法的相关概念(续方法的相关概念(续1) 消息(消息(Message)消息是对象间进行通信的一种数据结构。消息是对象间进行通信的一种数据结构。消息包含控制流与数据流两部分。消息包含控制
33、流与数据流两部分。对象间的联系主要是通过传递消息(而非函数对象间的联系主要是通过传递消息(而非函数/操作)来实现的。操作)来实现的。2 Methods of the MIS37(1)OO方法的相关概念(续方法的相关概念(续2) 类(类(Class)类是具有相同数据结构和行为(即操作)的类是具有相同数据结构和行为(即操作)的对象的集合。对象的集合。类有一定的结构:超类(类有一定的结构:超类(Superclass)、子类)、子类(Subclass)。)。2 Methods of the MIS38(1)OO方法的相关概念(续方法的相关概念(续3) 继承(继承(Inheritance)对象或类之间的
34、层次结构是靠继承关系对象或类之间的层次结构是靠继承关系(Inheritance)维系的。)维系的。继承是自动共享类、子类和对象中的方法和数继承是自动共享类、子类和对象中的方法和数据的机制,意味着据的机制,意味着“自动地拥有、隐含地复制自动地拥有、隐含地复制”。类类B继承类继承类A至少说明两点:至少说明两点:类类B是类是类A的子类;的子类;类类B中的实例拥有类中的实例拥有类A中实例的数据结构与操作中实例的数据结构与操作方法。方法。2 Methods of the MIS39(1)OO方法的相关概念(续方法的相关概念(续4) 封装(封装(Encapsulation)一种信息隐藏技术,把对象的属性和
35、行为同时一种信息隐藏技术,把对象的属性和行为同时封装在所定义的对象中。即封装在所定义的对象中。即将对象严格模块化将对象严格模块化。这种严格模块化了的对象满足软件工程的一切这种严格模块化了的对象满足软件工程的一切要求,而且可以直接被要求,而且可以直接被OO程序设计语言所接受。程序设计语言所接受。2 Methods of the MIS40(1)OO方法的相关概念(续方法的相关概念(续5) 实例(实例(Instance)某个特定的类所描述的一个具体的对象。某个特定的类所描述的一个具体的对象。 多态(多态(Polymorphism)同一消息被不同的对象接收时可产生完全不同同一消息被不同的对象接收时可
36、产生完全不同的行动,这种现象称为多态。的行动,这种现象称为多态。多态意味同一消息即可调用不同的方法多态意味同一消息即可调用不同的方法 。2 Methods of the MIS41(2)OO方法的基本思想方法的基本思想客观世界是由各种各样的对象组成的,每客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同种对象都有各自的内部状态和运动规律,不同对象之间的相互作用和联系就构成了各种不同对象之间的相互作用和联系就构成了各种不同的系统。的系统。 2 Methods of the MIS422.3.7 OO方法的分析与设计过程方法的分析与设计过程 (1)系统调查和需求分析:)系
37、统调查和需求分析:对系统将要面临的具体对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题。究,即先弄清要干什么的问题。(2)分析问题的性质和求解问题:)分析问题的性质和求解问题:在繁杂的问题域在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、中抽象地识别出对象以及其行为、结构、属性、方法等。一般称之为面向对象的分析,即方法等。一般称之为面向对象的分析,即OOA。2 Methods of the MIS432.3.7 OO方法的分析与设计过程(续)方法的分析与设计过程(续)(3)整理问题:)整理问题:对分析的结
38、果作进一步的抽象、归对分析的结果作进一步的抽象、归类、整理,并最终以范式的形式将他们确定下来。类、整理,并最终以范式的形式将他们确定下来。一般称之为面向对象的设计,即一般称之为面向对象的设计,即OOD。(4)程序实现:)程序实现:用面向对象的程序设计语言将上一用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。一般称之为面向对象的程来取代)为应用软件。一般称之为面向对象的程序,即序,即OOP。2 Methods of the MIS442.3.8 对对OO方法的评价及方法的评价及OO方法的适用范围方法的适用范围(
39、1)评价)评价直接反映人们对客观世界的认知模式。直接反映人们对客观世界的认知模式。开发方案更加抽象化而且具有极强的对应性。开发方案更加抽象化而且具有极强的对应性。在设计中容易与用户沟通。在设计中容易与用户沟通。把数据和操作封装到对象之中。把数据和操作封装到对象之中。设计中对象构成模块、模块通过接口组成系统。设计中对象构成模块、模块通过接口组成系统。应用程序具有较好的重用性、易改进、易维护和易扩充。应用程序具有较好的重用性、易改进、易维护和易扩充。 开发周期短、费用低。开发周期短、费用低。(2)适用范围)适用范围流行的开发方法,适用面很广。流行的开发方法,适用面很广。2 Methods of t
40、he MIS452 MIS开发方法开发方法2.0 MIS开发方法概述开发方法概述2.1 结构化生命周期法结构化生命周期法2.2 原型化方法原型化方法2.3 面向对象方法面向对象方法2.4 系统开发方法的选择系统开发方法的选择2 Methods of the MIS462.4 系统开发方法的选择系统开发方法的选择2.4.1 其他的系统开发方法其他的系统开发方法除了这除了这3种常用的方法之外,还有种常用的方法之外,还有计算机辅助软计算机辅助软件工程方法(件工程方法(CASE)、软件包法、最终用户开发方)、软件包法、最终用户开发方法(法(End User Development)、外部化方法、软件再
41、)、外部化方法、软件再造工程法造工程法等。等。2 Methods of the MIS应当指出,以上对应当指出,以上对MIS开发方法的分类只能说是大致的开发方法的分类只能说是大致的不严密的分类。由于这些方法间有不少交叉的内容,分类并不严密的分类。由于这些方法间有不少交叉的内容,分类并非在同一维度上进行,所以在概念上有含糊之处。非在同一维度上进行,所以在概念上有含糊之处。472.4.2 系统开发方法的选择系统开发方法的选择2 Methods of the MIS系统开发方法涉及到以下因素:系统开发方法涉及到以下因素:需求和应用的类型、数据、需求和应用的类型、数据、过程、算法和环境等过程、算法和环
42、境等各种方法的特点、各种方法的特点、应用的假设条件应用的假设条件人力资源人力资源CASE工具的可利用性工具的可利用性时间、资金等方面的约束条件时间、资金等方面的约束条件(1)应用的特点)应用的特点(2)方法的选择)方法的选择(3)资源分析)资源分析48案例:中海油的案例:中海油的MIS开发方法的选择(续开发方法的选择(续5)结论:结论:各种方法不是互相排斥的,在建设一个系各种方法不是互相排斥的,在建设一个系统时,一定要结合组织的实际情况,灵活地加统时,一定要结合组织的实际情况,灵活地加以选择应用。以选择应用。2 Methods of the MIS49思考与练习思考与练习1. 什么是结构化方法什么是结构化方法?2. 结构化方法的假设前提是什么?其缺点是什么?结构化方法的假设前提是什么?其缺点是什么?3. 什么是原型化方法?它适用于哪种系统?什么是原型化方法?它适用于哪种系统?4. 什么是面向对象方法?它有哪些优点?什么是面向对象方法?它有哪些优点?5. 简述面向对象方法的特点及适用范围。简述面向对象方法的特点及适用范围。6. 如何选择信息系统开发方法?如何选择信息系统开发方法?2 Methods of the MIS