博客
关于我
第2章 可行性研究
阅读量:331 次
发布时间:2019-03-04

本文共 2558 字,大约阅读时间需要 8 分钟。

文章目录

2.1 可行性研究的任务

可行性研究的目的:用最小的代价在尽可能短的时间内确定问题是否能够解决。

可行性研究的目的不是为了解决问题,而是确定问题是否值得去解决。

可行性研究——大大压缩简化了的压缩了的系统分析和设计的过程,在较高的层次上以较抽象的方式进行系统分析和设计的过程。

具体过程:

  1. 分析和澄清问题定义

问题定义阶段初步确定的规模和目标,如果正确进一步加以肯定;如果错误及时修改。

  1. 导出系统的逻辑模型,从系统的逻辑模型出发,探索若干种可供选择的主要解法。

每一种解法的可行性从这三方面去分析:

  1. 技术可行性
  2. 经济可行性
  3. 操作可行性
  4. 法律、社会等更广泛的方面
  1. 为每一个可行的解法制定一个粗略的实现进度(终止不可行的解法对应的开发工程)

2.2 可行性研究

2.2.1 复查系统规模和目标

确保分析员正在解决的问题确实是正要解决的。

2.2.2 研究正在使用的系统

利用现有正在被人使用的系统,研究新的系统:满足基本功能解决旧系统的某些缺点经济效益

分析员应该可以描绘出系统的高层系统流程图

2.2.3 导出新系统的高层逻辑模型

分析员应该可以描绘出数据流图,初步使用数据字典描绘逻辑模型。

2.2.4 进一步定义问题

用户与分析员一起复查:问题定义、工程规模和目标(数据流图和数据字典作为讨论的重点)

2.2.1——2.2.4 形成一个闭合的循环

2.2.5 导出和评价选择的解法

导出可供选择的解法,是从技术角度出发的参照2.4
考虑经济可行性,在估计的数字(开发成本和运行费用,节省的开支或增加的收入),对可能的系统进行成本/效益分析参照2.6

2.2.6 推荐行动方针

选择最好的解法,并说明理由。

2.2.7 草拟开发计划

草拟一份开发计划

开发计划包括:工程进度表,针对各类开发人员和各种资源的需要情况,评估系统生命周期,给出下一个阶段(需求分析)的详细进度表和成本估计。

2.2.8 书写文档提交审查

文档书写,并给用户、客户组织的人员审查。

2.3 系统流程图

系统流程图:描绘物理系统的传统工具。用图形符号以黑盒子形式描绘组成系统的每个部件。

系统流程图表达的是数据在系统各个部件之间流动的情况,而不是对数据加工处理的控制过程。
区别于程序流程图。

2.3.1 符号

符号

2.3.2 例子

在这里插入图片描述

2.3.3 分层

2.4 数据流图

数据流图(DFD):描绘信息流和数据从输入移动到输出的过程中所经受的变换。

数据在软件中流动和被处理的逻辑过程。
系统逻辑功能的图形表示。
只需要考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地实现这些功能。

2.4.1 符号

2.4.2 例子

在这里插入图片描述
在这里插入图片描述

2.4.3 命名

2.4.3.1 为数据流(或数据存储)命名

2.4.3.2 为处理命名

2.4.4 用途

2.5 数据字典

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

系统的逻辑模型=数据流图+数据字典。
系统的规格说明=数据流图的定义+对数据流图每个元素的定义。

2.5.1 数据字典的内容

  1. 数据流
  2. 数据流分量(数据元素)
  3. 数据存储
  4. 处理
  5. 一般信息(名字,别名,描述)
  6. 数据定义(数据类型,长度,结构)
  7. 使用特点(值的范围,使用频率,使用方式)
  8. 控制信息(来源,用户,使用程序,改变权,使用权)
  9. 分组信息(父结构,从属结构,物理位置——记录、数据、数据库)

1-4属于数据字典的基本内容,5-9属于数据的其他信息。

2.5.2 定义数据的方法

自顶向下的分解方法:

数据元素组成数据的方法 理解
顺序 确定次序连接两个或多个分量
选择 从两个或多个可能的元素中选取一个
重复 指定分量重复多次
可选 单个分量是否存在

符号

功能 符号
定义为 =
连接两个分量 +
从若干分量中选择一个 [X|Y|Z|…]
重复分量 {X}
可选 ()

1 5 _{1}^{5} 15{A}=1{A}5:表示A的范围是1-5

2.5.3 数据字典的用途

提供公共的数据字典描述数据和设计模块i,避免了许多麻烦的接口问题

2.5.4 数据字典的实现

写卡片的方式:名字,别名,描述,定义,位置。

2.6 成本效益分析

2.6.1 成本估计(估计开发成本)

人力消耗*平均工资=开发费用

1. 代码行技术

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

2.任务分解任务

  1. 软件开发工程分解为若干个相对独立的任务
  2. 按开发阶段划分任务

3.自动估计成本技术

使用自动估计成本的软件工具(该工具有长期搜集的大量历史数据作为基础,并且有良好数据库系统支持)

2.6.2 成本/效益分析的方法(运行费用和新系统带来的经济效益)

因为运行费用和经济效益在软件的整个生命周期都存在,所以系统在开发时预期生命周期一律假设为5年。

1. 货币的时间价值

年利率:i
现在存入:P
n年可以得到的钱:F
F = P ( 1 + i ) n F=P(1+i)^{n} F=P1+in
P = F / ( 1 + i ) n P=F/(1+i)^{n} P=F/1+in
在这里插入图片描述
在这里插入图片描述

也就是说,如果按简单的年利率计算,5年节省了12500。
但是结合将来节省的钱在现在的价值,5年节省了9011.94。

2. 投资回收期

假设第i年的回报是si,当 ∑ 1 n + 1 S i > 投 资 成 本 ≥ ∑ 1 n S i \sum_{1}^{n+1}S_{i}> 投资成本 \ge \sum_{1}^{n}S_{i} 1n+1Si>1nSi
时,那么投资回收期是 n + ( 投 资 成 本 − ∑ 1 n S i ) / S n + 1 n+(投资成本-\sum_{1}^{n}S_{i})/S_{n+1} n+(1nSi)/Sn+1

3. 纯收入

4. 投资回收率

P = F 1 / ( 1 + j ) + F 2 / ( 1 + j ) 2 + . . . + F n / ( 1 + j ) n P=F_{1}/(1+j)+F_{2}/(1+j)^{2} +...+F_{n}/(1+j)^{n} P=F1/(1+j)+F2/(1+j)2+...+Fn/(1+j)n
解出j即可。

2.7 小结

转载地址:http://lcne.baihongyu.com/

你可能感兴趣的文章
理解Docker ulimit参数
查看>>
Factor Exposure因子暴露
查看>>
理解DSL||AST||query clauses||X-Pack||JDBC||ODBC
查看>>
将DataFrame作为邮件正文HTML发送 in Python
查看>>
理解Library of Congress Cataloging-in-Publication Data
查看>>
理解Python系统下的时间格式
查看>>
《经济机器是怎样运行的》笔记(三)
查看>>
Python提升回测速度concurrnet.futures模块详解
查看>>
Python语言'类'概念再理解
查看>>
(2019.6.27)Anaconda清华镜像已恢复使用
查看>>
Robomongo使用教程:踩着前辈的路
查看>>
Python中Class类与def函数的区别
查看>>
OpenAI Gym简介及初级实例
查看>>
用Matplotlib和Gym优雅地呈现股票交易智体
查看>>
Github上量化交易相关项目汇总
查看>>
JS取出两个数组中的不同或相同元素
查看>>
Ubuntu 18.04 zip压缩文件及其文件 夹中的所以 内容
查看>>
int 转 CString
查看>>
Edit编辑框自动换行与长度
查看>>
STMF4 : error: #928: incorrect use of va_start
查看>>