《CH2可行性分析.ppt》由会员分享,可在线阅读,更多相关《CH2可行性分析.ppt(82页珍藏版)》请在三一办公上搜索。
1、第二章 可行性分析,本章内容提要,2.1 可行性研究的任务,可行性研究的目的用最小的代价在尽可能短的时间内确定问题是否能够解决,确定问题是否值得去解决注意:并不是直接去解决问题在较高层次上以抽象的方式进行系统分析和设计的过程可行性研究成本一般只占预期的工程总成本的5%-10%,可行性研究的任务,可行性研究最根本的任务是对以后的行动方针提出建议如果问题没用可行的解,则应停止该项开发工程,以免浪费时间、人力、物力和财力;如果问题值得去解,则应该推荐一个较好的解决方案,并且为工程制定一个初步的计划。,可行性研究的任务,可行性研究工作流程进一步分析澄清问题定义导出系统的逻辑模型系统的实现方案研究方案的
2、可行性(技术可行性;经济可行性;操作可行性)为可行性方案制定一个粗略的实现进度,本章内容提要,2.2 可行性研究过程,一复查系统规模和目标二研究目前正在使用的系统理解现有系统能做什么,但不是了解它怎样做这些工作三导出新系统的高层逻辑模型 用数据流图描绘数据在系统中流动和处理的情况,从而表达了对新系统的设想用数据字典定义系统中使用的数据,2.2 可行性研究过程,一复查系统规模和目标二研究目前正在使用的系统三导出新系统的高层逻辑模型 四重新定义问题(分析员与用户讨论)五导出和评价供选择的解法技术可行性:根据系统的功能、性能和约束条件,分析在现有资源和技术条件下系统能否实现操作可行性经济可行性法律可
3、行性分析系统开发过程中可能涉及到的合同、侵权、责任以及各种与法律相抵触的问题分析依据:中华人民共和国著作权法(1990),计算机软件保护条例(1991),2.2 可行性研究过程,一复查系统规模和目标二研究目前正在使用的系统三导出新系统的高层逻辑模型 四重新定义问题(分析员与用户讨论)五导出和评价供选择的解法六推荐行动方针根据可行性研究结果决定是否继续进行这项开发工程,分析员必须清楚地表明他对这个关键性决定的建议七草拟开发计划进度计划,人员计划,资源计划,成本估算;下一阶段(需求分析阶段)的详细进度表和成本估计八书写文档提交审查,?,可行性分析的结论可立即开始需要推迟到某些条件(如资金、人力、设
4、备)落实后才能开始需要对开发目标进行某些修改后才能开始因为某种原因(如技术不成熟、经济上不合算)不能进行,本章内容提要,2.3 系统流程图,系统流程图是描绘物理系统的传统工具基本思想:用图形符号以黑盒子形式描绘系统里面的每一部件(程序、文件、数据库、表格等)系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,系统流程图应用举例1,例子:某装配厂有一座存放零件的仓库仓库中现有的各种零件的数量以及每种零件的库存量临界值等数据记录在库存清单主文件中当仓库中零件数量有变化时,应该及时修改库存清单主文件如果哪种零件的库存量少于它的库存量临界值,则应该报告给采购部门以便定
5、货规定每天向采购部门送一次定货报告,输入零件出入库事务-处理零件出入库事务-输出订货信息-打印订货报告,库存清单系统的系统流程图,2.3 系统流程图,系统流程图基本符号,2.3 系统流程图,系统流程图的习惯画法是使信息在图中自顶向下或自左向右流动系统流程图中每个符号都用黑盒子形式定义后组成系统的一个部件,但并没有说明每个部件的具体工作过程,系统流程图应用举例2-计算机售书系统,学生填写购书单售书系统根据学生各学期用书数据库对购书单进行审查,如果审查有效,售书系统再查阅教材存量数据库,看此书是否有货,如果有,打印售书发票和领书单学生凭领书单去书库领书,系统流程图应用举例2,人工操作,审查并开发票
6、,1-学生各学期用书数据库,计算机售书系统,2.3 系统流程图-分层 Hierarchy,对于复杂系统的系统流程图采用分层结构的画法首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统,本章内容提要,2.4 数据流图,数据流图(DFD)是描述数据处理过程的有力工具。数据流图从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程数据流图没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程数据流图描绘了系统的需求
7、,其基本要点是描绘“做什么”,但不考虑“怎么做”DFD should be easily understood by both users and developers,系统流程图表达的是数据在系统各物理部件之间流动的情况,2.4.1 数据流图基本符号和附加符号,数据源点:发出(产生)数据的地方,数据的发源地数据终点:数据的归宿数据存储和数据流:是系统中两种不同的数据形态数据存储:静止状态的数据,是需要长期保存的数据数据流:运动状态的数据数据流的方向 处理处理 处理数据存储 数据存储处理 源点处理 处理终点,DFD 描述系统逻辑模型,以图形的方式刻画数据流从输入到输出的移动变换过程,为了表达复
8、杂系统的数据加工情况,需要采用层次结构的数据流图,清楚表达,且容易理解在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流图是指其加工不需再作分解的数据流图,它处在最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,数据流图的层次结构,分层的数据流图,数据流图的层次结构,第 n+2 层,第 n+1 层,数据流图的层次结构,数据流图的画法,基本思想:自外向内,自顶向下,逐层细化,完善求精,从抽象到具体的过程开始画出的数据流图中的加工比较抽象,只知道大概“做什么”,具体应该“做什么”还比较模糊,还必须
9、进一步描述(细化)直到每个数据流和数据存储包含的具体内容是什么,每个加工应该怎样实现,都基本清楚为止,具体步骤:1、先找系统数据源点和终点,确定系统与外界的接口 2、找出外部实体的输出数据流和输入数据流 3、在图的边上画出系统的外部实体 4、从外部实体的输入数据流(源点)出发,按照系统的逻辑逐步画出一系列的逻辑加工,直到找到外部实体所需的输出数据流(终点),形成数据流的封闭 5、检查和修改所画数据流图,保证数据流图的正确性 6、按照上述步骤,再从各加工出发,画出所需子图,数据流图的画法,2.4.2 数据流图应用举例,订货系统(P.42)假设一家工厂的采购部每天需要一张定货报表,报表按零件编号排
10、序,表中列出所有需要再次定货的零件零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统当某种零件的库存数量少于库存量临界值时就应该再次定货,数据流图的画法,分层分解的原则:主图必须包含四种基本元素,缺一不可,并且必须封闭在外部实体之间一张流图应该在一张纸上画完,加工不应超过9个(72)George Miller的著名论文:“神奇的数字72:我们处理信息的某种限制”:“人们在一段时间内的短期记忆似乎限制在5-9件事情之内(除非此人学会使用联想记忆法的技巧)”各加工的抽象级应该相同对流图的细分,必须保持信息的连续性,即把一个加工分解成多个加工时,分解前后的输入输出数据流必须相同,
11、画数据流图,定货系统的基本系统模型突出表明数据的源点和终点仓库管理员进行零件的出入库(事务),并根据需要订货的零件产生订货报表送给采购员,顶层数据流图(0层数据流图),数据流图元素分析:从问题描述中提取数据流图的四种成分,源点或终点、处理、数据存储、以及数据流数据源点/终点采购员是数据终点,仓库管理员是数据源点处理采购部需要报表需要“产生报表”的处理零件出入库(事务)改变零件库存量需要“事务加工”处理,2.4.2 数据流图应用举例,数据流要求系统把定货报表送给采购部“定货报表”是数据流事务要从仓库送到系统中“事务”是另一个数据流数据存储事务发生时立即要处理,但每天只产生一次定货报表“产生定货报
12、表的数据”是数据存储零件库存量与库存量临界值均需保存“库存清单数据”是一个数据存储,2.4.2 数据流图应用举例,画数据流图,定货系统的功能级数据流图,注意:对于流向文件或从文件流出的数据流,它们代表了文件的一条记录,可以不为它们命名,系统流程图和数据流图的比较,数据流图描述的是数据被加工和处理的控制过程,没有任何物理部件系统流程图描述的是数据在系统的各物理部件之间的流动情况,画数据流图,当发生一个事务时必须首先接收它;随后按照事务的内容修改库存清单;最后如果更新后的库存量少于库存量临界值时,则应该再次定货,即处理定货信息。分解“处理事务”功能后的数据流图,画数据流图,数据流图示例2:教材购销
13、系统,外部项,便于实现采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度便于使用用一组图代替一张总图,方便用户及软件开发人员阅读,分层 DFD 图的优点,画分层 DFD 的指导原则,注意父图和子图的平衡父图和子图的输入和输出数据应分别保持一致,?,画分层 DFD 的指导原则-父图与子图的平衡,注意:如果父图某加工的一个数据流,对应于子图中几个数据流,而子图中组成这些数据流的数据项全体正好等于父图中的这个数据流,那么它们仍算是平衡的,a:考生通知单;b:统计分析表;b1:分类统计表;b2:难度分析表;c:错误成绩清单;d成绩清单;e合格标准。,?,画分层 DFD 的指导原则
14、,注意局部文件和局部外部项 随着DFD图的分解,在下层DFD中可能出现父图中没有的文件和外部项,局部外部项,局部文件,画分层 DFD 的指导原则,4.加工的输出数据流不能与该加工的输入数据流同名同一个加工的输出数据流和输入数据流即使组成成份相同,仍应对它们取不同的名字,以表示它们是不同数据流例如,“报名单”和“合格报名单”5.掌握分解的速度一般来说,每一个加工每次可分为 2-4个子加工,最多不得超过 7 个6.遵守加工编号规则顶层加工不编号。第一层的加工编号为1,2,3,n号。第二层编号为1.1,1.2,1.3n.1,n.2等号,依此类推,2.4.3 数据流图中的元素命名,1为数据流或数据存储
15、命名名字应代表整个数据流或数据存储的内容,而不是仅反映某一部分。全面不使用空洞的缺乏具体含义的名字。具体如果取名时遇到困难,则有可能是对数据流图的分解不当,应重新进行分解,然后再命名。,2.4.3 数据流图中的元素命名,2为处理命名由表及里,先为数据流命名,然后再为与之相关联的处理命名。名字反映整个处理的功能,而不是一部分。全面名字要具体,动作加一个具体的宾语。具体如果命名时有困难,则有可能是分解不当,应考虑重新分解。3数据源点/终点一般采用习惯使用的名字(目标系统的外围环境,可能是人员,计算机外部设备或传感器等),2.4.4 数据流图的作用,数据流图是作为分析和设计的工具以数据流图中不同处理
16、的定时要求(如联机处理、批量处理等)为指南,能够在数据流图上建立不同的自动化边界,每组自动化边界可能意味着一个不同的物理系统从数据流图出发,可映射出面向数据流的设计方法,划分自动化边界的方法一以批量方式更新库存清单,划分自动化边界的方法二以联机方式更新库存清单,本章内容提要,数据字典的概念,定义:数据字典是关于数据的信息的集合,它是对数据流图中所包含的所有元素的定义的集合作用:在软件分析和设计的过程中给人提供关于数据的描述信息,2.5.1 数据字典的内容,数据字典由下列四类元素的定义组成:(1)数据流;(2)数据流分量(数据元素);(3)数据存储;(4)处理。/用IPO图描述更方便/数据字典主
17、要由对数据的定义组成,并且包含关于数据元素的一些信息,数据字典的内容,数据字典中记录数据元素的下列信息:一般信息:名字,别名,描述等。定义:数据类型,长度,结构等。使用特点:值的范围,使用频率,使用方式等。控制信息:来源,用户,使用它的程序等,开发小型软件系统可以以卡片形式书写数据字典大型软件必须有数据字典处理程序,人工维护无法实现当开发过程进展到可以知道数据元素的控制信息和使用特点时,再把这些信息记录在卡片背面,数据流名:发票 说明:用作学生已付书款的依据 数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流定义:学号+姓名+书号+单价+数量+总价,数据流的定义示例,
18、数据元素的定义,名字:零件编号别名:描述:唯一地标识库存清单中一个 特别零件的关键字定义:零件编号=8字符8位置:定货报表 定货信息 定货清单 事务,名字:订货报表别名:订货信息描述:每天一次送给采购员的需要订货的零件表定义:订货报表=零件编号+零件名称+订货数量+目前价格+主要供应者+次要供应者位置:输出到打印机,2.5.2 定义数据的方法,数据字典中的定义数据就是对数据自顶向下的分解,当分解到和工程有关的人都清楚其含义的数据元素时即可由数据元素组成数据的基本类型顺序:以确定的次序连接两个或多个分量选择:从两个或多个可能的元素中选取一个重复:把指定的分量重复一次或多次可选:一个分量是可有可无
19、的相当于重复零次或一次,=,被定义为,+,与,x=a+b,则表示 x 由 a 和 b 组成,x=a,b,则表示 x 由 a 或由 b 组成,或,重复,x=a,则表示 x 由 0个或多个 a 组成,(),可选,m n,重复,x=3a8,则表示x中至少出现3次a,最多出现8次,x=(a),则表示 a 在 x 中出现,也可不出现,2.5.2 定义数据的方法,例子:某程序设计语言规定,用户说明的标识符是长度不超过8个字符的字符串,其中第一个字符必须是字母字符,随后的字符既可以是字母字符也可以是数字字符标识符=字母字符+字符串字符串=0字符7字符=字母字符数字字符由于和项目有关的人都知道字母字符和数字字
20、符的含义,因此,分解到这种程度就可以结束了,2.5.2 定义数据的方法,数据定义示例(发票),发票单位名称商品名数量单价金额 总金额日期(营业员),单位名称,日期营业员,51,2.5.2 定义数据的方法,存折格式,2.5.3 数据字典的用途,数据字典是分析阶段的有用工具数据字典中包含的每个数据元素的控制信息是很有价值的数据字典是开发数据库的第一步工作,2.5.4 数据字典的实现,提倡采用专用的软件工具或者常用的实用程序(如,正文编辑程序、电子表格)来建立数据字典的电子文档,其好处是便于字典条目的检索,字典的管理和维护如果数据字典是由人工制作的,我们可以为每个字典条目制作一张卡片,所有卡片按字典
21、条目的种类(数据流、文件、加工等)分类成册,每类卡片按某种约定排序,本章内容提要,2.6 成本/效益分析,目的:从经济角度分析开发一个特定的新系统是否划算,从而帮助部门负责人正确地作出是否投资该项开发工程的决定成本估计代码行技术软件成本=每行代码成本行数任务分解技术 按开发阶段分解为若干相对独立的任务,估计完成各个任务所需的人力工资自动估计成本技术:利用自动估计成本的软件工具,2.6.2 成本/效益分析方法,修改一个已有的库存清单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货,将消除零件短缺问题,估计因此每年可以
22、节省2500元,5年共可节省12500元经济效益12500-5000=7500元,?,货币具有时间价值,2.6.2 成本/效益分析方法,1、货币的时间价值货币的时间价值就是指当前所持有的一定量货币比未来获得的等量货币具有更高的价值。一般用利率的形式表示货币的时间价值假设年利率为i,如果现在存入P元,则n年后可以得到的钱数为:F=P(1+i)n如果n年后能收入F元钱,那么这些钱的现在价值是P=F/(1+i)n,2.6.2 成本/效益分析方法,假定年利率为12%,利用上面计算货币现在价值的公式可以算出修改库存清单系统后每年预计节省的钱的现在价值,2.6.2 成本/效益分析方法,修改一个已有的库存清
23、单系统,使它能在每天送给采购员一份定货报表。修改已有的库存清单程序并且编写产生报表的程序,估计共需5000元;系统修改后能及时定货将消除零件短缺问题,估计因此每年可以节省2500元,5年共可节省12500元经济效益=9011.94-5000=4011.94元(纯收入),2、投资回收期使累积的经济效益等于最初投资所需要的时间投资回收期越短,这项工程越值得投资两年以后节省4225.12元第三年节省1779.45元(5000-4225.12)/1779.45=0.44年投资回收期=2+0.44=2.44年,2.6.2 成本/效益分析方法,项目最初投资5000元钱,3、纯收入在整个生命周期之内系统的累
24、计经济效益(折合成现在值)与投资之差修改库存清单系统,工程的纯收入预计是:9011.94-5000=4011.94元,2.6.2 成本/效益分析方法,可行性研究报告提纲,一引言1.1编写目的1.2背景1.3定义1.4参考资料二可行性研究前提2.1要求2.2目标2.3条件、假定、限制2.4可行性研究方法2.5评价尺度,三对现有系统分解3.1处理流程和数据流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性四所建设系统的技术可行性分析4.1对所建设系统的说明4.2数据流程4.3改进之处4.4影响4.5局限性4.6技术可行性评价,五可选择的其它系统方案六所建设系统的经济可行性分析6.1支
25、出(基本建设投资;其它一次性支出。)6.2收益(一次性收益;非一次性收益;不可定量收益。)6.3收益投资比6.4投资回收周期6.5敏感性分析七社会因素的可行性分析7.1法律方面的可行性7.2使用方面的可行性八结论,本章内容提要,作业,(P.54 第五题)北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第1位数字不是0;校外电话又分为本市电话和外地电话两类,拨校外电话需先拨0,若是本市电话则再接着拨8位数字(第1位不是0),若是外地电话则拨3位区码再拨8位电话号码(第1位不是0)。请用数据字典中定义数据的方法,定义上述的电话号码,作业,(P.73 第三题)银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户。请用数据流图描绘本系统的功能。,