第2章可行性研究.ppt
《第2章可行性研究.ppt》由会员分享,可在线阅读,更多相关《第2章可行性研究.ppt(124页珍藏版)》请在麦多课文档分享上搜索。
1、第 2 章 可行性研究,2.1 可行性研究2.1.1 可行性研究的任务首先需要进行概要的分析研究,初步确定项目的规模和目标,确定项目的约束和限制,把它们清楚地列举出来。然后, 分析员进行简要的需求分析,抽象出该项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的主要解决办法,对每种解决方法都要研究它的可行性。可从以下三方面分析研究每种解决方法的可行性。,1. 技术可行性对要开发项目的功能、 性能和限制条件进行分析, 确定在现有的资源条件下,技术风险有多大,项目是否能实现,这些即为技术可行性研究的内容。这里的资源包括已有的或可以搞到的硬件、软件资源,现有技术人员的
2、技术水平和已有的工作基础。技术可行性常常是最难解决的方法,因为项目的目标、功能和性能比较模糊。技术可行性一般要考虑的情况包括:(1) 开发的风险: 在给出的限制范围内, 能否设计出系统并实现必须的功能和性能?(2) 资源的有效性: 可用于开发的人员是否存在问题? 可用于建立系统的其他资源是否具备?,(3) 技术: 相关技术的发展是否支持这个系统?开发人员在评估技术可行性时, 一旦估计错误, 将会出现灾难性后果。 2. 经济可行性进行开发成本的估算以及了解取得效益的评估, 确定要开发的项目是否值得投资开发,这些即为经济可行性研究的内容对于大多数系统,一般衡量经济上是否合算,应考虑一个“底线”,经
3、济可行性研究范围较广,包括成本效益分析, 长期公司经营策略, 开发所需的成本和资源,潜在的市场前景。,3. 社会可行性研究要开发的项目是否存在任何侵犯、妨碍等责任问题, 要开发项目的运行方式在用户组绢内是否行得通,现有管理制度、人员素质和操作方式是否可行, 这些即为社会可行性研究的内容。社会可行性所涉及的范围也比较广,它包括合同、责任、 侵权、用户组织的管理模式及规范,其他一些技术人员常常不了解的陷阱等。,2.1.2 可行性研究的具体步骤典型的可行性研究有下列步骤:(1) 确定项目规模和目标。分析员对有关人员进行调查访问,仔细阅读和分析有关的材料,对项目的规模和目标进行定义和确认,清晰地描述项
4、目的一切限制和约束,确保分析员正在解决的问题确实是要解决的问题。(2) 研究正在运行的系统。正在运行的系统可能是一个人工操作的系统,也可能是旧的计算机系统,因而需要开发一个新的计算机系统来代替现有系统。现有的系统是信息的重要来源。人们需要研究它的基本功能,存在什么问题,运行现有系统需要多少费用,对新系统有什么新的功能要求,新系统运行时能否关不管使用费用等。,应该收集、研究和分析现有系统的文档资料,实地考察现有系统,在考察的基础上,访问有关人员,然后描绘现在系统的高层系统流程图(见2.1.3节), 与有关人员一起审查该系统流程图是否正确。系统流程图反映了现有系统的基本功能和处理流程。(3) 建立
5、新系统的高层逻辑模型。根据对现有系统的分析研究,逐渐明确新系统的功能、处理流程以及所受的约束,然后使用建立逻辑模型的工具数据流图和数据字典(见8.3、8.4节)来描述数据在系统中的流动和处理情况。注意,现在还不是软件需求分析阶段,不是完整、详细的描述,只是概括地描述高层的数据处理和流动。,(4) 导出和评价各种方案。分析员建立了新系统的高层逻辑模型之后,要从技术角度出发,提出实现高层逻辑模型的不同方案,即导现若干较高层次的物理解法。 根据技术可行性、经济可行性和社会可行性对各种方案进行评估, 去掉行不的解法,就得到了可行的解法。(5) 推荐可行的方案。根据上述可行性研究的结果, 应该决定该项目
6、是否值得去开发。 若值得开发,那么可行的解决方案是什么,并且说明该方案是可行的原因和理由。该项目是否值得开发的主要因素是从经济上看是否合算,这就要求分析员对推荐的可行方案进行成本效益分析。,(6) 编写可行性研究报告。将上述可行性研究过程的结果写成相应的文档,即可行性研究报告,提请用户和使用部门仔细审查,从而决定该项目是否进行开发,是否接受可行的实现方案。,2.1.3系统流程图1. 系统流程图的作用系统流程图是描述物理系统的工具。所谓物理系统,就是一个具体实现的系统,也就是描述一个单位、组织的信息处理的具体实现的系统。在可行性研究中,可以通过画出系统流程图来了解要开发的项目的大概处理流程、 范
7、围和功能等。 系统流程图不仅能用于可行性研究,还能用于需求分析阶段。系统流程图可用图形符号来表示系统中的各个元素, 例如,人工处理、数据处理、数据库、文件和设备等。它表达了系统中各个元素之间的信息流动的情况。,画系统流程图时,首先要搞清业务处理过程以及处理中的各个元素,同时要理解系统的流程图的各个符号的含义, 选择相应的符号来代表系统中的各个元素。所画的系统流程图要反映出系统的处理流程。在进行可行性研究过程中,要以概括的形式描述现有系统的高层逻辑模型,并通过概要的设计变成所建议系统的物理模型, 可以用系统流程图来描述所建议系统的物理模型。2. 系统流程图的符号系统流程图的符号如表 2 - 1
8、所示。,3. 系统流程图的示例下面以某工厂的库房管理为例, 说明系统流程图的使用。 某工厂有一个库房, 存放该厂生产需要的物品, 库房中的各种物品的数量及各种物品库存量临界值等数据记录在库存文件上,当库房中物品数量有变化时,应更新库存文件。若某种物品的库存量少于库存临界值,则报告采购部门以便其订货, 每天向采购部门送一份采购报告。库房可使用一台微机处理更新库存文件和产生订货报告的任务。物品的发放和接受称为变更记录,由键盘录入到微机中。 系统中的库存管理模块对变更记录进行处理,更新存储在磁盘上的库存文件,并把订货信息记录到联机存储中。每天由报告生成模块读一次订货信息,并打印出订货报告。图 2.1
9、 给出了该系统的系统流程图。,图 2.1 库存管理系统的系统流程图,2.4 数据流图,定义:数据流图(Data Flow Diagram, 简称DFD), 是描绘系统的逻辑模型,描绘信息在系统中的流动和处理情况。是SA方法中用于表示系统逻辑模型的一种工具,它以图形的方式描绘数据在系统中流动和处理的过程。由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。 图2.2是一个飞机机票预订系统的数据流图,其功能为旅行社把预订机票的旅客信息(姓名、年龄、单位、身份证号码、 旅行时间及目的地等)输入机票预订系统。系统为旅客安排航班,打印出取票通知单(付有应交的账款)。旅客在飞机起飞的前一天凭取票通知
10、等交款取票, 系统检验无误,输出机票给旅客。,图 2.2 飞机机票预订系统,2.4.1基本图形符号数据流图有以下 4 种基本图形符号: : 箭头, 表示数据流。: 圆或椭圆, 表示数据处理。=: 双杠, 表示数据存储。: 方框, 表示数据的源点或终点。 1. 数据流数据流是数据在系统内传播的路径,由一组成分固定的数据项组成。如订票单由旅客姓名、年龄、单位、身份证号、 日期及目的地等数据项组成。,由于数据流是流动中的数据,所以必须有流向,即在加工之间、 加工与源点终点之间、加工与数据存储之间流动。 除了与数据存储之间的数据流不用命名外,数据流应该用名词或名词短语命名。 2. 数据处理对数据流进行
11、某些操作或变换。每个数据处理也要有名字,通常是动词短语,简明地描述完成什么处理。 在分层的数据流图中, 数据处理还应编号。 3. 数据存储数据存储指暂时保存的数据,它可以是数据库文件或任何形式的数据组织。流向数据存储的数据流可理解为写入文件,或查询文件,从数据存储流出的数据可理解为从文件读数据或得到查询结果。 ,4. 数据源点和终点数据源点和终点是软件系统外部环境中的实体(包括人员、 组织或其他软件系统),统称外部实体。它们是为了帮助理解系统界面而引入的,一般只出现在数据流图的顶层图中,表示了系统中数据的来源和去处。 有时为了增加数据流图的清晰性,防止数据流的箭头线太长,在一张图上可重复画同名
12、的源/终点(如某个外部实体既是源点也是终点的情况),在方框的右下角加斜线则表示是一个实体。有时数据存储也需重复标识。,数据流图的分层细化原则和方法,(1)保持信息的连续性,也就是细化前后对应功能的输入输出数据必须相同。 (2)当进一步细化时,将涉及如何具体地实现一个功能时,就不应再细化。 分层子图的画法及编号:,2.4.2画数据流图的步骤为了表达较为复杂问题的数据处理过程, 用一张数据流图是不够的。 要按照问题的层次结构进行逐步分解, 并以一套分层的数据流图反映这种结构关系。 1. 画系统的输入输出画系统的输入输出即先画顶层数据流图。顶层流图只包含一个加工,用以标识被开发的系统,然后考虑该系统
13、有哪些输入数据,这些输入数据从哪里来;有哪些输出数据,输出到哪里去。这样就定义了系统的输入、输出数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换关系, 顶层图只有一张。图2.3为飞机机票预订系统的顶层图。 ,图 2.3 飞机机票预订系统顶层图,2. 画系统内部画系统内部即画下层数据流图。一般将层号从0开始编号, 采用自顶向下,由外向内的原则。画0层数据流图时,一般根据当前系统工作分组情况,并按新系统应有的外部功能,分解顶层流图的系统为若干子系统,决定每个子系统间的数据接口和活动关系。如机票预订系统按功能可分成两部分,一部分为旅行社预订机票,另一部分为旅客取票,两部分通过机
14、票文件的数据存储联系起来,0层数据流图如图2.4。画更下层数据流图时, 则分解上层图中的加工,一般沿着输入流的方向,凡数据流的组成或值发生变化的地方则设置一个加工,这样一直进行到输出数据流(也可从输出流到输入流方向画)。,图 2.4 飞机机票预订系统0层图,如果加工的内部还有数据流,则对此加工在下层图中继续分解,直到每一个加工足够简单,不能再分解为止。不再分解的加工称为基本加工。 3. 注意事项画数据流图的注意事项有以下几点:(1) 命名:不论数据流、数据存储还是加工,合适的命名使人们易于理解其含义。数据流的名字代表整个数据流的内容, 而不仅仅是它的某些成分,不使用缺乏具体含义的名字,如“数据
15、”、 “信息”等。加工名也应反映整个处理的功能, 不使用“处理”、 “操作”这些笼统的词。 ,(2) 画数据流而不是控制流: 数据流图反映系统“做什么”, 不反映“如何做”,因此箭头上的数据流名称只能是名词或名词短语, 整个图中不反映加工的执行顺序。 (3) 一般不画物质流: 数据流反映能用计算机处理的数据, 并不是实物,因此对目标系统的数据流图上一般不要画物流, 如机票预订系统中,人民币也在流动, 但并未画出,因为交款是“人工”行为。 (4) 每个加工至少有一个输入数据流和一个输出数据流, 反映出此加工数据的来源与加工的结果。 (5) 编号: 如果一张数据流图中的某个加工分解成另一张数据流图
16、时, 则上层图为父图,直接下层图为子图。子图应编号, 子图上的所有加工也应编号,子图的编号就是父图中相应加工的编号,加工的编号由子图号、小数点及局部号组成, 如图8.5所示。,图 2.5 父图与子图(1),(6) 父图与子图的平衡:子图的输入、输出数据流同父图相应加工的输入、输出数据流必须一致,此即父图与子图的平衡。 图2.5中子图2.1与父图2相应加工2.1的输入、输出数据流的数目、名称完全相同, 即一个输入流a,两个输出流b和c。 再看图2.6,好像父图与子图不平衡,因为父图加工4与子图输入输出数据流数目不相等,但是借助于数据字典(见2.)中数据流的描述可知, 父图的数据流“订货单”由“客
17、户”、“账号”及“数量”三部分数据组成,即子图是父图中加工、数据流同时分解而来, 因此这两张图也是平衡的。 ,图2.6 父图与子图的平衡,有时考虑平衡可忽略一些枝节性的数据流(如出错处理)。 父图与子图的平衡, 是分层数据流图中的重要性质,保证了数据流图的一致性, 便于分析人员的阅读与理解。 (7) 局部数据存储:当某层数据流图中的数据存储不是父图中相应加工的外部接口,而只是本图中某些加工之间的数据接口, 则称这些数据存储为局部数据存储,一个局部数据存储只有当它作为某些加工的数据接口或某个加工特定的输入或输出时,就把它画出来,这样有助于实现信息隐蔽。 (8) 提高数据流图的易理解性:注意合理分
18、解,要把一个加工分解成几个功能相对独立的子加工, 这样可以减少加工之间输入、输出数据流的数目,增加数据流图的可理解性。,分解时要注意子加工的独立性、均匀性,特别是画上层数据流时,要注意将一个问题划分成几个大小接近的组成部分, 这样做便于理解。 不要在一张数据流图中出现某些加工已是基本加工,某些加工还要分解好几层。 为了使数据流图便于在计算机上输入与输出, 以下给出了描述数据流图的另一套基本符号: 表示数据流, 只能水平或垂直画。,编号,: 表示加工。,编号,: 表示数据存储。,2.5 数 据 字 典,2.5.1数据字典的内容及格式定义:数据字典是关于数据的信息的集合,也就是对数据流图中包含的所
19、有元素的定义的集合。为分析人员查找数据流图中有关名字的详细定义而服务的,因此也像普通字典一样, 要把所有条目按一定的次序排列起来,以便查阅。数据字典有以下 4 类条目:数据流、 数据项、 数据存储及基本加工。 数据项是组成数据流和数据存储的最小元素。源点、终点不在系统之内,故一般不在字典中说明。 1. 数据流条目数据流条目列出该数据流的各组成数据项。在定义数据流或数据存储组成时,使用表2 - 1给出的符号。,下面给出了几个使用表2 -1中符号,定义数据流组成及数据项的例子。 例: 机票=姓名+日期+航班号+起点+终点+费用姓名= 字母182 航班号=“Y7100”KG-*3“Y8100”终点=
20、上海|北京|西安,数据流条目主要内容及举例如下: 数据流名称: 订单,别名: 无 简述: 顾客订货时填写的项目 来源: 顾客 去向: 加工1“检验订单” 数据流量: 1000份/每周 组成: 编号+订货日期+顾客编号+地址+电话+银行账号+ 货物名称+规格+数量,其中数据流量指单位时间内(每小时或每天或每周或每月)的传输次数。 ,2. 数据存储条目数据存储条目是对数据存储的定义, 主要内容及举例如下: 数据存储名称: 库存记录别名: 无简述: 存放库存所有可供货物的信息组成: 货物名称+编号+生产厂家+单价+库存量组织方式: 索引文件, 以货物编号为关键字查询要求: 要求能立即查询,数据项名称
21、: 货物编号 别名: G-No, G-num, Goods-No 简述: 本公司的所有货物的编号 类型: 字符串 长度: 10 取值范围及含义: 第1位: 进口/国产第24位: 类别第57位: 规格第810位: 品名编号,3. 数据项条目数据项条目是不可再分解的数据单位, 其定义格式及举例如下: ,4. 数据处理条目数据处理条目是用来说明数据流图中基本数据处理逻辑的, 由于上层的加工是由下层的基本加工分解而来,只要有了基本加工的说明,就可理解其他加工。数据处理条目的主要内容及举例如下:,数据处理名: 确定能否供货 编号: 1.2 激发条件: 接收到合格订单时 优先级: 普通 输入: 合格订单
22、输出: 可供货订单、 缺货订单 加工逻辑: 根据库存记录,IF 订单项目的数量 该项目库存量的临界值THEN 可供货处理ELSE 此订单缺货, 登录, 待进货后再处理ENDIF数据字典中的数据处理逻辑主要描述该加工“做什么”, 即实现处理的策略, 而不是实现处理的细节,它描述如何把输入数据流变换为输出数据流的处理规则。为了使处理逻辑直观易读, 易被用户理解,有几种常用的描述方法, 它们是结构化语言、 判定表及判定树。 ,2.5.2数据字典的实现1. 手工建立手工建立数据字典的内容用卡片形式存放, 其步骤如下: (1) 按 4 类条目规范的格式印制卡片。 (2) 在卡片上分别填写各类条目的内容。
23、 (3) 先按图号顺序排列,同一图号的所有条目按数据流、 数据项、数据存储和加工的顺序排列。 (4) 同一图号中的同一类条目(如数据流卡片)可按名字的字典顺序存放,加工一般按编号顺序存放。 (5) 同一成分在父图和子图都出现时, 则只在父图上定义。 (6) 建立索引目录。 ,2. 利用计算机辅助建立并维护利用计算机辅助建立并维护数据字典的步骤如下:(1) 编制一个“字典生成与管理程序”,可以按规定的格式输入各类条目,能对字典条目增、删、改,能打印出各类查询报告和清单, 能进行完整性、一致性检查等。美国密执安大学研究的PSL/PSA就是这样一个系统。 (2) 利用已有的数据库开发工具,针对数据字
24、典建立一个数据库文件,可将数据流、数据项、数据存储和加工分别以矩阵表的形式来描述各个表项的内容,如数据流的矩阵表为: ,然后使用开发工具建成数据库文件,便于修改、查询, 并可随时打印出来。另外, 有的DBMS本身包含一个数据字典子系统, 建库时能自动生成数据字典。 计算机辅助开发数据字典比手工建立数据字典有更多的优点,能保证数据的一致性和完整性,使用也方便,但增加了技术难度与机器开销。,数据字典的用途:作为分析阶段的工具,使开发数据 库的第一步,也是很有价值的一步。,定义数据的方法:1、顺序 2、选择 3、重复4、可选 数据字典的特点: (1)通过名字能方便地查阅数据的定义。(2)没有冗余(3
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可行性研究 PPT
