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

下载本文档

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

文档简介

教学题目:可行性研究教学目的:理解可行性研究的基本任务和步骤、理解成本/效益分析的方法,会画数据流图。教学重点:可行性研究、数据流图。教学难点:数据流图、成本/效益分析。,第2章可行性研究,开始,问题定义,可性行研究,可行否?,项目实施计划,终止项目的建议,结束,Y,N,问题的定义与可性行研究,Who,What,Why,有用的软件,3W,可行性研究,目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。不是解决问题,而是确定问题是否值得去解决。,可行性研究的目的,说明该软件开发项目的实现在技术上、经济上和社会条件上的可行性;评述为合理地达到开发目标可能选择的各种方案。(GB8567-88计算机软件产品开发文件编制指南),2.1可行性研究的任务,GB8566-88计算机软件开发规范中指出:可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”可行性研究的最根本任务是:对以后的行动方针提出建议。,可行性研究的任务,法律可行性研究:研究新系统的开发和使用是否会侵犯他人的权益,是否触犯了国家的法律法规。开发方案的选择:可行性研究的最主要任务是对以后的行动提出建议。如果问题没有可行的解,分析人员应建议停止该项目,以避免造成进一步的浪费;如果问题值得解决,则提出并评价实现系统的各种可行的开发方案,从中选择一种最佳方案,并为系统制定一个初步的开发计划。,可行性研究的内容,(1)技术可行性(2)经济可行性(3)操作可行性(4)社会可行性(法律可行性)(5)抉择,技术可行性,度量一个特定技术信息系统解决方案的实用性及技术资源的可用性考虑的问题(1)开发风险分析(2)资源分析(3)相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性),经济可行性,度量系统解决方案的性能价格比。考虑的问题:成本/效益分析(开发、运行的成本/效益)有形成本、效益无形成本、效益价值和成本的关系质量与价值、成本的关系价值/成本的均衡,举例,该系统节省经费,该系统成本,盈亏平衡点,投资回收期,-成本及效益分析图,操作可行性,用户使用可能性时间进度可行性组织和文化上的可行性,社会可行性(法律可行性),开发项目是否会在社会上或政治上引起侵权、破坏或其它责任问题。,2.2可行性研究过程,1.复查系统规模和目标2.研究目前正在使用的系统3.导出新系统的高层逻辑模型4.进一步定义问题5.导出和评价供选择的解法6.推荐行动方针7.草拟开发计划8.书写文档提交审查,可行性研究报告的编写(补充)GB8567-88计算机软件产品开发文件编制指南,可行性研究报告的编写,1引言1.1编写目的1.2背景1.3定义1.4参考资料,2可行性研究的前提2.1要求2.2目标2.3条件、假定和限制2.4进行可行性研究的方法2.5评价尺度,可行性研究报告的编写,3对现有系统的分析3.1数据流程和处理流程3.2工作负荷3.3费用开支3.4人员3.5设备3.6局限性,4所建议的系统4.1对所建议系统的说明4.2数据流程和处理流程4.3改进之处4.4影响4.5局限性4.6技术条件方面的可行性,可行性研究报告的编写,5可选择的其它系统方案5.1可选择的其它系统15.2可选择的其它系统2.,6投资及收益分析6.1支出6.2收益6.3收益/投资比6.4投资回收周期6.5敏感性分析,7社会条件方面的可行性7.1法律方面的可行性7.2使用方面的可行性,2.3系统流程图,系统流程图是概括地描绘物理系统的传统工具。它的基本思想是用图形符号以黑盒子形式描绘组成系统的每个部件(程序,文档,数据库,人工过程等)。系统流程图表达的是数据在系统各部件之间流动的情况,而不是对数据进行加工处理的控制过程,因此尽管系统流程图的某些符号和程序流程图的符号形式相同,但是它却是物理数据流图而不是程序流程图。,基本符号-以概括的方式抽象地描绘一个实际系统所用符号,-具体地描绘一个物理系统所用符号系统符号,举例-库存清单系统的系统流程图,举例-计算机售书系统流程图,结束,学生,购书发票,到书库领书,购书单,终端,审查并开发票,1,1-学生各学期用书数据库,购书单,2,2-教材存量数据库,面对复杂的系统-分层描绘,首先用一张高层次的系统流程图描绘系统总体概貌,表明系统的关键功能。然后分别把每个关键功能扩展到适当的详细程度,画在单独的一页纸上。这种分层次的描绘方法便于阅读者按从抽象到具体的过程逐步深入地了解一个复杂的系统。,2.4数据流图DFD-DataFlowDiagram,一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经受的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程,是系统逻辑功能的图形表示。设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能,所以它也是今后进行软件设计的很好的出发点。,数据流图四种基本符号,数据加工(数据变换),数据源点或终点(外部实体),数据流,数据存储文件,或,或,或,数据流图几种附加符号,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统。,在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统所输出数据。底层流图是指其加工不需再做分解的数据流图,它处在最底层。中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,分层的数据流图,-系统逻辑模型,分层的数据流图,第n+2层,2.4.2例子1,例1:一家工厂的采购部每天需要一张定货报表,报表按零件编号排序,列出所有需要再次定货的零件。对于需要订货的零件列出其零件编号、零件名称、定货数量、目前价格、主要供应者、次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给定货系统。当某种零件的库存量少于临界值时就应该再次定货,第一步确定系统的源点和终点仓库管理员是数据的源点;采购员是数据的终点。加工(处理)本题应该完成定货系统这样一个功能。数据流事务需从仓库送到系统中,显然事务是一个数据流;系统要把定货报表送给采购部,定货报表也是一个数据流。,分析过程如下,定货系统基本数据流图,第二步将加工(处理)定货系统进行功能分解成事务处理和产生报表两部分;考虑有关数据存储问题,题中涉及到存储的信息有:库存清单、定货信息;,第三步将事务处理进一步分解为接收事务,更新库存清单、处理定货三部分。画出定货系统功能分解后的数据流图,图2.7处理事务的功能进一步分解后的数据流图,图2.8这种划分自动化边界的方法暗示以批量方式更新库存清单,图2.9另一种划分自动化边界的方法建议以联机方式更新库存清单,举例2,2、学生购买教材系统,学生,教材购销系统,保管员,外部实体,外部实体,教材销售子系统,1.3登记并开领书单,1.2开发票,1.1审查有效性,1.4登记缺书,1.5补售教材,采购,学生,学生,暂缺书单,补售书单,第3层,F1书号单价数量,外部项,采购子系统,第2层,缺书单,2.3修改教材库存和待购量,销售,2.1按书号汇总缺书,2.2按出版社统计缺书,保管员,.便于实现,.便于使用,-采用逐步细化的扩展方法,可避免一次引入过多的细节,有利于控制问题的复杂度;,-用一组图代替一张总图,方便用户及软件开发人员阅读。,分层DFD图的优点,1)为数据流(或数据存储)命名(1)名字应代表整个数据流(或数据存储)的内容,而不是仅仅反映它的某些成分。(2)不要使用空洞的、缺乏具体含义的名字(如“数据”、“信息”、“输入”之类)。(3)如果在为某个数据流(或数据存储)起名字时遇到了困难,则很可能是因为对数据流图分解不恰当造成的,应该试试重新分解,看是否能克服这个困难。,画分层DFD的指导原则1.注意数据流图中成分的命名,2)为处理命名(1)通常先为数据流命名,然后再为与之相关联的处理命名。这样命名比较容易,而且体现了人类习惯的“由表及里”的思考过程。(2)名字应该反映整个处理的功能,而不是它的一部分功能。(3)名字最好由一个具体的及物动词加上一个具体的宾语组成。应该尽量避免使用“加工”、“处理”等空洞笼统的动词作名字。(4)通常名字中仅包括一个动词,如果必须用两个动词才能描述整个处理的功能,则把这个处理再分解成两个处理可能更恰当些。(5)如果在为某个处理命名时遇到困难,则很可能是发现了分解不当的迹象,应考虑重新分解。,画分层DFD的指导原则1.注意数据流图中成分的命名,画分层DFD的指导原则2.注意父图和子图的平衡,画分层DFD的指导原则3.区分局部文件和局部外部项,局部外部项,局部文件,画分层DFD的指导原则,4.掌握分解的速度,一般来说,每一个加工每次可分为2-4个子加工,最多不得超过7个。,5.遵守加工编号规则,顶层加工不编号。第二层的加工编号为1,2,3,n号。第三层编号为1.1,1.2,1.3n.1,n.2等号,依此类推。,2.4.4数据流图的用途,作为交流信息的工具;作为分析和设计的工具;数据流图可以辅助物理系统的设计(图);数据流图对详细设计也有帮助。,课堂作业1,某单位财务部门要求人事部门在每月月初提供所有职工上个月的出勤情况和业绩情况,要求后勤部门提供所有职工上个月的水电使用及扣款情况,再将所有数据交给工资计算系统去处理,得到所有职工上个月的工资情况,并将工资转给相应的银行进行发放。请根据上述情况画出对应的数据流图。,1)建立顶层数据流图,图1工资计算系统的顶层(0层)数据流图,2)数据流图的分层细化,图2工资计算系统第一层数据流图,对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图3(a)所示。,(a)“计算工资”子数据流图图3工资计算系统的第二层数据流图,对第一层数据流图中的加工继续分解,则可得到第二层数据流图,如图3(b)所示。,(b)“工资转存”子数据流图图3工资计算系统的第二层数据流图,若数据流图中的加工还可继续细化,则重复以上分解过程,直到获得系统的底层数据流图。工资计算系统的第三层数据流图如图4所示。,图4工资计算系统的第三层数据流图,课堂作业2,高校录取统分子系统有如下功能:(1)计算标准分:根据考生原始分计算,得到标准分,存入考生分数文件;(2)计算录取线分:根据标准分,招生计划文件中的招生人数,计算录取线,存入录取线文件。试根据要求画出该系统的数据流图,2.5数据字典-DD(DataDictionary),数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。,数据字典的任务是:对于数据流图中出现的所有被命名的图形元素在字典中作为一个词条加以定义,使得每一个图形元素的名字都有一个确切的解释。,数据字典的内容,一般说来,数据字典应该由对下列4类元素的定义组成:(1)数据流(2)数据流分量(即数据元素)(3)数据存储(4)处理,数据流名:说明:简要介绍作用,即它产生的原因和结果。数据流来源:即该数据流来自何方。数据流去向:去向何处。数据流组成:数据结构。每个数据量流通量:数据量、流通量。,(1)数据流词条的描述,数据流名:发票说明:用作学生已付书款的依据数据流来源:来自加工“审查并开发票”数据流去向:流向加工“开领书单”。数据流组成:学号+姓名+书号+单价总价+书费合计,数据元素名:类型:数字(离散值、连续值),文字(编码类型)长度:取值范围:相关的数据元素及数据结构,(2)数据元素词条的描述,(3)数据文件词条的描述,数据文件名:简述:存放的是什么数据。输入数据:输出数据:数据文件组成:数据结构。存储方式:顺序,直接,关键码。存取频率:,加工名:加工编号:反映该加工的层次简要描述:加工逻辑及功能简述输入数据流:取值范围:相关的数据元素及数据结构,(4)加工逻辑词条的描述,名称:外部实体名简要描述:什么外部实体有关数据流:数目:,(5)外部实体词条描述,数据字典定义符号,=,被定义为,+,与,x=a+b,则表示x由a和b组成,x=a,b,则表示x由a或由b组成,或,重复,x=a,则表示x由0个或多个a组成,(),可选,表示在两个*之间的内容为词条的注释,mn,重复,x=3a8,则表示x中至少出现3次a,最多出现8次,*,注释符,x=(a),则表示a在x中出现,也可不出现,例:存折格式,注:加工说明,-(ProcessSpecification),对数据流图的每一个基本加工,必须有一个基本加工逻辑说明。基本加工逻辑说明必须描述基本加工如何把输入数据流变换为输出数据流的加工规则。加工逻辑说明必须描述实现加工的策略而不是实现加工的细节。加工逻辑说明中包含的信息应是充足的,完备的,有用的,无冗余的。,加工逻辑说明,加工说明组成,加工说明描述工具,描述把输入数据流变换为输出数据流的加工过程,是加工说明的主体。,自然语言+结构化形式,(1)结构化语言,商店业务处理系统中“检查发货单”,if发货单金额超过$500thenif欠款超过了60天then在偿还欠款前不予批准else(欠款未超期)发批准书,发货单else(发货单金额未超过$500)if欠款超过60天then发批准书,发货单及赊欠报告else(欠款未超期)发批准书,发货单,(2)判定表,如果数据流图的加工需要依赖于多个逻辑条件的取值,使用判定表来描述比较合适,以“检查发货单”为例,(3)判定树,判定树也是用来表达加工逻辑的一种工具。有时侯它比判定表更直观。,检查发货单,金额$500,金额$500,欠款60天,不发出批准书,欠款60天,发出批准书、发货单,欠款60天,发出批准书、发货单及赊欠报告,欠款60天,发出批准书、发货单,2.5.3数据字典的用途,作为分析阶段的工具用于开发小组之间的通信可控制程序和模块的改变是开发数据库的基础,2.5.4数据字典的实现,开发小系统时可建立卡片为每个要定义的名字准备一张卡片;在卡片上注明名字、别名、描述、定义、位置、控制信息、使用特点;写名子的定义;将所有卡片按一定方式排序,如英文字母顺序或汉字笔画多少等。具体数据元素的数据字典卡片,见教材P49,课堂作业3,某个旅馆的电话服务如下:可以拨分机号和外线号码。分机号是从7201至7299。外线号码先拨9,然后是市话号码或长途号码。长途电话号码是以区号和市话号码组成,区号是重100至300中任意数字串。市话号码是以局号和分局号组成。局号可以是455,466,888,552中的任意一个号码。分局号码是任意长度为4的数字串。要求:写出在数据字典中,电话号码的数据条目的定义(即组成)。,电话号码分机号|外线号码分机号72017299外线号码9市话号码|长话号码长话号码区号市话号码区号100300市话号码局号分局号局号455|466|888|552分局号4数字4数字=0|1|2|3|4|5|6|7|8|9,Answer:,2.6成本/效益分析,开发一个软件系统是一种投资,期望将来获得更大的经济效益。经济效益通常表现为减少运行费用或(和)增加收入。但投资开发新系统要冒风险,系统的开发成本可能比预计的高,效益可能比预期的低。钱存到银行或贷给其他企业也有明显的经济效益。那么在什么情况下投资开发新系统更划算呢?成本/效益分析的目的正是要从经济的角度分析开发一个特定的新系统是否划算。,2.6.1成本估计,软件开发成本主要表现为人力消耗。1代码行技术是一种比较简单定量的估算方法,把开发每个软件功能的成本和实现这个功能需要用的源程序代码行数联系起来,若有历史数据作参考的话,这种方法还是有效的。设T软件成本N软件源代码行数A每行源代码的平均成本T=AN其中A取决于软件的复杂程度和工资水平。,2.6.1成本估计,2任务分解技术把软件开发工程分解为若干个相对独立的任务,然后再分别估计每个单独开发任务的成本,最后累加起来得到软件工程的总成本。设T-软件总成本B-每个单独开发任务的成本-系数T=BC-完成每个单独任务所需的人力(月)D-每人每月的平均工资B=CDT=CD,典型环境下各个开发阶段需要使用的人力的百分比,2.6.1成本估计,3自动估计成本技术要有长期搜集的大量历史数据和数据库系统的支持,2.6.2成本/效益分析的方法,四个重要概念货币的时间价值投资回收期纯收入投资回收率一般设生命周期为5年,例如:已知一个基于计算机的系统的软件升级的开发成本估算值为5000元,预计新系统投入运行后每年可以带来2500元的收入,假定新软件的生存周期(不包括开发时间)为5年,当年的年利率为12%,试对该系统的开发进行成本-效益分析。,2.6.2成本/效益分析的方法,1货币的时间价值指同样数量的货

温馨提示

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

评论

0/150

提交评论