第2章 可行性分析_第1页
第2章 可行性分析_第2页
第2章 可行性分析_第3页
第2章 可行性分析_第4页
第2章 可行性分析_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可行性分析9/5/20231可行性研究的任务目的用最小的代价在尽可能短的时间内确定问题是否能够解决。“说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案”。(GB8567-88《计算机软件产品开发文件编制指南》)注:不要花过多精力,占总成本的510%9/5/20232可行性研究的任务从三方面研究每种解法的可行性(1)技术可行性:使用现有的技术能实现这个系统么?(2)经济可行性:这个系统的经济效益能超出它的开发成本么?(3)操作可行性:系统的操作方式能在这个用户内行得通么?最根本任务对以后的行动方针提出建议。9/5/20233可行性研究的步骤1、复查系统规模和目标。我们认为用户要的用户要的(1)访问关键人员(2)阅读和分析有关的材料(3)改正含糊或不确切的叙述9/5/20234可行性研究的步骤2、研究目前正在使用的系统

解决老系统问题老系统功能新增功能

新系统效益注:

只了解老系统做什么,而不管怎样做;

注意了解与其它系统的接口。老系统效益9/5/20235可行性研究的步骤3、导出新系统的高层逻辑模型(conceptualdesign)…………抽象实现改进老系统物理模型模型逻辑模型新模型逻辑模型新系统物理模型报告应该告诉用户“What”而不是“How”9/5/20236可行性研究的步骤

3、逻辑模型4、进一步定义问题1、复查定义(1)分析员应和用户一起再次复查问题定义、工程规模和目标(2)前四个步骤构成一个循环。注:此时合同未签,应考虑成本,不宜反复太多次。9/5/20237可行性研究的步骤5、导出多种解法进度表经济上合算技术上可行操作上可行策略上不可行用户不可能操作不合算……9/5/20238项目评估的内容操作性评估计划评估技术评估风险评估社会可行性(法律,合同,政治……)经济性评估9/5/20239操作可行性确定:系统是否能够真正解决问题是否系统一旦安装后,有足够的人力资源来运行系统用户对新系统具有抵触情绪可能使操作不可行9/5/202310计划评估估计项目完成所需的时间评估项目的时间是否足够9/5/202311技术评估技术的成熟程度实验室技术经过中试的技术已经工业化应用的技术市场需求显在潜在:转化为显在的条件竞争态势:与竞争技术相比,所采用技术的优势及缺陷技术转换成本支撑体系与条件:原料、销售网络、用户体系、政策技术发展趋势及所采用技术的发展前景9/5/202312技术方案选择要考虑的制约条件需求制约:现存的需求结构及需求结构可能的变化资源制约:资金、人力资源、自然资源、其它要素环境制约:经济技术环境、社会文化环境、自然环境选择原则经济性原则:以最小的投入取得最好的效果发展原则:发展的前景及适应发展的能力兼容性原则:与原有经济、技术、环境、社会的兼容性相关效果原则:相关的经济、技术、环境、社会效果选择视角技术先进性技术适用性9/5/202313风险分析风险识别风险评估风险识别风险分析风险优先级9/5/202314社会可行性是否满足所有项目涉及者的利益是否满足满足法律或合同的要求如环境法规9/5/202315成本效益分析1、成本估计(CostEstimation)⑴代码行技术:每行代码的平均成本源代码行数⑵任务分解技术:人力工资⑶经验公式及软件:软件:Boehm’sConstructiveCostModel(COCOMO)

v1.0in1970s,v2.0in19959/5/202316成本效益分析2、效益估计(BenefitEstimation)例:假设某软件生命周期为5年。现在投资20万元,平均年利率3%。从第一年起,每年年底收入4.2万元,问该项目是否值得投资?P=20万4.2万4.2万4.2万4.2万4.2万0123459/5/202317成本效益分析到第5年底结算时:投资额=200000(1+3%)5231855(元)收入=42000[(1+3%)4+(1+3%)3+(1+3%)2+(1+3%)+1]

222984(元)不合算!9/5/202318成本效益分析

衡量工程价值的经济指标有:⑴纯收入=折合现价的总收入-当前投资额=⑵投资回收期例:第6年底可收回9/5/202319成本效益分析⑶投资回收率:设为j9/5/202320系统开发和每年运行费用举例11.系统开发费用(一次)人员:.2名系统分析员(450小时/名,45美元/小时)$40,500.5名系统开发人员(275小时/名,36美元/小时)$49,500.1名数据通讯专家(60小时/名,42美元/小时)$2,400.1名数据库管理员(30小时/名,42美元/小时)$1,260.2名技术写作者(120小时/名,25美元/小时)$6,000.1名秘书(160小时/名,15美元/小时)$2,400.2名在转换期间数据输入人员$49,500(40小时/名,12美元/小时)9/5/202321系统开发和每年运行费用举例2培训:三天的开发人员内部培训课程$7,00030个用户,三天的内部培训课程$10,000物资:复印$500磁盘、纸张等消耗品$650购买硬件、软件:20台工作站Windows软件$1,00020台工作站内存升级$8,000网络软件$17,50020台工作站办公软件产品$20,000系统开发总费用$161,6709/5/202322系统开发和每年运行费用举例32.年运行费用(每年)人员:维护程序员/分析员(250小时/年,42美元/小时)$10,500网络管理员(300小时/年,50美元/小时)$15,000购买硬件、软件升级:硬件$5,000软件$6,000物资和杂项$3,500每年总运行费用$40,0009/5/202323可行性研究的步骤6、推荐行动方针YesorNo?NoYesWhy?Whichoneisthebest?Why?(cost/benefit)什么都不做永远是一个值得考虑的方案9/5/202324可行性研究的步骤

7、草拟开发计划

任务分解,确定负责人

大致进度规划

财务预算

风险分析及对策8、书写文档提交审查9/5/202325系统流程图可行性研究阶段:了解和分析现有的系统,概括地表示对现有系统的认识设计阶段:把设想的新系统的逻辑模型转变为物理模型,需要描绘未来的物理系统的概貌——系统流程图就是描绘物理系统的传统工具反映信息在系统各部件间流动的情况≠控制、处理信息(不同于程序流程图)9/5/202326系统流程图符号(概括的形式抽象的描绘物理系统时)处理:能改变数据值或数据位置的加工或部件,例如,程序、处理机、人工加工等都是处理。输入/输出:表示输入或输出(或既输入又输出),是一个广义的不指明具体设备的符号。连接:指出转到图的另一部分或从图的另一部分转来,通常在同一页上换页连接:指出转到另一页图上或由另一页转来数据流:用来连接其它符号,指明数据流动方向9/5/202327系统流程图表示一个具体的物理系统9/5/202328系统流程图该装配厂使用一台小型计算机处理更新库存清单主文件和产生订货报告的任务。零件库存量的每一次变化称为一个事务,由放在仓库中的CRT终端输入到计算机中;系统中的库存清单程序对事务进行处理,更新存储在磁盘上的库存清单主文件,并且把必要的订货信息写在磁带上。最后,每天由报告生成程序读一次磁带,并且打印出订货报告。变化仓库零

库存量件临界值库存清单XX:————————XX:————…………库存<临界值定货报告9/5/202329系统流程图注:符号=系统部件箭头=信息流动路径事务库存清单程序库存清单主文件定货信息报告生成程序定货报告即库存量变化9/5/202330系统流程图画法习惯上信息在图中从顶向下或从左向右流动可以在图上加注释,注释较多时,可以另外加一个文档来进行解释复杂系统可以用分层方法来表示首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能每个关键功能扩展到适当的详细程度,画在单独的一页纸上9/5/202331数据流图数据流图描绘系统的逻辑模型,图中无具体的物理元素,只是描绘信息在系统中流动和处理的情况数据流图可以作为计算机人员与客户之间的通信工具软件设计的出发点System=data+function9/5/202332数据流图1、符号9/5/202333数据流图9/5/202334数据流图注意点数据流与程序流程图中用箭头表示的控制流有本质不同在数据流图中应描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件处理并不一定是一个程序,可以代表一系列程序、单个程序或者程序的一个模块,甚至人工处理过程一个数据存储也并不一定是一个文件,它可以表示一个文件、文件的一部分、数据库的元素或记录的一部分等等通常在数据流图中忽略出错处理,也不包括如打开文件、关闭文件之类的内务处理数据流图的要点是描绘“做什么”,而不是“怎么做”9/5/202335数据流图重复元素的画法有时数据的源点和终点相同数据存储有时也要重复——为了表示方便,代表同一事物的同样符号在图中出现在n个地方,则在这个符号的一个角上画n-1条短斜线做标记9/5/202336数据流图命名为数据流(或数据存储)命名名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)如果在为某个数据流(或数据存储)起名字时遇到了困难,则可能是因为数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难9/5/202337数据流图为处理命名通常先为数据流命名,然后再为与之相关联的处理命名名字应该反映整个处理的功能,而不是一部分名字最好由一个具体的及物动词,再加上一个具体的宾语构成通常名字中仅包括一个动词,如果必须用两个动词才能描述清楚,可能分成两个处理更恰当如果再为某个处理命名时遇到困难,则可能是发现了分解不当的迹象,应该重新分解数据源点/终点是目标系统的外围环境,采用它们在问题域中习惯使用的名字(如“采购员”,“仓库管理员”等)9/5/202338数据流图为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统9/5/202339数据流图在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据底层流图是指其加工不需再做分解的数据流图,它处在最底层中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。9/5/202340假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。例子提取数据流图的4种成分1.数据源点和终点假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。数据终点:采购员数据源点:仓库管理员9/5/202342提取数据流图的4种成分2.处理假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。产生报表的处理对事务的加工处理9/5/202343提取数据流图的4种成分3.数据流和数据存储假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下述数据:零件编号,零件名称,定货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。数据流:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者数据流:事务=零件编号+事务类型+数量数据存储:定货信息(定货报表)数据存储:库存清单=零件编号+库存量+库存量临界值9/5/202344画出基本系统模型定货系统的基本模型:9/5/202345细化基本模型描绘系统的主要功能,画出功能级数据流图:9/5/202346细化主要功能进一步分解数据流图:9/5/202347数据流图检查和修改数据流图的原则数据流图上所有图形符号只限于前述四种基本图形元素数据流图的主图必须包括前述四种基本元素,缺一不可数据流图的主图上的数据流必须封闭在外部实体之间每个加工至少有一个输入数据流和一个输出数据流在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡可以在数据流图中加入物质流,帮助用户理解数据流图图上每个元素都必须有名字数据流图中不可夹带控制流初画时可以忽略琐碎的细节,以集中精力于主要数据流9/5/202348数据流图的自动化分界批量方式更新库存清单9/5/202349数据流图的自动化分界联机方式更新库存清单9/5/202350数据流图的用途基本目的:交流信息的工具,因而需要分层,需要画得清楚分析和设计的工具分析员可以着重描绘系统的功能,而不是系统的物理实现方案在数据流图上可以划出自动化边界,每组自动化边界可能意味着一个不同的物理系统数据流图还可以帮助详细设计——面向数据流的设计方法9/5/202351数据字典关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合作用:在软件分析和设计中给人提供关于数据的描述信息数据流图和数据字典一起构成系统的逻辑模型,两者共同构成系统的规格说明9/5/202352数据字典数据字典应该由下列四类元素的定义组成:数据流数据流分量(即,数据元素)数据存储处理对数据处理的定义用其它工具描述更方便,因此数据字典将主要由对数据的定义组成9/5/202353数据字典数据字典也应该包括一些其它内容一般信息(名字,别名,描述等等)定义(数据类型、长度、结构等等)使用特点(值的范围,使用频率,使用方式——输入/输出/本地,条件值等等)控制信息(来源、用户、使用它的程序、改变权、使用权等)分组信息(父结构,从属结构,物理位置——记录、文件和数据库等等)9/5/202354数据字典名字:定货报表别名:定货信息描述:每天一次送检采购员的需要定货的零件表定义:定货报表=零件编号+零件名称+定货数量+目前价格+主要供应者+次要供应者位置:输出到打印机}数据结构struct定货报表{char零件编号[8];char零件名称[20];int定货数量;float目前价格;structsupplier主要供应者;structsupplier次要供应者;};9/5/202355数据字典数据字典的定义就是对数据自顶向下分解的过程,当数据分解到不需要进一步定义,每个和工程有关的人都清楚含义时,分解过程完成由数据元素组成数据的方式只有下属三种基本类型顺序:以确定顺序连接两个或更多分量选择:即从两个或多个可能的元素中选取一个重复:把指定的分量重复零次或多次当重复的上下限为1和0时,表示可选,由于它是一种常见的方式,所有把它列为单独的一种关系算符可选:即一个分量可有可无9/5/202356数据字典

符号

含义

举例=被定义为+与

x=a+b[...,...]或[...|...]或

x=[a,b],x=[a|b]{...}或m{...}n重复

x={a},x=3{a}8(...)可选

x=(a)“...”基本数据元素

x=“a”.. 连结符

x=1..99/5/202357数据字典存折=户名+所号+帐号+开户日+性质+(印密)+1{存取行}50户名=2{字母}24所号=“001”..“999”帐号=“00000001”..“99999999”开户日=年+月+日性质=“1”..“6”注:“1”表示普通户,“5”表示工资户等印密=“0”注:印密在存折上不显示存取行=日期+(摘要)+支出+存入+余额+操作+复核9/5/202358数据字典对每个数据流进行定义,它通常由四部分组成(1)数据流名、(2)别名、(3)组成(4)注释。课程=课程名+教师+教材+课程表课程表={星期几+第几节+教室}9/5/202359数据字典举例:数据流名:查询条件别名:无组成:[查工资情况|查工作部门|查职称|查职工号]注释:数据量:约70次/天;今后还要增加查询种类数据流名:职工基本情况

别名:无

组成:职工号+姓名+性别+出生时间+参加工作时间+职称+工作部门+工资+婚否注释:9/5/202360数据字典用来对文件(或数据库)进行定义。它由五部分组成:文件名、编号、组成、结构和注释。

例如:文件名:人事档案文件编号:EMP组成:职工号+姓名+出生时间+参加工作时间+职称+工作部门+工资+婚否结构:以职工号为关键字、索引存取注释:今后还将增加数据项9/5/202361数据字典数据项是数据的最小单位,是不可分割的,因此数据项条目只包含名称、代码、类型、长度和值的含义内容等。

例如:9/5/202362数据字典介绍用结构化语言来表示处理:加工号:修改加工编号:RS2输

入:功能代号2加工逻辑:输入职工号,可对相应职工的各数据项进行修改输

出:修改后的职工数据注

释:在人事数据有变化时,随即使用该功能加工名:查询加工编号:RS3输

入:功能代号3加工逻辑:选择工资—按职工号查工资额;选择工作部门—按职工号查工作部门选择职称—按职工号查职称;选择职工号—按姓名查职工号输

出:工资额、工作部门、职称、职工号注

释:9/5/202363数据字典数据字典的用途作为分析阶段的工具改进分析员和用户之间的工具改进在不同的开发人员或不同的开发小组之间的通信数据字典中包含的每个数据元素的控制信息使你很容易估计改变一个数据将产生的影响,并且能对所有受影响的程序或模块作出相应的改变数据字典使开发数据库的第一步,而且使很有价值的一步9/5/202364数据字典实现方法人工全自动化生成(利用数据字典处理程序)混合过程(用正文编辑程序,报告生成程序等已有的实用程序帮助人工过程)9/5/202365数据字典要求:通过名字能方便地查阅数据的定义没有冗余尽量不重复在规格说明的其他组成部分中已经出现的信息容易更新和修改能单独处理描述每个数据元素的信息定义的书写方法简单方便而且严格9/5/202366可行性研究报告的编写提示1GB8567-88《计算机软件产品开发文件编制指南》1引言1.1编写目的1.2背景1.3定义1.4参考资料9/5/202367可行性研究报告的编写提示22可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度9/5/202368可行性研究报告的编写提示33对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性9/5/202369可行性研究报告的编写提示44所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性9/5/202370可行性研究报告的编写提示55可选择的其它系统方案5.1可选择的其它系统15.2可选择的其它系统2......9/5/202371可行性研究报告的编写提示66投资及收益分析6.1支出6.2收益6.3收益/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论