版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可行性研究1可行性研究的任务和目的2可行性研究过程3可行性研究报告的文档格式4系统流程图5数据流图
6数据字典7成本/效益分析8本章小结1可行性研究的任务和目的
1.可行性研究的任务GB8566-88
《计算机软件开发规范》中指出:可行性研究的主要任务是“了解客户的要求及现实环境,从技术、经济、操作和社会因素等三方面研究并论证本软件项目的可行性,编写可行性研究报告,制定初步项目开发计划。”
可行性研究的目的
可行性研究用最小的代价在尽可能短的时间内确定该软件项目是否能够开发,是否值得开发。它不是解决而是确定问题是否值得解决。其实质是一次大幅简化和压缩了的系统分析和设计过程。
2可行性研究过程可行性研究过程的一般步骤:
1.确认项目的目标和规模。系统分析员对问题定义阶段书写的关于规模和目标的报告进一步复查确认,清晰地描述关于目标系统的一切限制与约束。
研究目前正在使用的系统。实地考察现有系统,仔细阅读其文档资料和使用手册,确定其基本功能、工作流程以及其缺陷。
3.建立新系统的高层逻辑模型。系统分析员在逐步明确目标系统应该具有的基本功能、处理流程和所受的约束的基础上,利用建立逻辑模型的工具,定义新系统的逻辑模型。能够利用数据流图描绘数据在系统中的流动和处理的情况,利用初步的数据字典定义系统中的数据。数据流图和数据字典共同定义了系统的逻辑模型,以后可以从这个逻辑模型出发设计新的系统。
2可行性研究过程
4.进一步定义问题。分析员通过新系统的逻辑模型表达新系统必须做什么之后,应该和用户一起再次复查问题定义、工程规模和目标,以发现并改正分析员对某些问题的误解或者用户遗漏的某些问题。分析员定义问题,分析这个问题,导出一个试探性的解;在此基础上再次定义问题,再次分析这个问题,修改这个解;继续这个循环过程,直到提出的逻辑模型完全符合系统目标。
5.导出和评价各种供选择的方案分析员在建立了完全符合系统目标的高层逻辑模型后,要给出若干个较高层次的(较抽象的)物理解法供选择和比较。一般地,首先从技术可行性出发,初步排除一些不现实的处理方案;然后,从操作可行性出发,充分考虑用户的工作方式和习惯,将那些操作方式或操作过程不能被用户接受的方案剔除;再次,从经济可行性出发,估算余下各种方案的开发成本和运行费用,进行成本/效益分析,选择预期利润比较理想的方案;最后,分析员详细列出各种较理想方案制定进度表,估计各种方案在生命周期各个阶段的工作量2可行性研究过程为项目负责人进行决策提供充分的依据。
6.推荐一个可行的方案。根据前述可行性研究的结果,分析员应该作出是否继续进行这项开发工作的决定。如果结论肯定,则应该推荐一种最好的解法,并说明选择这个解决方案的理由。
7.草拟开发计划。分析员应该为所推荐的方案草拟一份开发计划。该计划除了制定工程进度表外,还应该估计需要的各类开发人员和各种资源,另外还应估计生命周期各个阶段的成本,最后还应给出下一阶段(需求分析)的详细进度表和成本估算。
8.编写文档并提交审查。将上述可行性研究的各个步骤的工作成果写成正式的文档,提交用户、客户组织的主管以及评审组审查,以决定是否继续这项工程以及是否接受分析员推荐的方案。3可行性研究报告的文档格式可行性研究文档的文档格式可参看GB8567-88《计算机软件产品开发文件编制指南》。4系统流程图4.1概述分析员在进行可行性研究时需要了解和分析现有的系统,并概要地表达对现有系统的认识;在进入设计阶段还需要将设想的新系统的逻辑模型转变成物理模型,因此需要描绘未来的物理系统的概貌。系统流程图是概括地描绘物理系统的传统工具。其基本思想是用图形符号以黑盒子形式描述系统的各个部件(包括程序、文档、数据库和人工过程等)。系统流程图表达的是数据在系统各部件之间的流动情况,而不是对数据进行处理处理的控制过程。值得注意的是,尽管系统流程图和程序流程图的某些符号形式相同,但系统流程图描述的是物理数据流图而不是程序数据流图。4系统流程图4.2系统流程图符号
4系统流程图4系统流程图4.2系统流程图实例一:人工销售教材系统
4系统流程图4.3系统流程图实例二:计算机售书系统
4系统流程图4.4系统流程图的分层面对复杂的系统时,一个比较好的方法是分层次地描绘这个系统。方法是对高层系统流程图进行分解,分别把每个核心功能扩展到适当的详细程度。这样可以逐步深入地了解一个复杂系统。
5数据流图5.1数据流图概述数据流图(DataFlowDiagram,DFD)是一种图形化技术,它描绘信息流和数据流从输入到输入过程中所经历的变换。在数据流图中没有任何具体的物理部件,它只是描绘数据在软件中流动和被处理的逻辑过程。数据流图有四种主要成分:源点/终点、处理、数据流和数据存储。数据流图的基本功能是作为信息交流的工具,分析员把他对现有系统的认识或对目标系统的设想用数据流图描绘出来,供有关人员审查。数据流图的另一个主要用途是作为分析和设计的工具。分析员在研究现有的系统时通常使用系统流程图来表达他对这个系统的认识,这种方法形象具体,也比较容易验证其正确性。但是在用系统流程图描绘一个系统时,系统的功能和实现每个功能的具体方案是混合在一起的。分析员就会使用数据流图进一步总结现有的系统,着重描绘系统所完成的功能而不是系统的物理实现方案。
5数据流图5.2数据流图实例一:订货系统
问题描述:
假设某厂的采购部每天需要一张订货报表,报表按照零件编号排序,表中列出所有需要再次定货的零件。对于每个需要再次定货的零件应该列出下列数据:零件编号,零件名称,定货数量,当前价格,主要供应商,次要供应商。零件入库或出库称为事务。通过置放于仓库的CRT终端将事务报告给定货系统。当某种零件的库存数量少于库存量临界值时就应该再次定货。如何画出上述订货系统的数据流图?
5数据流图绘制本系统的数据流图的详细过程:1.从问题描述中提取数据流图的四种成分。
(1).从“采购部每天需要一张订货报表”以及“CRT终端将事务报告给定货系统”可知,采购员是数据终点,仓库管理员是数据源点;(2).从“采购部每天需要一张定货报表”,显然订货前他们需要一张这样的报表,因此必须有一个产生报表的处理。零件入库和出库的结果是改变了零件库存量,通常任何改变数据的操作都是处理,因此对事务的处理是另一个处理;(3).从“系统把定货报表呈送到采购部”可知定货报表是一个数据流。事务需要记录到系统中,显然事务是另一个数据流;(4).产生报表和处理事务这两个处理在时间上明显不匹配——每天只产生一次报表,而每当有一个事务发生时需要立即处理它。因此,用于产生定货报表的数据必须存放一段时间,也就是有一个数据存储。将上面的分析结果用表格列出。5数据流图
画出基本系统模型任何系统的基本模型都由若干个数据源点/终点以及一个处理组成,这个处理就代表了系统处理变换数据的基本功能。因此,从基本系统模型这样高的层次开始画数据流图是一种很好的思路。定货系统的基本系统模型如下。5数据流图5数据流图
3.细化基本系统模型基本系统模型通常很抽象,接下来应该将其细化,描绘系统的主要功能。此时就可以根据从问题描述中提取的信息元素画出功能级的数据流图。如下所示。5数据流图
4.分解功能级数据流图接下来需要对功能级数据流图中描绘的系统主要功能进一步分解,得到更细化的数据流图。注意:当对数据流图分层细化时必须保持信息的连续性。也就是说,当把一个处理分解为一系列处理时,分解前和分解后的输入输出数据流必须相同。5数据流图5.3数据流图实例二:主文件修改系统实例描述:
考虑一个修改磁带上主文件的系统。文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息并按照记录号把修改信息按照顺序排列好,然后系统逐个读入主文件上的记录,根据记录上的校验码核对每个读入的记录,丢掉出错的记录,按照修改信息修改余下的记录,产生的新文件存储在磁盘上。最后,系统输出一份修改报告供文件管理员参阅。请分层次地画出上述主文件修改系统的数据流图。
5数据流图绘制本系统的数据流图的简要过程:
本系统的数据源点和终点都是“文件管理员”,他既向系统提供修改信息,又从系统接收系统生成的修改报告。系统的主要功能是接收修改信息、读主文件、核对记录、修改原始记录和产生修改报告。值得注意的是,问题陈述中所描述的“系统按照记录号把修改信息按照顺序排列好”是具体的实现方法。而在数据流图中无需描绘具体实现的方法。因此在本系统的数据流图中不需要包含“排序”功能。类似地,“文件管理员把修改信息穿孔在卡片上,系统读入穿孔卡片上的信息”是系统接收信息的具体方法。在数据流图中无需描述这个具体的实现方案。因此,在本系统的数据流图上也不需要包含“穿卡片”和“读卡片”的功能。本系统包含的数据和数据存储是修改信息、主文件和修改后的主文件。下面的两个图描述本系统的基本系统模型和功能级的数据流图。
5数据流图
5数据流图5数据流图5.4数据流图实例三:患者监护系统实例描述:
目前住院病人主要由护士护理,这样做不仅需要大量护士,而且由于不能随时观察危重病人的病情变化而延误抢救时机。某医院打算开发一个以计算机为中心的患者监护系统。医院对患者监护系统的基本要求是随时接收每个病人的生理信号(脉搏、体温、血压和心电图等),定时记录病人情况以形成患者日志,当某个病人的生理信号超出医生规定的安全范围时向值班护士发出警告信息。此外,护士在需要时还可以要求系统输出某个指定的病人的病情报告。请分层次地画出描述本系统功能的数据流图。
5数据流图
绘制本系统的数据流图的简要过程:从问题的陈述容易看出,本系统的数据源点是“病人”和“护士”,他们分别提供生理信号和要求病情报告的信息。进一步分析问题陈述,从“系统定时记录病人情况以形成患者日志”这项要求可以想到,还应该有一个提供日期和时间信息的“时钟”作为数据源点。从问题陈述还容易看出,本系统的数据终点是接收警告信息和病情报告的值班护士。系统对病人生理信号的处理功能是“接收信号”、“分析信号”和“产生警告信息”。此外,系统还应该具有“定时取样生理信号”、“更新日志”和“产生病情报告”的功能。为了分析病人生理信号是否超出了医生规定的安全范围,应该存储“患者安全范围”信息。此外,定时记录病人生理信号所形成的“患者日志”显然也是一个数据存储。本系统的基本系统模型和功能级数据流图如下图。5数据流图
5数据流图5数据流图5.3命名
数据流图中的每个成分的命名是否恰当,直接影响到数据流图的可理解性。命名时通常要注意以下问题:
1.为数据流或数据存储命名。(1).名字应该代表整个数据流或数据存储的内容,而不是仅仅反映它的某些成分;
(2).不要使用空洞、缺乏具体含义的名字,比如“数据”、“信息”、“输入”之类;(3).如果在为某个数据流或数据存储命名时遇到困难,很可能是对数据流图分解不成功造成的。
为数据流或数据存储命名。(1).通常先为数据流命名,然后为其关联的处理命名;(2).名字应该能反映整个处理的功能,而不是它的一部分功能;
5数据流图5.4画数据流图应注意的事项
1.合理地命名,有助于数据流图的理解和阅读;编号的设置;3.在分层数据流图中,应保持父图和子图的平衡,即两者的输入数据流和输出数据流必须一致;4.局部数据存储当某层数据流图中的数据存储不是父图中相应处理的外部接口,而只是本图中某些处理之间的数据接口,则这些数据存储为局部数据存储。在子图中出现的数据存储,可以不出现在父图中,画父图时只需画出处理逻辑之间的联系,不必画出各个处理逻辑内部的细节,有助于实现信息隐藏。5.逐层分解,注意分解的连续性,概念清晰合理;6.输入输出的数据流应连续.每个处理至少有一个输入数据流和一个输出数据流;同时数据流图不反映处理的执行顺序,只反映系统需要“做什么”。5数据流图7.当处理逻辑足够简单时,分解可以终止。8.数据流图中不应有控制流和控制信息,也不包含物质流。9.掌握分解的速度.每一张数据流图中包含的处理是7+(-)2个。
6数据字典
数据字典是所有与系统相关的数据元素的有组织的列表,并且包含了对这些数据元素的精确、严格、一致的定义,不仅使得用户和分析员双方对输入、输出、存储的成分甚至中间计算结果有共同的理解,而且有助于不同的开发人员或不同的开发小组之间的通信。数据流图和数据字典共同构成了系统的逻辑模型。当把数据流图和对数据流图中的每个元素的精确定义放在一起,就共同构成了系统的规格说明,从而在软件分析和设计的过程中为有关人员提供数据的描述信息。简而言之,数据字典是描述数据的信息的集合,是数据流图中包含的所有数据元素的定义的集合。6数据字典6.1数据字典的内容数据字典通常由四类元素的定义组成:数据流、数据流分量(即数据元素)、数据存储以及处理。但是对数据处理的定义使用其他工具(如IPO图或PDL语言)描述更方便。因此一般数据字典主要由数据的定义组成。除了数据定义外,数据字典还应该包含数据元素的其他一些典型信息,包括:1.一般信息(名字,别名,描述等);数据元素定义(类型,长度,结构等);3.使用特点(取值范围,使用频率,使用方式——输入、输出、本地,条件约束等);4.控制信息(来源,用户,使用它的程序,使用权限);5.分组信息(父结构,从属结构,物理存储——记录、文件和数据库等)。
6数据字典6.2定义数据的方法数据字典中的定义是对数据自上而下的分解。一般说来,当分解不需要进一步定义,与工程有关的所有人员都清楚每个元素的含义时,这种分解过程就完成了。数据元素组成数据的方式有三种基本类型:
1.顺序。即以确定次序连接两个或多个分量;选择。即从两个或多个可能的元素中选取一个;3.重复。即把指定的分量重复零次或多次。可以使用自然语言描述数据元素组成数据的关系:1.“=”等价于,定义为;“+”和,连接两个或多个分量;3.“[]”或,从方括号中列出的若干分量中选择一个,分量之间使用“|”分隔供选择的分量;
6数据字典6.3数据字典的实现在开发大型软件系统的过程中,数据字典的规模和复杂性很大,人工维护很困难,因此目前的数据字典通常作为“CASE结构化分析与设计工具”的一部分实现的。在开发小型软件系统时,如果没有数据字典处理程序,可以采用卡片书写数据字典,每张卡片描述一个数据信息。
7成本/效益分析成本/效益分析的目的是从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地做出是否投资于这项开发工程的决定。
7成本/效益分析成本/效益分析的目的是从经济角度分析开发一个特定的新系统是否划算,从而帮助客户组织的负责人正确地做出是否投资于这项开发工程的决定。
7成本/效益分析7.1开发成本估算技术
1.代码行技术首先,根据经验或历史数据定量估算交付的可运行软件中有效的源程序代码行数(通常不包括程序中的注释);然后将每行代码的平均成本乘以总行数就可以确定软件的成本。每行代码的平均价格与软件的复杂性与薪资水平有关。通常将软件价格计算延迟到工程设计的最后,可得到较精确的平均价格。
任务分解根据软件生命周期,对开发工作进行任务分解,分别估计每个任务的成本,然后累加得到总成本。估算时基于已完成的类似项目进行。
3.自动估计成本技术使用一个或多个经验模型,采用自动估计成本软件工具进行软件成本和工作量的估算。
7成本/效益分析7.2成本/效益分析技术
成本/效益分析的第一步是估计开发成本、运行费用和新系统带来的经济效益。其中:开发成本的估计方法参见7.1;运行费用取决于系统的操作费用(操作人员数、工作时间、消耗的物资等)和维护费用;系统的经济效益等于因使用新系统而增加的收入加上使用新系统可以节省的运行费用。注意:运行费用和经济效益存在于软件的整个生命周期,总的效益与生命周期有关;投资现在进行,效益将来收获,因此还应考虑货币的时间价值。
1.货币的时间价值通常使用利率的形式表示货币的时间价值。假设年利率为i,如果现在存入P元,则n年后可以得到的钱为:
F=P(1+i)n这就是P元钱在n年后的价值。反之,如果n年后能收入F元,那么7成本/效益分析折算成现在的价值是:P=F/(1+i)n
投资回收期通常使用投资回收期衡量一项开发工程的价值。所谓投资回收期就是使累计的经济效益等于最初投资所需的总时间。显然,投资回收期越短就能越快获得利润。
3.纯收入在整个生命周期之内系统的累计经济收入(折合成现在值)与现在投资值的差值。这相当于比较“投资开发一个软件系统”和“将钱存入银行”两种投资方案的优劣。如果纯收入为零或负值,则工程的预期收益和银行的收益是一样的,但是软件开发是要冒一定风险的,单纯从经济角度看这项工程是不值得投资的。4.投资回收率投资回收率可以衡量投资收益的大小,将其与年利率相比较就可以比较“投资开发一个软件系统”和“将钱存入银行”两种投资方案的优劣。它也是衡量工程的经济效益的一个重要参考。7成本/效益分析7.3成本/效益分析实例实例1:现需修改一个已有的库存清单程序并新编写一个产生报表程序使之它能每天给采购员递交一份订货报表,估计费用为5000元;系统修改后能及时定货,估计每年可以节省2500元。假设新系统的生命周期为5年,年平均利率为12%。计算该项投资的投资回收期、纯收入和投资回收率。解:(1)先利用货币价值折算公式计算出未来5年中每年2500元折合成现在的价值。7成本/效益分析
(2)新系统两年后就可以节省4225.12元,比最初的投资还少774.88元,第三年再节省1779.45元,774.88/1779.45=0.44。因此投资回收期是2+0.44=44年。(3)新系统5年的纯收入为9011.94-5000=4011.94元。7成本/效益分析实例2:某部门需要开发计算机辅助设计(CAD)系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026医疗信息化电子病历远程医疗医院管理系统产业供需调研及投资发展规划分析研究报告
- 2026汽车变速箱技术发展趋势及市场需求与成本优化研究报告
- 2026水产养殖产业发展趋势与政策环境影响及商业模式创新分析报告
- 2026碳捕集利用与封存技术商业化应用前景评估报告
- 2026中国废铅酸电池回收网络规范化建设与非法整治效果报告
- 2026汽车安全系统行业市场调研及技术创新与法规符合性研究报告
- 2026中国在线教育平台市场用户行为与商业模式研究报告
- 2026中国生物医药技术创新趋势与市场投资规划研究报告
- 2026中国农机维修服务行业发展现状及市场机遇研究报告
- 2026母婴用品线上线下渠道融合与消费者忠诚度分析报告
- GB/T 1919-2023工业氢氧化钾
- 公共艺术-美术与人生
- GB/T 17421.2-2023机床检验通则第2部分:数控轴线的定位精度和重复定位精度的确定
- JJF 1986-2022 差压式气密检漏仪校准规范
- 西方经济学(第二版)完整整套课件(马工程)
- 生鲜布局和陈列
- 高三数学复习备考总结与反思
- GB/T 29162-2012煤矸石分类
- 马工程西方经济学(第二版)教学课件-8
- 北师大版小学数学三年级上册《小熊购物(一)》同步练习含答案
- DB11-T968-2021预制混凝土构件质量检验标准
评论
0/150
提交评论