第二章可行性研究“问题有可行的解吗?”2.1问题定义一、关键问题•“要解决的问题是什么?”二、主要结果•提出关于问题的性质、工程目标和规模的书面报告。三、内容及步骤(一)系统任务的提出1.系统任务的提出者2.1问题定义-系统任务的提出(1)用户提出:一般而言,系统开发的任务由使用者提出,如企业(或组织)的领导和有关的管理人员。(2)课题项目:系统开发人员本身也可以提出系统开发任务。(3)上级机关布置(4)合作开发2.系统任务的提出形式(1)书面形式:系统任务的提出一般以书面形式,如系统开发任务书或系统开发协议书等形式。(2)口头形式:2.1问题定义-初步调查3.系统任务提出的目的由于绝大多数使用者不可能对以计算机为基础的系统功能全然清楚,对系统任务的要求不可能讲得确切。因此使用者提出的系统任务,仅提供编写系统目标的素材。如果不加分析与加工地当作系统目标,将使系统开发工作盲目,无明确目标。(二)初步调查1.初步调查的目的初步调查的目的是为了合理地确定系统目标、系统总体分析及系统的可行性分析。为了这些要求与目的,在初步调查过程中应收集并整理与整个系统有关的资料、及存在问题。2.1问题定义-初步调查2.初步调查的主要内容初步调查的内容是调查一个企业(或组织)的总貌、以及其对信息的总需求。主要内容包括:(1)整个企业(或组织)的概况–规模、组织目标、组织机构,产、供、销的概貌,人员、设备与资金的现状,以及目前的管理水平,特别是管理的基础工作的水平。(2)现行系统的概况–功能、人员、技术水平以及管理体制(归属哪一级领导)等。(3)组织对外部的关系–和哪些外部单位(外部实体)之间有哪些物资、资金或信息的来往关系。(4)本组织的领导者、管理部门对系统的态度,支持的程度(包括人力、资料与数据),对新、老信息系统的看法以及对信息的需求。(5)开发系统的资源、人力、资金以及开发周期等资源情况。2.1问题定义-系统目标的确定(三)系统目标的确定1.系统目标的含义系统目标是系统最终要达到的目标,是系统开发的宗旨,各个阶段的工作都要以这个宗旨为中心。有了明确的系统目标,然后进行系统的可行性研究,从而有针对性的作进一步的详细调查。2.如何确定系统的目标系统开发人员通过初步的调查,了解企业领导以及主要的管理干部对系统的要求与设想,根据目前组织具备的条件及资源,初步提出系统的目标。系统目标必须明确提出所开发系统是“干什么”的,它与人工管理决策之间的界限,哪些信息处理由计算机完成,哪些仍旧由人工完成。对于一个较大的系统,除了系统目标之外,还应提出各子系统的子目标。2.1问题定义-系统目标的确定例一:**厂信息系统的系统目标为了管理现代化的要求,建立一个生产、经营、资金、成本与物资的动态数据收集、处理与控制的信息系统。(1)信息系统为不同层次的管理人员提供日、周、旬、月、季、年的各种单项及综合的报表和计划,并实现对当前的生产、经营、物资、资金以及项目进度等现状与动态,进行多功能查询。(2)该系统使用同一套数据,提高信息的准确性与一致性。(3)实行生产成本以批号为单位进行核算。对生产质量与数量以批号进行跟踪,提供及时、可靠的信息。(4)建立若干管理的优化功能,包括计划优化、市场预测和财务预测等。(5)设计中考虑与本厂生产线上的实时控制系统的接口,以扩大系统的功能。2.1问题定义-系统目标的确定例3:某销售公司的系统目标某销售公司的系统目标是实现公司各个销售环节的计算机管理,协调公司三大部门(销售部、财务部、储运部)的工作,极大地提高公司内部的工作效率,使公司的经济效益显著提高。从管理的层次结构来看,信息系统能为公司三个层次的人员服务。一是为日常事务处理层服务,方便这类人员的日常工作,具体包括营业代表填写供货单,财务人员开发票、发货单、帐款回收,仓库人员配货等;二是为中层管理者(如各部门经理)服务,便于他们指导、督促和管理所在部门的日常工作。三是为高层决策者(如总经理)服务,为他们的宏观决策提供科学的依据。如预测产品的销量,确定合理的订货数量,使库存最优;分析影响产品销量的相关因素,确定最佳的产品价格,制定最优销售方案等。2.2可行性研究“问题有可行的解吗?”一、可行性、可行性研究的含义•可行性的含义包括可能性、必要性。•可行性分析的对象是系统目标。评价系统目标的可能性、必要性。•所谓可行性研究,就是按照各种有效的方法和工作程序,对拟建工程项目在技术上的先进性、适用性,经济上的合理性、盈利性,以及项目的实施等方面进行深入的系统分析。2.2可行性研究-目的二、可行性研究的目的•可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,是否有必要去解决。三、可行性分析的内容1.技术上的可行性使用现有的技术能实现这个系统吗?即分析现有的技术条件实现系统的可能性。包括目前市场上的计算机硬、软件、通讯设备以及计算机网络的条件,同时应了解有关厂商提供维修等技术服务的条件等。2.2可行性研究-内容2.经济上的可行性这个系统的经济效益能超过它的开发成本吗?经济上的可行性包括两个方面:一是初步估算开发系统所需的投资,目前资金有无落实;二是估计系统正常运行时期能带来的效益(包括直接效益、间接效益)。3.操作可行性系统的操作方式在这个用户组织内行得通吗?4.时间可行性完成系统所花的时间是否能够满足用户的要求?2.2可行性研究-内容5.组织与管理上可行性从一个企业来看,企业内部干部的素质,他们对管理现代化得认识与支持得程度,成为实现系统最根本得可能条件。管理基础是开发一个系统的基本条件,没有较稳定、合理的管理制度与管理方法,系统是不可能被成功开发。同时,开发系统反过来也加强管理。6.社会、政策允许的可行性2.3可行性研究-步骤2.3可行性研究-步骤一、可行性研究的步骤1.复查系统规模和目标2.研究目前正在使用的系统主要查找其缺点3.导出新系统的高层逻辑模型高层逻辑模型包括:数据流图、数据字典等。4.重新定义问题2.3可行性研究-步骤5.导出和评价供选择的解法提供可行的方案6.推荐行动方案根据上一步的可能方案,确定一个“最优方案”。主要根据“经济上是否可行”来确定。7.草拟开发计划计划包括:工程进度表、开发人员及资源需求等。8.书写文档、提交审查2.3可行性研究-步骤二、可行性报告主要内容引言可行性研究的前提对现有系统的分析所建议的系统可选择的其他系统方案投资及收益分析社会条件方面的可行性结论2.3可行性研究-步骤结论•可以立即开始进行•需要增加资源才能开始,例如增加投资或人力。•需要推迟到某些条件具备后才能开始,例如组织机构的调整。•需要对系统目标作某些修改才能开始。•不能或没有必要进行,例如经济上不合理,投资相差太大。2.4系统流程图一、系统流程图1.什么系统流程图•系统流程图是描绘物理模型的图形工具。•基本思想是用图形符号以黑盒子形式描绘系统里面的每个部件(程序、文件、数据库、表格、人工过程等)。•系统流程图所表达的是:信息在系统各部件之间流动的情况,而不是对信息进行加工处理的控制过程。2.4系统流程图2.绘制系统流程图的原则与实际业务吻合,能客观、真实地反映实际业务。图例规范,便于交流。图形脉络清楚,简明扼要,不必要的具体细节可省略。复杂的业务,可通过系统流程图的分层来描述。3.系统流程图的特点图描述的主体是票据、帐单(信息的主要载体)票据、帐单的流动线与实际业务处理过程一一对应。2.4系统流程图图中票据、帐单有“生”、有“死”,即一次生命周期反映一笔业务的处理情况。4.系统流程图的作用制作系统流程图的过程是系统分析员全面了解系统业务处理概况的过程,它是系统分析员作进一步分析的依据。系统流程图是系统分析员、管理人员、业务操作人员相互交流的工具。系统分析员可直接在系统流程图上拟出可以实现计算机处理的部分。可利用系统流程图来分析业务流程的合理性。2.4系统流程图5.基本图例符号名称说明处理能改变数据或数据位置的加工或部件。输入/输出表示输入/输出,是一个广义的不指明具体设备的符号连接指出转到图的另一部分或从图的另一部分转来,通常在同一页上。换页连接指出转到另一页图上或由另一页图转来。数据流用来连接其它符号,指明数据流动方向2.4系统流程图6.阅读技巧从左到右的原则,沿着数据流动的方向分析票据、帐单的生命周期的途径(分析业务部门之间的关系)熟悉图中的业务处理单位(个人)部门。2.4系统流程图7.实例事务库存清单程序定货信息报告生成程序定货报告库存清单主文件库存清单系统的系统流程图2.5数据流图1.数据流图的含义数据流图(DFD)是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能。2.数据流图的特性(1)抽象性•在数据流图中,具体的组织机构、工作场所、物质流等等都去掉,仅剩下信息和数据存储、流动、使用以及加工的情况。这有助于我们抽象地总结出信息处理的内部规律。2.5数据流图(2)概括性•它把系统对各种业务的处理过程联系起来考虑,形成一个总体,具有概括性。(3)数据流图描述的主体是抽象出来的数据。(4)数据流图具有层次性,一个系统将有许多层次的流程图。3.基本图例(1)数据的源点/终点外部实体一般是该系统数据的来源或方向。如系统以外的事物、人或部门,甚至是另一个系统。名称名称或名称单个出现重复出现2.5数据流图(2)数据流数据流指示数据流动的方向,是一个水平或垂直的箭头。一般采用单向箭头,也可用双向箭头。数据流的名称可写在数据流箭头的上方。数据流从某一个外部实体或处理逻辑、数据存储产生,去向是另一个外部实体或处理逻辑、数据存储。顾客问询项答复内容问询处理2.5数据流图库存帐出入库数据经理财务报表记录存帐打印财务报表2.5数据流图有时数据流很难用简单而适当的词表达,这时可用概括性的语句来表达。如:顾客订货单支票退货单询问顾客顾客事务处理顾客事务处理顾客事务2.5数据流图(3)处理逻辑处理逻辑表达了对数据的逻辑处理功能。例如:•标识部分用来唯一地标识出这个处理逻辑。它是一个编号,一般用数字或字母数字标识。通常一张复杂的数据流图未定稿之前先不给以编号,在最后定稿以后,才对每一个处理逻辑加以编号。标识部分功能描述部分P15计算利润或标识功能描述2.5数据流图功能描述部分:一般用一个动词和一个作宾语的名词所组成。常用的动词:产生、检索、计算、保存、检索、修改等。功能执行部分:是处理逻辑的执行者,起参考作用。(4)数据存贮数据存贮表示数据保存的场所。这个“场所”不是指数据保存的物理地点或者物理存贮介质(如文件柜、磁盘等),而是数据存贮的逻辑描述,是指数据在处理过程中有一个存贮的状态。2.5数据流图数据存贮用一个右边开口的水平的长方条表示。内部写上该数据存贮的名称、以及其编号。编号存贮数据的名称F2供应商或存贮数据的名称例如:F2供应商重复出现2.5数据流图4.数据流图的用途系统分析员用这种工具可以自顶向下分析系统信息流程。可在图上画出需要计算机处理的部分。根据数据存贮,进一步作数据分析,向数据库设计过渡。根据数据流向,定出存取方式。对应一个处理过程,用相应的语言、判定表等工具表达处理方法。2.5数据流图5.数据流图的优缺点总体概念强,每一层都明确强调“干什么”,“需要什么”,“给出什么”。可以反映出数据的流向和处理过程。由于自顶向下分析,容易及早发现系统各部分的逻辑错误,也容易修正。容易与计算机处理相对照。不直观,一般都要在作业流程分析的基础上加以概括、抽象、修正来得到。如果没有计算机系统帮助的话,人工绘制太麻烦,工作量较大。2.5数据流图6.数据流图的绘制方法(1)数据流图的分层方法•描述一个复杂的系统,不可能一下子引进太多的细节。否则用一张数据流图画出所有的数据流和处理逻辑,则这张图将是极其庞大而复杂,因而难以绘制,也难以理解。所以必须用分层的方法将一个流程图分解成几个流程图,来分别表示。•一套分