一、实验目的
- 掌握用Visio绘制数据流图的方法
2、练习使用数据流图对系统进行分析和建模
3、练习数据字典的编写
- 实验仪器设备或材料
(1)系统平台:Windows系统
(2)visio2016
(3)数据流图
三、实验原理
主要内容包括结构化分析工具的数据流图,实体-关系图,编程题最大公约数,结构化设计的盒图和PAD图,面向对象分析的序列图,活动图,协作图,构件图和部署图,开发环境搭建题的利用Java/Python 搭建开发环境的实践。
四、实验内容与步骤
1、参考《实用软件工程》的P44到P46,用Visio绘制图书馆的顶层数据流图,借书,还书和查阅的0层数据流图。
应用场景如下:
某图书管理系统具有以下功能。
①借书。输入读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读者,在 借书文件上建立档案,否则,查阅借书文件,检查该读者所借图书是否超过10本,若已达10本,拒 借,未达10本,办理借书(检查该读者借书目录并将借书情况登入借书文件)。
②还书。从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月),就做罚款 处理,否则修改库存目录与借书文件。
③查询。可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印各种统 计表。 用结构化分析方法画出系统顶层图、0层图(数据流图),并写出数据字典。
2、参考《实用软件工程》P46到P47, 编写图书馆的顶层,借书,还书和查阅0层的数据字典
0层数据流图:

顶层数据流图:


借书

还书

查阅的0层数据流图:

数据字典的内容主要是对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等六个方面进行具体的定义。数据流程图配以数据字典,就可以从图形和文字两个方面对系统的逻辑模型进行完整的描述。
例如,数据流“借书文件”由若干借书人、性别、年龄、专业和联系电话、所借书本、借书数量、借书时期等信息组成,那么“借书人”可以表示为:借书文件={借书人+性别+年龄+专业+联系电话+所借书本+借书数量+借书时期)。
文件名:借书文件
记录定义:借书文件={借阅记录号+读者用户名+书籍编号+时间+状态+可借时长)。
借阅记录号:由12位数字组成
读者用户名:由2~12位汉字组成
状态:由1位汉字组成
书籍编号:5~12位数字组成
可借时长:由0~12位数字组成
借书记录数据字典
|
名字: |
借阅记录 |
|
别名: | |
|
描述: |
读者借书形成的记录 |
|
定义: |
借阅记录号+读者用户名+书籍编号+时间+状态+可借时长 |
文件名:书籍信息
记录定义:书籍编号+书籍名字+价格+状态+馆藏位置+数量
书籍编号:由12位数字组成
书籍名字:由1~12位汉字组成
价格:由0~5位数字组成
状态 :由2位汉字组成
馆藏位置:由2~12位汉字组成
数量:由0~4位数字组成
书籍信息数据字典
|
名字: |
书籍信息 |
|
别名: | |
|
描述: |
馆藏书籍的信息 |
|
定义: |
书籍编号+书籍名字+价格+状态+馆藏位置+数量 |
文件名:借书记录文件
定义:借阅记录号+读者用户名+书籍编号+时间+状态+可借时长
借阅记录号:由12位数字组成
读者用户名:由1~12位汉字组成
书籍编号:由12位数字组成
时间:由8位数字组成
状态:由2位文字组成
可借时长:由8位数字组成
借书记录数据字典
|
名字: |
借阅记录 |
|
别名: | |
|
描述: |
读者借书形成的记录 |
|
定义: |
借阅记录号+读者用户名+书籍编号+时间+状态+可借时长 |
文件名:读者信息表
用户名:由2~12位汉字组成
姓名:由2~12位汉字组成
密码:5~14位数字组成
身份证:由14位数字组成
电话;由5~13位数字组成
有效期:由0~12位数字组成
读者信息数据字典
|
名字: |
读者信息 |
|
别名: | |
|
描述: |
用户在注册时,输入的个人信息聚合成的类(读者) |
|
定义: |
用户名+姓名+密码+身份证+电话+有效期 |
- 图书馆的书籍入库数据流图如何画?

2.图书馆的书籍入库数据字典如何编写?
文件名:借书记录文件
定义:借阅记录号+读者用户名+书籍编号+时间+状态+可借时长
借阅记录号:由12位数字组成
读者用户名:由1~12位汉字组成
书籍编号:由12位数字组成
时间:由8位数字组成
状态:由2位文字组成
可借时长:由8位数字组成
文件名:书籍信息
记录定义:书籍编号+书籍名字+价格+状态+馆藏位置+数量
书籍编号:由12位数字组成
书籍名字:由1~12位汉字组成
价格:由0~5位数字组成
状态 :由2位汉字组成
馆藏位置:由2~12位汉字组成
数量:由0~4位数字组成
3.如果因为输错密码而被吞卡,通过电话求助拿回的状态转换图如何画?

3万+

被折叠的 条评论
为什么被折叠?



