




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
管理信息系统的开发方法第一页,共一百零二页,编辑于2023年,星期一第二章管理信息系统的开发方法
了解管理信息系统的开发方式
了解管理信息系统开发的项目管理
熟练掌握结构化系统开发方法
熟练掌握原型化开发方法
掌握面向对象的开发方法
了解计算机辅助开发方法
能够综合运用各类开发方法第二页,共一百零二页,编辑于2023年,星期一第二章管理信息系统的开发方法2.1管理信息系统的开发方式2.2管理信息系统的项目管理2.3结构化系统开发方法2.4原型化方法2.5面向对象的开发方法2.6计算机辅助开发方法2.7各种开发方式的比较第三页,共一百零二页,编辑于2023年,星期一第二章管理信息系统的开发方法
管理信息系统的开发是一个较为复杂的系统工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能、管理知识、认识规律以及工程化方法等方面的问题。尽管系统开发方法有很多种,但遗憾的是至今尚未形成一套完整的、能为所有系统开发人员所接受的理论以及由这种理论所支持的工具和方法,本章将讨论目前常用的四种系统开发方法的基本思想、主要特点以及相应的工具和技术。第四页,共一百零二页,编辑于2023年,星期一2.1管理信息系统的开发方式2.1.1自主开发2.1.2委托开发2.1.3合作开发2.1.4购买现成软件2.1.5各种开发方式的比较第五页,共一百零二页,编辑于2023年,星期一2.1管理信息系统的开发方式管理信息系统的开发方式主要有独立开发方式、委托开发方式、合作开发方式、购买现成软件方式。这四种开发方式的选择,要根据使用单位的技术力量、资金情况、外部环境等各种因素进行综合考虑。不论哪一种开发方式都需要使用单位的领导和业务人员参加,并在管理信息系统的整个开发过程中,培养、锻炼、壮大使用单位的系统开发、设计和维护队伍。第六页,共一百零二页,编辑于2023年,星期一2.1.1
自主开发自主开发适合于有较强的管理信息系统分析与设计队伍和程序设计人员、系统维护使用队伍的组织和单位,如高等院校、研究所、计算机公司、等单位。独立开发的优点是开发费用少,实现开发后的系统能够适应本单位的需求且满意度较高,系统维护方便。缺点是由于不是专业开发队伍,容易受计算机业务工作的限制,系统优化不够,开发水平较低。第七页,共一百零二页,编辑于2023年,星期一2.1.2
委托开发委托开发方式适合于使用单位无管理信息系统分析、设计及软件开发人员或开发队伍力量较弱、但资金较为充足的组织和单位。委托开发的方式的优点是省时、省事,系统的技术水平较高。缺点是费用高、系统维护需要开发单位的长期支持。此种方式需要使用单位的业务骨干参与系统的论证工作,开发过程中,需要开发单位和使用单位双方及时沟通,进行协调和检查。第八页,共一百零二页,编辑于2023年,星期一2.1.3合作开发合作开发方式适合于使用单位有一定的管理信息系统分析、设计及软件开发人员,但开发队伍力量较弱,希望通过管理信息系统的开发建立完善和提高自己的技术队伍,便于系统维护工作的单位。双方共同开发成果,实际上是一种半委托性质的开发工作。优点是相对于委托开发方式比较节约资金,可以培养、增强使用单位的技术力量,便于系统维护工作,系统的技术水平较高。缺点是双方在合作中沟通易出现问题,需要双方及时达成共识,进行协调和检查。第九页,共一百零二页,编辑于2023年,星期一2.1.4购买现成软件目前,软件的开发正在向专业化方向发展,一些专门从事管理信息系统开发的公司已经开发出一批使用方便、功能强大的专项业务管理信息系统软件。为了避免重复劳动,提高系统开发的经济效益,也可以购买现成的适合于本单位业务的管理信息系统软件,如企业管理信息系统、教育管理信息系统、财务管理系统、进销存管理系统等等。此方式的优点是节省时间的费用、系统技术水平高。缺点是通用软件专用性较差,跟本单位的实际工作需要可能有一定的差距,有时可能需要做二次开发工作。因此,在选择通用软件时,不可只看开发商的宣传,要经过多方详尽的考查后再作决定。第十页,共一百零二页,编辑于2023年,星期一2.1.5各种开发方式的比较以上介绍的四种开发方式有各自的长处和短处,需要根据使用单位的实际情况进行选择,也可综合运用各种开发方式,见表2-1。方式特点比较独立开发委托开发合作开发购买现成软件分析和设计能力的要求较高一般逐渐培养较低编程能力的要求较高不需要需要较低系统维护的难易程度容易较困难较容易较困难开发费用少多较少较少说明开发时间较长,系统适合本单位,培养了自己的开发人员。省事,开发费用高。开发出的系统便于维护。最省事,但不一定完全适合本单位。第十一页,共一百零二页,编辑于2023年,星期一2.2管理信息系统的项目管理2.2.1项目管理的主要任务2.2.2项目管理的主要内容第十二页,共一百零二页,编辑于2023年,星期一2.2管理信息系统的项目管理在管理信息系统的建设过程中,不仅要有先进的设计方法和优良的开发工具,而且要有完善的管理策略和先进的管理技术,人们常说,“三分技术,七分管理”、“成功的信息系统归功于成功的管理”,就是强调项目管理的重要性。为了减少开发投资,提高系统的经济效益,要考虑多种因素的影响。一般认为,三分在于技术,七分在于管理。管理信息系统是以软件工程为主的知识密集型产品,它综合了多种技术,其开发过程是开创性的工作过程,有着一系列组织管理特点,依靠简单的热情和增加人力是行不通的,必须遵循其特有的规律,加强组织管理工作。第十三页,共一百零二页,编辑于2023年,星期一2.2.1项目管理的主要任务项目管理的主要任务有以下几个方面:①明确总体目标,制定开发规则,对开发过程进行组织管理,保证总体目标的顺利实现;②严格选拔和培训人员,合理组织开发机构和管理机构;③编制和调整开发计划进程表;④开发经费的概算与控制;⑤组织项目复审和书面文件资料的复查与管理;⑥系统建成后运行与维护过程的组织管理。第十四页,共一百零二页,编辑于2023年,星期一2.2.2项目管理的主要内容1)任务管理将整个开发工作划分成一个个较细的任务,并将这些任务落实到人或各个开发小组里,明确工作责任,使开发工作有序、高效。划分任务时,应该按统一的标准,包括任务内容、文档资料、计划进度、验收标准等。还要根据任务的大小、复杂程度以及所需软硬件等方面的原因进行资金划分。在开发过程中,各开发小组、参与者之间如何协调,需要哪些服务支持和技术支持等,都应在任务划分时予以明确。第十五页,共一百零二页,编辑于2023年,星期一2.2.2项目管理的主要内容2)计划安排任务划分后,还要制定详尽的开发计划表,包括配置计划、软件开发计划、测试评估计划、质量保证计划、安全保证计划、安装计划、培训计划、验收计划等。这些计划表的建立,应该尽可能地考虑周全,不要盲目制定不切实际的结束时间,也不要在开发过程中随意增加项目内容。这些计划制定出来以后,可以画出任务时间计划表,明确任务的开始时间、结束时间;表明任务之间的依赖程度。任务时间计划表的建立可以采用表格形式(如PERT技术等),也可以采用图形方式(如计划网络图、甘特图等),还可以使用软件工具(如MicroProject98等),其表达方式取决于实际的应用需求。第十六页,共一百零二页,编辑于2023年,星期一2.2.2项目管理的主要内容
3)经费管理经费管理是项目管理中一个重要因素,管理得好,可以促进开发工作的进展,起到少花钱多办事的作用;否则,花了很多钱,开发工作进展缓慢,影响开发人员的积极性,甚至导致系统开发的失败。在经费管理中,重要的是制定好经费开支计划,包括各任务所需的资金分配,系统开发时间表及相应的经费开支,各任务可能出现的超支情况及应付办法等,在执行过程中,如果经费有变动,还要及时通知相关人员。第十七页,共一百零二页,编辑于2023年,星期一2.2.2项目管理的主要内容4)审计与控制审计与控制是保证开发工作在预算的范围内,按照任务时间表来完成相应的开发任务。首先要制定开发的工作制度,明确开发任务,确定质量标准。还要制定详细的审计计划,针对每个开发阶段进行审计,并分析审计结果,处理开发过程中出现的问题,修正开发过程中出现的偏差。第十八页,共一百零二页,编辑于2023年,星期一2.2.2项目管理的主要内容5)风险管理任何一个系统开发项目都具有风险性,在风险管理中,应注意的是:技术方面必须满足需求,尽量采用商品化技术;经费开销控制在预算范围之内;保证开发进度;在开发过程中尽量与用户沟通;充分估计可能出现的风险,注意倾听开发人员的意见。第十九页,共一百零二页,编辑于2023年,星期一2.3结构化系统开发方法2.3.1结构化系统开发方法的基本思想2.3.2结构化系统开发方法的特点2.3.3系统开发的生命周期2.3.4结构化系统开发方法的优缺点第二十页,共一百零二页,编辑于2023年,星期一2.3结构化系统开发方法结构化系统开发方法(StructuredSystemDevelopmentMethodologies),亦称SSA&D(StructuredSystemAnalysisandDesign)或SADT(StructuredAnalysisandDesignTechnologies),是自顶向下结构化方法、工程化的系统开发方法和生命周期的结合,概括起来说就是自顶向下、逐步求精,分阶段实现的软件开发方法,是一种先整体后局部的信息系统开发方法,也是迄今为止开发方法中应用最普遍、最成熟的一种。第二十一页,共一百零二页,编辑于2023年,星期一2.3.1结构化系统开发方法的基本思想结构化系统开发方法的基本思想是:用系统工程的思想和工程化的方法,按用户至上的原则,结构化、模块化、自顶向下地对系统进行分析与设计。具体来说,就是先将整个信息系统开发过程划分出若干个相对独立的阶段,如系统规划、系统分析、系统设计、系统实施等。在前三个阶段持向自顶向下地对系统进行结构化划分。在系统调查时,应从最顶层的管理业务入手,逐步深入至最基层。在系统分析,提出新系统方案和系统设计时,应从宏观整体考虑入手,先考虑系统整体的优化,然后再考虑局部的优化问题。在系统实施阶段,则应坚持自底向上地逐步实施。也就是说,组织人力从最基层的模块做起,然后按照系统设计的结构,将模块一个个拼接到一起进行调试,自底向上、逐渐地构成整个系统。第二十二页,共一百零二页,编辑于2023年,星期一2.3.2结构化系统开发方法的特点结构化系统开发方法主要强调以下特点:1)运用系统的观点,自顶向下整体性的分析与设计和自底向上逐步实施的系统开发过程。即在系统分析与设计时要从整体全局考虑,要自顶向下地工作(从全局到局部,从领导到普通管理者);而在系统实现时,则要根据设计的要求先编制一个个具体的功能模块,然后自底向上逐步实现整个系统。第二十三页,共一百零二页,编辑于2023年,星期一2.3.2结构化系统开发方法的特点2)用户至上。用户对系统开发的成败是至关重要的,故在系统开发过程中,必须与用户保持密切联系,要充分了解用户对系统的需求和愿望,也要让用户了解系统的进展,以保证开发工作的正确方向和质量。3)深入调查研究。即强调在设计系统之前,深入实际单位,详细地调查研究,努力弄清实际业务处理过程的每一个细节,然后分析研究,制定出科学合理的新系统设计方案。第二十四页,共一百零二页,编辑于2023年,星期一2.3.2结构化系统开发方法的特点
4)严格区分工作阶段。把整个系统开发过程划分为若干个工作阶段,每个阶段都有其明确的任务和目标而每一阶段又可划分为若干个工作步骤。这种有序安排不仅条理清楚,便于计划管理和控制进度,而且后一阶段的工作又基于前一阶段的成果,前后衔接,不易返工。
5)充分预料可能发生的变化。因为系统开发是一项耗人力、财力、物力且周期很长的工作,一旦周围环境(组织的内外部环境、信息处理模式、用户需求等)发生变化,就会直接影响到系统的开发的工作,所以结构化开发法强调在系统调查和分析时,对将来可能发生的变化给予充分的重视,强调所设计的系统对环境的变化具有一定的适应能力。第二十五页,共一百零二页,编辑于2023年,星期一2.3.2结构化系统开发方法的特点6)开发过程工程化。系统开发过程中,资料的积累、整理、保管是十分重要的,是系统开发所得的宝贵财富。因此,所有工作文件必须要求标准化、规范化,按照统一的标准整理、归档,便于管理、交流和使用。第二十六页,共一百零二页,编辑于2023年,星期一2.3.3系统开发的生命周期用结构化系统开发方法开发一个系统,将整个开发过程从大的方面可以划分为系统规划阶段和系统建设两个阶段,又可细分为五个首尾相连接的阶段,一般称之为系统开发的生命周期(lifecycle),如图2.1所示。第二十七页,共一百零二页,编辑于2023年,星期一图2.1系统开发生命周期6总体设计7评审8详细设计5需求分析9评审4评审3可行性研究11切换运行12系统评价2系统调查1系统请求10编程调试系统设计系统分析系统定义系统运行系统实施系统规划系统建设第二十八页,共一百零二页,编辑于2023年,星期一2.3.3系统开发的生命周期系统开发生命周期各阶段的主要工作有:1)系统规划阶段系统规划阶段的工作就是根据用户的系统开发请求,初步调查,明确问题,然后进行可行性研究。如果不满意,则要反馈修正这一过程;如果不可行,则取消项目;如果可行并满意,则进入下一阶段工作。第二十九页,共一百零二页,编辑于2023年,星期一2.3.3系统开发的生命周期2)系统分析阶段系统分析阶段的任务是,分析业务流程;分析数据与数据流程;分析功能与数据之间的关系;最后提出新系统逻辑方案。若方案不可行则停止项目;若方案不满意,则修改这个过程;若可行并满意,则进入下一阶段的工作。3)系统设计阶段系统设计阶段的任务是:总体结构设计;代码设计;数据库/文件设计;输入/输出设计;模块结构与功能设计。与此同时根据总体设计的要求购置与安装设备,最终给出设计方案。如不满意,则反馈修改这个过程;如可行,则进入下一阶段工作。第三十页,共一百零二页,编辑于2023年,星期一2.3.3系统开发的生命周期4)系统实施阶段系统实施阶段的任务是:同时进行编程(由程序员执行)、人员培训(由系统分析设计人员培训业务人员和操作员)以及数据准备(由业务人员完成),然后投入试运行。如果有问题,则修改程序;如果满意,则进入下一阶段工作。5)系统运行阶段系统运行阶段的任务是:同时进行系统的日常运行管理、评价、监理审计三部分工作。然后分析运行结果,如果运行结果良好,则送管理部门,指导生产经营活动;如果有点问题,则要对系统进行修改、维护,或者是局部调整;如果出现了不可调和的大问题(这种情况一般是系统运行若干年之后,系统运行的环境已经发生了根本的变化时才可能出现),则用户将会进一步提出开发新系统的要求,这标志着老系统生命的结束,新系统的诞生。这全过程就是系统开发生命周期。第三十一页,共一百零二页,编辑于2023年,星期一2.3.4结构化系统开发方法的优缺点结构化系统开发是在对传统的自发的系统开发方法批判的基础上,通过很多学者的不断探索和努力,而建立起来的一种系统化方法。这种方法的突出优点就是它强调系统开发过程的整体性和全局性,强调在整体优化的前提下来考虑具体的分析设计问题,即自顶向下的观点。它强调的另一个观点是严格地区分开发阶段,强调一步一步地严格地进行系统分析和设计,每一步工作都及时地总结,发现问题及时地反馈和纠正。这种方法避免了开发过程的混乱状态,是一种被广泛采用的系统开发方法。第三十二页,共一百零二页,编辑于2023年,星期一2.4原型化方法2.4.1原型化方法的基本思想2.4.2原型化方法的开发步骤2.4.3原型化方法的特点第三十三页,共一百零二页,编辑于2023年,星期一2.4原型化方法结构化生命周期法理论基础是严密的,但它要求系统开发人员和用户在系统开发初期对整个系统的功能有全面、深刻的认识,并制定出每一阶段的计划和说明书。随着计算机技术的发展,特别是在关系数据库系统(RDBS,relationaldatabasesystem)、第4代程序生成语言(4GLs,4thgenerationlanguage)和各种系统开发生成环境产生,尤其是计算机网络的普遍应用,这种传统的信息系统开发方法受到了挑战。19世纪80年代提出了一种从设计思想到工具、手段都全新的系统开发方法――原型化方法。第三十四页,共一百零二页,编辑于2023年,星期一2.4.1原型化方法的基本思想原型化方法(PrototypingMethod)的基本思想主要体现在以下几个方面。1)并非所有的需求在系统开发以前都能准确地定义需求的预先定义虽然在某些情况下是可能的,但往往由于用户和项目参加者的个人原因导致在很多情况下难以实现。用户与专业人员对计算机、具体业务的理解也有一定的差距,用户很善于叙述其对象、方向和目标,但对于如何实现却不甚清楚或难以确定,只有看到一个具体的应用系统才能清楚了解到自己的需要和系统存在的缺点,并能提出更具体的需求。第三十五页,共一百零二页,编辑于2023年,星期一2.4.1原型化方法的基本思想2)提供快速的系统建造工具在建造系统时,提供快速的原型建造工具,迅速建立起原始系统,并能够方便地对原始系统进行修改、扩充和完善。目前所谓应用生成器和第四代生成语言,都是原型化方法的有力支持工具。第三十六页,共一百零二页,编辑于2023年,星期一2.4.1原型化方法的基本思想3)需要有实际的、可供用户参与的系统模型文字和静态图形是一种比较好的通信工具,然而其最大的缺点是缺乏直观的、感性的特征,因而往往不易理解对象的全部含义,而交互系统能够提供一个生动活泼的动态模型,用户见到的是一个运行着的系统,并且系统运行暴露出来的问题可以迅速修改和完善。4)大量的反复修改是必要的和不可避免的用户的需求是多变的,这在预先定义方法中是难以实现的。随着原始系统的运行,用户不断积累经验,并充分发挥自己的想象,提出更新的需求。因此,在开发最终的需求时,反复是完全需要的。只有这样,才可能达到用户和系统间的良好匹配,而且所开发的系统也容易为用户所接受。第三十七页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤原型化方法遵循图2.2所示的开发步骤。
1)识别基本需求识别基本需求是为了能够设计和建立初始模型。为此必须对当前系统进行调查、与用户交互、做业务性研究,传统的需求调查方法都可采用,调查的内容主要有约束条件、系统的输入/输出、数据、功能、人-机界面、安全性、可靠性、应用范围和运行环境等。需求分析的目标是为初始模型搜集大量信息。原型化方法与传统分析方法的主要不同是:它既不必是完整的,也不必是完善的,而只是一种“好设想”。第三十八页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤2)开发工作模型开发工作模型是根据系统的基本需求建立原型的初始方案,以便进行讨论。一般这个初始的工作模型是在计算机上初步实现的信息系统,包括了数据库模型、系统功能模型,其中多种功能的屏幕和报告是系统改进的基本动力,有关数据库模型可以运用第5章所论述的基本原理和理论来建立。第三十九页,共一百零二页,编辑于2023年,星期一图2.2原型法开发步骤识别基本需求开发工作模型修改和改进原型完成
图2.2原型法开发步骤YYNN整理原型和提供文档模型验证第四十页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤3)模型验证模型验证即验证系统模型的正确程度,进而提出开发新的、修改原有的功能需求。这项工作必须通过所有有关人员的检查、评价和测试。开发者要积极地鼓励所有的评论者提出修改意见和需求,同时充分解释所完成模型的合理性。这个模型应该在开发人员和广大用户的相互交流中达到完善。第四十一页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤4)修改和改进为了使模型与用户的愿望一致,就要对模型进行修改。大多数的修改是在现有模型的基础上进行的,为了使修改工作顺利进行,必须建立一套完整的文档资料,特别是数据字典,它不仅用以描述系统中的数据和功能,而且可以作为修改的依据。保留修改前后的两个模型和数据字典是有好处的。这不仅当用户需要时易于退回,而且并存地演示两个可供选择的对象是帮助决策的良好方式。第四十二页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤5)判定原型完成对于模型来说,每一个成功的改进都会促进模型的进一步完善。实际上模型是描述功能和对最终系统的展示。判断系统是否完成是判断有关用户的各项应用需求是否已经被掌握并开发出来,这个重复周期是否可以结束。因此根据判定结果可以有两种转向,一是继续修正和改进,二是进行详细的说明,即进入整理原型提供文档。第四十三页,共一百零二页,编辑于2023年,星期一2.4.2原型化方法的开发步骤6)整理原形提供文档整理原形提供文档是把原型进行整理和编号,并将其写入系统开发文档资料中,以便为下一步的运行、开发服务。原型法同结构化方法一样也必须具有一套完整的文档资料,它包括用户的需求说明、新系统的逻辑方案、系统设计说明、数据字典、系统使用说明书等,这也是系统运行维护的依据。第四十四页,共一百零二页,编辑于2023年,星期一2.4.3原型化方法的特点从原型法的开发步骤可以看出,原型法从原理到流程都是十分简单的,并无任何高深的理论和技术,之所以倍受推崇,为广大开发者所接受,主要有如下几方面的特点:①采用了先进的软件开发工具,提高了开发的效率,使系统开发的周期缩短,费用减少。②在分析过程中引入了模拟的手段,提供了初始原型,使用户直接参与,并引导、启发用户提出准确、完善的系统需求。③系统开发灵活,修改与扩充都很方便。④用户只要经过简单培训,就能很快掌握使用的方法。第四十五页,共一百零二页,编辑于2023年,星期一2.4.3原型化方法的特点当然,原型法有其一定的适用范围和局限性,对于一个大型的系统以及逻辑性很强的系统开发,不能直接运用原型法,要经过系统分析来进行整体性划分;对于原基础管理不善,信息处理过程混乱的单位,使用也有一定的困难。特别是对已经使用了管理信息系统的单位,要以此作为新系统的快速原型,对原信息系统进行扩充完善改造,即对原系统进行系统重构,而整个系统按照生命周期法进行开发(见图2.3)。由于管理任务和管理方式的变化,以及对信息处理的更深层次的要求,使是现有的MIS已经不能适应现代信息管理的客观要求;在系统重构时,要考虑以下几方面:①需要增强新的功能;②对数据提出了更高的要求;③更大量的数据管理,更大范围的信息共享。第四十六页,共一百零二页,编辑于2023年,星期一图2.3应用原型+结构化生命周期法的开发步骤系统实现与评价意满不系统设计系统分析系统定义修改扩充原型建立系统原型提出新需求6总体设计7评审8详细设计5需求分析9评审4评审3可行性研究11切换运行12系统评价2系统调查1系统请求系统建设阶段满意原型评价10编程调试系统规划阶段系统重构阶段第四十七页,共一百零二页,编辑于2023年,星期一2.5面向对象的开发方法2.5.1面向对象开发方法的基本概念2.5.2OO方法的开发过程2.5.3OOA方法2.5.4OOD方法2.5.5OO方法的特点第四十八页,共一百零二页,编辑于2023年,星期一2.5面向对象的开发方法面向对象的技术于20世纪80年代开始兴起,近几年来其研究已经遍及软件系统的各个领域,如面向对象的程序设计语言、面向对象的程序设计方法、面向对象的系统分析方法、面向对象的数据库管理系统及面向对象的操作系统等。面向对象的概念的出现是程序设计方法学和软件工程方法学的里程碑,它已从研究阶段转向应用阶段,随着研究和应用的不断深入,必将成为面向21世纪的重要技术之一。面向对象方法(objectoriented,简称OO方法)从面向对象的角度,为人类认识事物进而开发系统提供了一种全新的方法。第四十九页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念OO方法认为,客观世界是由各种各样的对象组成的,每种对象都有各自的内部状态和运动规律,不同的对象之间的相互作用和联系就构成了各种不同的系统。当设计和实现一个客观系统时,如能在满足需求的条件下,把系统设计成由一些不可变的(相对固定)部分组成的最小集合,这个设计就是最好的。它把握了事物的本质,因而不再会被周围环境(物理环境和管理模式)的变化以及用户没完没了的变化需求所左右。这些不可变的部分就是所谓的对象。第五十页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念1)对象OO的对象(Object)就是客观世界中的任何事物在计算机程序世界里的抽象表示,或者说,是现实世界中个体的数据抽象模型。事物是行为的主体,任何事物都由状态和行为两个方面构成,状态反映了事物的内部结构,行为反映了事物的运动规律,二者分别反映了事物的表态和动态特性,故对象是事物状态和行为的数据抽象,既是事物状态的集合,也是为改变状态而施加的操作方法或算法程序的集合。在OO法中的对象就是一个一个的可重用部件,是面向对象程序设计的基本元素。第五十一页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念2)对象类所谓对象类(Class)是指将具有相同或相似结构、操作和约束规则的对象组成的集合。故对象类是一个共享属性和操作方法的集合。任何一个对象都是某一对象类的实例,每一个对象类都是由具有某些共同特征的对象组成的。对象类由类说明和类实现两部分组成。类说明描述了对象的状态结构、约束规则和可执行的操作,定义了对象类的作用和功能。类实现是由开发人员研制实现对象类功能的详细过程以及方法、算法和程序等。第五十二页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念3)消息和方法客观世界的各种事物都不是孤立的,而是相互联系、相互作用的。实际问题中的每一个个体也是相互联系、相互作用的,个体之间的相互联系反映了问题的静态结构,相互作用则反映了问题的动态变化,当抽象为对象和对象类以后如何反映出它们之间的相互联系和作用呢?为此,OO法又引入消息和方法(MessageandMethod)这两个概念。第五十三页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念
4)继承机制图封闭图开图五边形多边形线形矩形三角形椭园园图2.4图的继承继承性(inheritance)是一种表达相似性的机制,是自动地共享类、子类和对象中的数据和方法的机制。继承性是面向对象方法实现可重用性的前提和最有效的途径,它不仅支持系统的可重用性,而且还促进了系统的可扩充性。因此,继承机制又称可重用机制或代码共享机制,它是软件部件化的基础。继承机制很好地避免了属性描述信息和操作程序信息的冗余,简明自然地把客观事物的行为和状态及个体之间的层次关系和所属关系抽象为计算机的数据模型或算法程序。第五十四页,共一百零二页,编辑于2023年,星期一图2.4图的继承图封闭图开图五边形多边形线形矩形三角形椭园园图2.4图的继承第五十五页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念5)封装机制封装(encapsulation)又称信息隐蔽。它是软件组成部件(模块、子程序、方法等)应当分离或隐藏为单一的设计。即用户只能看见对象封闭界面上的信息,对象内部对用户而言是隐蔽的。它是指在确定系统的某一部分内容时,应考虑到其它部分的信息联系都在这一部分内部进行,外部各部分之间的信息联系应尽可能的少。封装的原则很像SSA&D中划分子系统或模块时的内部信息聚合度(cohesion)原则。如果分析人员能在OOA(面向对象的分析方法)中封装需求分析的各个部分,则当需求改变时,各部分相对独立,系统的维护将对整个系统的影响程度减至最小。第五十六页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念
6)对象抽象机制对象抽象机制就是把对象的动态特性和静态特性抽象为数据结构以及在数据结构上所施加的一组操作,并把它们封装在一起,使对象状态变成对象属性值的集合,对象行为变成能改变对象状态的操作方法(算法和程序等)的集合,变成对象功能或作用的集合。第五十七页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念7)对象通信机制如前所述,面向对象程序的功能是靠对象之间的相互作用即对象操作来实现的,而对象的操作是用消息和方法通过对象通信机制完成的。对象通信机制包括两方面:一是消息的传递,另一个是消息和方法(或操作程序)的动态联编(DynamicBinding)。第五十八页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念8)类型定义机制面向对象系统本质上就是一种类型定义机制。数据类型的概念在绝大多数计算机程序设计语言中早已引入了,例如,整数、浮点数、字符串等是单一的数据类型,数组、记录和联合是复合数据类型。引入类型定义的目的无非是计算机系统中以最基本的数据单元构成更大更复杂更实用的数据结构。第五十九页,共一百零二页,编辑于2023年,星期一2.5.1面向对象开发方法的基本概念大多数非面向对象的语言都支持新数据结构的构造,但仅仅是支持新类型的表示定义,即:由现有的数据类型表示新的数据类型。只有面向对象的语言不仅支持新数据类型的表示定义,还支持新类型的操作定义,这大大方便了新类型的使用。例如,一个复数由两个浮点数,X,Y组成,在C语言中表示为:Typedefstructcomplex(floatx,y;)complex;其操作定义为:在复数集合上的加、减、乘、除运算均映射到各个复数的X,Y域上的浮点运算。第六十页,共一百零二页,编辑于2023年,星期一2.5.2
OO方法的开发过程根据OO法的一些特性,可将OO方法开发的工作过程分为四个阶段。
1)系统调查和需求分析对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究。即先弄清要干什么的问题。
2)分析问题的性质和求解问题在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。这一阶段一般被称之为面向对象分析,简称为OOA。第六十一页,共一百零二页,编辑于2023年,星期一2.5.2
OO方法的开发过程3)整理问题即对分析的结果作进一步的抽象、归类、整理,最终以范式的形式将它们确定下来。这一阶段一般被称之为面向对象设计,简称为OOD。
4)程序实现即用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序语言来取代)为应用程序软件。这一阶段一般被称之为面向对象的程序,简称为OOP。下面主要介绍一下OOA和OOD所包涵的具体内容,OOP是一个直接映射过程,读者可自行参考有关计算机语言方面的书籍。第六十二页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法面向对象的分析方法,即OOA方法,是OO方法的组成部分。在一个系统的开发过程进行了系统业务调查以后,就可以按照面向对象的思想来分析问题了。应该注意的是,OOA所说的分析与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状的方法的分析。第六十三页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法OOA分析方法是建立在对处理对象客观运行状态的信息模拟和面向对象程序设计语言的概念基础之上。它从信息模拟中吸取了属性、关系、结构以及对象作为问题域中某些事物的、实例的表示方法等概念;从面向对象的程序设计语言中吸取了属性和方法的封装,属性和方法作为一个不可分割的整体以及分类结构和继承性等概念。在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:第六十四页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法第一步,确定对象(object)和类(class),这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力;类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。标识对象的首要目的是使一个系统的技术表示同现实世界的观点联系更加密切。第二个目的是希望产生一个稳定的框架模型,以便考虑问题空间并收集用户要求。第三个目的是为了避免从系统分析到设计时改变系统的基本表示。那么,如何确定对象呢?首先从应用领域、文字资料、图片入手,寻找结构、其它系统、设备、事件、作用等。弄清每一个对象的属性、处理方法、处理过程,准确地命名和表示每一个对象。第六十五页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法第二步,确定结构(structure)。这里所说的结构是指问题域的复杂性和连接关系,类成员结构反映了泛化-特化关系,整体-部分结构反映了整体和局部之间的关系。分类结构用于应用领域的类-成员层次,它通过搜索公共特性并把这种特性扩充至特例之中来显示现实世界事件的通用性和专用性。例如,通用的交通工具(Transport)及其特例:汽车(Car)、飞机(Aircraft)、轮船(Ship),如图2.5。一些属性和方法适用于所有的交通工具,而另外一些仅适合于汽车、飞机、轮船。第六十六页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法根据对象的继承特性,在一个分类结构中,对象共享在它之上定义的属性,例如,交通工具(Transport)结构中,汽车(Car)共享为所有Transport所定义的属性,如Id,Name,Passenger-Capacity等。同样,在一个分类结构中,对象也共享在它之上定义的方法。组装结构用于刻画一个整体及其组成部分,例如,一辆汽车由发动机、传动装置和刹车装置组成。如图2.6所示交通工具汽车飞机轮船汽车发动机传动装置刹车装置图2.5分类结构图图2.6组装结构图第六十七页,共一百零二页,编辑于2023年,星期一交通工具汽车飞机轮船汽车发动机传动装置刹车装置图2.5分类结构图图2.6组装结构图2.5.3OOA方法第六十八页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法第三步,确定主题(subject)。这里所说的主题是指事物的总体概貌和总体分析模型。定义主题时,根据需要,把紧耦合的主题合在一起,对主题进行编号,画出矩形框图,并将主题间的连接在图上表示出来。第四步,确定属性(attribute)这里所说的属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出并在对象的存储中指定。第六十九页,共一百零二页,编辑于2023年,星期一2.5.3OOA方法第五步,确定方法(method)。这里所说的方法是在收到消息后必须进行的一些处理方法,方法要在图中定义并在对象的存储中指定。对于每个对象和结构来说,那些用来增加、修改删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的,如计算费用等。定义方法的中心是为每一个对象和分类结构定义所需要的行为,并确定对象之间的必要的通信。第七十页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法面向对象的设计方法,即OOD方法,是OO方法中一个中间环节。其主要作用是对OOA分析的结果作进一步的规范化整理,以便能够被OOP直接接受。OOD的设计过程由四个部分组成,问题域部分、人机交互部分、业务管理部分和数据管理部分(如图2.7)。具体地讲有如下几项工作。第七十一页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法主题层类及对象层结构层属性层处理层人机交互部分(HIC)问题域部分(PDC)任务管理部分(TMC)数据管理部分(DMC)图2.7
OOD的组成第七十二页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法1)整理和求精OOA所定义的对象对于OOA所抽象出来的对象、对象类,以及汇集的分析文档,OOD需要有一个根据设计要求整理和求精的过程,使之更能符合OOP的需要。这个整理和求精过程主要有两个方面:一是要根据面向对象的概念模型整理分析所确定的对象结构、属性、方法等内容,改正错误删去不必要的和重复的内容等。二是整理的方法主要是进行分类整理,以便于下一步数据库设计和程序处理模块设计的需要。整理的方法主要是进行归类,对对象、对象类、属性、方法和结构、主题进行归类。第七十三页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法
2)数据模型和数据库设计数据模型的设计需要确定对象、对象类属性的内容、消息连接的方式、系统访问、数据模型的方法等。最后每个对象实例的数据都必须落实到面向对象的库结构模型中。面向对象数据库(OODB)是以对象、对象类及其相互关系作为其主要组成,并且以对象模型为基础的一种结构体系。OODB是对象网状结构的代表,而对象则通过封装机制将状态、数据和处理作为一个整体。任何一个对象都是某一个对象类的实例,每一个对象类都是由具有某些共同特征的对象组成。第七十四页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法
3)处理过程的设计通过面向对象分析建立起来的动态模型,分析哪些数据在系统中具有并发性,哪些数据在系统中具有排斥性,如果两个对象之间不存在交互,或者它们同时接收事件,则这两个对象在本质上是并发的。通过检查各种对象的状态图及它们之间的交换事件能够把若干个非并发的对象归并到一条控制线中。所谓控制线,是一条遍及状态图集合的路径,在这条路径上每次只有一个对象是活动的。第七十五页,共一百零二页,编辑于2023年,星期一2.5.4
OOD方法
4)人机界面设计由于Windows系统的流行,现代的计算机信息系统大都采用图形化的用户界面(GUI),表示界面的重要成份是对象,对象包括三种元素:它有一定的特性(属性),可以进行一定的操作(方法),可以触发其它过程(事件)。界面设计一般包括窗口(Window)、菜单(Menu)、图标(Icon)等。第七十六页,共一百零二页,编辑于2023年,星期一2.5.5
OO方法的特点OO方法在解决问题的概念和方式上与人们认识世界的方式是完全一致的,因此,易于人们所接受,任何繁杂程序的建立、维护等工作都变得比较容易。尤其是OO法以对象为基础,利用特定的软件工具直接完成从对象客体的描述到软件结构之间的转换,在设计中容易和用户沟通。OO方法的应用,解决了从分析和设计等到软件模块结构之间多次转换映射的繁杂过程,设计中产生各式各样的部件,然后由部件组成框架,以至于完成整个程序,缩短了开发周期,是一种很有发展前途的系统开发方法。同时,可以看到这些新的OO的技术实际上是结构化和数据库方法的融合。第七十七页,共一百零二页,编辑于2023年,星期一2.6计算机辅助开发方法2.6.1CASE方法的基本思路2.6.2CASE方法的体系结构2.6.3CASE工具的应用2.6.4CASE工具的特点第七十八页,共一百零二页,编辑于2023年,星期一2.6计算机辅助开发方法CASE(computer-aidedsoftwareengineering)的全名是计算机辅助软件工程,是20世纪80年代末期,随着计算机图形处理技术和程序生成技术的出现,运用人们在系统开发过程中积累的大量宝贵经验,再让计算机来辅助信息系统开发和实现,这就是集图形处理技术、程序生成技术、关系数据库技术和各类开发工具于一身的CASE。第七十九页,共一百零二页,编辑于2023年,星期一2.6.1
CASE方法的基本思路由于CASE是从计算机辅助编程工具、4GL(第4代程序生成语言)发展而来的大型综合计算机辅助软件工程开发环境,因此,CASE可以进行各种需求分析、功能分析,生成各种结构化图表(如数据流程图、结构图、实体/关系图,层次化功能图、矩阵图)等,并能支持系统开发整个生命周期。CASE的概念也从具体的工具发展成为一门方法。它是一种从开发者的角度支持信息系统各种开发技术和方法(如结构化方法、快速原型法、面向对象方法)的计算机技术。第八十页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构对CASE的体系结构,比较普遍的认识是将CASE根据它们在系统开发生命周期SDLC中所支持的阶段来划分(如图2.8所示),分为三类,上游CASE、下游CASE、支持项目管理的、并贯穿整个信息系统开发生命周期的CASE,下面分别论述。第八十一页,共一百零二页,编辑于2023年,星期一CASE上游CASE系统支持下游CASE系统实施系统设计系统分析系统规划·企业战略规划·信息系统战略规划·其它·数据建模·过程建模·对象建模·资源库支持·检查和校检·其它·结构化英语·屏幕/报表设计·原型化·数据库·测试·其它·代码生成器·应用生成器·其它·逆向工程·设计恢复·其它项 目 管 理 工 具中央资源库(Repository)图2.8
CASE体系结构第八十二页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构1)上游CASE
上游CASE描述了SDLC前期几个阶段(系统规划、系统分析和系统总体设计)的CASE工具,下面分别描述:①用于系统规划的CASE。它主要是帮助系统分析员采集、存储、组织并分析业务模型,具体地讲就是用来描述企业的目标、问题、组织结构、地理环境、信息需求等,这些信息可以以模型、描述以及矩阵等方式输入。这一阶段的主要项目有:第八十三页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构a.正在或将要实施的业务策略;b.充实将要实施的信息系统和信息技术的策略;c.所要开发的数据库;d.所要开发的网络;e.围绕数据库和网络所需开发的应用程序。第八十四页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构②用于系统分析和设计的CASE。它用来帮助系统分析员更好地表达用户的需求,提出设计方案,以及分析信息的一致性、完整性和整体性。具体是:a.定义项目范围和系统边界;b.建立模型,描述现行信息系统;c.建立需求模型;d.设计信息系统,以满足用户的业务需求;e.建立特殊部件(如屏幕设计、报表设计等)的原型。第八十五页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构2)下游CASE下游CASE描述了支持SDLC后期几个阶段(详细系统设计、系统实施和系统维护)的CASE工具,下面分别描述:①用于系统详细设计和实施的CASE。它主要是帮助设计人员和程序员更快地产生应用软件,其中包括:第八十六页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构a.测试程序代码并改正其中错误;b.设计并自动生成像屏幕、数据库等特殊的或详细的系统设计部件;c.根据系统分析和设计说明书,自动生成完整的应用程序代码;第八十七页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构②用于系统维护的CASE。它帮助系统分析员、设计员和程序员重新考虑不可避免的、永远变化的业务和技术环境。可用于对现运行系统进行再构造,而不是再开发。它包括:a.重新构造现行系统的程序代码;b.重新考虑用户需求的变化;c.在程序设计中充分利用新的技术;d.确定何时系统维护的费用已超过了系统的效益;e.发现新的信息,以便重新开发新的信息系统。第八十八页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构3)支持项目管理的、支持整个系统开发生命周期的CASE项目管理是任何一个项目中贯穿于整个信息系统开发生命周期的一个非常重要的活动,它可以帮助系统管理人员对项目进行合理的计划和进程安排,并对项目和资源进行有效的管理。主要包括①过程管理;②项目评估;③文档管理。第八十九页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构4)中央资源库和局部资源库CASE的中心结构是一个数据库,即中央资源库。它存储了各种图表、描述、规格说明、应用程序以及其它的一些开发副产品。因此,也有人称之为设计数据库、字典、百科全书等。第九十页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构
1)CASE工具一个完整的CASE系统应该支持不同的开发管理和控制方法(结构化SDLC、快速原型法),也要支持系统开发中的各个阶段的活动(上游、下游、项目管理)。为了使用资源库,很明显需要输入和输出工具,典型的CASE通常包括下列工具的一部分:第九十一页,共一百零二页,编辑于2023年,星期一2.6.2
CASE方法的体系结构①图形工具:用图形和模型的方式表示信息系统所使用的各种技术。绘制结构图,生成图形符号,并能对其进行修改等操作。②原型化工具:用于输入、输出、屏幕或报表的分析和设计,快速实现各种原型,包括界面原型、功能原型、性能原型等。③代码生成器:从原型系统的工具中自动产生可执行的程序源代码。④测试工具:用于测试各类错误,包括对程序的结构、生成的源代码、系统集
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 佛山规划测绘合同范例
- 促进多元化经营拓宽业务领域计划
- 幼儿心理发展监测方案计划
- 幼儿园多元智能的教研探讨计划
- 图书信息存储管理计划
- 班主任早晨例会机制计划
- 品牌建设的基础与重要性计划
- 适应性学习在工作中的应用计划
- 《桐梓县狮溪煤业有限公司贵州省桐梓县文笔山-瓦窑坪煤矿(新建)矿产资源绿色开发利用方案(三合一)》评审意见
- 统编版小学语文二年级下册第18课《太空生活趣事多》精美课件
- 校长在2025年春季学期第一次班主任工作会议讲话:“偷偷告诉你顶尖班主任都在用这个班级管理秘籍!”
- 2025年度美容院顾客权益及服务项目转让协议书
- GB/T 45229-2025剧场工艺安全要求
- 2025年广州市黄埔区东区街招考社区居委会专职工作人员高频重点模拟试卷提升(共500题附带答案详解)
- 2025年黑龙江省高职单招《职测》高频必练考试题库400题(含答案)
- GB 45184-2024眼视光产品元件安全技术规范
- 2025年第六届美丽中国国家版图知识竞赛题库及答案
- 《麻精药品培训》ppt课件
- JMP操作简要培训
- 立方智能停车场管理系统解决方案(课堂PPT)
- 螺旋钻孔桩试桩施工方案
评论
0/150
提交评论