【软件工程】可行性研究
一、可行性研究
1. 可行性研究的任务与目的
- 任务:用最小的代价在尽可能短的时间内确定问题是否能够解决。
需从以下方面分析:- 经济可行性
- 技术可行性
- 运行可行性
- 法律可行性
- 开发方案可行性
- 目的:在明确目标系统的限制和约束后,判断问题是否值得解决。
2. 可行性研究过程
- 复查系统规模和目标
- 研究当前使用的系统
- 导出新系统的高层逻辑模型
- 进一步定义问题
- 导出和评价供选择的解法
- 推荐行动方针
- 草拟开发计划
- 书写文档提交审查
二、系统流程图
1. 定义与作用
- 定义:描绘物理系统的传统工具,用图形符号以黑盒子形式表示系统部件(程序、文件、数据库、人工过程等)。
- 作用:
- 在可行性研究中描述现有系统或建议系统的物理模型。
- 表达部件的信息流程(非控制过程)。
三、数据流图(DFD)
1. 定义与特征
- 定义:从信息传递和加工角度,图形化描述数据流的移动变换过程。
- 特征:
- 抽象性:去除物理细节,仅保留数据流动和加工。
- 概括性:整合多业务处理过程形成总体视图。
2. 组成元素
- 外部实体(与系统交互的人或单位)
- 数据流
- 处理(加工)
- 数据存储
3. 绘制步骤
- 识别输入/输出,画顶层图(上下文图)。
- 画内部数据流、加工与文件,生成一级细化图。
- 逐步分解加工,生成二级细化图。
4. 注意事项
- 数据守恒:每个处理必须有流入和流出数据流。
- 数据存储:必须有流入或流出数据流(缺一为Warning,缺二为错误)。
- 数据流规则:
- 只能在处理、数据存储、外部实体之间流动。
- 禁止数据存储/外部实体之间的直接流动。
- 分层分解:处理可均匀分解为多层子图。
- 命名规范:元素需明确命名。
5. 其他要点
- 父图与子图需保持平衡(输入/输出数据流一致)。
- 信息流类型:交换流、事务流。
四、系统流程图 vs 数据流图
对比项 | 系统流程图 | 数据流图(DFD) |
---|---|---|
模型类型 | 物理模型 | 逻辑模型 |
描述重点 | 系统部件与信息流动 | 数据加工与流动 |
抽象层级 | 包含物理细节(硬件、人工等) | 仅关注数据与处理逻辑 |
五、数据字典
1. 定义与内容
- 定义:对DFD中元素的详细说明,补充DFD的语义描述。
- 内容:
- 数据流
- 数据元素(分量)
- 数据存储
- 处理逻辑
- 外部实体
2. 作用
- 为用户提供数据明确定义。
- 帮助分析员修改系统逻辑模型。
六、成本效益分析
1. 目的
从经济角度评估新系统是否值得投资。
2. 效益度量方法
- 货币的时间价值
- 投资回收期
- 纯收入
小结
- DFD需分层绘制,父图与子图保持平衡。
- 系统流程图用于物理设计,DFD用于逻辑建模。
- 数据字典是DFD的补充,确保数据定义清晰。