圖書管理系統數據字典_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.pswp.cn/news/373482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/373482.shtml
英文地址,請注明出處:http://en.pswp.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…