365文库
登录
注册
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
一脸 上传于:2024-08-12
系统开发过程五个阶段各种系统开发方法学在范围复杂性完善程度以及方法上有很大的不同尽管有的方法学分三个阶段有的分个阶段但是每个方法学所描述的要完成的活动基本上是相同的本章要阐述的最重要的一点是最好的方法学是那些始终把用户考虑进去的方法学过去的情况是用户管理人员与信息服务开发组合作来完成系统的一般功能说明书然后由信息服务人员来进行系统开发现在系统开发是各占的比例因此用户管理人员应该非常熟悉系统开发的大体过程特别应该熟悉他们单位自己使用的方法学系统开发过程可分为五个阶段来描述这五个阶段是第阶段系统开始和可行性研究第阶段系统分析和设计第阶段程序设计第阶段转换和实现第阶段实现后的评价第阶段系统开始和可行性研究是在为开发一个建议的系统提供人力和资源之前完成的第阶段多数的工作和编写的资料是第阶段的输入在第阶段系统分析和设计期间系统分析员与用户一起工作以编写详细的功能和系统的说明书将这些说明书交给程序员然后开始第阶段程序设计在第阶段转换和实现期间一旦软件开发出来则建立数据文件转换现有系统并且实现新系统第阶段实现后的评价在开始了系统寿命期中的生产阶段之后提出经常被忽略的实现后的评价要求具体开发过程下面将逐步地描述系统开发过程至于具体的细节相互的影响方法形式等用户管理人员应该与信息服务经理联系与他们讨论公司当前使用的方法学同时再看看公司内部描述方法学的手册第阶段系统开始和可行性研究在第阶段的活动中很少有与其他四个阶段的活动相一致的此处所提供的方法包括对于受拒绝后的再次服务请求的方法以及将技术转移可能性的研究合并到诸过程中这些内容第阶段最终的产品有两个部分第一部分是实际的可行性研究报告它包含对建议的或改进的系统的描述以及利润成本分析第二部分是系统的初步设计它对于估价成本和利润是必要的该初步设计是第阶段系统分析和设计的直接输入将系统的初步设计并入可行性研究的依据是多数可行性研究是以概念而不是以设计为基础的如果在描述系统目标上花的时间太少那么成本估计甚至利润估计将是错误的用概念来指导可行性研究注定会导致成本过高而且用户不满意在系统初步设计上所花费的时间是值得的即使拒绝可行性研究也是如此因为所编写的资料将必然会被证实其他项目中是有价值的下述编号的活动与表的系统开发责任矩阵相对应提交服务请求图说明了包括对受拒绝的请求再次请求处理的一种方法所请求的服务毕竟是用户做的因此应该由用户着手进行我们鼓励用户管理人员请求信息服务人员的帮助但是应该再一次强调业务领域的管理人员应该对各种大小的服务请求都提供合适的资料估价服务请求正如在责任矩阵中所注释的那样信息服务管理人员只能承诺小的项目由公司的方针所确定的小项目指定可行性研究组信息服务经理和用户经理共同来指定适当的混合的人选以组成可行性分析研究组该组至少由一名系统分析员和一名用户代表组成可行性研究组的大小取决于可行性研究的范围和时间限制用户代表应该熟悉当前专业领域的所有工作用户经理总经理助理或专业领域分析员是合理的候选者用户的系统分析员具有计算机信息处理基础知识的情况已经越来越普遍了必须指定一个人担任可行性研究组的组长哪怕只是两个人的可行性研究组也需要一个组长直到年为止多数的可行性研究组和项目组是由一个高级系统分析员或一个项目负责人来领导的在信息服务部门中这两种人是固定分工做这项工作的目前越来越多的公司采取这样一种政策即由用户担任项目组组长这种将主要责任下放给最终用户的做法将进一步鼓励用户参与系统设计在这种政策上取得成功经验的那些公司已经指派了一些具有杰出管理经验和具有某些计算机和信息处理知识的用户人员担任项目组组长在任何情况下组长必须对该组的工作有一个总的安排如果要求一个用户代表既作为可行性研究组或项目组的组长而同时又要求他继续履行业务领域的职责那么该项目是肯定要失败的有好些公司已经采用了一种政策即自动地指派受系统影响最大的业务领域的经理作为可行性研究组和项目组的领导以后该经理将从原来的工作职责中解脱出来而用他她的全部时间管理可行性研究或项目组这种人事安排已经成为当今的主流其困难是用户经理需要离开原来主管的业务部门少则两个月多则三年后才能回他原来的工作岗位上标列约束条件在系统开发的过程一开始可行性研究组与信息服务人员和用户经理密切合作标列出设备成本进度规程软件以及操作上的约束条件它们可能限制建议的系统的定义和设计整理现有系统的资料整理现有系统资料的主要理由是如果可行性研究组不充分了解现有系统那么他们就不可能有效地完成所建议的系统的初始设计已经建立起来的多数人工系统并没有经过真正的设计在这些系统中必须从手稿整理出资料如果一个建议的系统是改进一个现有的计算机信息系统那么可行性研究组只需要保证现有资料的完整性和保持最新版本就行了现有系统所形成的任何资料将给设计阶段提供有价值的输入如果批准开发该系统即便建议的系统遭到拒绝也能对现有系统提供基本的资料并且可能透彻地理解理有系统现有系统的资料由四部分组成系统报告和资料系统数据文件系统数据元以及说明现有系统的数据信息和工作流程的图表前三部分报告文件和数据元可分类如下当前使用的而且在建议的系统中以目前的形式保留下来当前使用的但是修改后才在建议的系统中使用当前使用的但是在建议的系统中将被删除而不再保留的例如列出所有现有的报告和标准的资料并按上述分类给定一种状态在报告上将标明相对周期如每天每周以及分发范围对于现有系统的所有数据文件都标明有关的存储介质如的卡片磁带马尼拉折纸机磁盘等等以及存储方式例如一个名字一地址文件可以存储在许多张的卡片上并且按名字的字母顺序排列一个人工系统所保存的文件数总是令人吃惊的即便对于业务领域管理人员也是如此为了完善现有文件的资料将每个文件的记录的样式和简单描述附在文件表中系统数据元即社会保险号顾客名货号等等是直接列出的而不必关系有关的文件数据元经常在几个文件中重复出现除了状态指示符之外如果数据的名字不能自我说明则必须对每个数据数据元进行描述有关数据元的其他信息还包括更新要求如每天每周每月或根据需要更新等等来源如代办处资料系统工作人员等等以及职责如部门名和负责更新者的职务图说明在整理现有系统资料时数据元可能采用的一种典型格式我们通过将系统简化为输入处理和输出等几个基本组成部分来表示整理现有系统资料的工作过程然后用图形描绘出各部分之间的逻辑关系有多种图像表示技术来做这件事最为流行的尽管不一定是最好的是流程图其他的更为结构化的技术还有公司的层次化输入处理输出图汽泡图数据流框图南茜斯奈德曼图渥尼尔框图以及判定表当前工作过程的图像描述提供了系统的数据信息和工作流程的一个概貌它着重强调系统中控制工作流程的那些数据元这些图应该刻划人工和计算机的处理步骤并且以适当的顺序安排每一处理步骤通常以能最好地显示出工作过程的方式来组织和提供这些图它们可以是由一些随机事件功能或按小的和大的周期来驱动的子系统也可以是若干子系统既可以是层次的也可以是混合的很少有几个系统是完全顺序的因此在多数情况下可以应用模块方法调查研究技术转移的可能性为了更好地利用现有的技术许多公司正在进行将有关技术转移到他们的系统开发方法学中可能性的调查鼓励调查技术转移的可能性和或可行性的政策必将带来人力资源的大量节省特别对程序员和分析员更是如此合适的技术转移将使这些人的工作集中于还没有现成软件的特定行业的应用领域技术转移可能性的调查是从走访那些已经实现的而且与所建议的系统有类似规模和工作的系统可行性研究组还应该调查商品软件目录以便找到适合的可应用的软件如果认为技术转移是可行的则可行性研究组说明怎样使用这些技术以及为适应现有环境所要求的修改范围如果使用标准的方法来进行技术转移潜力调查那么提出要求的公司应该采取与具有类似要求的其他公司合作的政策完成建议系统的初步设计可行性研究组要走访专业人员以获得一般的系统要求然后将这些要求转换成初步的系统设计设计过程是交互的用户经理和可行性研究组需要经常就设计思想和方法等交换意见用生动的文字和图形说明来形成建议的系统初步设计的资料这些生动的文字用非技术词汇描述了所建议的系统的基本工作过程而且常常同时附有图形说明这些文字图表也将列举出那些大大违背现有工作方式而建议的系统所期望的手续手段和方法这些文字图像也将描述建议的系统与人工系统以及建议系统必须与之兼容的自动系统之间的关系图形说明将建议的系统的过程简化为它们的组成部分同时强调各部分之间的逻辑关系确定项目范围可行性研究组与信息服务人员以及用户管理人员合作估计初步设计中所刻划的系统的复杂程度并对开发项目今后的每一个阶段进行人力资源要求的估计用户信息服务人员及其他人员此外还注意到培训和计算机机时要求准备利润成本分析报告一旦完成初步设计并且确定了项目的范围则可以开始利润成本分析不幸的是由于用户和信息服务管理人员都希望加快可行性研究阶段所以一些关键的步骤被省略了因此造成在利润成本估计上的错误仅仅根据一种概念是不可能精确的反映出利润和成本的设计中的某些步骤是必不可少的另一种在形成公司决策过程中所隐含的错误将不可避免地把那些难以确定的利润也算成资金收入当今许多复杂的综合的系统为公司的利益做出了重大的贡献而做到这样程度是因为它们经历了漫长的不可捉摸和难以预见的道路评价信息服务项目的好处和价值是一个主观的过程它要求具有成本和利润方面的实际的知识此外决策者对于正的和负的不确定的利润要有透彻的理解使用美元作为所有成本和利润的统一的计量标准大大地简化了评价工作那种把不确定的利润引入盈利图表为了建立更好的顾客关系或提高威信的作法会造成在底线中复合的错误底线经常被盲目地接受作为一种信条事实上在那种情况下估价是取最好的情况理想的和最坏的荒谬的情况之间然而如果将不确定的利润化成美元那么决策者将以更好的判断代替那种不准确的估计估价建议的信息系统的最好途径是针对系统净值收入减去成本估量正的和负的不确定利润为了便于理解不确定利润例如增加服务减少发票上的错误加快周转期等应该产生一个成本和收入的一览报表表说明如何使用最少的成本类别来表示一次性的和重复使用的成本这些成本可由预算中心提出并且把公司作为一个整体来考虑成本类别有劳力材料和设备旅差以及其他各种成本对于每一类在第一列指出一次性成本估计开发而在系统寿命期的水平线上指出可重复使用的成本估计生产公司项目在净值可以从估计收入中扣除成本计算出来并且根据公司政策对流动现金打折扣根据可行性研究做出决策完成可行性研究后除了技术补充之外所有报告和资料全部交给信息处理政策委员会以便实施技术补充包括准备可行性研究所要求的背景信息它还包括一般的系统设计和开始第阶段系统分析和设计的一个框架信息服务政策委员会感兴趣的主要是初始服务请求范围图解说明和利润成本分析信息服务政策委员会能对可行性研究施加影响信息服务政策委员会能够拒绝建议批准建议并对该建议的开发和实现指定一个最高优先数批准系统并给它指定一个比最高优先数小的优先数同时将请求放在所有建议的系统队列的适当位置定期检查队列当所请求的资源可用时委员会给当时是最高优先数的项目发出通行命令第阶段系统分析和设计很少有几个项目能在批准可行性研究后立即实现在得到批准和项目开始之间的估计时间可能是两年或两年以上一旦项目获如通行命令则开始第阶段系统分析和设计在第阶段将描述所有输入输出的格式和内容并且完成详细的系统设计第阶段的最后一步活动是准备程序说明其中包括各种程序模块的说明书重要的是牢记在第阶段和第阶段不编制程序一个普遍容易犯的错误经常与系统的质量和运行维护的水平密切相关是压缩第阶段使它提前完成以便开始第阶段程序设计粗糙的系统设计必将成倍甚至三倍地增长项目所要求的程序设计量指定项目组与可行性研究组一样项目组也应该有一个或多个系统分析员和一至多个来自所建议的系统范围内各业务方面的用户代表如果可能的话还要给项目组指派一名信息服务审计员他不作为专职人员而作为安全和控制方面的顾问因为在第阶段结束之前程序员实际上并不参与进来所以可以将指定程序员一事推迟到第阶段结束时再进行可行性研究组的成员不一定都是项目组成员在第阶段结束到第阶段开始之间的这一段时间里通常委派他们到其他项目去然而我们建议只要可能则尽量将原有可行性研究组的人员指派到项目组项目组的组长可以是信息服务人员也可以是用户某些单位有按业务领域组织的固定的项目组例如某个项目组专门负责人力资源开发方面的老的系统的维护和新系统的开发而另一项目组则负责会计和财务方面等等另一种办法是项目组必须由信息服务人员和用户专业人员共同组成而且是以项目为基础来指定项目组究竟怎样组成项目组为好显然要进行权衡按专业组成的项目组很难预料在任务过多时或任务不足时由于人员不足或过剩所带来的损失然而这种项目组织使得项目组成员有更多的机会积累开发专业领域应用的经验信息服务项目组组织的最好方式或许是既按专业领域组织而同时又保持一定的灵活性使得项目组成员能在各项目组织之间流动以便达到饱满的工作负荷根据项目的复杂程度和涉及范围的大小每个项目组都有不同的最佳人数项目组长的能力是一个重要的因素有些地方一个经理能有效地管理个以上的人员而另一些经理却连管理个人都有困难项目组的大小以及相对进度这些是用户信息服务人员以及公司的经理感兴趣的问题许多公司的经理人员有一种错误的概念即如果将项目组人员增加一倍那么完成项目的时间就应该减少一半实际情况并非如此一个能够直接分成若干个相同大小模块的简单项目用两倍的人力可以在原定的一半时间里实现然而绝大多数的项目是复杂的有的甚至是极为复杂的这就要求在所有项目组成员间进行内部协调图说明增大项目组的规模时将会发生的情况在某确定的数目之前每增加一个指派到项目组的人员都增大了对项目的贡献在这之后每增加一个人实际上减少了项目组每个人对项目工作的贡献图上有一点是增人员的反射界线超过那一点再增加人对于项目的目标来说反而起相反作用由于项目成员之间的关系复杂因而使得生产效率降低在为了满足项目限期而采取紧急措施的情况下有时经理人员要求将所有资源转移到紧急的项目上图形象的说明了当一个项目组人员太多时将会出现的情况这时将不可能进行内部协调当头都不知道尾在做什么的时候即使每一个成员都忙于从事某种与项目有关的工作项目的进度还是要停顿下来对于每一个确定的项目组都有最佳规模与项目有关的所有经理和公司行政人员都应当很好地掌握这样一个格言与其过分地扩大项目组织规模造成欲速则不达的局面还不如推迟项目的实现时间估计人员要求并进行人员委托一个项目的成功与否在很大程度上依赖于用户与公司经理其他专业领域人员以及某些范围内信息服务人员如数据库管理员联系用户的人员等等由于某人或某部门忘记或不承认以前的口头上的委托会使得许多紧急项目被延误因此有必要签署一个书面的人员委托书应该造表列出在系统开发过程中所直接参与到的项目组的人员和其它人员如访问用户人员收集数据人员等并同时列出在每一阶段对他们的相对的时间要求见表项目的人力要求来自于可行性研究报告图估计人员要求没有书面人员委托而进行的项目肯定会产生不必要的延误甚至可能失败本书把项目开发的重要性放到一个恰当的位置在项目中所涉及到的许多人并不在项目组内由于这些的多数都理解他们的例行活动比项目所涉及的任何外部事物更为重要所以一个书面委托是必不可少的不幸的是项目委托有时超过了他们按常规分配的工作负荷在这种情况下需要经理直接参与定期督促和采取干预措施图对于在各个阶段人员委托的相对要求上给读者一个感性的认识图的底部描绘了在系统开发的每一阶段占总的项目工作量的百分比对每一阶段提供了项目工作量百分比的一个范围公司的政策以及系统开发方法学将影响到相对百分比例如一种强调设计阶段的方法学将必定有更为清楚定义的程序功能说明书因此减少了程序设计工作所要求的时间作为一个规则到目前为止花在第阶段系统分析和设计上的工作量是与花在第阶段程序设计上的工作量成反比的在一个设计良好的系统中第阶段将具有比第阶段更大的工作量图相对的项目工作量图的上端说明了由项目组用户和信息服务人员和非项目组成员的用户对项目工作贡献的相对百分比注意在第阶段期间的工作量是由不在项目组的用户做的在第阶段系统分析和设计期间项目组必须不断地在每一级与用户进行通信在程序设计期间仅仅在外围才涉及到用户在第阶段实现和转换在培训测试数据转换和并行操作中都涉及到用户在第阶段中项目组和用户肩并肩工作直到实现系统在第阶段将系统转交给用户人员培训为了在系统开发过程中进行有效的交流可能要求对于在设计数据库时所涉及的用户以及在生产调度中所涉及的信息服务人员进行培训根据经验信息服务人员负责信息系统方面的培训而用户则负责专业领域的培训这个活动的产品是一张表表中列出要求某种培训的人员的名字和头衔每行表中都注明那种培训的简单描述包括地点负责人以及计划的时间等有些培训将要求马上进行而另一些培训比如数据录入将推迟到项目接近实现时进行建立详细进度表通过使用一种标准的系统开发方法管理人员可以建立阶段标志见表的活动和然后利用历史统计数据和经验来估计中间和最后活动完成的日期项目组组长必须与信息服务人员以及业务领域的管理人员密切合作以保证在系统开发过程中在各关键点有足够的人员系统开发过程本质上是线性的一个活动接着一个活动而且是不难用适当的准则方法学和合理的估计来监视的表说明了一个典型的信息系统项目进度表在活动点上加上三种标志之一以指出该活动的状态如果情况表明该活动是不必要的则在活动号上加一个圆圈如果一个特定的活动正在着手进行则在相应的活动号上划一个对角线一旦活动完成则将对角线改成交叉线有时也用甘特表来给出项目进展的图形轮廊在开始一组有阶段标识的活动之前要准备一个更为详细的进度表来单独安排这些中间活动对于要求多于两周时间的那些活动将以两周为增量来安排进度表说明了对具有阶段标志的那些活动的一个详细的信息系统项目进度表表信息系统项目进度表阶段具有阶段标志完成的活动阶段标志活动估计的开始时间实际的开始时间提前或推迟的天数估计的完成日期实际完成的日期提前或推迟的天数已开始的活动已完成的活动不要求采取措施对应于图中的方法学直到实现可行性研究之前并不进行第阶段活动的估计提前的工作天数推迟的工作天数正在进行表信息系统项目进度表具有阶段标志的活动阶段标志细节活动估计的开始时间实际的开始时间提前或推迟天数估计的完成日期实际的完成日期提前或推迟天数指定程度组长安排顺序和分配程序安排程序准备进度编定测试程序并编写程序资料同上同上同上同上同上以阶段标志的活动提前的工作天数推迟的工作天数实际开始时间为准正在进行下面的方法可以用来估计价格人员以及相应的时间要求这种循环使用的方法使得一组人能意见一致而且对于信息服务项目特别合适我们假定参与估计的那些人能够提出问题或具有任务方面的知识而且能够提出支持自己意见的重要的理由参与建立信息系统项目进度表的人可以包括项目组长起作用的用户经理以及其他有经验的信息服务人员他们不一定与本项目有关我们通过以下几个步骤来描述进行合理估价的方法项目组长介绍任务例如确定项目进度表的阶段标志的日期和相应的背景信息每一个参加者提交一个书面估计成本人员要求或时间项目组长以线性比例绘出该组每个成员的估计计算上下四分点和中点并且标上迟度要求其估计低于上下四分点的那些参加者解释他们低或高估计的理由项目组长就所标绘的估计召集一次公开的讨论会重复步骤至直到达到精确性要求不需要再循环为止通过每一次循环将降低估计的误差估计是取中间值或在适合时取平均值估计的误差是包含危险的一种标志与用户人员交谈与用户交谈的过程从本活动开始为了解决问题和确定系统要求项目组成员定期与有关用户见面与用户交谈及反馈的过程贯穿于系统开发的全过程对于详细设计的基本输入是初始设计来自可行性研究对现有系统及其成分的评价也是来自可行性研究以及输入处理以及输出的要求由用户提供项目组与有关的用户人员检查在可行性研究的初始设计中所描述的输入输出要求和频率并根据需要及价值对每一种输入输出进行评价许多输出是有了更好但是却不值得去产生它们还可以根据周期和时帧来估计输入输出通过估计频率价值比的平衡来优化周期的输入和输出例如如果每周情况报告可以满足需要那么就没有必要再产生每天的情况报告在联机系统中检查响应时间要求以确定这种时间要求是否太紧迫能否适当放宽要求而又致于对运行效率产生较大的影响或者确定这种响应时间的要求是否不能满足目前系统的资料对设计提供了有价值的输入现有的报告表格原始资料等等实际上能够追踪最终用户以便确定该资料是否合适是否及时等如果是还能做哪些工作来改进它们项目组负责对现有的所有输入和输出进行修改通过合并类似的输入和或输出以及消除多余的信息尽可能地减少重复初步交谈的一个直接结果是对所建议的系统所有的输出一般的描述报告显示或事务根据周期初始用户输出介质内容以及分布来描述每一种输出说明数据库要求数据库用来支持系统的处理特别是支持系统的输出在目前系统的资料中包含了可继续使用的数据元许多现有数据元的格式肯定是需要改变的还需要将支持系统功能要求所需要的其他数据元标列出来项目组设计和编制数据字典在一部数据字典中所列出的数据具有维持每个数据元的基本信息而它们与数据库或文件的组织形式无关在表给出的数据字典的例子中包括对每个数据元指定了一个各自的前后参照号标题描述如果必要的话是否被编码程序设计标识存储单元字符数格式和存储器大小程序最初使用的以及职责等用户必须给出负责的人或部门存储单元以及是否对数据元编码等事项表的数据字典形式也可以用来交叉引用在所有原始资料报告文件以及数据库中出现的每一个数据元在标列出所有的数据元之后项目组与数据库管理员合作来进行记录格式和文件的设计或者在数据库环境下他们设计数据库的模式此活动的输出是数据字典以及有关文件和或数据库模式的一份详细的技术描述表数据字典报告标题数据字典日期系统标题标识编号标题描述编码否标记字符数字形格式存储职责原始资料报告文件或数据库工资支票工资登记簿工资主文件会计文件工时卡社会保险号职工否人事姓否人事名字职工否人事名字首字母职工否人事部门职工亲属是人事性别男或女是人事工资月工资否人事建立控制和后援的方法为了保证信息系统的正确性可靠性和完整性在设计时就要考虑加进控制手段项目组将说明在系统设计时要嵌入所有物理上的和行政管理上的控制在系统的输入处理和输出阶段用以控制系统的技术的范围是广泛的在处理之前核对输入在处理期间使用诸如合理性检查以及数字位检查等技术以便最小化或消除在计算或处理中的过失误差记录计数和长度核对是用来保证输出正确性的许多技术的代表为了避免在系统故障期间造成破坏需要确定后援备份和校验点重新启动的方法这些方法描述了包含在系统中的克服故障的额外处理在系统故障的情况下利用备份文件和或备份事务日记从上一个校验点来重新建立处理在上一个校验点重新启动系统并重新开始正常的运行在系统处理周期期间定期地建立校验点将会使系统及时地保留在该点的所有处理而且不会被破坏完成详细设计详细的系统设计是分析输入输出处理控制和后援要求的结果系统初步设计或系统一般设计只描绘了各主要处理活动之间的关系而系统详细设计则扩展到包括所有处理活动和有关的输入输出这是系统开发过程的基础活动正是这一步将功能说明书与技术上和方法上的新设施结合一起以实现一个系统详细设计是前面所有工作的归宿此外它也是该项目今后所有活动的一张蓝图在活动中提到了用图形说明系统设计所使用的若干技术但没有详细讨论这里我们简单地讨论其中三种技术流程图以及渥宁图用来形象地描述工作流程和总的系统设计的最流行的技术是流程图流程图使用刻画系统逻辑的一些专用符号并通过流线把这些符号相互连接起来以说明工作流程和数据流程图给出了系统流程图符号的一个子集在图中用流程图描绘了一个已投入运行的工资系统的一部分流程图有一定的缺点不像前面所讨论的其他两种技术流程图并不鼓励分析员使用系统设计的自上而下或模块化的方法因此用流程图方法来设计系统不仅难于设计而且设计出的系统也难于理解和维护流程图之所以较为流行主要是由于它是最早出现的设计方法层次式输入处理输出法又称法是在一层次体系中将系统设计按其详细程度分层依次地说明所有的输入处理和输出的一种方法图说明了一个工资系统的卷内容表是在设计方法中所使用的几种标准形式之一整个系统被划分成由若干逻辑模块所组成的一个层次体系并用来描绘此后利用粗框图和细框图还可以将这些模块进一步划分成更细小一层的输入处理输出的细目通常由若干个将设计的层次体系统推进到依次的细目层从结构化方法所得到的好处往往被编写系统资料所需要的大量繁琐的文书工作所抵消了框图在图中说明可以用来设计整个系统数据结构报表内容以及数据元的编码使用框图的依据是应该围绕着数据结构来设计系统框图的最大优点是对各种环境的适用性图中的例子是一个扩展项判定表它是许多判定表中的一种一个判定表有一个条件分叉在表的左上方和活动分叉在表的左下方一个条件项右上方以及一个活动项右下方判定表并不是一个说明数据流和工作流的有效的工具最好把它作为其他设计方法的补充判定表的主要好处是必须考虑到每一种可能的替换者选择条件变元等与流程图图以及其他设计方法不同使用框图法系统分析员不必考虑细节图部分系统流程图符号图简化的工资支付系统流程图工资系统系统开始每月处理月初每周处理提交时间卡片数据录入按工时处理职工记录工资支票工资联单更新工资文件月末按月薪处理职工记录工资支票工资联单更新工资文件系统结束图框图图卷内容表上面讨论的分析工具代替了一大段解说词而通常对解说词的理解容易产生混淆然而精心设计的解说词可以而且应该用来支持图形设计技术没有一种分析和设计的技术是最好的最好的分析和设计技术是适合一个公司具体情况的各种技术的组合总之模块化的自顶向下方法是当今必不可少的按自顶向下方法进行设计时通过最高一级的管理者来建立基本的系统目标然后根据在公司每一级收集的输入数据在设计中增加后继的细目层由于作为一个整体概念多数系统过于复杂所以将系统分成若干个更容易理解的模块模块化的主导思想是各个击破而这是行之有效的指导用户或信息服务部门预演表一张判定表支付类型工资按工时处理佣金时帧周末月末周末月末周末月末打印工资支票打印工资联单结构预演是一种预测评价方法它能有效地减少某些被忽略的或作错的事情它也给预测者提供一个机会来评价那些业已建议的事情如系统设计从而有可能给出一些建设性的建议预演的目的是给项目组提供有价值的反馈信息而不是对系统的质量下判决性的结论项目组长应考虑何时开始结构预演通常预演是在系统设计以及系统开发过程中其他一些关键点如测试计划程序描述等完成之后才进行参与结构预演中的人有若干项目组成员一个协调员参加者一位秘书或许还包括一位不属双方的中立的经理项目组的某个成员或所有成员扮演推荐者的角色并且解释他们所承担设计的系统的那一部分协调员负责组织预演和协调推荐者与参加者之间的相互配合根据对所提出的课题的知识和兴趣来选择参加者这些人应该是没有直接参与本项目的秘书将对一些要点作书面记录通常邀请一个中立的经理参加第一次预演中立经理的出席将促使参与预演的每一个人专心于他的工作这一点有时是预演的一个问题结构预演的方法是简单的在进行预演的前几天将需要审查的材料即系统设计分发给参加者协调员负责跟参加预演的所有人联系和通信在实际的预演期间推荐者解释系统设计以及有关的资料这是通过一步一步地预演系统来进行的有时可能还借助于某种设计工具参加者提供出讨论的建议而秘书则记录下来以形成资料通常一次预演持续的时间不应超过一个半小时如果超过了这个时间限制那么一次预演会议将变得没有实际效果如果必要可以安排几次会议来完成预演项目组评价所有的建议并且把所有价值的建议并入到系统设计中预演是有价值的它使得设计者在系统实现之前获得重要的反馈信息选择硬件如果正在开发的系统要求额外的硬件支持则需要选择适当的硬件并进行订货获得硬件的过程通常是信息服务经理的责任准备输出格式在系统开发过程中到目前这一阶段为止我们已经提及了输出并描述了其有关的内容但是程序员需要知道具体的输出形式即应该怎样在输出设备上出现这种详细的输出说明称之为输出格式项目组产生出显示屏格式这种格式规定了诸如题目标题输出形式等项有时还应包括输入形式某些硬拷贝报告和资料要求事先打印好的表格纸项目组与表格纸厂商的代表合作设计这种事先打印好的表格纸例如工资支票和短线项目组还负责设计和满足在系统范围内所有人工产生的报告和资料同时与受有影响的用户经理相配合进行修改增加或删除描述数据项的说明书数据项的说明书详细规定了什么数据将输入到系统以及它们怎样被输入到系统中准备程序描述系统开发进展到目前这一步我们已经对现有的系统作了详尽的分析它的功能已经并入建议的系统的设计中我们已经完成了建议的系统及其支持的数据库的设计并且还准备了所有输入输出详细的说明书现在项目组可以着手标列和确定所有的程序而这些程序是使得建议的信息系统运转所要求的系统的图形表示流程图图和其他是标列所要求的程序的初始输入对每一个程序项目组编辑下述的资料程序语言的种类例如程序解说词的描述描述要执行的任务由程序所产生的各种输出的描述和格式处理频率例如每天每周联机等界限和限制例如输入数据的顺序容量的限制响应时间最大值最小值等详细说明书例如排序编辑的标准特殊的计算和逻辑操作各种表格等第阶段程序设计项目组现在可以着手开始与计算机通信了这种通信或与计算机的接口是采取指令形式来进行的而这些指令被编进计算机程序中这些计算机程序包括系统运转所必需的软件在第阶段程序设计阶段将开发支持信息系统所要求的全部软件用户的介入集中在系统开发的过程前段第阶段和后段第和阶段如果正确地完成了第阶段而且用户与项目组的协作是有成效的那么用户将很少介入程序设计阶段甚至完全不用介入用户介入最多的情况将反复出现在系统设计需要澄清的时候有时也出现为第阶段转换与实现作一些初始计划的时候不幸的是有时用户管理人员也较深地卷进了程序设计阶段这是第阶段进行得很糟糕而且当开始程序设计时还没完成的一种标志这种情况是经常发生的特别是在时间紧迫时项目组常常收到一些强制性的命令要求产生尚未完成的产品由于系统开发过程的最终产品是软件所以有时过早地开始程序设计这种系统开发方式必然导致产生质量低劣的系统这种系统并不能满足用户的要求而且维护的代价很高这种系统整个寿命期的成本可能是一个高质量的系统的两到三倍指定程序员组长通常项目组长是一个系统分析员或是一个用户他并不直接参与程序设计工作管理程序设计工作的人应该是程序设计工作实际的参加者因此对于要求两个人以上的程序设计工作将由信息服务经理指定一个程序员组长当然项目组长仍然对整个项目负有责任程序员组长有时也称作为主程序员他或她可能只花的时间在产品的程序设计上如果只需要管理一个下属程序员那么主程序员可能花的时间在产品的程序设计上安排顺序和分配程序一个信息系统的软件包可能要求几百个程序并不需要按照这些程序最终执行的顺序来编写它们在建立程序开发进度表时必须考虑到许多变化的因素在安排程序编制顺序时主程序员应考虑如下问题建立和维护测试文件的需要程序的依赖性此处一个程序依赖于另一个程序的部分或全部的输出程序的长度和复杂性根据程序员专业知识的水平工作效率以及对系统熟悉的程序分配程序由于经常将程序员分配到其他项目组从而对专业知识和经验的要求非常广泛所以使程序员与程序相匹配并非易事安排准备程序的进度主程序员可以利用程序进度表表来安排和监督下属程序员的活动以及任一给定程序的状态由于程序开发有一个基本的模式所以一种类似于用来监督项目进度的技术表和可以用来监督完成一个特定程序的进度表绘出的甘特表是程序进度表表的一种图形表示而且它是在公告板上可以看到的一种通用的管理工具几乎所有的主程序员和项目组长都经常使用这种公告板编制测试程序和编写程序资料通常一个程序员在一给定的时间里将同时编制个程序开发任一给定的程序的一般的方法本质上是相同的它们是图程序的甘特进度表准备一般的程序逻辑框图准备详细的程序逻辑框图编写程序写程序语句测试和调试程序编写程序的资料第阶段转换和实现第阶段的目标转换和实现是把在第和阶段的工作结合成一个整体并将信息系统实现到业务领域项目组和受影响的用户部门大量地介入第阶段的全过程中见图表程序进度表报告标题程序进度表日期系统标题材料要求标识程序标题标记程序号时间百分比一般逻辑详细逻辑编写程序测试和调试形成资料估计的开始时间实际的开始时间提前或推迟天数估计的完成时间实际的完成时间提前或推迟的天数每日更新程序管理程序调度程序库存状态程序材料清单程序日审计程序周审计程序尽管在第阶段已经分别测试了系统的各个成分程序但这并不能保证把它们结合成一个整体时系统将正常工作因此在第阶段来完成整个系统的测试在第阶段期间项目组将培训用户运行信息系统转换现有文件以及建立数据库在并行工作之后系统转变到业务领域完成转换计划转换系统的处理本身就是一个系统而且应该像最好的结果那样来处理项目组与用户管理人员以及信息服务审计组合作共同研究以设计出一项转换计划该计划包括系统验收测试文件或数据的转换用户培训以及并行工作如果必要的话的细节转换计划详细地细述了用户及信息服务人员的义务和责任同时还规定了进行这些事情的时间限制指导系统验收测试虽然已经测试了各个单独的程序模块但是还没有把它们结合成一体作为一个系统来处理一个信息系统可能有个以上的程序和一打以上的文件必须把它们作为一个整体来处理以保证使工作协调并使用户满意整体的测试将验证全部系统软件和应用软件输入输出文件和数据库以及各种过程在测试期间用户人员是实际的参加者在测试过程中有可能发现错误忽略了系统的某些方面某些过程的缺点将会暴露出来可以肯定一部分验收测试过程必须在系统设计和程序设计方面进行较小的修改如果系统是正确开发的那么任何这种修改将只是微小地调整系统任何重大的修改应该推迟到系统实现之后并且至少在进行生产性工作一年之后再进行这种推迟避免了通常敲打膝部那种反作用引起的改变而提交可观的资源这是因为为了减少重大修改的要求项目组长和受影响的用户管理人员将要停止信息系统的每一方面这时重大修改的要求才是一种分界清楚的标志它表明有人忽略了他们对项目的责任整个系统的测试实际上是分两个部分完成的首先利用测试数据来验证每一个子系统一旦证实所有子系统的功能是适合的则有生存的数据来测试整个系统测试数据是为了测试特定的环境而产生的而生存的数据通常是来自过去处理使用的实际的数据在测试联机系统时此时响应时间是关键问题为了测试系统的能力包括了用几种生存数据的测试会话系统可能运行良好但是由于计算机能力不够大或是程序的效率不高也可能导致不可接受的响应时间设计用户手册项目组设计一套用户手册并且在对系统验收测试的同时指导用户的培训活动每个信息系统都应该有一套用户手册它们提供有关系统运行的命令和解释用户手册和有关的培训对于系统的最后成功是至关重要的光有一套用户手册是不够的这些用户手册还必须是一种高质量的资料它们能对系统的每一方面提供快速和容易的参照用户手册至少包括系统的目标系统的描述工作流程和一般的操作方法完成和理解输入输出的命令数据收集和更新的方法控制其他例如术语唯一的词汇表硬件的描述和用法性能的界限等等用户手册的内容来自系统资料然而在编写和编译这种手册时必须考虑到能为预期的用户所理解而且不会被错误地解释提供用户培训大纲如果不能跟培训相关联那么用户手册的价值就很小项目组的成员指导一系列的培训课程以使得用户熟悉系统用户培训大纲的一般内容包括系统的用途和目标现有系统与新系统的差别系统工作概述如何使用用户手册与系统有关的信息服务人员和用户人员的义务和责任一个有各地分号的大型百货商店实现了一个联机销售点系统并将用户手册分发给每一个终端地点如果没有正规的培训销售员将丢下他们自己的工作而去揣摹用户手册有页以上以了解系统的用途由于销售人员不能处理基本事务于是使得顾客不再等待而跑到其他地方买货在他们认识到问题不在于市场产品质量或地点之前百货商店的这些分号几乎要关闭问题在于缺乏对系统用户的训练建立和转换文件或数据库很难找到一个已实现的系统而不需要修改原有的文件或数据库有些文件和数据库需要新建而其他一些则需要从现有的转换成适合的格式用户部门负责将手写的数据统一格式并变成机器可谈的形式用户部门也可能负责抄写和录入数据的工作如果数据不是现成可用的或没有用人工存储起来例如存放在的卡片上那么数据的准备工作可能耗费相当长的时间在项目组的指导下用户负责新产生的和转换的那些文件的一致性数据的校对是将人眼现场检查与计算机自动校验结合起来进行的随机抽样检查可以有效地用于非常大的文件或数据库在建立和转换处理期间掌握时间是很重要的因为一旦建立了一个文件或数据库此后就必然要对它们进行连续地更新因此最好的策略是在并行工作开始之前或者在不要求并行操作的情况下在系统实现时正好完成建立和转换工作完成并行工作并行工作意味着同时运行原有的系统和新的信息系统并行工作是常用的手段特别是当系统故障相当大地影响到公司的运营时更是如此在并行工作期间用户和信息服务人员被分散开了因为两个系统都需要维护完成并行工作是十分困难的因为参加的人员仍然处于开始阶段通常安排并行工作持续一个主要的系统周期一般是一个月项目组长和受影响的用户管理人员以及有关的信息服务经理监督并行工作的进程某些单位已经接受了并行工作至少要进行一个主要周期的方针而另一些单位则决定维持原有系统直到经理认为新系统已经全部运行时为止如果在并行工作期间出现了一次较大的故障则应中断并行工作并进行有关的修复工作由于必须维护文件和数据库所以及时性是十分重要的如果公司改进他们的系统测试方法那么信息服务和用户人员就会自信他们有能力去实现一个系统有些公司放弃并行工作尽管这种做法有很大的危险但是这样将把力量集中在成功地实现一个新系统上在某些情况下由于时间和人力有限不能进行并行工作因而经理的代替办法是直接实现新系统并且要求进行充分的系统测试第阶段实现后的评价第阶段实现后的评价常常被忽略由于其他紧急的信息系统项目需要人员往往进行很少的甚至不进行实现后的评价不管好坏系统就被接受了实现后的评价或定期系统评价应该是系统开发过程的组成部分任何信息系统在刚刚实现之后都将要求做某些微小的调整为此必须在系统投入生产前对它进行评价因为一旦系统投入使用即便实现前的测试设计得很好也不可能完全暴露出某些在系统投入运行时必将出现的问题委托并进行评价活动的好处是获得更高质量的系统并且使用户更为满意调整成本项目组长调整项目的成本以如实反映阶段的最终系统开发成本此外还将成本汇总以反映出维持系统运行的成本直到系统实现至少一个月之后才有可能算出精确的符合实际的成本数据指导系统实现后的评价系统实现后的评价系统的一个关键检查步骤由从项目组和受影响的用户部门挑选出的人员来指导进行在系统运行的头几个月由于存在着对改革的阻力对系统的把握不够以及非预期的问题等因此不宜立即进行系统实现后的评价通常在第阶段完成后的个月之间进行系统实现后的评价项目组和用户部门挑选和人员并指导系统实现后的评价以决定实际的与预期的性能的比较利用在系统设计时已建立起来的某些标准例如在峰值工作负荷时的响应时间将实际的性能与预期的性能进行比较系统目标实现的程度针对在可行性研究中建立的那些目标来评价系统例如系统能否给审计员提供非常及时的信息以进行更好的决策非预期的利润或耗费几乎任何基于计算机的系统都将导致非预期的利润和耗费这些利益或负荷提供了评价整个信息系统效率的直接输入数据坦率地计论错误很少有在系统开发过程中不犯错误而实现一个系统的应该将项目组用户经理用户人员其他信息服务人员或信息服务对策委员会坦率详细地讨论的错误编写成资料列举这些错误并非用来追究某个人或某团体的责任而只是着重强调为什么会产生这些错误以及可以做些什么努力以便在今后的项目中消除这些错误系统实现后的评价被提交给信息服务经理和用户经理以便采取适当的措施准备系统检查的计划很多数据处理系统和信息系统在实现之后都保持原样而没有作出任何共同的努力去显著地提高它们在这些系统中所谓的改进工作是不超出例行维护的范围的而且是由于用户的反映才作的这种被动地改进系统的方法其效率远比由定期的系统检查来保证的主动的方法要差得多有很多原因会导致忽视定期检查因此应该通过一个正式的书面检查计划来督促进行检查两次检查之间的间隔时间是根据系统的复杂性和易变性来决定的定期系统检查是业务领域管理人员的责任由检查所产生的各种建议将最终反映在由用户管理人员提交的一个服务请求中
tj