1、系统开发过程 概述系统开发过程 五个阶段 各种系统开发方法学在范围、复杂性、完善程度以及方法上有很大的不同。尽管有的方法学分三个阶段,有的分15个阶段,但是每个方法学所描述的要完成的活动基本上是相同的。本章要阐述的最重要的一点是:最好的方法学是那些始终把用户考虑进去的方法学。过去的情况是,用户管理人员与信息服务开发组合作来完成系统的一般功能说明书,然后,由信息服务人员来进行系统开发。现在,系统开发是各占50%的比例;因此,用户管理人员应该非常熟悉系统开发的大体过程,特别应该熟悉他们单位自己使用的方法学。 系统开发过程可分为五个阶段来描述。这五个阶段是: 1.第阶段系统开始和可行性研究 2.第阶
2、段系统分析和设计 3.第阶段程序设计 4.第阶段转换和实现 5.第阶段实现后的评价 第阶段系统开始和可行性研究是在为开发一个建议的系统提供人力和资源之前完成的。第阶段多数的工作和编写的资料是第阶段的输入。在第阶段系统分析和设计期间,系统分析员与用户一起工作以编写详细的功能和系统的说明书。将这些说明书交给程序员,然后开始第阶段程序设计。在第阶段转换和实现期间,一旦软件开发出来,则建立数据文件,转换现有系统,并且实现新系统。第阶段实现后的评价。在开始了系统寿命期中的生产阶段之后,提出(经常被忽略的)实现后的评价要求。 具体开发过程 下面将逐步地描述系统开发过程。至于具体的细节、相互的影响、方法、形
3、式等,用户管理人员应该与信息服务经理联系,与他们讨论公司当前使用的方法学,同时再看看公司内部描述方法学的手册。 1.第阶段系统开始和可行性研究 在第阶段的活动中很少有与其他四个阶段的活动相一致的。此处所提供的方法包括对于受拒绝后的再次服务请求的方法以及将技术转移可能性的研究合并到诸过程中这些内容。第阶段最终的产品有两个部分。第一部分是实际的可行性研究报告,它包含对建议的或改进的系统的描述以及利润/成本分析。第二部分是系统的初步设计。它对于估价成本和利润是必要的。该初步设计是第阶段系统分析和设计的直接输入。 将系统的初步设计并入可行性研究的依据是,多数可行性研究是以概念而不是以设计为基础的。如果
4、在描述系统目标上花的时间太少,那么成本估计,甚至利润估计将是错误的。用概念来指导可行性研究注定会导致成本过高,而且用户不满意。在系统初步设计上所花费的时间是值得的,即使拒绝可行性研究也是如此。因为所编写的资料将必然会被证实其他项目中是有价值的。 下述编号的活动与表20.9.2的系统开发责任矩阵相对应。 (1)提交服务请求 图20.5.1说明了包括对受拒绝的请求再次请求处理的一种方法。所请求的服务毕竟是用户做的,因此,应该由用户着手进行。我们鼓励用户管理人员请求信息服务人员的帮助,但是应该再一次强调,业务领域的管理人员应该对各种大小的服务请求都提供合适的资料。 (2)估价服务请求 正如在责任矩阵
5、中所注释的那样,信息服务管理人员只能承诺小的项目(由公司的方针所确定的小项目)。 (3)指定可行性研究组 信息服务经理和用户经理共同来指定适当的混合的人选以组成可行性分析研究组。该组至少由一名系统分析员和一名用户代表组成。可行性研究组的大小取决于可行性研究的范围和时间限制。 用户代表应该熟悉当前专业领域的所有工作,用户经理、总经理助理,或专业领域分析员是合理的候选者,用户的系统分析员,具有计算机信息处理基础知识的情况已经越来越普遍了。 必须指定一个人担任可行性研究组的组长,哪怕只是两个人的可行性研究组也需要一个组长。直到1980年为止,多数的可行性研究组和项目组是由一个高级系统分析员或一个项目
6、负责人来领导的。在信息服务部门中,这两种人是固定分工做这项工作的。目前越来越多的公司采取这样一种政策,即由用户担任项目组组长。这种将主要责任下放给最终用户的做法将进一步鼓励用户参与系统设计。在这种政策上取得成功经验的那些公司已经指派了一些具有杰出管理经验和具有某些计算机和信息处理知识的用户人员担任项目组组长。在任何情况下,组长必须对该组的工作有一个总的安排。如果要求一个用户代表既作为可行性研究组或项目组的组长而同时又要求他继续履行业务领域的职责,那么该项目是肯定要失败的。有好些公司已经采用了一种政策,即自动地指派受系统影响最大的业务领域的经理作为可行性研究组和项目组的领导以后该经理将从原来的工
7、作职责中解脱出来,而用他(她)的全部时间管理可行性研究(或项目)组。这种人事安排已经成为当今的主流,其困难是用户经理需要离开原来主管的业务部门少则两个月多则三年后才能回他原来的工作岗位上。 (4)标列约束条件 在系统开发的过程一开始,可行性研究组与信息服务人员和用户经理密切合作标列出设备、成本、进度、规程、软件以及操作上的约束条件。它们可能限制建议的系统的定义和设计。 (5)整理现有系统的资料 整理现有系统资料的主要理由是:如果可行性研究组不充分了解现有系统,那么他们就不可能有效地完成所建议的系统的初始设计。已经建立起来的多数人工系统并没有经过真正的设计。在这些系统中,必须从手稿整理出资料。如
8、果一个建议的系统是改进一个现有的计算机信息系统,那么可行性研究组只需要保证现有资料的完整性和保持最新版本就行了。现有系统所形成的任何资料将给设计阶段提供有价值的输入(如果批准开发该系统)。即便建议的系统遭到拒绝,也能对现有系统提供基本的资料,并且可能透彻地理解理有系统。现有系统的资料由四部分组成:系统报告和资料;系统数据文件;系统数据元以及说明现有系统的数据、信息和工作流程的图表。前三部分(报告、文件和数据元)可分类如下:当前使用的,而且在建议的系统中以目前的形式保留下来; 当前使用的,但是修改后才在建议的系统中使用; 当前使用的,但是在建议的系统中将被删除而不再保留的。 例如,列出所有现有的
9、报告和标准的资料,并按上述分类给定一种状态。在报告上将标明相对周期(如,每天,每周)以及分发范围。 对于现有系统的所有数据文件都标明有关的存储介质(如,35的卡片,磁带,马尼拉折纸机,磁盘等等)以及存储方式。例如,一个名字一地址文件可以存储在许多张35的卡片上,并且按名字的字母顺序排列。一个人工系统所保存的文件数总是令人吃惊的,即便对于业务领域管理人员也是如此。为了完善现有文件的资料,将每个文件的记录的样式和简单描述附在文件表中。系统数据元(即,社会保险号,顾客名,货号等等)是直接列出的,而不必关系有关的文件。数据元经常在几个文件中重复出现。除了状态指示符之外,如果数据的名字不能自我说明,则必
10、须对每个数据数据元进行描述。有关数据元的其他信息还包括更新要求(如,每天,每周,每月,或根据需要更新等等)、来源(如,代办处,资料,系统,工作人员等等)以及职责(如,部门名和负责更新者的职务)。图20.9.3说明在整理现有系统资料时数据元可能采用的一种典型格式。 我们通过将系统简化为输入、处理和输出等几个基本组成部分来表示整理现有系统资料的工作过程。然后用图形描绘出各部分之间的逻辑关系。有多种图像表示技术来做这件事。最为流行的(尽管不一定是最好的)是流程图。其他的更为结构化”的技术还有:IBM公司的层次化输入处理输出图(HIPO),汽泡图,数据流框图,南茜斯奈德曼(Nassi-Shneider
11、man)图,渥尼尔(Warner)框图以及判定表。当前工作过程的图像描述提供了系统的数据、信息和工作流程的一个概貌。它着重强调系统中控制工作流程的那些数据元。这些图应该刻划人工和计算机的处理步骤,并且以适当的顺序安排每一处理步骤。通常以能最好地显示出工作过程的方式来组织和提供这些图。它们可以是由一些随机事件、功能或按小的和大的周期来驱动的子系统,也可以是若干子系统;既可以是层次的,也可以是混合的。很少有几个系统是完全顺序的,因此,在多数情况下可以应用模块方法。 (6)调查研究技术转移的可能性 为了更好地利用现有的技术,许多公司正在进行将有关技术转移到他们的系统开发方法学中可能性的调查。鼓励调查
12、技术转移的可能性和(或)可行性的政策必将带来人力资源的大量节省。特别对程序员和分析员更是如此。合适的技术转移将使这些人的工作集中于还没有现成软件的特定行业的应用领域。 技术转移可能性的调查是从走访那些已经实现的,而且与所建议的系统有类似规模和工作的系统。可行性研究组还应该调查商品软件目录,以便找到适合的可应用的软件。如果认为技术转移是可行的,则可行性研究组说明怎样使用这些技术以及为适应现有环境所要求的修改范围。 如果使用标准的方法来进行技术转移潜力调查,那么提出要求的公司应该采取与具有类似要求的其他公司合作的政策。 (7)完成建议系统的初步设计可行性研究组要走访专业人员以获得一般的系统要求,然
13、后,将这些要求转换成初步的系统设计。设计过程是交互的,用户经理和可行性研究组需要经常就设计思想和方法等交换意见,用生动的文字和图形说明来形成建议的系统初步设计的资料,这些生动的文字(用非技术词汇)描述了所建议的系统的基本工作过程,而且常常同时附有图形说明。这些文字图表也将列举出那些大大违背现有工作方式而建议的系统所期望的手续、手段和方法。这些文字图像也将描述建议的系统与人工系统以及建议系统必须与之兼容的自动系统之间的关系。图形说明将建议的系统的过程简化为它们的组成部分,同时强调各部分之间的逻辑关系。 (8)确定项目范围 可行性研究组与信息服务人员以及用户管理人员合作估计初步设计中所刻划的系统的
14、复杂程度。并对开发项目今后的每一个阶段进行人力资源要求的估计(用户,信息服务人员及其他人员)。此外,还注意到培训和计算机机时要求。 (9)准备利润/成本分析报告 一旦完成初步设计并且确定了项目的范围,则可以开始利润/成本分析。不幸的是,由于用户和信息服务管理人员都希望加快可行性研究阶段,所以,一些关键的步骤被省略了,因此造成在利润、成本估计上的错误。仅仅根据一种概念是不可能精确的反映出利润和成本的。设计中的某些步骤是必不可少的。 另一种在形成公司决策过程中所隐含的错误将不可避免地把那些难以确定的利润也算成资金收入。当今许多复杂的,综合的系统为公司的利益做出了重大的贡献,而做到这样程度是因为它们
15、经历了漫长的、不可捉摸和难以预见的道路。评价信息服务项目的好处和价值是一个主观的过程,它要求具有成本和利润方面的实际的知识。此外,决策者对于正的和负的不确定的利润要有透彻的理解。使用美元作为所有成本和利润的统一的计量标准大大地简化了评价工作。那种把不确定的利润引入盈利图表(为了“建立更好的顾客关系”或“提高威信”)的作法会造成在“底线”中复合的错误。底线经常被盲目地接受作为一种信条。事实上,在那种情况下,估价是取最好的情况(理想的)和最坏的(荒谬的)情况之间。然而,如果将不确定的利润化成美元,那么决策者将以更好的判断代替那种不准确的估计。 估价建议的信息系统的最好途径是针对系统净值(收入减去成
16、本)估量正的和负的不确定利润。为了便于理解不确定利润(例如,增加服务,减少发票上的错误,加快周转期等),应该产生一个成本和收入的一览报表。 表20.9.4说明如何使用最少的成本类别来表示一次性的和重复使用的成本。这些成本可由预算中心提出,并且把公司作为一个整体来考虑。成本类别有:劳力,材料和设备,旅差以及其他各种成本。对于每一类,在第一列指出一次性成本估计(开发),而在系统寿命期的水平线上指出可重复使用的成本估计(生产)。公司项目在净值可以从估计收入中扣除成本计算出来,并且根据公司政策对流动现金打折扣。 (10)根据可行性研究做出决策 完成可行性研究后,除了技术补充之外所有报告和资料全部交给信
17、息处理政策委员会以便实施。技术补充包括准备可行性研究所要求的背景信息。它还包括一般的系统设计和开始第阶段(系统分析和设计)的一个框架。信息服务政策委员会感兴趣的主要是初始服务请求、范围、图解说明和利润/成本分析。 信息服务政策委员会能对可行性研究施加影响。信息服务政策委员会能够: 拒绝建议。 批准建议并对该建议的开发和实现指定一个最高优先数。 批准系统并给它指定一个比最高优先数小的优先数,同时将请求放在所有建议的系统队列的适当位置(定期检查队列,当所请求的资源可用时,委员会给当时是最高优先数的项目发出通行命令)。 2.第阶段系统分析和设计 很少有几个项目能在批准可行性研究后立即实现。在得到批准
18、和项目开始之间的估计时间可能是两年或两年以上。一旦项目获如通行命令,则开始第阶段系统分析和设计。在第阶段,将描述所有输入/输出的格式和内容,并且完成详细的系统设计。第阶段的最后一步活动是准备程序说明,其中包括各种程序模块的说明书。重要的是牢记在第阶段和第阶段不编制程序。一个普遍容易犯的错误(经常与系统的质量和运行维护的水平密切相关)是压缩第阶段,使它提前完成以便开始第阶段程序设计。粗糙的系统设计必将成倍、甚至三倍地增长项目所要求的程序设计量。 (11)指定项目组 与可行性研究组一样,项目组也应该有一个或多个系统分析员和一至多个来自所建议的系统范围内各业务方面的用户代表。如果可能的话,还要给项目
19、组指派一名信息服务审计员,他不作为专职人员,而作为安全和控制方面的顾问。因为在第阶段结束之前程序员实际上并不参与进来,所以可以将指定程序员一事推迟到第阶段结束时再进行。可行性研究组的成员不一定都是项目组成员。在第阶段结束到第阶段开始之间的这一段时间里,通常委派他们到其他项目去。然而我们建议,只要可能则尽量将原有可行性研究组的人员指派到项目组。项目组的组长可以是信息服务人员,也可以是用户。 某些单位有按业务领域组织的固定的项目组。例如,某个项目组专门负责人力资源开发方面的老的系统的维护和新系统的开发,而另一项目组则负责会计和财务方面等等。另一种办法是项目组必须由信息服务人员和用户专业人员共同组成
20、,而且是以项目为基础来指定项目组。究竟怎样组成项目组为好,显然要进行权衡。按专业组成的项目组很难预料在任务过多时或任务不足时由于人员不足或过剩所带来的损失。然而,这种项目组织使得项目组成员有更多的机会积累开发专业领域应用的经验。信息服务项目组组织的最好方式或许是既按专业领域组织而同时又保持一定的灵活性,使得项目组成员能在各项目组织之间流动,以便达到饱满的工作负荷。 根据项目的复杂程度和涉及范围的大小,每个项目组都有不同的最佳人数。项目组长的能力是一个重要的因素。有些地方,一个经理能有效地管理20个以上的人员,而另一些经理却连管理3个人都有困难。项目组的大小以及相对进度这些是用户、信息服务人员以
21、及公司的经理感兴趣的问题。许多公司的经理人员有一种错误的概念,即如果将项目组人员增加一倍,那么完成项目的时间就应该减少一半。实际情况并非如此。一个能够直接分成若干个相同大小模块的简单项目,用两倍的人力,可以在原定的一半时间里实现。然而,绝大多数的项目是复杂的,有的甚至是极为复杂的,这就要求在所有项目组成员间进行内部协调。 图20.9.5说明增大项目组的规模时,将会发生的情况。在某确定的数目之前,每增加一个指派到项目组的人员都增大了对项目的贡献。在这之后,每增加一个人实际上减少了项目组每个人对项目工作的贡献。图上有一点是增人员的反射界线,超过那一点,再增加人对于项目的目标来说反而起相反作用。由于
22、项目成员之间的关系复杂,因而使得生产效率降低。在为了满足项目限期而采取紧急措施的情况下,有时经理人员要求将所有资源转移到紧急的项目上,图20.9.5形象的说明了当一个项目组人员太多时,将会出现的情况。这时将不可能进行内部协调。当头都不知道尾在做什么的时候,即使每一个成员都忙于从事某种与项目有关的工作,项目的进度还是要停顿下来。 对于每一个确定的项目组都有最佳规模。与项目有关的所有经理和公司行政人员都应当很好地掌握这样一个格言:与其过分地扩大项目组织规模,造成欲速则不达的局面,还不如推迟项目的实现时间。 (12)估计人员要求并进行人员委托 一个项目的成功与否在很大程度上依赖于用户与公司经理、其他
23、专业领域人员以及某些范围内信息服务人员(如,数据库管理员,联系用户的人员等等)。由于某人(或某部门)忘记或不承认以前的口头上的委托,会使得许多紧急项目被延误。因此有必要签署一个书面的人员委托书。应该造表列出在系统开发过程中所直接参与到的项目组的人员和其它人员(如访问用户人员、收集数据人员等),并同时列出在每一阶段对他们的相对的时间要求(见表20.9.6)。项目的人力要求来自于可行性研究报告。图20.9.6 估计人员要求 没有书面人员委托而进行的项目肯定会产生不必要的延误,甚至可能失败。本书把项目开发的重要性放到一个恰当的位置。在项目中所涉及到的许多人并不在项目组内。由于这些的多数都理解他们的例
24、行活动比项目所涉及的任何外部事物更为重要,所以一个书面委托是必不可少的。不幸的是,项目委托有时超过了他们按常规分配的工作负荷。在这种情况下,需要经理直接参与、定期督促和采取干预措施。图20.9.7对于在各个阶段人员委托的相对要求上给读者一个感性的认识。图20.9.7的底部描绘了在系统开发的每一阶段占总的项目工作量的百分比,对每一阶段提供了项目工作量百分比的一个范围。公司的政策以及系统开发方法学将影响到相对百分比。例如, 一种强调设计阶段()的方法学将必定有更为清楚定义的程序功能说明书。因此减少了程序设计工作所要求的时间。作为一个规则(到目前为止),花在第阶段(系统分析和设计)上的工作量是与花在
25、第阶段(程序设计)上的工作量成反比的。在一个设计良好的系统中,第阶段将具有比第阶段更大的工作量。图20.9.7 相对的项目工作量 图20.9.7的上端说明了由项目组(用户和信息服务人员)和非项目组成员的用户对项目工作贡献的相对百分比。注意,在第阶段期间,30%的工作量是由不在项目组的用户做的。在第阶段(系统分析和设计)期间,项目组必须不断地在每一级与用户进行通信。在程序设计期间,仅仅在外围才涉及到用户。在第阶段(实现和转换),在培训、测试、数据转换和并行操作中都涉及到用户。在第阶段中项目组和用户肩并肩工作,直到实现系统。在第阶段,将系统转交给用户。 (13)人员培训 为了在系统开发过程中进行有
26、效的交流,可能要求对于在设计数据库时所涉及的用户以及在生产调度中所涉及的信息服务人员进行培训。根据经验,信息服务人员负责信息系统方面的培训,而用户则负责专业领域的培训。 这个活动的产品是一张表,表中列出要求某种培训的人员的名字和头衔。每行表中都注明那种培训的简单描述,包括地点、负责人以及计划的时间等。有些培训将要求马上进行,而另一些培训(比如数据录入)将推迟到项目接近实现时进行。 (14)建立详细进度表 通过使用一种标准的系统开发方法,管理人员可以建立阶段标志(见表20.9.2的活动5,10,19,23,27,29,32,33,和36),然后,利用历史统计数据和经验来估计中间和最后活动完成的日
27、期。项目组组长必须与信息服务人员以及业务领域的管理人员密切合作以保证在系统开发过程中在各关键点有足够的人员。 系统开发过程本质上是线性的(一个活动接着一个活动),而且是不难用适当的准则(方法学)和合理的估计来监视的。表20.9.8说明了一个典型的信息系统项目进度表。在活动点上加上三种标志之一以指出该活动的状态。如果情况表明该活动是不必要的,则在活动号上加一个圆圈。如果一个特定的活动正在着手进行,则在相应的活动号上划一个对角线。一旦活动完成则将对角线改成交叉线“”。有时也用甘特表来给出项目进展的图形轮廊。 在开始一组有阶段标识的活动之前,要准备一个更为详细的进度表,来单独安排这些中间活动。对于要
28、求多于两周时间的那些活动将以两周为增量来安排进度。表20.9.9说明了对具有阶段标志E的那些活动的一个详细的信息系统项目进度表。表20.9.8 信息系统项目进度表 阶 段+具有阶段标志完成的活动阶段标志 活动估计的开始时间 实际的开始时间 提前或推迟的天数 估计的完成日期 实际完成的日期 提前或推迟的天数A 1 2 3 4 5 198W.9.1 198W.9.1 DS 198W.10.1 198W.10.15 12BB 6 7 8 9 10 198W.10.1 198W.10.20 14B 198W.11.1 198X.12.1 22BC 11 12 B1314 15 16 17 18 19
29、198X.9.15 198 Y.9.1 13A 198X.12.25 198X.12.20 3AD B2021 22 23 198Y.1.15 198Y.1.15 DS 198Y.2.15E 24 25 26 27 198Y.3.1 198Y.6.30F 28 29 198Y.6.1 198Y.7.15G 30 31 32 198Y.6.25 198Y.9.10H 33 198Y.10.1 198Y.10.31I 34 35 36 198Y.11.1 198Z.2.11 =已开始的活动=已完成的活动0 =不要求采取措施+对应于图20.9.3中的方法学*直到实现可行性研究之前,并不进行第阶段活动
30、的估计A =提前的工作天数 B =推迟的工作天数DS=正在进行表20.9.9 信息系统项目进度表具有阶段标志E的活动阶段标志E细节活 动 估计的开始时间 实际的开始时间 提前或推迟天数估计的完成日期 实际的完成日期 提前或推迟天数24 指定程度组长 198y,3.1 198y,3.825 安排顺序和分配程序 198y,3.5 198y,3.1226 安排程序准备进度 198y,3.15 198y,3.2527aKG*2编定、测试程序并编写程序资料 198y,4.1 198y,4.1127bKG*2同上 198y,4.15 198y,4.3027cKG*2同上 198y,5.1 198y,5.1
31、427dKG*2同上 198y,5.15 198y,5.3127eKG*2同上 198y,6. 198y,6.1427fKG*2同上 198y,6.15 198y,6.30*以阶段标志D的活动 A=提前的工作天数B=推迟的工作天数实际开始时间为准 os=正在进行 下面的方法可以用来估计价格、人员以及相应的时间要求。这种循环使用的方法使得一组人能意见一致,而且对于信息服务项目特别合适。我们假定参与估计的那些人能够提出问题或具有任务方面的知识,而且能够提出支持自己意见的重要的理由。参与建立信息系统项目进度表的人可以包括项目组长、起作用的用户经理以及其他有经验的信息服务人员(他们不一定与本项目有关)。我们通过以下几个步骤来描述进行合理估价的方法。 项目组长介绍任务(例如,确定项目进度表的阶段标志的日期)和相应的背景信息。 每一个参加者提交一个书面估计(成本、人员要求或时间)。 项目组长(以线性比例)绘出该组每个成员的估计。 计算上、下四分点和中点,并且标上迟度。 要求其估计低于上、下四分点的那些参加者解释他们低或高估计的理由。 项目组长就所标绘的估计召集一次公开的讨论会。 重复步骤至,直到达到精确性要求不需要再循环为止。通过每一次循环,将降低估计的误差。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1