信息系统的开发方法.PPT

上传人:牧羊曲112 文档编号:5230491 上传时间:2023-06-16 格式:PPT 页数:68 大小:273.50KB
返回 下载 相关 举报
信息系统的开发方法.PPT_第1页
第1页 / 共68页
信息系统的开发方法.PPT_第2页
第2页 / 共68页
信息系统的开发方法.PPT_第3页
第3页 / 共68页
信息系统的开发方法.PPT_第4页
第4页 / 共68页
信息系统的开发方法.PPT_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《信息系统的开发方法.PPT》由会员分享,可在线阅读,更多相关《信息系统的开发方法.PPT(68页珍藏版)》请在三一办公上搜索。

1、1,第十七章 信息系统的开发方法,2,概述,管理信息系统的开发是一项大的系统工程性质的工作,一般的系统工程均要三个要素:合理确定系统目标;组织系统性队伍;遵循系统工程的开发步骤。所有这些要素均要在坚强的领导下才能完成:因为信息系统耗资巨大,历时相当长,并且涉及到管理方式变革的任务,因而必须主要领导者亲自抓才能成功。信息系统失败的主要原因是主要领导者不是参加者,而是旁观者。所以说主要领导者参与是管理信息系统开发的先决条件。,3,概述,主要领导者最清楚自己企业的问题,最能合理地确定系统目标,他拥有实现目标的人权、财权、指挥权,他能够决定投资、调整机构、确定计算机化水平等。领导人员怎样领导管理信息系

2、统的开发工作?首先,领导人员应有一些管理信息系统的基本知识,能大概知道计算机原理和功能,以及包括的主要设备;其次,领导人员应有提高自己企业管理水平的设想和运用现代管理科学的设想;再次,领导人员要懂得管理信息系统的开发步骤和每步的主要工作;最后,领导者要会用人,会组织队伍。,4,概述,领导者推动管理信息系统的第一步是建立一个信息系统委员会:信息系统委员会是领导者的主要咨询机构,又是信息系统开发的最高决策机构,它的主要工作是确定系统目标,审核和批准系统方案,验收和鉴定系统以及组建各种开发组织。信息系统委员会的人员包括:各级管理组织的主要负责人,如财务科、计划科、销售科等;有经验的管理专家,如掌握预

3、测技术和计划技术的专家;信息系统分析员。,5,概述,在信息系统委员会的领导下要建立一个系统规划组或系统分析组,简称系统组。系统组应有各行业的专家,如管理专家、计划专家、系统分析员、运筹专家、计算机专家等。这支队伍可以由本单位抽人组成,大企业可以这样;也可以请外单位的人,如由科研单位、大专院校、咨询公司派出专家和本单位专家结合组成。系统规划的主要内容包括企业目标的确定、解决目标的方式的确定、信息系统目标的确定、信息系统主要结构的确定、工程项目的确定及可行性研究等;系统规划是一个全面的长期的计划,在规划的指导下就可以进行一个个项目的开发。,6,概述,每个项目的开发均可由四个阶段来完成,即系统分析、

4、系统设计、系统实现和系统评价。系统分析的内容包括数据的收集、数据的分析、系统数据流程图的确定以及系统方案的确定等。系统设计包括计算机系统流程图的确定、编码、输入输出设计、文件设计、程序设计等。系统实现包括机器的购买、安装、程序调试、系统的切换以及系统的运行和维护等。系统的评价包括建成时的评价和运行后的评价,发现问题并提出系统更新的请求等。,7,这四个阶段组成一个生命周期。这个周期是周而复始进行的,一个系统开发完成以后就不断地评价和积累问题,积累到一定程度就要重新进行系统分析,开始一个新的生命周期。一般来说不管系统运行好坏,每隔35年也要进行新的一轮的开发,当然对过几年以后的规划也要修订。各个阶

5、段中各种人员的职责见P21表1-2。,概述,8,概述,管理信息系统的开发步骤,9,概述,管理信息系统开发中应注意的地方:系统分析占了很大的工作量(超过20%),只有分析得好,计划得好,以后的设计才能少走弯路;不应把买机器放在第一位,而应在系统分析以后再决定买什么样的机器,何时购买;程序的编写要在很晚才进行,要在系统分析和设计阶段以后,有了严格的说明时再进行;管理信息系统的开发要和企业变革同时进行,只有以BPR为指导思想进行管理系统的变革,才能更好的进行信息系统的规划与开发。,10,概述,BPR是以过程的观点来看待企业的运作,对企业运作的合理性进行根本性地再思考和彻底地再设计,以信息技术和人员组

6、织为使能器,以求企业的劳动生产率等关键的指标得到巨大提高和改善。所以在系统规划和系统分析的时候,首先要考虑管理思想、管理方法和管理组织以及管理的变革,充分考虑信息技术的潜能,以达到系统的开发效果,使之合理性最大。,11,概述,基于BPR的管理系统变革步骤,管理信息系统的开发方法,系统开发方法的演变系统开发方法体系结构系统开发的一般公用阶段信息系统开发的组织信息系统开发的项目管理系统开发生命周期信息系统工程的二维分解常用的系统开发方法及其优缺点,13,系统开发方法的演变,6070年代是结构化系统分析与设计时代:开发工作结构化、标准化,将开发过程划分需求分析、设计、实现、测试等几个生命周期阶段,经

7、历了瀑布模型、蛛网模型、强调“初期阶段”的重要性等几个阶段;80年代初是原型法(prototyping)时代,在4GL环境中开发,先抓住局部设计实现,然后不断修改,直到全面满足要求;80年代末是CASE(计算机辅助软件工程)方法和OO(面向对象)方法;90年代是客户/服务器时代,或是基于WEB的开发时代:这时客户购买现成的软件包,甚至是整个系统,然后进行基于部件的开发或进行系统集成。,14,信息系统开发方法体系结构,1系统开发生命周期(SDLC):是指组织、管理和控制信息系统开发过程的一种基本框架,以这些方法所进行的过程的特点进行分类(按时间过程分类)。生命周期法LC:遵循生命周期法的开发要求

8、,自顶而下,按工作阶段顺序开发系统。原型法PROT.:首先建立一个能反映用户重要需求的原型,通过与用户反复的交流,不断地对系统进行修改,直到建立一个完全符合用户要求的新系统。,15,信息系统开发方法体系结构,2方法学:指把具体的方法和技术包装在一起而形成的一种思想体系。从驱动对象方法论的角度分类(按系统的分析要素分类)有:结构化方法(即面向功能PO(过程)的方法):强调系统的功能属性。数据建模方法(即面向数据DO的方法,又称信息工程方法):强调系统的数据属性。面向对象OO方法:强调系统的行为属性。,16,信息系统开发方法体系结构,3技术:指支持某种方法论的技术。如结构化分析技术、软件复用技术。

9、4系统开发环境/工具:指支持信息系统生命周期、方法学以及技术的应用软件。如:计算机辅助软件工程CASE、SDE(软件开发工程)、SEE(软件工程环境)、IPSE(集成化工程项目支持系统)等。实际开发中,通常将以上几种方法和技术结合使用,如面向数据方法和原型法相结合,面向处理和面向数据相结合,面向对象和面向处理相结合等,而且经常借助于一些系统开发环境/工具。,17,MIS开发方法,生命周期法LC,原型法PROT.,面向过程方法,(结构化方法),面向数据方法,(信息工程方法),面向对象方法,(OO方法),可视化技术,计算机辅助软件,工程(CASE),软件复用技术,其它技术,计算机辅助软件,工程(C

10、ASE),软件开发工程,(SDE),集成化的项目/程序,支持技术(IPSE),管理信息系统开发方法体系机构,系统开发生命周,期(SDLC),方法学:驱动,对象的观点,技术,计算机信息系统开发环境工具,18,一般公用阶段问题的识别,搞清楚5个W,即what要做什么,why为什么要做,who由誰来做,where在什么地方做,when什么时候做。系统开发的最大错误是没弄清问题就动手去做,结果在错误的时间、错误的地点做了错误的事,不是前功尽弃,也是得不偿失,因而识别问题是最最重要的事,问题识别的越准越清楚,系统开发成功的概率将会越大。要避免象过去进行数据处理系统的分析时只提调查信息需要,所建成的系统也

11、只是手工作业的计算机化,这只能减轻中低层管理人员的负荷,对提高效益和效率的作用甚少。当代信息系统的开发,均要首先了解企业目标、现行企业系统的问题、企业的信息战略,然后才是如何用信息技术解决这些问题。,19,一般公用阶段问题的识别,要识别的问题首先是管理上的问题,例如企业战略优势下滑、产品滞销、生产周期过长、成本过高、资产短缺、人浮于事、机构臃肿、行政效率低下等,然后才是信息技术问题,如数据混乱、处理速度慢、设备老化等。识别管理和技术问题后,还要了解这些需求的确实程度,即捕捉未来的信息和信息技术的需求,这些需求不是由管理人员直接说出,而是由系统分析员科学启发后,激起管理人员的新需求。现代的系统分

12、析已经由“满足顾客需求”(被动的)变到“使顾客满意”(主动的),系统分析员识别问题要有变革现实的主动性。识别确定程度,要识别信息需求的确定程度和稳定程度、处理方式的确定和稳定程度,以及管理人员思想组织的确定和稳定程度。,20,一般公用阶段可行性研究,可行性(feasibility)研究是指在当前组织内外的具体条件下,系统开发工作必须具备的资源和条件,看其是否满足系统目标的要求。其目的是保证资源的合理使用,避免浪费和一些不必要的失败。目标和方案的可行性目标是否明确,方案是否切实可行,是否满足组织进一步发展的要求等。技术方面的可行性根据现有的技术条件,考虑所提出的要求能否达到:人员和技术力量的可行

13、性:科研人员的技术力量和开发能力。基础管理的可行性:现有的管理基础、管理技术、统计手段等,21,一般公用阶段可行性研究,计算机硬件的可行性:外围设备、通讯设备、计算机设备的性能等。计算机软件的可行性:软件的功能,可靠性,使用和掌握的可行性。环境条件以及运行技术方面的可行性经济方面的可行性从组织的人力、财力、物力三方面来考查系统开发的可行性,如有多少资源可以利用,可以投入多少资金,系统规模多大,系统建成后可能带来的经济效益怎么样。社会方面的可行性考虑一些社会的或者人的因素对系统的影响,如系统实施后对组织、工作方式和管理模式的影响。,22,一般公用阶段系统开发原则,领导参加的原则:组织力量、协调关

14、系、明确目标。优化与创新的原则:根据实际情况和科学管理的要求加以优化与创新,不能模拟旧的管理模式和处理过程。充分利用信息资源的原则:数据尽可能共享、减少系统的输入输出、充分发挥深层次信息加工作用。实用和时效的原则:从制定系统开发方案到最终的信息系统是实用的、及时的和时效的。规范化原则:按照标准化、工程化的方法和技术来开发系统。发展变化的原则:充分考虑到组织和管理模式可能带来的变化,使系统具有一定适应环境变化的能力。,23,一般公用阶段系统开发前的准备工作,基础准备工作管理工作科学化,具体方法程序化、规范化。做好基础数据管理工作,严格计量程序、计量手段、检测手段和数据统计分析渠道。数据、文件、报

15、表的统一化。人员组织准备领导参与建立研制开发队伍明确各类开发人员的职责,,,24,一般公用阶段系统开发策略,接收式开发策略认为用户对信息需求是正确的、完全的和固定的,现成的信息处理过程和方式也是科学的。适用于系统规模不大,信息和处理过程结构化程度高,用户和开发者又都很有经验的场合。直接式的开发策略经过调查分析后,即可确定用户需求和处理过程,且以后不会有大的变化,可以按部就班地完成开发任务。对开发者和用户要求都很高,要求在系统开发之前就完全调查清楚实际问题的所有状况和需求。,25,一般公用阶段系统开发策略,迭代式的开发策略问题有一定的复杂性和难度,一时不能完全确定,需要进行反复分析、反复设计,一

16、般化费较大,耗时较长,但对用户和开发者的要求较低。实验式的开发策略需求的不确定性很高,一时无法制定具体的开发计划,只能用反复试验的方式来做,如原型法。一般需要较高级的软件支撑环境,且对大型项目在使用上有一定的局限性。,26,一般公用阶段系统开发计划,系统开发计划是针对已确定的系统开发策略,选定相应的开发方法。选定开发方法时必须注意到这种方法所适用的开发环境、所需要的计算机软硬件技术以及开发者对它的熟悉程度。开发计划主要是制定系统开发的工作计划、投资计划、进度计划、资源利用计划。开发计划一般是根据具体问题、具体情况而定,没有什么统一的模式。常用甘特图来记载和描绘开发计划的时间、进度、投入和工作顺

17、序之间的关系。,27,信息系统开发的组织,1.自行开发方式由用户依靠自己的力量独立完成系统开发的各项任务。要求用户有较强的系统分析、设计和编程能力;优点:费用低,易维护、能培养企业自己的IS 人才。2委托开发方式委托系统集成商按照用户的需求承担开发任务。(只要求用户配备精通管理业务的人负责参与),省事。缺点:费用高、维护和扩展均依靠对方,不利于企业的人才培养。,28,信息系统开发的组织,3.联合开发方式由用户中精通管理业务、计算机技术的开发人员与有丰富经验的机构或专业IS 开发人员共同完成。用户参与系统分析、设计,并由用户开展系统转换及系统管理、维护工作。缺点:不易合作,难协调。4.购买商品化

18、软件方式对功能单一、简单的小型系统购买商品化管理软件很有效,但对规模较大、功能复杂、需求不确定性程度比较高的系统不适应。,29,信息系统开发的项目管理,项目管理:是对项目开发组织进行管理的过程;做出项目的开发计划,控制系统的开发进度,做好项目的经费支出和经费控制,同时要协调好各级开发人员和各级用户之间的关系,做好文档的管理工作,使项目的开发工作能够按时、保质、在经费许可的范围内完成。项目管理方法:目前有许多软件工具可用来做项目管理,如:Microsoft Project;另外还有一些计算机辅助软件工程CASE工具也可用来进行项目管理。CASE是实现计算机软件工程的一种技术或环境,经过统一的数据

19、操纵手段和技术,,30,信息系统开发的项目管理,从多个方向(实现技术与项目管理),在多个阶段(覆盖软件生命的全周期)辅助软件开发人员提高软件产品的质量,使软件工程得到具体的应用,并实现开发过程的自动化。项目管理内容明确项目管理组织和领导人明确项目目标和任务,把项目划分成几个阶段制定项目计划(任务、进度、费用、人员、资源、文档和标准化、测试等计划)每阶段进行实施监督管理,并在后期制定下阶段详细计划作好质量、时间和费用的管理控制,发现问题采取适当的控制策略,31,系统开发生命周期的基本概念,随着企业自身的发展和变化、计算机及网络技术的迅猛发展,一个IS系统用了几年以后,都可能出现新情况、新问题,从

20、而提出新需求、新目标,这时就需要更新或建立新的IS系统。这一过程包括:需求调查和可行性分析新系统的开发新系统的安装和配置系统的转换新系统的运行这种周期叫IS的生命周期。IS的生命周期循环不息。系统开发生命周期由管理策略部分和开发策略部分两部分内容组成。,32,系统开发生命周期的基本原理,原理一:用户的积极参与原理二:使用问题求解方法原理三:严格按划分的阶段和活动进行系统开发原理四:文档的标准化原理五:检查点的设立原理六:分而治之的思想,33,IS工程的二维分解,时间维:沿着生命周期的时间顺序,把开发的全过程分解成若干阶段,每个阶段再划分为若干步骤,使开发有计划,有步骤,有组织的进行。,规划,分

21、析,设计,实现,评价,运行与,维护,开发工程,(时间维分解),MIS工程,维护工程,工期,34,IS工程的二维分解,空间维:把IS的实体(系统)划分为若干个子系统。按垂直方向如分解为战略决策与计划,管理控制和执行处理三个层次;再按水平方向分解,如划分为:生产管理,材料管理,财会管理等子系统。常用方法:把系统按空间维分成若干个子系统,分期开发子系统,子系统的开发再遵循时间维的分解,按开发工程分步骤开发。,35,常用的系统开发方法及其优缺点,结构化系统开发方法原型方法面向对象的开发方法计算机辅助开发方法各种开发方法的比较,36,结构化系统开发方法,结构化系统开发方法就是结构化开发方法、工程化的系统

22、开发方法和生命周期方法的结合。其基本思想是:用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化,自顶向下地对系统进行分析与设计,自底向上地进行实施。它把MIS的开发分为五个阶段:总体规划(确定范围)、系统分析、系统设计、系统实施、系统的运行维护。对其每一阶段规定它的任务、工作流程、管理目标及要编制的文档,使开发工作易于管理和控制,形成一个可操作的规范。,37,生命周期法的阶段划分,规划,确定范围,分析,设计,实施,支持,什么时候,开发什么系统,提出的改变,实际系统,提出系统技术方案,问题描述,目标和项目计划,目标系统逻辑模型,作为与组织战略目标相关的系统,38,39,生命周期法主

23、要的特点,生命周期法通常是在系统需求比较明确的情况下采用,它主要的特点是:目标明确、结构化的分析设计思想、严格区分工作阶段、文档标准化、开发过程易于控制,但开发周期长,见效慢,风险也比较大。在实际开发中,这种传统的开发方法已经逐渐渗入了新的思想,或者与其它方法结合起来使用。GB8566-88 计算机软件开发规范GB8567-88 计算机软件产品开发文件编制指南GB1526-89 信息处理数据流程图、系统流程图和系统资源图的文件编制符号及约定GB/T12504-90计算机软件质量保证及配置管理计划规范,40,结构化系统开发方法的优缺点,优点:建立面向用户的观点。严格区分工作区间。结构化、模块化、

24、自顶向下进行分析、设计,自底向上进行实施。深入调查研究,并在分析阶段充分预料可能发生的变化。开发过程按工程标准规范化,文档资料标准化。,缺点:开发周期长。繁琐,使用工具落后。不可能充分预料可能发生的情况及变化。不直观,用户最后才能看到真实模型。,41,原型方法(快速原型法),严格定义和预先说明的生命周期法理论基础是严密的,它要求系统开发人员和用户在系统开发初期对整个系统的功能有全面、深刻的认识,并制定出每一阶段的计划和说明书,因此用生命周期法开发系统有如下一些不足:开发周期长、繁琐、与用户交流不直观(用户最后才能看到真实模型)、不能充分预料系统可能发生的情况及变化。而当今一些信息系统其特点是:

25、信息系统的开发要快、成本要低;信息系统使用环境经常发生变化;用户需求开发初期难以完全确定;随着信息技术的迅速发展,另一种开发方法快速原型法得到越来越广泛的使用。,42,快速原型法的作用,原型法是一个建立模型的过程,该模型能示范目标产品、服务或系统的特征。那么,一个原型就是一个目标产品、服务或系统的模型。获得需求:原型法是一个很好的需求获得工具,它能从建立基本系统需求的简单原型开始,然后允许知识工作者增加更多的需求(信息或过程)作为对原型的修订。大多数人采用原型法就是因为这个目的。帮助确定需求:在很多系统开发过程中,知识工作者都难以确定他们究竟需要什么,他们只知道现行系统不能满足自己的需求。在这

26、种情况下,可采用原型法帮助知识工作者确定他们的确切需求。,43,快速原型法的作用,证明系统在技术上是可行的:有些情况必须正视,即存在一些无法应用的技术情况。在确定目标系统范围时,我们常常不清楚自己能知道什么,这就是为何确定范围要包括技术可行性评价。如果不能肯定某些事情是否可做,那就要先建立它的原型。利用原型证明一个目标系统的技术可行性是一种概念检验的证明。,44,快速原型法的作用,推广目标系统的思想:许多人抵制信息技术的变化。现行系统看上去运行良好,而且并未看出需要开发和学习使用新系统的理由。在这种情况下,就必须使这些人确信目标系统将比现行系统更好。由于原型法相对而言开发速度快,因此我们无需投

27、入太多的时间就能建立起一个原型,以使人们确信这个目标系统值得开发。一个用于使人们确信目标系统价值的原型就是推广原型。,45,快速原型法的开发过程,快速原型法的开发过程是:首先利用RAD工具(Rapid Application Development快速应用程序开发工具)建立一个能反映用户主要需求的原型,让用户实际看见新系统的概貌,以便判断哪些功能符合要求、哪些需要改进,通过对原型的反复改进,最终建立符合用户要求的新系统。快速原型法在建立新系统时可分为下述四个阶段:1、确定用户的基本需求在这个阶段中,系统开发人员首先进行详细的系统调查,识别出新系统的基本需求,如:系统功能、人机界面、输入输出、运

28、行环境、性能及安全可靠性。,46,快速原型法的开发过程,2、开发初始原型(见例)根据用户的要求,开发人员迅速建立起一个初始原型,该原型是在计算机上初步实现的信息系统。3、征求用户对原型的改进意见让用户亲自使用原型,对原型进行检查、评价和测试,指出原型的缺点和不足,提出改进意见和需求。4、修正和改进原型开发人员对原型进行修改、扩充、完善,直到用户满意为止。,47,快速原型法的类型,原型化方法目前有两种类型:即丢弃型和进化型。而从应用目的和场合来分又可分为三种类型:研究型、实验型和进化型。研究型原型属于需求原型法,通过原型的交流修改再交流来确定用户的真正需求和系统功能,原型最后被丢弃。研究型原型可

29、用来加强生命周期法的需求定义和功能分析过程。实验型原型是为某实现方案而设计的原型,目的是为了验证所选择方案的可行性,验证后丢弃原型。,48,快速原型法的类型,进化型原型法是按较准确的用户需求,产生完整的系统,然后不断的修改、完善,直到用户满意,最终完善的原型就是最终系统。进化型原型法有两种开发方式:(1)递增式系统开发系统已有总体框架,各子系统和模块的功能结构也清楚,但没具体实现,用递增式方式对各功能模块进行原型法开发,相当于塔积木。可用于解决需要集成的复杂系统的设计问题。(2)进化式系统开发它把系统开发看成一种周期过程。从设计到实现再评价反复进行,前期成果可看作一个版本系列,不断完善推出新的

30、版本。,49,原型法的软件支撑环境,关系数据库管理系统(RDBMS):具有方便灵活的数据字典,能存储所有实体;与RDBMS相对应的快速查询系统:支持任意非过程化(即交互定义方式)组合条件查询;高级软件工具(4GL):支持结构化程序,允许采用交互的方式迅速地进行书写与维护,产生任意程序语言的模块(即原型);非过程化的报告或屏幕生成器,允许设计人员详细定义报告或屏幕输出样本。,50,原型法的优缺点,优点:易于认识系统、确定需求,容易被人们所接受。便于系统分析人员与用户的沟通。开发周期短,费用相对少。提供原型给用户,使用户参与更为实际,更富有建设性。易于用户使用,减少对用户的培训时间,同时用户满意度

31、高。,缺点:对大型系统或复杂性高的系统不适用。开发过程管理困难。原型不断的修改完善,使用户容易缺乏信心和耐心,而把某个阶段的原型当做新系统。开发人员也很容易潜意识用原型取代系统分析,51,面向对象的开发方法,90年代面向对象(OO)的技术和程序设计语言取得了巨大的成功,信息系统的开发更多的采用面向对象的程序设计语言和支持面向对象的数据库管理系统;面向对象的技术把对象的属性(数据)和处理(方法)封装在一起,是真正的抽象思维,它通过子类对父类的继承,使软件便于维护和扩充,提高了软件的可重用性。而结构化(SD)方法把数据和过程作为相互独立的实体,使得软件的可复用性、维护困难。,52,面向对象的开发方

32、法,面向对象方法认为,客观世界是由各种各样的对象组成,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系构成了各种不同的系统。当我们在设计和实现一个客观系统时,如能在满足需求的条件下,把系统设计成一些不可变的(相对固定的)部分(对象)组成的最小集合,这个设计是最好的。目前有几种流行的面向对象方法,如:J.Rumbaugh的面向对象的建模技术OMTCoad/Yourdon的面向对象分析设计方法OOA&OODJacobson的面向对象软件工程OOSE等,53,对象的特征,模块性对象是一个独立存在的实体,从外部可以了解它的功能,但内部细节是“隐蔽”的,它不受外界干扰,对象之间的依赖

33、性很小,因而可以独立地被其它各个系统所选用。继承和类比性事物之间都有一定的相互联系,事物在整体结构中都会占有它自身的位置。在对象之间有属性关系的共同性,称之为继承性,即子模块继承了父模块的属性。通过类比方法抽象出典型对象的过程称之为类比。动态连接性各种对象之间统一、方便、动态的消息传送机制。,54,面向对象方法的基本思想,客观事物都是由对象(object)组成的,对象是在原事物基础上抽象的结果。任何复杂的事物都可以通过对象的某种组合结构构成。对象由属性和方法组成。属性(attribute)反映了对象的信息特征,如特点、值、状态等。而方法(method)则是用来定义改变属性状态的各种操作。对象之

34、间的联系主要是通过传递消息(message)来实现的,而传递的方式是通过消息模式(message pattern)和方法所定义的操作过程来完成的。,55,面向对象方法的基本思想,对象按其属性进行归类(class)。类有一定的结构,类上可以有超类(superclass),类下可以有子类(subclass)。这种对象或类之间的层次结构是靠继承关系维系着的。对象是一个被严格模块化了的实体,称之为封装(encapsulation),这种封装了的对象满足软件工程的一切要求,而且可以直接被面向对象的程序设计语言所接受。,56,面向对象方法的开发过程,系统调查和需求分析对系统面临的具体管理问题以及用户对系统

35、开发的需求进行调查研究,即先弄清要干什么。分析问题的性质和求解问题在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等,即面向对象分析OOA。整理问题对分析的结果作进一步地抽象、归类、整理,并最终以范式的形式将它们确定下来,即面向对象设计OOD。程序实现用面向对象的程序设计语言将上一步整理的范式直接映射为应用程序软件,即面向对象编程OOP。,57,OOA的基本步骤,OOA分析方法是建立在对处理对象客观运行状态的信息模拟(实体关系图和语义数据模型)和面向对象程序设计语言的概念基础之上,用OOA分析一个事物时,遵循五个基本步骤:确定对象(object)和类(class):对象是对数据及其

36、处理方式的抽象,反映了系统保存和处理现实世界中某些事物的信息的能力。类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。确定结构(structure):结构是指问题域的复杂性和连接关系。类成员结构反映了泛化特化关系,整体部分结构反映整体和局部之间的关系。,58,OOA的基本步骤,确定主题(subject):主题是指事物的总体概貌和总体分析模型。确定属性(attribute):属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。确定方法(method):方法是在收到消息后必须进行的一些处理方法:方法要在图中定义,并在对象的存储中指定

37、。,59,OOD的主要工作,OOD是OO方法中的一个中间过渡环节,其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受,主要的工作有:对象定义规格的求精过程根据面向对象的概念模型整理分析所确定的对象结构、属性、方法等内容,改正错误的内容,删去不必要和重复的内容等;进行分类整理,以便于下一步数据库设计和程序处理模块设计的需要。整理的方法主要是进行归类,对类-&-对象、属性、方法和结构、主题进行归类。,60,OOD的主要工作,数据模型和数据库设计数据模型设计需要确定类-&-对象属性的内容、消息连接方式、系统访问数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库

38、结构模型中。优化从另一个角度对分析结果和处理业务过程的整理归纳,优化包括对象和结构的优化、抽象、集成。,61,面向对象方法的优缺点,优点:以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换;解决了传统结构化开发方法中客观世界描述工具与软件结构不一致问题,缩短了开发周期;解决了从分析和设计到软件模块结构之间多次转换的繁杂过程。,缺点:需要有一定的软件基础支持才可以应用;对大型系统会造成系统结构不合理、各部分关系失调等问题。,62,计算机辅助开发方法,自计算机在管理中应用以来,系统开发过程,特别是系统分析、设计和开发过程,就一直是制约信息系统发展的一个瓶颈,直到80年代集

39、图形处理技术、程序生成技术、关系数据库技术和各类开发工具于一身的CASE才缓和并解决了这一问题。从方法论的角度看,计算机辅助开发并不是一门真正意义上的方法,它是对整个开发过程进行支持的一种技术。CASE方法解决问题的基本思路是:系统开发过程中的第一步如果都可以在一定程度上形成对应关系的话,那么就完全可以借助于专门研制的软件工具来实现上述一个个的开发过程。,63,计算机辅助开发方法,如:结构化方法中的业务流程分析数据流程分析功能模块设计程序实现;业务功能一览表数据分析、指标体系数据/过程分析数据分布和数据库设计数据库系统。OO方法中的问题抽象属性、结构和方法定义对象分类确定范式程序实现等等。在实

40、际开发过程中上述几个过程很可能只是一定程度上对应(不是绝对的一一对应),故这种专门研制的软件工具暂时还不能一次“映射”出最终结果,还必须实现其中间过程。对于不完全一致的地方由系统开发人员再作具体修改。,64,CASE环境的特点,在实际开发一个系统中,CASE环境的应用必须依赖于具体的开发方法,例如结构化方法、原型方法、OO方法等,而一套大型完备的CASE产品,能为用户提供支持上述各种方法的开发环境。CASE只是一种辅助的开发方法,主要体现在帮助开发者方便、快捷地产生出系统开发过程中的各类图表、程序和说明性文档。CASE环境从根本上改变了我们开发系统的物质基础,在考虑问题的角度、开发过程的做法以

41、及实现系统的措施等方面都与传统方法有所不同。,65,CASE方法的特点,解决了从客观对象到软件系统的直接映射问题,强有力地支持软件/信息系统开发的全过程。使结构化方法更加实用。自动检测的方法大大提高了软件的质量。使原型化方法和OO方法付诸于实施。简化了软件的管理和维护。加速了系统的开发过程。使开发者从繁杂的分析设计图表和程序编写工作中解放出来。使软件的各部分能重复使用。产生出统一的标准化的系统文档。使软件开发的速度加快而且功能进一步完善。,66,各种开发方法的比较,从国外最新的统计数据来看,信息系统开发过程中系统调查和分析两个环节的工作量占到总开发工作量的60%以上,而系统设计和系统实现只占总

42、开发工作的不到10%。其中原来在开发工作中占工作量最大的编程与调试工作,而今只占不到10%的工作量,这一切归功于4GL、RDBMS以及各种开发工具的出现。原型方法是一种基于4GL的快速模拟方法,它通过模拟以及对模拟后原型的不断讨论和修改最终建立系统。要想将这样一种方法应用于一个大型信息系统开发过程中的所有环节是根本不可能的,所以它多被用于小型局部系统或处理过程比较简单的系统的设计到实现环节。,67,各种开发方法的比较,面向对象法是一种围绕对象来进行系统分析和系统设计,然后用面向对象的工具建立系统的方法,它可以普遍适用于各类信息系统开发,但是它不能涉足系统分析以前的开发环节。CASE方法是一种除了系统调查外全面支持系统开发过程的方法,同时也是一种自动化(准确地说是半自动化)的系统开发方法。而且在这种方法的应用以及CASE工具的设计中,自顶向下、模块化、结构化却是贯穿始终的。,68,各种开发方法的比较,综上所述,只有结构化系统开发方法是真正能较全面支持整个系统开发过程的方法,其它几种方法尽管有很多优点,但都只能作为结构化系统开发方法在局部开发环节上的补充,暂时都还不能替代其在系统开发过程中的主导地位,尤其是在占目前系统开发工作量最大的系统调查和系统分析这两个重要环节。总的来说,在实际开发中各种开发方法经常是混合应用的。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号