可行性研究_第1页
可行性研究_第2页
可行性研究_第3页
可行性研究_第4页
可行性研究_第5页
已阅读5页,还剩117页未读 继续免费阅读

下载本文档

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

文档简介

第2章 可行性研究,本章主要内容,可行性研究的任务 可行性研究的步骤 系统流程图 数据流图 数据字典 成本/效益分析,什么是可行性研究,可行性研究是工程领域中一种针对项目效益的带有预测性质的论证方法,其主要目的是判断项目是否值得投资和执行。 可行性研究以预测为前提,以投资效果为目的,从技术上、经济上、操作上、管理上等进行全面综合分析研究。 所有工程学科均需要:土木工程、机械工程、电子工程、软件工程等。,2.1 可行性研究的任务和步骤,用最小的代价在尽可能短的时间内确定问题是否能解! 不是解决问题,而是确定问题是否值得解!,2.1 可行性研究的目的和任务,在软件工程领域,可行性研究有着较大的特殊性:,(2)项目周期长,复杂度高,变数大。,(3)软件满足的是人的体验期望。,(1),软件是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。,与其他工程可行性研究相比:,2.1 可行性研究的目的和任务,技术可行性 经济可行性 操作可行性 社会可行性 抉择(开发方案的选择性),技术资源的可行性,技术可行性,度量一个特定技术信息系统解决方案的实用性及技术资源的可用性。 项目管理人员需要考虑的问题 开发风险分析 资源分析 相关技术的发展(现有技术能否实现新系统,技术难点、建议采用技术的先进性),技术可行性,风险分析 在给定的约束条件下,判断能否设计并实现系统所需功能和性能。 资源分析 论证是否具备系统开发所需的各类人员(管理人员和各类专业技术人员)、软件、硬件资源和工作环境等。 技术分析 当前的科学技术是否支持系统开发的全过程。,技术可行性:困难,技术发展快; 领域知识不熟悉; 系统目标、功能和性能不确定; 建立分析模型、仿真;,经济可行性,度量系统解决方案的性能价格比考虑的问题: 成本/效益分析 有形成本、效益 无形成本、效益 价值和成本的关系 质量与价值、成本的关系 价值/成本的均衡,经济可行性,系统分析员主要需要考虑的基于计算机系统的成本包括: 购置并安装软件、硬件及有关设备的费用。 系统开发费用。 系统安装、运行和维护费用。 人员培训费用。,分析阶段和设计阶段只是预算,操作可行性,用户使用可能性 时间进度可行性 组织和文化上的可行性,社会可行性,开发项目是否会在社会上或政治上引起侵权、破坏或其它责任问题,方案选择,分而治之 将一个大的复杂系统分解为若干个子系统; 精确地定义子系统的界面、功能和性能; 给出各子系统之间的关系。,分解的结果因人而异,方案选择:过程,方案选择:折衷,折衷是软件工程的重要、重复概念。 折衷过程也是系统论证和选择、确定系统开发方案的过程。 例 客户和系统工程师在成本、清晰度和响应时间三者之间选取折衷方案。,2.2 可行性研究的主要步骤(重点),1)复查系统规模和目标 2)研究正在使用的系统(如果存在旧系统) 3)导出新系统的高层逻辑模型 4)重新定义问题 5)重复1)4),直到逻辑模型符合系统目标 6)导出和评价供选择的解法 7)推荐行动方针 8)草拟开发计划,书写文档并提交评审,1、复查系统规模,复查软件问题定义; 明确系统的所有限制和约束; 确保正在解决的问题确实是要求解决的问题;,2、研究正在使用的旧系统,实地考察旧系统 运行旧系统的费用 了解现有系统能做什么?(系统接口) 注意:新系统老系统(?),3、导出高层逻辑模型,告诉用户应该做什么而不是怎么做。 设计数据流图和数据字典 物理系统:可运行的应用系统软件。 逻辑系统:不可运行的应用系统的抽象。,旧的物理系统,旧系统逻辑模型,新系统逻辑模型,新的物理系统,3、导出高层逻辑模型,模型是对对象系统的形式化的特征抽象,概括性或近似地表示。 构造模型的过程是一个抽象、分析的过程。,逻辑模型 物理模型 (本质模型、概念模型) (实施模型、技术模型),现 行 系 统,目 标 系 统,描述重要的业务功能,无论系统是如何实施的。,描述现实系统是如何在物理上实现的。,描述新系统的主要业务功能和用户新的需求,无论系统应如何实施。,描述新系统是如何实施的(包括技术)。,分析阶段常用的逻辑模型,数据流图(DFD) 实体联系图( ERD ) 类图 实例图 时序图 状态图,协作图 事件列表 数据流定义 数据元素定义 ,4、重新定义问题,与用户沟通,复查问题、工程规模、目标。 以上四步构成循环,5、导出多种解法,根据逻辑模型,导出高层次的物理解法 最简单的途径:从技术角度出发,“垃圾站”,使用部门处理事务的原则,成本效益分析,6、推荐行动方针,决定是否可解 如果可解,推荐最好的解法,7、草拟开发计划,任务分解,确定负责人 大致进度规划 财务预算 风险分析及对策,8、书写文档并提交审查,2.3 系统分析,系统分析的主要任务:将在系统详细调查中所得到的文档资料集中到一起,对系统内部信息处理过程进行分析。它侧重于从业务全过程的角度进行分析。涉及业务和数据的流程是否通畅、是否合理;数据、业务过程和实现管理功能之间的关系。现有系统运行模式改革和新系统运行方法的实现是否具有可行性等。 可行性分析属于系统分析的一种,其中包括了对系统流程的分析(建模:系统流程图)以及对目标系统的数据流图的分析(建模:数据流图)。,2.3 系统分析,系统分析的主要方法: 结构化分析方法 (以功能划分为核心) 面向对象分析方法 (以对象划分为核心) 面向方面分析方法 (以方面划分为核心) 面向服务分析方法 (以服务划分为核心),结构化分析方法的精髓,自顶向下,逐步求精 学会抽象(概括)与分解(细化),符合人类解决问题的思路吗?,系统分析的参与人员,系统分析员:指具有从事计算机应用系统的分析和设计工作能力及业务水平,能指导系统设计师和高级程序员工作。在软件开发流程中主要从事需求分析工作,同时也涉及可行性分析和概要设计的部分工作。 用户或客户。,系统流程图,系统流程图又叫事务流程图,是进行系统分析时常用的一种描述方法,它描述了系统事务处理中从数据输入开始到获得输出为止的业务处理过程。,系统流程图表达的是部件的信息流程,而不是表示对信息进行加工处理的控制过程。,系统流程图,以概括的形式描述物理系统的传统工具; 它不是对信息加工处理的控制过程; 采用黑盒技术; 反映信息在系统各部分之间的流动情况;,1.系统流程图的符号,基本图形符号:,其它图形符号:,系统流程图,输入单据 磁盘文件 处理 输出单据,系统流程图,系统问题描述,系统流程图,可以是“增加”或“减少”,系统流程图,只定义组成系统的“黑盒”部件,具体实现不关心! 自顶向下或从左向右流动;(方向) 必要时要分层;(大型系统),数据流图,描述信息在系统中流动和处理的情况; 它是系统的逻辑模型; 它的主要用途: 信息交流的工具;(用户和分析人员) 分析和设计的工具;(系统逻辑模型) 它是后续设计工作的基础;(出发点),数据流图,数据流图中的主要图形元素,数据加工 (数据变换),数据流,数据存储文件,数据源点或终点 (外部实体),数据流图,数据加工 (数据变换),数据流,数据存储文件,数据源点或终点 (外部实体),数据流与数据加工之间的关系,画数据流图的注意点,DFD和程序流程图的区别; DFD中画出所有可能的数据流向; 处理代表一系列程序、单个程序或模块; 存储文件表示一个文件、文件的一部分或数据库; 数据存储是静态的东西,数据流是动态的东西; 它忽略出错处理以及打开、关闭文件等内务操作; 有时为了表达清晰,某些元素要画多次或标注;,数据流图示例1问题描述,一家工厂的采购部门每天都需要一张定货报表,报表按照零件编号,列出所有需要再次定货的零件; 零件入库或出库称为事务; 通过放在仓库中的CRT终端把事务报告给定货系统; 当某种零件的库存数量少于库存量临界值时就应该再次定货;,数据流图画法,根据问题描述逐个找到相应的数据加工、源点或汇点、数据存储和数据流。 给出系统的基本模型(高层模型)。 细化基本模型,直到分解的结果涉及到具体地实现该功能时。 在设计过程中,正确地给基本元素命名和加标号。 流程:外部实体处理数据流和数据存储,严格遵循业务流程,数据流图示例1,找出数据源点和终点。 采购员 仓库管理员,CRT,系统,采购部门,事务,报表,仓库管理员,采购员,数据流图示例1,找出处理 采购部门需要报表,因此“产生报表”必然是一个处理; 此外,仓库部门在接收到不同事务后需要做诸如:“判别事务类型”、“更新库存”等事务处理,所以“处理事务”也必是一个加工;,数据流图示例1,找出数据流 采购部门需要来自系统的“定货报表” 系统需要接受来自CRT的“事务” 找出数据存储 每天只产生一张报表,所以“定货信息”需要暂存以备更新。 库存信息来源于“库存清单”。,数据流图示例1,画出系统的基本模型(或顶层数据流图),仓库管理员,采购员,定货系统,事务,定货报表,数据流图示例1,进一步把基本系统模型细化,描绘系统的主要功能。,仓库管理员,采购员,1 处理 事务,2 产生 报表,事务,定货报表,库存清单,D1,定货信息,D2,数据流图示例1,进一步对处理事务分解,仓库 管理员,采购员,1.1 接收 事务,2 产生 报表,事务,定货报表,库存清单,D1,定货信息,D2,1.2 更新 库存,1.3 处理 定货,事务,库存信息,数据元素命名原则,代表整体,而不是局部; 不要空洞,要有真实含义; 处理命名:1个及物动词+1个宾语; 如果很难命名,要考虑分解;,DFD具体用途,分析人员与用户之间信息交流的工具; 分析和设计的工具;(DFD着重描述系统能完成的功能而非物理实现) DFD可以导出目标系统的高层的物理实现; 根据要求划分问题的自动化边界,边界不同系统不同; DFD映射软件的结构图。(程序结构图),描述银行取款过程的数据流图,数据流图示例2,数据流图的层次结构,为了表达数据处理过程的数据加工情况,需要采用层次结构的数据流图。 按照系统的层次结构进行逐步分解,并以分层的数据流图反映这种结构关系,能清楚地表达和容易理解整个系统,细化数据流图 使得更清晰,分层的数据流图,多层数据流图中,顶层流图包含一个加工,它代表被开发系统。它的输入流是该系统的输入数据,输出流是系统的输出数据 底层流图是指其加工不需再做分解的数据流图,它处在最底层 中间层流图则表示对其上层父图的细化。它的每一加工可能继续细化,形成子图。,数据流图画法的参考方案,自外向内、自顶向下、逐层细化,完善求精 1 找出系统的数据源点与汇点 2 找出外部实体的输出数据流与输入数据流 3 在图的边上画出系统的外部实体 4 从外部实体的输出数据流出发,按照系统的逻辑需要,逐步画出一系列逻辑加工,直到找到系统的汇点,形成闭合,5 按照一定的原则对所画层次的数据流图进行检查和修改 6 按照15步再对每一加工进行细化,画出子图,直到不可划分为止,数据流图画法的参考方案,数据流图示例3 商店业务处理系统,保持父图和子图平衡,这个数据流图只是一个高层的系统逻辑模型,它反映了目标系统要实现的功能 数据流图绘制步骤 首先确定系统的输入和输出 根据商店业务,画出顶层数据流图,以反映最主要业务处理流程,经过分析,商店业务处理的主要功能应当有销售、采购、会计三大项。主要数据流输入的源点和输出终点是顾客和供应商。 然后从输入端开始,根据商店业务工作流程,画出数据流流经的各加工框,逐步画到输出端,得到第一层数据流图,第一层数据流图,保持父图和子图平衡,加细每一个加工框 销售细化,采购细化,会计细化,3.1 收款,收款单,收据,3.2 付款,付款单,收据,付款,销 售,采购,供应商,3.3 统计,顾客,付款,检查和修改数据流图的原则,数据流图上所有图形符号只限于前述四种基本图形元素 数据流图的主图必须包括前述四种基本元素,缺一不可 数据流图的主图上的数据流必须封闭在外部实体之间 每个加工至少有一个输入数据流和一个输出数据流,在数据流图中,需按层给加工框编号。编号表明该加工所处层次及上下层的亲子关系 规定任何一个数据流子图必须与它上一层的一个加工对应,两者的输入数据流和输出数据流必须一致。此即父图与子图的平衡 可以在数据流图中加入物质流,帮助用户理解数据流图,图上每个元素都必须有名字 数据流图中不可夹带控制流 初画时可以忽略琐碎的细节,以集中精力于主要数据流。,数据字典,DD,即DataDictionary。 它是对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成分和中间计算有共同的理解。,数据字典和数据流图之间的关系,数据流图描述了系统的“分解”,它依靠“字典”来说明各个成分的含义; 数据流图中所有名字的定义就构成一本字典; 数据流图和字典结合在一起构成了“需求说明书” 数据流图中出现的每一个数据流名、每一个文件名和每一个加工名在字典中都应该有一个条目给出这个名字的定义。 它们相辅相成,缺一不可。,数据字典,它是指对数据流图中所包含的所有元素的数据定义的集合; 它的主要内容: 数据流 数据流分量(或数据项,指不再分解的数据单位) 数据存储(文件) 处理(加工,主要在详细设计中讨论),数据字典,主要作用: 分析阶段的有力工具; 开发数据库的第一步; 给设计人员提供关于数据的描述信息;,数据字典,定义数据的方法:对数据自顶向下的分解,当分解到“基本数据元素”后停止分解。 用组合其他数据的方法来定义数据。 组合的方式有四种: 顺序:确定顺序连接两个或多个分量; 选择:两个或多个分量中选取一个分量; 重复:对指定分量重复0次或多次; 可选:指定分量可有可无;,数据结构的描述,符 号 含 义 举 例 被定义为 与 x = ab .,. 或 .|. 或 x = a , b,x = a | b . 或 m.n 重复 x = a, x = 3a8 (.) 可选 x = (a) “.” 基本数据元素 x = “a” 连结符 x = 19,存折数据格式,存折户名所号帐号开户日性质(印密)1存取行50 户名2字母24 所号“001”“999” 帐号“00000001”“99999999” 开户日年月日 性质“1”“6” 注:“1”表示普通户,“5”表示工资户等 印密“0” 注:印密在存折上不显示 存取行日期(摘要)支出存入余额操作复核,自顶向下,(1)数据流词条描述,数据流名: 名字:数据流图中使用的主要名字 别名 描述:简要介绍作用即它产生的原因和结果 数据流来源:来自何方(可选) 数据流去向:去向何处(可选) 数据流组成:数据结构(核心) 位置:它的输入或输出或存储,(2)数据元素词条描述,同数据流定义,(3)数据文件词条描述,数据文件名 名称 简述:存放的是什么数据 输入数据: 输出数据: 数据文件组成:数据结构(核心) 存储方式:顺序,直接,关键码(可选) 存取频率: (可选),(4)源点及汇(终)点词条描述,名称:外部实体名 简要描述:什么外部实体 有关数据流: 数目:,数据字典的实现,CASE:computer-aided software engineering CASE =软件工程+自动化工具; 它是作为CASE的一部分实现的,对于大型软件需要借助于自动化工具; 小型软件开发可采用卡片形式书写数据字典; 包含:名字、别名、描述、定义和位置;,数据字典中的数据元素卡片 定货报表,数据字典中的数据元素卡片 零件标号,数据字典中的数据元素卡片 定货数量,名字:定货数量,别名:,描述:某个零件的一次定货数量,定义:定货数量,= 1,数字, 5,位置:定货报表,定货信息,例子:酒店管理系统的局部DFD,已预订 的入住,预订请求,预订,预订 确认,未预订 的入住,已预订的 入住请求,未预订的 入住请求,客人数据,客房数据,预订确认信息,客人信息,夜审,结算 信息,财务 系统,时钟,该系统的数据字典条目的定义,预订请求客人数据住宿期限+客房类别 客人数据客人姓名+地址+身份证号码 +(护照号码) +支付方式 身份证号码=15十进制数字18 护照号码字母 + 8数字8 字母“A”“Z” 十进制数字“0”“9”,区别数据流图和系统流程图,系统流程图描述一个物理系统,如旧系统。它是设计数据流图的基础,它类似于构件。 数据流图描述逻辑系统,如目标系统。它分析各种数据元素的逻辑实现。 图形元素不一样。,成本/效益分析,从经济的角度出发分析开发一个特定的新系统是否划算。 开发一个新系统是需要冒一定风险的。,成本/效益分析,成本和效益的估算 开发成本的估算 开发效益的估算 运行成本的估算 运行效益的估算,成本/效益分析,成本估计,成本估计涉及计算完成项目所需各资源成本的近似值, 应当考虑各种不同的成本替代关系,并且应该针对资源进行。 软件开发成本主要表现为人力的消耗 成本估计不是精确的科学,须使用几种不同的技术相互校验,重 点,成本估计的结果通常以货币单位表达,也可用人月、人天或人小时这样的单位。 成本估计结果也可包括项目需要的资源、资源的数量、质量标准、估算成本等信息。估计结果可以用一个范围表示。,成本/效益分析,成本估计,成本的组成,人力成本(主要的成本) 硬件成本 软件成本 场地成本 运行维护成本,成本估计的三种方法(从人力资源),代码行技术 任务分解技术 自动估计成本技术 功能点技术,代码行技术,它是一种定量估算方法 根据经验和历史数据估计实现一个功能所需的源程序行数 每行代码的平均成本乘以行数就可确定软件的成本 每行代码的平均成本取决软件的复杂程度和工资水平,代码行技术,用代码行(LOC)作为软件工作量的估算单位,在早期的系统开发中较为广泛使用。,改进的代码行技术,PERT估算法; 类比估算法; Delphi估算法; 系统分解法;,PERT算法,分别估计程序的最小规模(a)、最大规模(b)和最可能的规模(m),算出这3种规模的平均值之后,再用下式计算程序规模的估计值: L=,任务分解技术,首先,把软件开发过程分解为若干相对独立的任务 然后,分别估计每个单独开发任务的成本 最后,累加起来得到总成本 一般按照软件生存期进行划分,表 典型环境下开发阶段所需的成本百分比,自动估计成本技术,使用自动估计成本的软件工具 长期搜集的数据作为分析的基础和依据.,功能点估计技术,功能点估算法是一种在需求分析阶段基于系统功能的一种规模估计方法。 通过研究初始应用需求来确定各种输入、输出、计算和数据库需求的数量和特性。,成本/效益分析方法,估计开发系统的成本(前述方法) 估计运行费用 新系统带来的经济效益 合理估计软件的寿命,一般设为5年 比较开发成本与可能的效益,系统为用户增加的收入,可以用直接的或统计的方法估算。 估算项目的开发成本是否超过预期的利润。 分析系统开发对其他产品或利润的影响。 寻求如何以最小的成本获得最大的收益。,效益,效益,系统的经济效益=使用新系统而增加的收入+使用新系统可以节省的运行费用 分为两种 有形效益 无形效益,对一项投资进行成本效益分析的步骤:, 确定购买新产品或一个活动中的成本; 确定额外收入的效益; 确定可节省的费用; 制定预期成本和预期收入的时间表; 评估难以量化的效益和成本。,成本/效益分析的具体计算方法,货币的时间价值 投资回收期 纯收入 投资回收率,货币的时间价值,利用利率的形式表示货币的时间价值 F = P(1+i)n P = F/(1+i)n 上述公式将估计系统可能获得的未来收入转换为现在的价值,从而可以得出系统的获益,P代表现在的收入 F代表n年后的收入,例1 一系统成本5000元,投入使用后每年可节省2500元,年率为12%,表1 将来的收入折算成现在值,P = F/(1+i)n,投资回收期,累计的经济效益等于最初的投资成本所需的时间 投资回收期越短就能越快获得利润 例如某系统两年后可节省4225元,比最初投资(5000元)还少775元,第三年可以节省1779元。775/1779 = 0.44,因此投资回收期是2+0.44 = 2.44年,纯收入,整个系统的生命周期内累计的经济效益(折合为现在值)与投资之差 纯收入小于0,工程就不值得投资 如表1 纯收入 = 9011.94 5000 = 4011.9

温馨提示

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

评论

0/150

提交评论