您好,欢迎访问三七文档
3.4生命周期法的成功要素总结以往采用生命周期法进行信息系统开发的经验,凡是遭到失败的,主要存在以下几个问题:(1)对信息系统的目的不明确。即系统开发人员没有对用户的目前状况和现行系统作深入细致的调查研究,仅通过一些表面现象进行系统的设计、开发工作。结果开发出来的系统不符合用户的要求,无法在实际环境中使用。(2)没有贯彻用户为中心的观点。信息系统最终是要交付给用户使用,因此,为了保证系统开发的顺利进行,必须非常重视吸收用户的意见。但有些系统开发人员刚开始时还听取听取用户的意见,以后就不怎么听取了,或者虽然听了,但不作认真研究,结果开发出来的系统得不到用户的认可。(3)系统开发过程没有明确的阶段划分和分工,缺乏检查。信息系统是一个涉及面广、技术复杂的系统,需要购买软硬件等设备并需投入大量人力,如果到系统建成时才发现不符合使用要求,就将造成重大的经济损失。为了保证信息系统的开发能顺利进行,就必须将系统开发过程划分成若干阶段,每个阶段都规定有明确的目标和任务,并且制定必要的检查措施,使系统的开发工作稳步进行,获得成功。但是由于许多系统开发人员并不深刻理解这种生命周期法的开发过程,一接到开发任务,马上就想到编程,对于系统的分析、设计工作很不重视,结果问题众多、矛盾百出、骑虎难下。同时,由于没有明确的阶段和目标,中间又缺乏检查环节,使工期和费用失去控制。这是过去一些项目失败的一个重要原因。(4)文档管理比较薄弱,开发人员和用户之间缺少能沟通思想的工具。一般说来,系统开发人员和用户具有不同的专业背景,因而彼此不理解对方的思维方法、技术术语等,不能及时地交流思想。而系统开发各个阶段所产生的结果没有以文件和图表形式表达出来。整个系统的分析和设计情况全装在设计者的脑袋里,一旦他离开,别人就很难插手,导致系统维护、改进工作无法进行。从目前大多数开发项目的情况,文档管理是一个非常薄弱的环节。这也是有些系统不能及时投入正常运行的原因之一。所以生命周期法要实施成功,除要注意文档管理、变更管理和监理外,还需要注意检查实施过程中是否符合了生命周期法的一些典型特点,这些特点又是生命周期法的成功要素:1)1)建立面向用户的观点,根据用户需求来设计系统;2)2)自顶向下来规划或设计信息系统;3)3)严格按阶段进行;4)4)有效的工作文档;5)5)运用系统的分解和综合技术,使复杂的系统结构化、模块化;6)6)强调阶段成果的审定和检验。以上成功要素中第一条的思想我们贯穿在本书的第四章“需求分析和可行性分析”以及第五章“调查研究与现状分析”中,第二条、第三条和第六条贯穿在本章第二节工作流程的落实中,本节不再赘述。这里重点谈第四条文档的有效性和第五条结构化开发。3.4.1文档的有效性为了使信息系统的文档能起到多种沟通作用,使它有助于程序员编制程序,有助于管理人员监督和管理软件开发,有助于用户了解信息系统的工作方式和应做的操作,有助于维护人员进行有效的修改和扩充,就必然要求文档的编制要保证一定的质量。质量差的文档不仅使读者难于理解,给使用者造成许多不便,而且会削弱对信息系统的管理(管理人员难以确认和评价开发工作的进展),增加信息系统的开发成本(一些工作可能被迫返工),甚至造成更加有害的后果(如误操作等)。造成信息系统文档质量不高的原因主要有四个:1)1)认识上的问题:不重视文档编写工作。2)2)规范上的问题:不按各类文档的规范写作,文档的编写具有很大的随意性。3)3)技术上的问题:缺乏编写文档的实践经验,对文档编写工作的安排不恰当。4)4)评价上的问题:缺乏评价文档质量的标准。首先是认识上的问题。信息系统建设过程在很大程度上是应用软件的开发过程,就软件的两大部分一一程序和文档而言,程序相对来说是“硬件”,是必须最终完成的,作为开发者往往认为只要最终程序正确,能够满足系统需求就达到了系统要求;而文档是“软件”,有一些是必须完成,而有些则无严格要求,并且也可以事后补充。因而,为了追求开发进度,一些文档资料常常被忽略。另外,文档经常是给别人看的,文档的作用很多是在事后才能体现出来的,使得系统开发人员缺乏书写文档的动力和自觉性。于是在程序工作完成以后,不得不应付一下,把要求提供的文档赶写出来。这样的做法不可能得到高质量的文档。实际上,要得到真正高质量的文档并不容易,除去应在认识上对文档工作给予足够的重视外,还要规范文档的写作。高质量的文档应当体现在以下一些方面:1)针对性;文档编制以前应分清读者对象,按不同的类型、不同层次的读者,决定怎样适应他们的需要。例如,管理文档主要是面向管理人员的,用户文档主要是面向用户的,这两类文档不应像开发文档(面向开发人员)那样过多地使用信息技术的专业术语。2)精确性与统一性:文档的行文应当十分确切,不能出现多义性的描述。同一项目的不同文档在描述同一内容时应该协调一致,应是没有矛盾的。3)清晰性:文档编写应力求简明,如有可能,配以适当的图表,以增强其清晰性。4)完整性:任何一个文档都应当是完整的、独立的,它应自成体系。例如,前言部分应作一般性介绍,正文给出中心内容,必要时还有附录,列出参考资料等。同一课题的几个文档之间可能有些部分相同,这些重复是必要的。例如,同一项目的用户手册和操作手册中关于本项目功能、性能、实现环境等方面的描述是没有差别的。特别要避免在文档中出现转引其它文档内容的情况。比如,一些段落并未具体描述,而用“见××文档××节”的方式,这将给读者带来许多不便。5)灵活性:各个不同的信息系统项目,其规模和复杂程度有着许多实际差别,不能一律看待。第三节中所列十种文档是针对中等规模的系统开发而言的。对于较小的或比较简单的项目,可做适当调整或合并。6)可追溯性;由于各开发阶段编制的文档与各阶段完成的工作有着紧密的关系,前后两个阶段生成的文档,随着开发工作的逐步扩展,具有一定的继承关系。在一个项目各开发阶段之间提供的文档必定存在着可追溯的关系。例如,某一项功能需求,必定在设计说明书,测试计划以至用户手册中有所体现。必要时应能做到跟踪追查。7)易检索性:无论是发生频率固定的文档,还是频率不固定的文档,在结构的安排和文件的装订上都必须能使查阅者以最快的速度进行检索。为了最终得到高质量的信息系统文档,达到一定的质量要求,在信息系统的建设过程中必须加强对文档的管理。文档管理应从以下几个方面着手进行。1、文档管理的制度化。必须形成一整套的文档管理制度,其内容可以包含文档的标准、修改文档和出版文档的条件、开发人员在系统建设不同时期就其文档建立工作应承担的责任和任务。根据这一套完善的制度来最终协调、控制系统开发工作,并以此对每一个开发成员的工作进行评价。2、文档要标准化、规范化。在系统开发前必须首先选择或制定文档标准,在统一标准制约下,开发人员负责建立所承担任务的文档资料。对于已有参考格式和内容的文档,如系统分析说明书,应尽量按相应规范撰写文档。对于没有参考格式的文档,如需求变更申请书,应该在项目组内部出台相应的规范和格式。3、文档管理的人员保证。项目小组应设文档组或至少一位文档保管人员,负责集中保管本项目已有文档的两套主文本。两套文本内容应完全一致。其中的一套可按一定手续,办理借阅。4、维护文档的一致性。信息系统开发建设过程是一个不断变化的动态过程,一旦需要对某一文档进行修改时,要及时、准确地修改与之相关联的文档。否则将会引起系统开发工作的混乱。而这一过程又必须有相应的制度来保证。5、维持文档的可追踪性。由于信息系统开发的动态性,系统的某种修改是否最终有效,要经过一段时间的检验,因此文档要分版本来实现。而各版本的出版时机及要求也要有相应的制度。对于信息系统开发过程中的文档应尽量引入配置管理的工具,以提高文档管理和版本管理的效率和质量。3.4.2系统的结构化开发狭义的生命周期方法要求信息系统的开发工作按照规定步骤,使用一定的图表工具,在结构化和模块化的基础上进行。结构化是把系统功能当作成一个大模块,根据系统分析与设计的不同要求,进行模块的分解或者组合工作,这将贯穿于系统分析、系统设计和程序设计的各个过程。这里的“结构化”含义指的是“严格的、可重复的、可度量的”。结构化方法是从数据流的角度将问题分解为可管理的、相互关联的子问题,然后再将这些子问题的解综合成为整个业务问题解的一系列技术的总称。结构化的实质是“自顶向下,逐步求精,分而治之”。结构化系统设计的基本思想是:(1)(1)将一个复杂的系统分解成一个多层次的模块化结构结构化设计认为,任何一个系统都具有两个特征:过程特征:任何一个系统都可以分解成若干个有序的过程;层次特征:组成系统的各部分之间存在着一种上下级的隶属关系、管辖关系。按照这种思想,可以将一个无论多么复杂的系统,逐步分解成若干个十分简单的模块的集合:首先将系统按照过程的特征分解成几个模块,再按照层次特征将上述模块中的每一个模块分解成更小的模块,这种分解可以进行多次,使得最底层的模块变得非常简单。这样就将一个原来十分复杂的系统分解成一个多层次的模块化结构,如图3-4所示。(2)每一个模块尽可能独立即尽量使每个模块成为一个独立的组成单元,使模块之间的联系降到最低程度。至于模块之间的耦合关系在本书第七章中将予以详细阐述。(3)可用直观的工具来表达系统的结构结构化方法为系统开发人员提供了一套简明的图形表达工具,如数据流图、数据字典、数据存储规范化、数据立即存取图以及功能分析的表达方法,包括决策树、决策表和结构式语言等。采用结构化方法,可以自顶向下进行分析和设计,得到一系列的独立模块,然后对这些模块进行实现,依次组装、调试得到上层的模块,从而得到自底向上实现的结果。3.2生命周期法的工作流程生命周期法之所以成为一种信息系统开发的方法,是因为可以将它划分为若干个工作阶段,规范为一套比较明确的流程,下面就对生命周期法的阶段和流程做一个较为详细的分析。3.2.1生命周期法的阶段划分目前学术界对于生命周期法各阶段的划分不尽一致。如有的把总体规划归入系统分析阶段,又有的把调试测试单独作为一个阶段等等,表3-1列出了菲瑞曼(Freeman)、莫梯格(Metzger)、鲍赫门(Boehm)定义的模式1[1]。综合以上学者的划分,我们认为,生命周期法的通用模式应划分为五个阶段:系统规划、系统分析、系统设计、系统实施、系统运行和维护。要注意,这里的系统分析是狭义的理解,如果将系统分析理解为广义的,那么,则生命周期法只有四个阶段,其中系统分析阶段应该包括系统规划。表3-1生命周期法的几种阶段的划分模式1[1]引自张国锋主编的《管理信息系统》(机械工业出版社,2000年版),137页待开发的信息系统子系统1子系统3子系统2模块1.1模块1.2模块2.1模块2.2模块3.1模块3.2图3-4信息系统的模块化开发菲瑞曼(Freeman)莫梯格(Metzger)鲍赫门(Boehm)一般模式需求分析系统定义系统需求分析系统规划软件需求分析系统分析总体设计设计基本设计系统设计详细设计详细设计实施编程编程与排错系统实施调试验收维护安装运行调试与运行系统运行与维护运行与维护1.系统规划阶段系统规划阶段的任务是对组织的环境、战略、目标、现行系统的状况进行初步调查,根据组织目标和发展战略,确定信息系统的发展战略,对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究建设新系统的必要性和可能性。根据需要与可能,给出拟建系统的顺序安排以及备选方案。对这些方案进行可行性分析,写出可行性分析报告。可行性分析报告审议通过后,将新系统建设方案及实施计划编写成系统开发计划书。2.系统分析阶段系统分析阶段的任务是根据系统设计任务书所确定的范围,对现行系统进行详细调查,描述现行系统的业务流程,指出现行系统的局限性和不足之处,确定新系统的基本目标和逻辑功能要求,即提出新系统的逻辑模型。系统分析阶段的工作成果体现在系统分析说明书中。3.系统设计阶段系统设计阶段的任务是根据系统说明书中规定的功能要求,考虑实际条件,具体设计实现逻辑模型的技术方案,也即设计新系统的物理模型。这个阶段的技术文档
本文标题:第三章生命周期
链接地址:https://www.777doc.com/doc-2182459 .html