图书管理系统数据字典_2. 结构化——数据字典

45373248fd4654fad4d211984ae1cb8f.png

返回目录:

Chilan Yuk:软件工程分析设计图库目录​zhuanlan.zhihu.com
fe999e2ba66ad246f9042b218a91181f.png

一、基本知识

用于定义数据流和数据存储的结构,并给出构成所给的数据流和数据存储的各数据项的基本数据类型。

数据字典中应该包括关于数据的如下信息

  1. 一般信息(名字、别名、描述等)
  2. 定义(数据类型、长度、结构等)
  3. 使用特点(值的范围、使用频率、使用条件、使用方式、条件值等)
  4. 控制信息(用户、使用特点、改变数、使用权等)
  5. 分组信息(文档结构、从属结构、物理位置等)

82491c230c8399ec0259d6ee8d585193.png

二、数据字典的四类元素

1. 数据流条目

通常列出该数据流的各组成数据项

3808de98f6b011df12608cc3c56e1944.png

2. 数据项条目(数据流或数据存储分量)

数据流的组成成员是数据项,数据项条目是不可再分解的数据单位。

5362365843b7d59ab1db5dd450c640a9.png

3. 数据存储条目

与数据流条目一样。对存储数据的定义用数据存储条目。

59f8a759d42e77330b8774fc2181d828.png

4. 加工条目

通常采用输入—处理—输出(IPO,Input-Process-Output)视图描述。

04a5ed245172eddcdb540cb98f677ead.png

三、案例分析

例1:影碟租借与销售系统

1. 顶层图

4785e37a3d0b645320c762b77105bfbb.png

2. 0层图

a748151c7fff3840b9ab9e3a38919af3.png

3. 系统0层图各加工细化

(1)会员管理的1层细化

c4744d3afecb9c039a331e6c51b8663b.png

(2)影碟管理的1层细化

b056a47c8b404248a15ebf96adb50bfe.png

(3)查询打印处理的1层细化

587d45295a340aa7a40b5b1e70dafdf4.png

4. 系统数据字典

(1)数据流条目

273f3cb533aa2d25dee6d3dab20d0d7e.png

(2)数据项条目

a97138bc5fc8edf3e253af467658693b.png

(3)数据存储条目

0e95455f0f1fd13b7fd24bf0dc19ad35.png

例2:图书管理系统

图书管理系统旨在用计算机对图书进行管理,主要涉及四个方面的工作:新书入库、读者借书、读者还书以及图书注销,以及查询某位读者的借书情况、某种图书和整个图书的库存情况。

  1. 在购入新书时,图书管理人员为购入的新书编制图书卡片,包括分类目录号、流水号(要保证每本书都有唯一的流水号,即使同类图书也是如此)、书名、作者、内容摘要、价格和购书日期等信息,并写入图书目录文件中;
  2. 读者借书时,首先填写借书单,包括姓名、校园卡号、欲接图书分类目录号等信息,然后管理人员将借书单输入系统,继之系统检查该读者号是否有效,若无效,则拒绝借书;否则进一步检查该读者所借图书是否超过最大限制数(此处我们假设每位读者同时只能借阅不超过五本书),若已达到最大限制数(此处为5本),则拒绝借书;否则读者可以借出该书,登记图书分类目录号、读者号和借阅日期等,写入到借书文件中;
  3. 在读者还书时,读者填写还书单,由管理人员将其输入系统后,系统根据其中的学号,从借书文件中读出该读者的借阅记录,获取该书的还书日期,判定该图书是否逾期,以便按规定做出相应的罚款;
  4. 在对一些过时或无继续保留价值的图书进行注销时,管理人员从图书目录文件中删除相关的记录;
  5. 当图书馆领导提出查询要求时,系统应依据查询要求,分别给出相应的信息。

其中假定,“为购入的新书编制图书卡片”,“读者首先填写借书单”等功能,均由人工实现。

(1)顶层数据流图

67a172c43270669bac6d507ba8afa4ac.png
顶层DFD图

(2)0层DFD

4e4b84716ae3a237605e90e2dd915dbe.png
0层DFD图

(3)逐步求精

对加工1进行分解:

4a8ec8997db29c74c2ab53778b51f4e7.png

再对借书进行细化:

c473889cad5ae9413f38ea8ae4f517f2.png

(4)建立系统的数据字典

数据流条目:

  • 查询要求=[读者情况|图书情况|图书统计表]
  • 读者情况=姓名+校园卡号+可借图书数
  • 图书统计表=[A|B|C|D|E]
  • 图书馆里要求=[入库单|借书单|还书单|注销单]
  • 入库单=图书类号+图书流水号+书名+作者+内容摘要+单价+购书日期
  • 借书单=姓名+校园卡号+书名+图书类号+借书日期
  • 还书单=姓名+校园卡号+书名+图书类号
  • 注销单=图书类号+图书流水号+书名+价格+购书日期+单价
  • 查询结果=读者情况|图书情况|图书统计表

数据存储条目:

  • 借书文件={借书单}
  • 目录文件={入库单}+库存量
  • 读者文件={读者情况}

数据项条目:

  • {略}

加工小说明

6f50121e9086f4cbc5866aac05555c39.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDOJ 5184 Brackets 卡特兰数扩展

既求从点(0,0)仅仅能向上或者向右而且不穿越yx到达点(a,b)有多少总走法... 有公式: C(ab,min(a,b))-C(ab,min(a,b)-1) /// 折纸法证明卡特兰数: http://blog.sina.com.cn/s/blog_6917f47301010cno.html Brackets Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65…

010-python基础-数据类型-字符串操作

1、移除空白 1 username.strip() 2、分割 1 names "alex,jack,rain" 2 names_1 names.split(",") #  字符串分割之后变成列表 3 print(names_1) 4 #输出 5 [alex, jack, rain] 3、合并列表各元素成为字符串 1 names_1 [alex, jack, rain]2 names_2…

重复次数最多的 子串_每日算法系列【LeetCode 424】替换后的最长重复字符

题目描述给你一个仅由大写英文字母组成的字符串,你可以将任意位置上的字符替换成另外的字符,总共可最多替换 k 次。在执行上述操作后,找到包含重复字母的最长子串的长度。示例1输入: s "ABAB", k 2 输出: …

python基础(一)简单入门

一.第一个python程序 1.交互式编程 直接在命令行里面输入python即可进入python交互式命令行,linux下一样: 在 python 提示符中输入以下文本信息,然后按 Enter 键查看运行效果: 2.脚本式编程 把代码都写到文件里面,然后…

VS2015 python

http://pgqlife.info/2015/05/05/VS-Python/ 配置文档转载于:https://www.cnblogs.com/itdef/p/5262712.html

了解Java弱引用

我最近没来得及关注该博客,最重要的是,我没有为与技术界的所有人保持联系而致歉。 我最近偶然发现了Java 1.2以来提供的java.lang.ref包,但具有讽刺意味的是,几天前我才知道它。 在浏览了几篇有关各种引用类型和java doc的文章时&…

unbuntu 启动任务脚本_Ubuntu下服务启动脚本编写

像Nginx、MySQL等服务一样,在后台运行自己编写的抓取天气信息的Python脚本。1.以管理员权限新建一个服务脚本文件sudo vim /etc/init.d/weather_service2.用下列模板修改该服务脚本文件#!/bin/bash### BEGIN INIT INFO## Provides: weather_service# Required-Start…

iOS开发工具——网络封包分析工具Charles

作者 唐巧 发布于 2013年12月9日 | 1 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享稍后阅读我的阅读清单简介 Charles是在Mac下常用的截取网络封包的工具,在做iOS开发时,我们为了调试与服务器端的网络通讯协议,常常需要…

Java Web托管选项流程图

我经常被问到的一个问题是在何处以及如何托管Java Web应用程序。 可以在带有嵌入式服务器的Eclipse中创建它很好,但是如何将它带给人们呢? 长期以来,对于发烧友的程序员一直没有答案。 只有昂贵和超大型的选择。 事情最近变了,但这…

查找出系统中大于50k 且小于100k 的文件并删除。

查找出系统中大于50k 且小于100k 的文件并删除。 [rootxusx xxx]# ll -lhtotal 624K-rw-r--r-- 1 root root 576K Nov 30 21:39 1.txt-rw-r--r-- 1 root root 48K Nov 30 21:40 2.txt [rootxusx xxx]# find ./ -type f -size 1k -a -size -100k ./2.txt 转载于:https://www.cnb…

vb.net mysql存储图片_怎么让VB.NET 上传图片到SQL 数据库只保存路径,图片保存到文件...

我的前台代码dimCoonAsSqlClient.SqlConnectiondimRsAsNewSqlClient.SqlCommandRs.ConnectionCoonRsNewSqlClient.SqlCommand("上传图片",Coon)Rs.CommandTypeCommandType.StoredPr...我的前台代码 dim Coon As SqlClient.SqlConnection dim Rs As New SqlClient.Sql…

[国嵌攻略][132][串口驱动实现]

如何开发Linux驱动程序 一般情况下都会有现成的驱动程序,不需要从零开始开发驱动程序。所以Linux驱动开发主要分为两个步骤:1.读得懂驱动程序;2.写的了核心功能。 发送中断处理程序 发送中断处理函数在/drivers/serial/samsung.c的s3c24xx_se…

使用Regions ADF 11g进行Master Detail CRUD操作

你好 此示例演示了如何使用Regions在表之间创建Master Detail关系。 区域的主要目的是可重用性的概念。 使用区域和有限的任务流,我们可以将页面重用到许多其他页面中,以保持相同的功能并采用更简洁的方法。 下载示例应用程序。 在此示例中,…

[转] vim自定义配置 和 在ubnetu中安装vim

Ubuntu 12.04安装vim和配置 问题: ubuntu默认没有安装vim,出现: jygubuntu:~$ vim test.cThe program vim can be found in the following packages: * vim * vim-gnome * vim-tiny * vim-athena * vim-gtk * vim-noxTry: sudo apt-get insta…

win7 mysql php apache myadmin_windows下Apache+mysql+php+phpMyAdmin的安装及配置 | 学步园

1、下载Apache ( httpd-2.2.25-win32-x86-no_ssl.msi )http://httpd.apache.org/download.cgi#apache24根据提示安装到路径(建议自定义路径),NetWork Domain和Server Name都输入 localhost(访问时使用的域名);2、下载mysql (mysql-5.5.34-win32.msi )http://dev.m…

(15) PHP 随笔---LAMP Linux基本操作 对文件、目录的操作

◇对目录的操作: ◇创建目录: mkdir Xmu //在当前目录下创建一个名为Xmu的目录 ◇创建多个级别目录关系: mkdir -p newdir/newdir/newdir //在当前目录下创建多个连续目录,-p的意思是以递归的方式 ◇移动目录(也可以针对…

具有NetBeans,嵌入式GlassFish,JPA和MySQL数据源的Arquillian

这是一个偶然的帖子。 我一直在研究交易CDI观察者,并尝试使用嵌入式GlassFish对它进行一些集成测试。 但是令人惊讶的是,这种方法不能很好地工作,我仍在弄清楚,使用普通的嵌入式GlassFish时问题出在哪里。 同时,我转到…

hmcl手机版下载_最新HMCL下载地址

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼[16:49:27][AWT-EventQueue-0/ERROR]---- Hello Minecraft! Crash Report ----Version: 2.3.1Time: 2016-7-14Thread: Thread[AWT-EventQueue-0,6,main]Advice:无建议。Content:java.lang.IllegalStateException: Buffers have not…

为什么我会在2012年的新企业Java项目中使用Java EE而不是Spring

这个问题经常出现。 我的新项目也在2011年11月发布。 在这个新的Enterprise Java项目中,我将使用Java EE(JEE)代替Spring框架。 我知道:关于此主题的文章,博客和论坛讨论都可以找到。 为什么还需要一个? 因…

jsp mysql 音乐网站_Maven+JSP+SSM+Mysql实现的音乐网站

项目简介本系统基于MavenJSPSSMMysql实现的音乐网站。主要实现的功能有音乐播放、下载、上传等几个模块。难度等级:中等技术栈编辑器Eclipse Version: 2020-03 (4.15.0)前端技术基础:htmlcssJavaScript框架:JQueryBootstrap后端技术SpringSpr…