管理信息系统的开发-第五章ppt课件.pptx
管理信息系统主讲老师:王哲重庆邮电大学移通学院管理工程系联系电话:18523133302联系邮箱:在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确第五章第五章 管理信息系统的开发管理信息系统的开发开发方法概述开发方法概述结构化开发结构化开发方式方式方法方法原型法原型法面向对象的开发方法面向对象的开发方法开发中常见问题开发中常见问题开发的指导思想和开发原则开发的指导思想和开发原则本章主要内容:本章主要内容:在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确管理信息系统开发方法概述管理信息系统开发方法概述问题讨论:问题讨论:1 1、有的同学认为,只要能编写好程序,就能开发管理信息系统,、有的同学认为,只要能编写好程序,就能开发管理信息系统,对不对?对不对?2 2、为什么许多管理信息系统开发和应用失败了,原因是什么?、为什么许多管理信息系统开发和应用失败了,原因是什么?3 3、同学们知道哪些开发方法?、同学们知道哪些开发方法?“软件危机软件危机”是怎么回事?是怎么回事?在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确p软件危机的产生背景及表现形式软件危机的产生背景及表现形式 早期的软件主要指程序。程序的开发采用个体工作方式,开发工作主要早期的软件主要指程序。程序的开发采用个体工作方式,开发工作主要依赖于开发人员的依赖于开发人员的个人技能和程序设计技巧个人技能和程序设计技巧由于软件开发时由于软件开发时缺少好的方法指导和工具辅助缺少好的方法指导和工具辅助,软件开发的实际成本和,软件开发的实际成本和进度往往与预计的相差甚远,进度往往与预计的相差甚远,软件的质量得不到保证,开发出来的软件软件的质量得不到保证,开发出来的软件常常不能使用户满意常常不能使用户满意同时又同时又缺少有关的文档缺少有关的文档,使得大量已有的,使得大量已有的软件难以维护软件难以维护。上述这些问题。上述这些问题严重地阻碍了软件的发展严重地阻碍了软件的发展把上述软件开发和维护中的各种问题称为把上述软件开发和维护中的各种问题称为“软件危机软件危机”管理信息系统开发方法概述管理信息系统开发方法概述在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确 研究开发方法的原因研究开发方法的原因 p随着管理信息系统应用程度的深入和应用规模的扩大,出现的随着管理信息系统应用程度的深入和应用规模的扩大,出现的问题问题:手工处理信息过程和方法原封不动地手工处理信息过程和方法原封不动地“翻译翻译”成软件程序后,常常失败。成软件程序后,常常失败。大型的应用系统应如何合理地组织人力、物力、财力来协调开发。大型的应用系统应如何合理地组织人力、物力、财力来协调开发。对一个实体组织应如何着手调查分析。对一个实体组织应如何着手调查分析。一个大型系统应该如何进行系统化的划分。一个大型系统应该如何进行系统化的划分。如何才能合理地协调和利用信息资源。如何才能合理地协调和利用信息资源。如何充分发挥现有计算机和通讯设备的处理能力,更好的解决实际管理问如何充分发挥现有计算机和通讯设备的处理能力,更好的解决实际管理问题等。题等。管理信息系统开发方法概述管理信息系统开发方法概述在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确管理信息系统开发管理信息系统开发管理信息系统开发管理信息系统开发指指以以系系统统规规划划为为前前提提,通通过过组组织织、分分析析、设设计计、应应用用来来实实现现一一个个信信息息系系统的工程。统的工程。管理信息系统的开发是一项复杂的系统工程管理信息系统的开发是一项复杂的系统工程它涉及知识面广、部门多,既它涉及知识面广、部门多,既涉及技术,又涉及管理业务、组织和行为涉及技术,又涉及管理业务、组织和行为。不仅是技术,而且是一项复杂的社会化系统工程。不仅是技术,而且是一项复杂的社会化系统工程。需需要要研研究究出出科科学学的的开开发发方方法法和和过过程程化化的的开开发发步步骤骤,以以确确保保整整个个开开发过程能够顺利进行。发过程能够顺利进行。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确管理信息系统开发方式与方法管理信息系统开发方式与方法管理信息系统开发的任务管理信息系统开发的任务根根据据企企业业管管理理的的战战略略目目标标、规规模模、性性质质等等具具体体情情况况,从从系系统统的的观观点点出出发发,运运用用系系统统工工程程的的方方法法,为为企企业业建建立立起起提提高高企企业业管管理理决策能力决策能力的管理信息系统。的管理信息系统。其其中中最最核核心心的的工工作作,就就是是采采用用适适当当的的开开发发方方法法开开发发出出适适合合现现代企业管理要求的代企业管理要求的应用软件系统应用软件系统。开发方式包括:自主、合作(联合)、外包、购买开发方式包括:自主、合作(联合)、外包、购买开发方法包括:结构化方法、原型法、面向对象的方法开发方法包括:结构化方法、原型法、面向对象的方法在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式:自主开发开发方式:自主开发优点优点:1、可控制开发全过程;、可控制开发全过程;2、便于规划整个系统建设工作;、便于规划整个系统建设工作;3、企业人员均可、企业人员均可 介入系统的开发工作,建成后可快速推广;介入系统的开发工作,建成后可快速推广;4、培养维护队伍;、培养维护队伍;5、易维护、易维护、易变更、改进和扩展。易变更、改进和扩展。问题问题:1、开发费用高;、开发费用高;2、难于摆脱本企业习惯的管理方式的影响,不易开发高水、难于摆脱本企业习惯的管理方式的影响,不易开发高水 平的系统;平的系统;3、开发周期长;、开发周期长;4、忽视文档的编写;、忽视文档的编写;5、开发系统技术先进性差。、开发系统技术先进性差。适用范围适用范围:系统系统规模小、技术不复杂、使用人员较少、支持管理活动的规模小、技术不复杂、使用人员较少、支持管理活动的系统。系统。自主自主开发开发:指使指使指使指使用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式:自主开发开发方式:自主开发优点优点:1、可控制开发全过程;、可控制开发全过程;2、便于规划整个系统建设工作;、便于规划整个系统建设工作;3、企业人员均可、企业人员均可 介入系统的开发工作,建成后可快速推广;介入系统的开发工作,建成后可快速推广;4、培养维护队伍;、培养维护队伍;5、易维护、易维护、易变更、改进和扩展。易变更、改进和扩展。问题问题:1、开发费用高;、开发费用高;2、难于摆脱本企业习惯的管理方式的影响,不易开发高水、难于摆脱本企业习惯的管理方式的影响,不易开发高水 平的系统;平的系统;3、开发周期长;、开发周期长;4、忽视文档的编写;、忽视文档的编写;5、开发系统技术先进性差。、开发系统技术先进性差。适用范围适用范围:系统系统规模小、技术不复杂、使用人员较少、支持管理活动的规模小、技术不复杂、使用人员较少、支持管理活动的系统。系统。自主自主开发开发:指使指使指使指使用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,用者在分析企业的战略发展目标、资源约束和管理模式的基础上,以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。以企业内部的人力资源、技术资源为主,自行建设信息系统的方案。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式:联合开发开发方式:联合开发优优 点点:1 1、实用性、适用性强;、实用性、适用性强;2 2、使用与维护方便;、使用与维护方便;3 3、提高技术人员的信、提高技术人员的信 息技术水平。息技术水平。联合联合开发:开发:指指利用本单位对系统开发目标和管理的专业能力,结合软件开发利用本单位对系统开发目标和管理的专业能力,结合软件开发公司公司 计算机技术计算机技术能力强的特点,共同开发信息系统的方案。能力强的特点,共同开发信息系统的方案。适用范围:适用范围:业务流程复杂、员工素质高、适用性强、功能完善的信息系统。业务流程复杂、员工素质高、适用性强、功能完善的信息系统。特特 点点:需企业与开发公司的紧密合作,充分发挥合作公司技术能力、企业需企业与开发公司的紧密合作,充分发挥合作公司技术能力、企业管管 理能力理能力,有利于企业技术队伍的培养与提高,系统水平高、适用性强。,有利于企业技术队伍的培养与提高,系统水平高、适用性强。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式:委托开发方式:委托/外包开发外包开发优优 点点:1、享受标准化、专业化的信息服务;、享受标准化、专业化的信息服务;2、减少费用投资;、减少费用投资;3、系统质、系统质 量稳定、成本量稳定、成本 透明、技术更新及时;透明、技术更新及时;4、软件服务市场的发展推动服、软件服务市场的发展推动服 务商主动提升产品和服务质量。务商主动提升产品和服务质量。外包开发:外包开发:企业为专注核心竞争力业务和降低软件项目成本、将软件项目中的部企业为专注核心竞争力业务和降低软件项目成本、将软件项目中的部 分工作发包给提供外包服务的企业完成的软件需求活动。分工作发包给提供外包服务的企业完成的软件需求活动。适用范围适用范围:信息系统开发能力较弱、信息系统开发能力较弱、IT专业技术人才匮乏的企业。专业技术人才匮乏的企业。存在问题:存在问题:1、质量监控和管理难度大;、质量监控和管理难度大;2、人办资源管理难度大;、人办资源管理难度大;3、信息安全、信息安全 管理难度大;管理难度大;4、对外包服务商依赖性高,风险大;、对外包服务商依赖性高,风险大;5、外包服务商、外包服务商 选择问题。选择问题。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式:购买开发开发方式:购买开发优优 点点:1、产品可靠、稳定性高;、产品可靠、稳定性高;2、反映先进的管理思想;、反映先进的管理思想;3、开发周期短;、开发周期短;4、费用较低。、费用较低。购买方案购买方案:通过购买软件包实现信息系统需求开发通过购买软件包实现信息系统需求开发适用范围适用范围:业务处理规范、不具系统开发与实施能力的企业。业务处理规范、不具系统开发与实施能力的企业。存在问题:存在问题:1、实施费用高;、实施费用高;2、系统修改、维护比较困难;系统修改、维护比较困难;3、不能完全满足企、不能完全满足企 业业 需求,需二次开发。需求,需二次开发。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确开发方式的比较开发方式的比较以上介绍的四种开发方式有各自的长处和短处,需要根据使用单位以上介绍的四种开发方式有各自的长处和短处,需要根据使用单位的实际情况进行选择,也可综合运用各种开发方式,见表的实际情况进行选择,也可综合运用各种开发方式,见表5-1。方式、特点比较方式、特点比较独立开发独立开发委托开发委托开发合作开发合作开发购买现成软件购买现成软件分析和设计能力要求分析和设计能力要求较高较高一般一般逐渐培养逐渐培养较低较低编程能力的要求编程能力的要求较高较高不需要不需要需要需要较低较低系统维护的难易程度系统维护的难易程度容易容易较困难较困难较容易较容易较困难较困难开发费用开发费用少少多多较少较少较少较少说明说明开发时间较长,系统适合本单开发时间较长,系统适合本单位,培养了自己的开发人员。位,培养了自己的开发人员。省事,开发费省事,开发费用高。用高。开发出的系统便开发出的系统便于维护。于维护。最省事,但不一定完全最省事,但不一定完全适合本单位。适合本单位。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法结构化系统开发方法的基本思想结构化系统开发方法的基本思想结构化系统开发方法的步骤结构化系统开发方法的步骤结构化系统开发方法的特点结构化系统开发方法的特点结构化系统开发的生命周期结构化系统开发的生命周期结构化系统开发方法的优缺点结构化系统开发方法的优缺点在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法结结构构化化系系统统开开发发方方法法,亦亦称称SSA&D(Structured System Analysis and Design)或或SADT(Structured Analysis and Design Technologies),就就是是自自顶顶向向下下、逐逐步步求求精精,分分阶阶段段实实现现的的软软件件开开发发方方法法,是是一一种种先先整整体体后后局局部部的的信信息息系系统统开开发发方方法法,也也是是迄迄今今为为止止开开发发方方法法中中应应用用最最普遍、最成熟的一种。普遍、最成熟的一种。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法基本思想基本思想:用用系系统统工工程程的的思思想想和和工工程程化化的的方方法法,按按用用户户至至上上的的原原则则,结结构构化化、模模块块化化、自自顶顶向向下下地地对对系系统统进进行行分分析析与与设设计计。也也就就是是说说,先先将将整整个个管管理理信信息息系系统统的的开开发发划划分分成成若若干干个个不不同同阶阶段段,如如系系统统规规划划、系系统统分分析析、系系统统设设计计、系系统统实实施施、运运行行和和维维护护;然然后后在在系系统统规规划划、分分析析和和设设计计阶阶段段采采用用自自顶顶向向下下的的方方法法对对系系统统进行结构化划分;最后在系统实施阶段,采用自底向上的方法逐步实施。进行结构化划分;最后在系统实施阶段,采用自底向上的方法逐步实施。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法特点:特点:运用系统的观点:运用系统的观点:自顶向下整体性的分析与设计和自底向上逐步施的系统开自顶向下整体性的分析与设计和自底向上逐步施的系统开 发过程。发过程。用户至上:用户至上:充分了解用户对系统的需求和愿望充分了解用户对系统的需求和愿望深入调查研究:深入调查研究:详细地调查研究,努力弄清业务处理过程细节详细地调查研究,努力弄清业务处理过程细节严格区分工作阶段:严格区分工作阶段:每个阶段都应有其明确的任务和目标每个阶段都应有其明确的任务和目标充分预料可能发生的变化充分预料可能发生的变化开发过程工程化:开发过程工程化:所有工作文件必须要求标准化、规范化,按照统一的标准所有工作文件必须要求标准化、规范化,按照统一的标准 整理、归档,便于管理、交流和使用。整理、归档,便于管理、交流和使用。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法步骤:步骤:可行性分析可行性分析信息系统规划信息系统规划信息系统分析信息系统分析信息系统设计信息系统设计信息系统开发实施信息系统开发实施信息系统测试信息系统测试信息系统安装调试信息系统安装调试信息系统试运行信息系统试运行信息系统维护信息系统维护信息系统更新信息系统更新在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发的生命周期:系统开发的生命周期:用用结结构构化化系系统统开开发发方方法法开开发发一一个个系系统统,将将整整个个开开发发过过程程从从大大的的方方面面可可以以划划分分为为系系统统规规划划阶阶段段和和系系统统建建设设两两个个阶阶段段,又又可可细细分分为为五五个个首首尾尾相相连连接接的的阶阶段段,一一般般称之为系统开发的生命周期(称之为系统开发的生命周期(life cycle),如图下所示。),如图下所示。系统分析系统分析系统实施系统实施系统设计系统设计系统运行系统运行系统定义系统定义系统开发系统开发生命周期生命周期6 6总体设计总体设计7 7评审评审8 8详细设计详细设计5 5需求分析需求分析9 9评审评审4 4评审评审3 3可行性可行性研究研究1111切换运行切换运行1212系统评价系统评价2 2系统调查系统调查1 1系统请求系统请求1010编程调试编程调试 系系 统统 规规 划划系系统统建建设设在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发生命周期各阶段的主要工作有系统开发生命周期各阶段的主要工作有:系统规划阶段系统规划阶段系系统统规规划划阶阶段段的的工工作作就就是是根根据据用用户户的的系系统统开开发发请请求求,初初步步调调查查,明明确确问问题题,然然后后进进行行可可行行性性研研究究。如如果果不不满满意意,则则要要反反馈馈修修正正这这一一过过程程;如如果果不不可可行行,则取消项目;如果可行并满意,则进入下一阶段工作。则取消项目;如果可行并满意,则进入下一阶段工作。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发生命周期各阶段的主要工作有系统开发生命周期各阶段的主要工作有:系统规划阶段系统规划阶段系统分析阶段系统分析阶段系系统统分分析析阶阶段段的的任任务务是是,分分析析业业务务流流程程;分分析析数数据据与与数数据据流流程程;分分析析功功能能与与数数据据之之间间的的关关系系;最最后后提提出出新新系系统统逻逻辑辑方方案案。若若方方案案不不可可行行则则停停止止项项目目;若方案不满意,则修改这个过程;若可行并满意,则进入下一阶段的工作。若方案不满意,则修改这个过程;若可行并满意,则进入下一阶段的工作。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发生命周期各阶段的主要工作有系统开发生命周期各阶段的主要工作有:系统规划阶段系统规划阶段系统分析阶段系统分析阶段系统设计阶段系统设计阶段系系统统设设计计阶阶段段的的任任务务是是:总总体体结结构构设设计计;代代码码设设计计;数数据据库库/文文件件设设计计;输输入入/输输出出设设计计;模模块块结结构构与与功功能能设设计计。与与此此同同时时根根据据总总体体设设计计的的要要求求购购置置与与安安装装设设备备,最最终终给给出出设设计计方方案案。如如不不满满意意,则则反反馈馈修修改改这这个个过过程程;如如可可行行,则进入下一阶段工作。则进入下一阶段工作。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发生命周期各阶段的主要工作有系统开发生命周期各阶段的主要工作有:系统规划阶段系统规划阶段系统分析阶段系统分析阶段系统设计阶段系统设计阶段系统实施阶段系统实施阶段系系统统实实施施阶阶段段的的任任务务是是:编编程程、人人员员培培训训以以及及数数据据准准备备,然然后后投投入入试试运运行行。如果有问题,则修改程序;如果满意,则进入下一阶段工作。如果有问题,则修改程序;如果满意,则进入下一阶段工作。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法系统开发生命周期各阶段的主要工作有系统开发生命周期各阶段的主要工作有:系统规划阶段系统规划阶段系统分析阶段系统分析阶段系统设计阶段系统设计阶段系统实施阶段系统实施阶段系统运行与维护系统运行与维护系系统统运运行行阶阶段段的的任任务务是是:同同时时进进行行系系统统的的日日常常运运行行管管理理、评评价价、监监理理审审计计三部分工作。三部分工作。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确结构化系统开发方法结构化系统开发方法结构化系统开发方法的优缺点结构化系统开发方法的优缺点 优点优点 :严格区分系统开发的阶段性;严格区分系统开发的阶段性;严格区分系统开发的阶段性;严格区分系统开发的阶段性;自顶向下的分析与设计和自底向上自顶向下的分析与设计和自底向上自顶向下的分析与设计和自底向上自顶向下的分析与设计和自底向上逐步实施相结合;逐步实施相结合;逐步实施相结合;逐步实施相结合;用户至上;用户至上;用户至上;用户至上;符合实际,客观性和科学化;符合实际,客观性和科学化;符合实际,客观性和科学化;符合实际,客观性和科学化;充分预料可能发生的变化;充分预料可能发生的变化;充分预料可能发生的变化;充分预料可能发生的变化;系统系统系统系统 开发过程工程化,文档资料开发过程工程化,文档资料开发过程工程化,文档资料开发过程工程化,文档资料标准化标准化标准化标准化。缺点:缺点:系统的开发周期太长,有时,系统开系统的开发周期太长,有时,系统开 发尚未完成,而内外环境已经发生了发尚未完成,而内外环境已经发生了 变化,对系统的需求也发生了变化。变化,对系统的需求也发生了变化。需要大量的文档和图表,这方面的工需要大量的文档和图表,这方面的工 作劳动量非常大,有时会造成效率低、作劳动量非常大,有时会造成效率低、成本高的问题。成本高的问题。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型化方法的基本思想原型化方法的基本思想原型化方法的开发步骤原型化方法的开发步骤 原型化方法的特点原型化方法的特点 在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型法产生的原因原型法产生的原因运用结构化系统开发生命周期法的前提条件是要求用户在项目开始初期运用结构化系统开发生命周期法的前提条件是要求用户在项目开始初期就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响就非常明确地陈述其需求,需求陈述出现错误,对信息系统开发的影响尤为严重,因此,这种方法不允许失败。事实上这种要求又难以做到。尤为严重,因此,这种方法不允许失败。事实上这种要求又难以做到。人们设想,有一种方法,能够迅速发现需求错误。当图形用户界面人们设想,有一种方法,能够迅速发现需求错误。当图形用户界面(GraphicUserInterface,GUI)出现后,自出现后,自80年代中期以来,原型法逐步年代中期以来,原型法逐步被接受,并成为一种流行的信息系统开发方法。被接受,并成为一种流行的信息系统开发方法。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法 由于生命周期法要求系统目标明确,而目标的明确又往往依赖于用由于生命周期法要求系统目标明确,而目标的明确又往往依赖于用户,通常情况下,用户无法定义出比较确切的输入、处理和输出需户,通常情况下,用户无法定义出比较确切的输入、处理和输出需求。在这种情况下,采用原型法可能是最好的选择。求。在这种情况下,采用原型法可能是最好的选择。原型法是原型法是20世纪世纪70年代中期提出的,旨在改进生命周期法缺点的一年代中期提出的,旨在改进生命周期法缺点的一种系统开发的方法。种系统开发的方法。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型法的基本思想原型法的基本思想在系统开发初期,凭借系统开发人员对用户需求的了解和系统主在系统开发初期,凭借系统开发人员对用户需求的了解和系统主要功能的要求,在强有力的辅助系统开发工具和方便、高效软件要功能的要求,在强有力的辅助系统开发工具和方便、高效软件环境支持下,按照不断寻优的设计思想,通过反复的完善性实验环境支持下,按照不断寻优的设计思想,通过反复的完善性实验开发出来的信息系统的方法和过程。即首先快速开发一个原型,开发出来的信息系统的方法和过程。即首先快速开发一个原型,然后运行,与用户一起对原型进行不断的评价和改进,直到满足然后运行,与用户一起对原型进行不断的评价和改进,直到满足用户需求。用户需求。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型法的工作流程与支撑环境原型法的工作流程与支撑环境用户提出开发要求和系统的初步需求用户提出开发要求和系统的初步需求开发人员识别用户需求,利用工具构造一个系统原型开发人员识别用户需求,利用工具构造一个系统原型测试和评价,如果不可用,抛弃该原型,重新构造;如果满意,测试和评价,如果不可用,抛弃该原型,重新构造;如果满意,则对该原型进行分析和整理,并根据新的要求修改。则对该原型进行分析和整理,并根据新的要求修改。反复对修改后的原型进行测试和评价,直至符合用户的要求,即反复对修改后的原型进行测试和评价,直至符合用户的要求,即构成最终系统。构成最终系统。在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型法的工作流程原型法的工作流程系统初步设计系统初步设计开发一个工作原开发一个工作原型型测试和评价测试和评价废除原形废除原形准备扩准备扩展这一展这一原形吗原形吗?Y YN N测试和评估测试和评估修改原形修改原形构造最终系构造最终系统统继续修改原继续修改原型型原形需原形需进一步进一步改进吗改进吗?Y YN N在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法原型法原型法的优缺点原型法的优缺点优点:优点:l 鼓励用户参与、提高用户使用热情鼓励用户参与、提高用户使用热情l 使用户和管理者更早得到解决使用户和管理者更早得到解决 方案方案 l减少用户测试时间减少用户测试时间 ,简化管理,简化管理l降低开发风险降低开发风险l满足不断变化的需求满足不断变化的需求缺点缺点:l开发工具要求高开发工具要求高 l解决复杂系统和大系统问题很解决复杂系统和大系统问题很 困难(缺乏整体规划和系统分析)困难(缺乏整体规划和系统分析)l由于采用由于采用“编码、实现、修复编码、实现、修复”的的过程,增加了系统支持和运行成本过程,增加了系统支持和运行成本在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确面向对象开发方法的基本思想面向对象开发方法的基本思想 面向对象开发面向对象开发方法的特点方法的特点 面向对象开发方法面向对象开发方法在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确面面向向过过程程:分分析析出出解解决决问问题题所所需需要要的的步步骤骤,然然后后用用函函数数把把这这些些步步骤骤一一步步一一步步实实现现,使使用用的的时时候候一一个个一一个个依依次次调调用用就就可可以了。以了。结构化的过程,按步骤进行结构化的过程,按步骤进行面面向向对对象象:把把构构成成问问题题事事务务分分解解成成各各个个对对象象,建建立立对对象象的的目目的的不不是是为为了了完完成成一一个个步步骤骤,而而是是为为了了描描叙叙某某个个事事物物在在整整个个解决问题的步骤中的行为。解决问题的步骤中的行为。面向对象与面向过程面向对象与面向过程在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确例如五子棋,面向过程的设计思路就是首先分析问题的步骤例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1 1、开始游戏、开始游戏2 2、黑子先走,、黑子先走,3 3、绘制画面,、绘制画面,4 4、判断输赢,、判断输赢,5 5、轮到白子,、轮到白子,6 6、绘制画面,、绘制画面,7 7、判断输赢,、判断输赢,8 8、返回步骤、返回步骤2 2,9 9、输出最后结果。、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。把上面每个步骤用分别的函数来实现,问题就解决了。面向对象与面向过程面向对象与面向过程在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确而而面面向向对对象象的的设设计计则则是是从从另另外外的的思思路路来来解解决决问问题题。整整个个五五子子棋棋可可以以分分为以下三个对象:为以下三个对象:1 1、黑白双方,这两方的行为是一模一样的,、黑白双方,这两方的行为是一模一样的,2 2、棋盘系统,负责绘制画面,、棋盘系统,负责绘制画面,3 3、规则系统,负责判定诸如犯规、输赢等。、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。局进行判定。面向对象与面向过程面向对象与面向过程在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确而而面面向向对对象象的的设设计计则则是是从从另另外外的的思思路路来来解解决决问问题题。整整个个五五子子棋棋可可以以分分为以下三个对象:为以下三个对象:1 1、黑白双方,这两方的行为是一模一样的,、黑白双方,这两方的行为是一模一样的,2 2、棋盘系统,负责绘制画面,、棋盘系统,负责绘制画面,3 3、规则系统,负责判定诸如犯规、输赢等。、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。局进行判定。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。面向对象与面向过程面向对象与面向过程在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确面向对象开发方法的基本思想(面向对象开发方法的基本思想(Object Oriented)客客观观世世界界是是由由各各种种各各样样的的对对象象组组成成的的,每每种种对对象象都都有有各各自自的的内内部部状状态态和和运运动动规规律律,不不同同对对象象之之间间的的相相互互作作用用和和联联系系就就构构成成了了各各种种不不同同的的系系统统。系系统统开开发发人人员员首首先先根根据据用用户户的的需需求求,找找出出和和确确定定问问题题领领域域对对象象和和类类,对对其其进进行行静静态态的的结结构构描描述述和和动动态态行行为为描描述述,然然后后建建立立解解决决领领域域的的模模型型,用用问问题题领领域域对对象象和和类类、接接口口对对象象和和类类、运运行行对对象象和和类类以以及及基基础础与与实实用用对对象象和和类类去去构构成成一一个个体体系系结结构构,通通过过不不断断地地反反复复与与累累增增,尽尽可可能能直直接接描描述述现现实实世世界界,实实现现模模块块化化、可重用,完全而准确地满足用户的所有要求。可重用,完全而准确地满足用户的所有要求。面向对象开发方法面向对象开发方法在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确面向对象开发方法的特点面向对象开发方法的特点解解决决问问题题的的概概念念和和方方式式上上与与人人们们认认识识世世界界的的方方式式是是完完全全一一致致的的,因此,易于人们所接受因此,易于人们所接受模块的独立性及程序的共享和可重用性高模块的独立性及程序的共享和可重用性高新新型型软软件件使使用用了了面面向向对对象象的的概概念念和和技技术术,给给面面向向对对象象提提供供了了强强大大的技术支持的技术支持面向对象开发方法面向对象开发方法在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯度,由浅入深,所提出的问题也很明确原型法:适用于用户难以确定需求的时候,根据已给的和分析的需求,建立一个原始模原型法:适用于用户难以确定需求的时候,根据已给的和分析的需求,建立一个原始模型,修改模型(在声明周期法中,需求分析一般不再多修改)。在开发阶段把信息相互型,修改模型(在声明周期法中,需求分析一般不再多修改)。在开发阶段把信息相互反馈,直至模型的修改,使模型趋于完善。在各个过程中,用户的参与和决策加强了,反馈,直至模型的修改,使模型趋于完善。在各个过程中,用户的参与和决策加强了,最终的结果更适合用户的要求。最终的结果更适合用户的要求。面向对象与结构化方法的最基本的区别在它们对功能和数据的不同处理。面向对象与结构化方法的最基本的区别在它们对功能和数据的不同处理。结构化软件开发方法是围绕实现处理功能的结构化软件开发方法是围绕实现处理功能的“过程过程”来构造系统的。它几乎都是将功能来构造系统的。它几乎都是将功能和数据分开考虑的。它遵循面向过程的问题求解方法,是用计算机能够理解的逻辑来描和数据分开考虑的。它遵循面向过程的问题求解方法,是用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决流程。述和表达待解决的问题及其具体的解决流程。面向对象软件开发方法则是在解空间引入了面向对象软件开发方法则是在解空间引入了“对象对象”的概念的概念,逼真地描述解空间的客观逼真地描述解空间的客观实体实体,从而使客观描述符合人类的思维习惯。通过识别问题域的对象从而使客观描述符合人类的思维习惯。通过识别问题域的对象,分析它们之间的关分析它们之间的关系系,建立对象模型、动态模型和功能模型建立对象模型、动态模型和功能模型,利用面向对象观点建立求解域模型的过程。利用面向对象观点建立求解域模型的过程。三种方法的比较三种方法的比较在整堂课的教学中,刘教师总是让学生带着问题来学习,而问题的设置具有一定的梯