可行性研究-第二节:数据流图与数据字典及成本效益分析

Posted 快乐江湖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了可行性研究-第二节:数据流图与数据字典及成本效益分析相关的知识,希望对你有一定的参考价值。

一:数据流图(DFD)

(1)定义

数据流图:描述信息流和数据从输入到输出所经受的变换。没有任何具体物理部件,只是描绘数据在软件中流动和被处理的逻辑过程

(2)符号

(3)数据流图画法示例一

假设一家工厂的采购部每天需要一张订货报表,报表按零件编号排序,表中列出所有需要再次订货的零件。对于每个需要再次订货的零件应该列出下述数据:零件编号,零件名称,订货数量,目前价格,主要供应者,次要供应者。零件入库或出库称为事务,通过放在仓库中的CRT终端把事务报告给订货系统。当某种零件的库存数量少于库存量临界值时就应该再次订货。画出上述订货系统的数据流图


A:从题目中提取四种成分

1:考虑数据的源点和终点

  • 数据源点:仓库管理员
  • 数据终点:采购员

2:考虑有哪些处理

  • “采购部需要报表”,所以需要一个产生报表的处理
  • 仓库中的零件数量会发生改变,所以对事物进行的加工是另一个处理

3:考虑数据流

  • 系统会把订货报表送给采购部,所以订货报表是一个数据流
  • 事物需要从仓库送到系统中,所以事物是一个数据流

4:考虑数据存储

每当有一个事物发生时就应该立即处理,但是由于每天只产生一次订货报表。因此用于产生订货报表的数据必须存放一段时间,所以有一个数据存储

B:画数据流图

1:基本系统模型

  • 任何系统的基本模型都由若干数据源点/终点以及一个处理组成,该处理代表系统对数据加工变换的基本功能

如下

2:细化模型,描绘系统主要功能

  • 产生报表和处理事物是系统必须完成的两个主要功能
  • 细化后增加了两个数据存储:处理事物需要库存清单数据;产生报表和处理事物需要订货信息

3:进一步细化功能级数据流图中描绘的系统主要功能

当一个事物发生使必须先接受它,随后按照事物的内容修改库存清单,最后如果更新后的库存量少于临界值,需要再次订货

4:考虑是否继续分解和细化

当分解时产生 “如何具体地实现一个功能时” 的疑问时就不需要分解了
5:检查

  • 分层必须保证信息的连续性
  • 注意编号的处理

(4)数据流图画法示例二

银行计算机储蓄系统的工作过程大致如下:储户填写的存款单或取款单由业务员键入系统,如果是存款则系统记录存款人姓名、住址(或电话号码)、身份证号码、存款类型、存款日期、到期日期、利率及密码(可选)等信息,并印出存单给储户;如果是取款而且存款时留有密码,则系统首先核对储户密码,若密码正确或存款时未留密码,则系统计算利息并印出利息清单给储户

第一层

第二层

二:数据字典

(1)定义

数据字典:是关于数据的信息集合,即对数据流图中包含的所有元素定义的集合

(2)内容和方法

数据字典内容

  • 数据流
  • 数据元素
  • 数据存储、处理

定义数据的方法

  • 顺序
  • 选择
  • 重复
  • 可选

符号表示

  • =的意思是等价于
  • +的意思是和(即连接两个分量)
  • []的意思是或(即从括号内的分量中选择一个)
  • |的意思是隔开供选择的分量
  • 的意思是重复
  • ()的意思是可选(即括号内的分类可有可无)

(3)示例一

北京某高校可用的电话号码有以下几类:校内电话号码由4位数字组成,第一位数字不是0。校外电话又分为本市电话和外地电话两类。拨校外电话需要先拨0,若是本市电话则接着拨8位数字(第一位不是0),若是外地电话则拨3位区码后再拨8位电话号码(第一位不是0)

  • 电话号码=[校内电话 | 校外电话]
  • 校内电话=非零数字+三位数字
  • 非零数字=[ 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]
  • 三位数字=3数字3
  • 数字=[ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 ]
  • 校外电话=[本市电话 | 外地电话]
  • 本市电话=0 + 八位非零开头数字
  • 八位非零开头数字=非零数字+七位数字
  • 七位数字=7数字7
  • 外地电话=0 + 三位区码 + 八位非零开头数字
  • 三位区码=三位数字

(4)用途

是在软件分析和设计的过程中给人提供的关于数据的描述信息

  • 作为分析阶段的工具
  • 估计改变一个数据将产生的影响
  • 是数据库开发的第一步

三:成本/效益分析

(1)分析目的

从经济角度分析新系统的开发是否能够赢利,帮助使用部门正确做出是否投资的决定

(2)成本估计

A:代码行技术

软件成本=每行代码的平均成本×源代码行数

B:任务分解技术(按开发阶段将系统划分成任务)

  • 每个任务的成本=人力×人平均工资
  • 软件成本= p = ∑ p = \\sum p=独立任务的成本

(3)成本/效益分析的步骤

  1. 估计开发成本、运行费用和新系统带来的经济效益
  2. 比较新系统的开发成本和经济效益

(4)成本/效益分析的方法

  1. 货币的时间价值 F = P ( 1 + i ) F=P(1+i) F=P(1+i)
  2. 投资回收期
  3. 纯收入
  4. 投资回收率

以上是关于可行性研究-第二节:数据流图与数据字典及成本效益分析的主要内容,如果未能解决你的问题,请参考以下文章

软件工程导论

PMP每日一题

数据库设计-第二节:需求分析

萌新向Python数据分析及数据挖掘 第二章 pandas 第二节 Python Language Basics, IPython, and Jupyter Notebooks

第二节:聚类研究方法进展

萌新向Python数据分析及数据挖掘 第三章 机器学习常用算法 第二节 线性回归算法 (下)实操篇