在软件开发过程中,数据流图(Data Flow Diagram,简称DFD)是一种描述系统功能的图示工具。而软件结构图(Structured Chart,简称SC)是一种表示程序逻辑结构的图示工具。在软件开发过程中,DFD和SC之间的转换是非常重要的。本文将以一个例题来介绍如何将DFD转换为SC,并从多个角度进行分析。
例题描述
假设我们正在设计一个简单的学校图书馆管理系统。该系统可以实现借书和还书功能。
该系统的DFD如下图所示:
该系统用例描述如下:
- 管理员登录系统
- 管理员输入读者学号和书籍编号
- 系统检查读者信息和书籍信息
- 系统更新借阅信息
- 系统更新库存信息
- 系统生成借阅清单
角度一:识别进程
在DFD中,进程是指数据被处理的动作。通过观察DFD图,我们可以识别出以下进程:
- Login
- Check Borrower Info
- Check Book Info
- Update Borrow Info
- Update Stock Info
- Generate List
可以将这些进程转换为SC中的模块,每个模块都具有特定的输入和输出。
角度二:绘制程序结构图
在SC中,程序结构图是描述程序执行过程的图示工具。在我们的例题中,可以绘制以下程序结构图:
程序结构图中,每个圆圈代表一个模块,每个矩形代表一个事件或条件。箭头表示模块之间的控制流程。
角度三:设计算法
在SC中,算法是指一个模块的详细设计方案。在我们的例题中,可以设计以下算法:
- Login
- 判断用户名和密码是否正确
- 如果正确,则跳转到Check Borrower Info
- 如果错误,则返回错误信息
- Check Borrower Info
- 从数据库中获取读者信息
- 如果找到,则跳转到Check Book Info
- 如果未找到,则返回错误信息
- Check Book Info
- 从数据库中获取书籍信息
- 如果找到,则跳转到Update Borrow Info
- 如果未找到,则返回错误信息
- Update Borrow Info
- 更新数据库中的借阅信息
- 跳转到Update Stock Info
- Update Stock Info
- 更新数据库中的库存信息
- 跳转到Generate List
- Generate List
- 生成借阅清单
- 返回给用户
将算法设计为每个模块的输入和输出。
微信扫一扫,领取最新备考资料