
本文共 2558 字,大约阅读时间需要 8 分钟。
文章目录
2.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-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.任务分解任务
- 软件开发工程分解为若干个相对独立的任务
- 按开发阶段划分任务
3.自动估计成本技术
使用自动估计成本的软件工具(该工具有长期搜集的大量历史数据作为基础,并且有良好数据库系统支持)
2.6.2 成本/效益分析的方法(运行费用和新系统带来的经济效益)
因为运行费用和经济效益在软件的整个生命周期都存在,所以系统在开发时预期生命周期一律假设为5年。
1. 货币的时间价值
年利率:i
现在存入:P
n年可以得到的钱:F
F = P ( 1 + i ) n F=P(1+i)^{n} F=P(1+i)n
P = F / ( 1 + i ) n P=F/(1+i)^{n} P=F/(1+i)n
也就是说,如果按简单的年利率计算,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} 1∑n+1Si>投资成本≥1∑nSi
时,那么投资回收期是 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 小结
发表评论
最新留言
关于作者
