sql圖書借閱管理系統課程設計
A. 誰有圖書館管理系統的課程設計,主要用的是SQL和JAVA,有前台
先考慮軟體環境問題,確定好開發工具和資料庫。圖書館管理系統,我的版理解就是一個檔案權管理而已,資料庫用sql server;然後最好設計一個資料庫模型和功能模型,把你的系統的主要功能和需要的資料庫表有一個雛形。你需要用戶登錄,則至少有一個用戶管理的功能,如果更復雜一點,應該有一個許可權管理,日誌管理。如果還要分角色,則需要角色管理。然後肯定得有一個圖書入庫,圖書借出,圖書歸還等等功能;然後就是詳細設計了,每個功能模塊大概需要哪些更詳細的功能點;做好前面幾部非常關鍵,不然後面才發現設計跟需求出現大的偏差,後果就非常嚴重了;後面就是代碼編寫測試,純技術問題,一般問題不大。
B. 圖書館借閱管理系統,(數據結構課程設計)
網路搜索51aspx這個網站上搜索!
C. 資料庫系統原理課程設計 -----圖書借閱管理系統
#include <string.h>
#include <iostream.h>
class Book{ // 書籍基類
protected:
char Title[40]; // 書名
long Code; // 條碼
int Type; // 0表示書,1表示雜志
public:
Book();
Book(char *title,long code);
void SetCode(long code){ Code = code; }
void SetTitle(char* tl){ strcpy(Title,tl); }
void SetType(bool type){Type = type; }
int GetType(){ return Type; }
long GetCode(){ return Code;}
virtual void Show(); // 顯示書的信息
friend ostream& operator<<(ostream& , Book&); // 重載插入運算符
friend istream& operator>>(istream& is, Book&); // 重載提取運算符
Book *Next; // 為創建每個讀者所借書鏈表而定義指針
};
class Item :public Book{ //書的款目
// char Title[40]; // 書名
char Author[20]; // 著者名
char IndexCode[10]; // 分類號
// long Code; // 條碼
public:
Item();
Item(char *author,char *title,char *index,int code);
Item(Item &);
void SetAuthor(char*);
void SetIndexCode(char*);
virtual void Show(); // 顯示書的信息
friend ostream& operator<<(ostream& os, Item&); // 重載插入運算符
friend istream& operator>>(istream& is, Item&); // 重載提取運算符
public:
};
class Magazine:public Book { //雜志類
int Volume;
enum LANG {CHINESE=1,ENGLISH} Lang; // 枚舉變數,確定語言類別
public:
Magazine():Book(){Volume = 0; Lang = CHINESE; Type = 1; }
Magazine(char *title,int vol,LANG lang,int code);
Magazine(Magazine&);
void SetVolume(int vol){Volume = vol;}
void SetLang(int lang){Lang = (LANG)lang;}
virtual void Show(); // 顯示雜志的信息
friend ostream& operator<<(ostream& os, Magazine&); // 重載插入運算符
friend istream& operator>>(istream& is, Magazine&); // 重載提取運算符
};
class Reader{ // 讀者信息類
char Name[20]; // 姓名
char Position[20]; // 職務
int Age; // 年齡
long Code; // 借書證號
Book* items; // 所借書鏈表
public:
Reader();
Reader(char *name,char *posi,int age,int code);
// Reader(Reader&);
~Reader();
long GetCode(){return Code;}
void SetName(char*);
void SetPosition(char*);
void SetAge(int);
void SetCode(long);
void AddBook(Item); // 添加所借書
void AddBook(Magazine); // 添加所借雜志
void DelBook(Book it); // 還書後減少所借書
void ShowBooks(); // 顯示所借書
void Show(); // 顯示讀者信息
friend ostream& operator<<(ostream& os, Reader&); // 重載插入運算符
friend istream& operator>>(istream& is, Reader&); // 重載提取運算符
public:
int Counter; //計數器,統計所借書數目
};
class Manager{ // 管理員類
char Name[20]; // 姓名
int Age; // 年齡
int Code; // 工號
friend class Library; // 將圖書館類聲明為友元
public:
Manager(){}
Manager(char*,int,int);
long GetCode(){ return Code;}
void Show();
friend ostream& operator<<(ostream& os, Manager&); // 重載插入運算符
friend istream& operator>>(istream& is, Manager&); // 重載提取運算符
};
class Loan { // 借閱信息類
int Type; // 0表示書,1表示雜志
Item item; // 借閱書
Magazine mag; // 借閱雜志
Reader reader; // 借閱者
Manager manager; // 借書操作員
int Code;
friend class Library; // 將圖書館類聲明為友元
public:
Loan(){ }
Loan(Loan & l);
int GetCode(){ return Code;}
void Show();
friend ostream& operator<<(ostream& os, Loan&); // 重載插入運算符
friend istream& operator>>(istream& is, Loan&); // 重載提取運算符
};
、、、、、、、、、、、、、、、、、、、、、、、
#include<iostream.h>
#include<string.h>
class Reader;
template<typename T> class DblList;
template<typename T> class DblNode{
public:
T Info;//數據域
DblNode<T> *llink,*rlink; //前驅(左鏈)、後繼(右鏈)指針
public:
DblNode(T data);//一般結點
DblNode();//頭結點
T GetInfo(){return Info;};
friend class DblList<T>;
friend class Library;
};
template<typename T>class DblList{
DblNode<T> *head,*current;
public:
DblList();
~DblList();
void Insert(const T& data);
DblNode<T>* Remove(DblNode<T>* p);
void Print();
int Length();//計算鏈表長度
DblNode<T> *Find(T data);//搜索數據與定值相同的結點
DblNode<T>* Find(int data);//按某個關鍵字查找
void MakeEmpty(); //清空鏈表
void ShowList(); //顯示鏈表各結點
friend istream& operator>>(istream&, DblList<typename T>&); // 重載輸入流運算符
friend ostream& operator<<(ostream& os, DblList<typename T>& dlist); // 重載輸出流運算符
friend class Library;
//其它操作
};
template<typename T> DblNode<T>::DblNode(){
llink=rlink=NULL;
}
template<typename T> DblNode<T>::DblNode(T data){
info=data;
llink=NULL;
rlink=NULL;
}
template<typename T> DblList<T>::DblList(){//建立表頭結點
head=new DblNode<T>();
head->rlink=head->llink=head;
current=NULL;
}
template<typename T> DblList<T>::~DblList(){
MakeEmpty();//清空鏈表
delete head;
}
template<typename T> void DblList<T>::MakeEmpty(){
DblNode<T> *tempP;
while(head->rlink!=head){
tempP=head->rlink;
head->rlink=tempP->rlink;//把頭結點後的第一個節點從鏈中脫離
tempP->rlink->llink=head;//處理左指針
delete tempP; //刪除(釋放)脫離下來的結點
}
current=NULL; //current指針恢復
}
template<typename T> void DblList<T>::Insert(const T & data){//新節點在鏈尾
current=new DblNode<T>;
current->Info=data;
current->rlink=head;//注意次序
current->llink=head->llink;
head->llink->rlink=current;
head->llink=current;//最後做
}
template<typename T> DblNode<T>* DblList<T>::Remove(DblNode<T>* p){ // 刪除結點
current=head->rlink;
while(current!=head&¤t!=p) current=current->rlink;
if(current==head) current=NULL;
else{//結點摘下
p->llink->rlink=p->rlink;
p->rlink->llink=p->llink;
p->rlink=p->llink=NULL;
}
return current;
}
template<typename T> DblNode<T>* DblList<T>::Find(T data){ // 按結點查找
current=head->rlink;
while(current!=head&¤t->Info!=data) current=current->rlink;
if(current==head) current=NULL;
return current;
}
template<typename T> DblNode<T>* DblList<T>::Find(int data){ // 按數據值查找結點
current=head->rlink;
int temp =current->Info.GetCode();
while(current!=head&&temp!=data){
current=current->rlink;
temp = current->Info.GetCode();
}
if(current==head) current=NULL;
return current;
}
template<typename T> void DblList<T>::Print(){ // 輸出鏈表
current=head->rlink;
while(current!=head){
cout<<current->Info<<'\t';
current=current->rlink;
}
cout<<endl;
}
template<typename T> int DblList<T>::Length(){ // 取得鏈表長度
int count=0;
current=head->rlink;
while(current!=head){
count++;
current=current->rlink;
}
return count;
}
template<typename T> void DblList<T>::ShowList(){ // 輸出鏈表各結點
int count=0;
current=head->rlink;
while(current!=head){
current->GetInfo().Show();
current=current->rlink;
}
return ;
}
template<typename T>
istream& operator>>(istream& is, DblList<typename T> &dlist){
int len;
T tt; // 定義局部變數讀入一個結點
is>>len;
for(int i= 0 ;i<len; i++){ // 循環讀入鏈表各結點
is>>tt;
dlist.Insert(tt);
}
return is;
}
template<typename T>
ostream& operator<<(ostream& os, DblList<typename T> &dlist){
DblNode<T> *tempP;
int len = dlist.Length();
os<<len<<' ';
tempP=dlist.head->rlink;
while(tempP!=dlist.head){ // 循環輸出鏈表各結點
os<<tempP->Info;
tempP = tempP->rlink;
}
return os;
}
#include "class.h"
#include "dblist.h"
#include <fstream.h>
class Library{ // 封裝圖書館流通業務的類
DblList<Item> item; // 在館圖書鏈表
DblList<Magazine> mag; // 在館雜志鏈表
DblList<Reader> reader; // 讀者鏈表
DblList<Loan> loan; // 借閱信息鏈表
DblList<Manager> manager; // 管理員信息鏈表
int itemNum; // 記錄在館圖書數目
int magNum; // 記錄在館雜志數目
int readerNum; // 記錄讀者數目
int loanNum; // 記錄借閱信息數目
int managerNum; // 記錄管理員數目
ofstream itemFileOut; // 文件流對象,保存圖書館書籍數據
ifstream itemFileIn; // 文件流對象,讀入圖書館書籍數據
ofstream magFileOut; // 文件流對象,保存圖書館雜志數據
ifstream magFileIn; // 文件流對象,讀入圖書館雜志數據
ofstream readerFileOut; // 文件流對象,保存圖書館讀者數據
ifstream readerFileIn; // 文件流對象,讀入圖書館讀者數據
ofstream loanFileOut; // 文件流對象,保存圖書館借閱信息數據
ifstream loanFileIn; // 文件流對象,讀入圖書館借閱信息
ofstream managerFileOut; // 文件流對象,保存圖書館管理員數據
ifstream managerFileIn; // 文件流對象,讀入圖書館管理員數據
public:
Library(); // 構造函數
~Library(); //析構函數
void Run(); // 圖書館類的運行函數
void CreateBibliotheca(); // 創建書目
void CreateReader(); // 創建讀者庫
void CreateManager(); // 創建管理員信息
int ShowMainMenu(); // 顯示主菜單函數
void Borrow(); // 借書操作
void Return(); // 還書操作
void Require(); // 查詢操作
void SaveInfo(); // 保存圖書館信息
void OpenInfo(); // 讀入圖書館信息
};
D. 求資料庫圖書管理系統課程設計全套
資料庫圖書管理系統課程設計:
1、可以參考網上的一些開源項目,根據別人提供的一些思路,進行開發
2、找身邊的學長,學姐,他們開發過類似的系統
3、請教老師同學,讓他們給你提供一些思路
4、可以參考類似的系統
E. 急求一份完整的資料庫課程設計圖書管理系統(要求用VB 以及SQL-server製作)
1.開發背景
資料庫技術和Internet的飛速發展,使它們已經成為現代信息技術的重要組成部分,是現在計算機信息系統和計算機應用系統的基礎和核心。對於任何一個企業來說,數據是企業重要的資產,如何有效利用這些數據,對於企業發展起著極其重要的作用。隨著我國市場經濟的迅速發展和人們生活水平的不斷提高,圖書館藏書的樹木逐漸增大,這也挑戰了圖書管理方面的技術,以前的人工管理方式已經不再適應現在的環境,取而代之的是先進的圖書管理系統,通過使用PowerBuilder創建的圖書管理系統可以讓管理人員方便而快捷的進行管理、查詢、借閱、錄入等工作。
2.需求分析
2.1系統目標
圖書管理信息系統是典型的信息管理系統(MIS),其開發主要包括後台資料庫的建立和維護以及前端應用程序的開發兩個方面。對於前者要求建立起數據一致性和完整性強.數據安全性好的庫。而對於後者則要求應用程序功能完備,易使用等特點。
系統開發的總體任務是實現各種信息的系統化,規范化和自動化。
2.2需求定義
圖書館管理系統開發。系統開發的總的設計目標是實現圖書管理的系統化、規范化和自動化,實現對圖書資料的集中統一的管理。
本系統主要實現對圖書館信息的管理,主要功能為管理有關讀者、圖書、借閱、查詢、刪除和管理員的信息等。本系統結構分為讀者類別管理、讀者檔案管理、圖書類型管理、圖書檔案管理以及圖書流程管理,讀者管理可以瀏覽讀者的信息,可以對讀者信息進行維護。圖書管理可以瀏覽圖書的信息,可以對圖書信息進行維護。借閱管理可以顯示當前資料庫中書籍借閱情況,可以對借閱信息進行維護。本系統主要解決的問題是利用關鍵字對資料庫進行查詢。
其系統的功能模塊圖如下:
圖2-1 系統功能模塊圖
針對一般圖書管理信息系統的需求,通過對圖書管理工作過程的內容和數據流程分析,設計如下面所示的數據項:
讀者信息
屬性:讀者學號,讀者姓名,讀者性別,聯系電話,所在院系,生效日期,失效日期,違章狀況,累計借書
主鍵:讀者學號
書籍信息
屬性:ISBN,書名,作者,出版社,出版日期,簡介
主鍵:ISBN
管理員信息
屬性:工作號,姓名,性別,電話,家庭住址
主鍵:工作號
2.3數據流程
2.3.1 讀者
作為學生對圖書管理系統的要求有:
1. 能按各種方式(比如書名、編號、作者)查詢圖書館的藏書情況。
2. 能夠方便地借閱圖書、續借圖書、歸還圖書。
3. 能夠查詢自己的基本資料、借閱圖書情況。
4. 能夠熟悉圖書管理系統的使用。
讀者進入系統工作的流程圖為:
2-1進入系統工作的流程圖
2.3.2 圖書管理員
作為圖書管理員,他們對圖書管理系統的要求有:
1. 能方便的對圖書進行錄入登記,注銷陳舊的書籍。
2. 能夠方便地對新生進行登記,或注銷已經畢業的學生信息(基本信息,借閱信息)。
3. 能夠隨時發布一些諸如各學院學生借閱圖書超期情況、館內藏書情況、借情況等信息,以便各學院能夠隨時獲知本院學生的一些借書信息。
圖書管理員工作的流程圖為:
2-2圖書管理員工作流程圖
3.功能描述
系統功能分析是在系統開發的總體任務的基礎上完成。本系統需要完成的功能主要有5部分:
(1) 圖書基本情況的錄入,修改,刪除等基本操作。
1.書籍類別標準的制定,類別信息的輸入,包括類別編號,類別名稱,關鍵詞,備注信息等。
2.書籍類別信息的查詢,修改,包括類別編號,類別名稱,關鍵詞,備注信息等。
3.書籍信息的輸入,包括書籍編號,書籍名稱,書籍類別,作者名稱,出版社名稱,出版日期,書籍頁數,關鍵詞,登記日期,備注信息等。
(2) 辦理借書卡模塊。
1.新生辦理借書證。
2.丟失辦理借書證。
(3) 實現借書功能。
1.借書信息的輸入,包括借書信息編號,讀書編號,讀者姓名,書籍編號,書籍名稱,借書日期,備注信息等。
2.借書信息的查詢,修改,包括借書信息編號,讀者編號,讀者姓名,書籍編號,書籍名稱,借書日期,備注信息等。
(4) 實現還書功能。
1.還書信息的輸入,包括還書信息編號,讀者編號,讀者姓名,書籍編號,書籍名稱,借書日期,還書日期,備注信息等。
2.還書信息的查詢和修改,包括還書信息編號,讀書編號,讀者姓名,書籍編號,書籍名稱,借書日期,還書日期,備注信息等。
(5) 能方便的對圖書進行查詢。對超期的情況能自動給出提示信息
4.概念模型設計
各部分E-R圖如下:
(1)讀者信息類別實體E-R圖
4-1 讀者類別實體E-R圖
(2)書籍信息類別實體E-R圖
4-2 書籍類別實體E-R圖
(3)圖書借閱實體E-R圖:
4-3 圖書借閱實體E-R圖
(4)投訴管理實體E-R圖:
4-4 投訴管理實體E-R圖
4-5實體之間關系的E-R圖
借閱關系(讀者、管理員、書籍三元關系)
圖4-6 CDM圖
5.邏輯模型設計和優化
從理論『E-R模型』到理論『關系模型』的整理轉換,通過E-R模型到關系模型的轉化,可以得到如下關系模式:
借閱關系
屬性:工作號,讀者學號,ISBN,是否續借,借書日期,還書日期,備注。
主鍵:工作號,讀者學號,ISBN
管理員_書籍關系
屬性:工作號,ISBN,添加時間,是否在館
主鍵:工作號,ISBN
管理員_學生關系
屬性:工作號,讀者學號,確認借還
主鍵:工作號,讀者學號
通過由概念模型設計得到CDM圖powerdesigner轉換成對應的PDM圖:
F. 《資料庫原理及應用》課程設計:圖書借閱管理系統 VC源程序 謝謝
可以通過Bai Hi提示我
有時間可能完成你所面臨的任務
相關的要求也可能提示我
ES:\\
交易提醒:預付定金是詐騙
G. SQL設計圖書管理系統
目 錄
圖書管理信息系統的設計和實現
端應用程序的開發兩個方面。對於前者要求建立起數據一致性和完整性強、數據安全性好的資料庫。而對於後者則要求應用程序功能完備,易使用等特點。
本圖書管理信息系統是利用計算機管理信息處理的迅速、准確、可靠且具有強大存儲能力的突出特點,全面提高圖書館的管理水平和工作效率,並以及時、完整的業務經營資料,為圖書館的及時轉換提供一定的支持。本圖書管理系統涵蓋了六個主要的子系統:圖書資料管理、讀者資料管理、借書操作、還書操作、修改密碼和查詢處理,並通過信息的收集、整理、存儲、傳遞將它們有機地結合起來,提高了工作的准確率和效率。
本論文從系統分析、需求分析、概要分析、詳細分析到系統實施、系統運行、系統維護等幾個方面詳細闡述了圖書管理系統的開發過程,記錄了開發過程中的分析依據和設計思路及相關圖表,闡明了主要的設計內容和實施、運行情況,為本系統的使用、升級提供了完備的資料。
本系統開發時間將近四個月,初步完成了圖書管理信息系統的初級版本,系統基本上實現了原定的基本功能,並將在以後進行陸續的改進和完善。
關鍵詞:Delphi;SQL Server 2000;資料庫;圖書管理信息系統
Design And Implementation of The Books Management Information System
Abstract:The books management information system is the typical information management system (MIS), It mainly develops including two respects ,one is setting-up and maintenance of backstage supporter's database . Another is developing the front application program. As to the former demand set up data consistency , integrality strong and data security kind database.require to the latter the function of the application program is complete , Easy to use and so on the characteristic.
This books management information system is using the computer management information processing rapid, accurate, is reliable also has the formidable memory property the prominent characteristic, comprehensively enhances the library the management level and the working efficiency, and take the prompt integrity account executive material, provides the certain support for newer books and reference materials in time of the library. The books management information system has covered six subsystems: The books and reference materials management, the reader material management, taking advantage of the book operation, modify password and also the book operation, inquiry processing, and through the information collection, the reorganization, the memory, the transmission organically unifies them, enhanced the work rate of accuracy and the efficiency.
This thesis from the system analysis, the demand analysis, the outline analysis, the multianalysis to the system implementation, the system movement, the system maintenance and so on several aspects in detail elaborated the books management information system performance history, recorded in the performance history analysis to rest on and to design the mentality and the correlation graph, had expounded the main design content and the implementation, the movement situation, for this system use, the promotion have provided the complete material.
This system is nearly four months construction period, finished the elementary edition of the books administrative system tentatively, the system has basically realized the original basic function, and will carry on improvement and completion successively afterwards.
Keyword: Delphi ; SQL; database; books management information system
前 言
隨著我國經濟的高速發展,人們的物質需求已趨向飽和,而精神上的需求卻日益提高。學習的繁重、工作的壓力、競爭的刺激使人們感到知識的睏乏,渴望進一步的充電。同時當今時代是飛速發展的信息時代。在各行各業中離不開信息處理,正是因此計算機被廣泛應用於信息管理系統的環境。計算機的最大好處在於利用它能夠進行信息管理。管理信息系統是先進的科學技術和現代管理相結合的產物,建立以計算機為主要手段的管理信息系統,已成為現代企業、政府部門等各類組織提高自身素質、實現組織的戰略目標。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性尤其對於復雜的信息管理,計算機能夠充分發揮它的優越性。計算機進行信息管理與信息管理系統的開發密切相關,系統的開發是系統管理的前提。
為滿足圖書館業務發展的需要,提高競爭能力,我決定利用計算機來提高圖書館管理水平和工作效率。根據圖書館的日常需要,確定系統要實現六個基本功能:圖書資料管理、讀者資料管理、借書操作、還書操作、修改密碼和查詢處理。同時該系統具有強大的查詢功能和可靠性。
目標是努力達到:讀者滿意。圖書館內藏書豐富,品種齊全,但隨著信息處理量的快速增大,工作越來越繁多、要求全面、先進、高效。純辦公軟體無論從准確度還是及時性上都已無法滿足業務的需要。因此,開發一個界面友好,易於操作的圖書館軟體進行自動化處理變得十分重要,本系統開發目的和意義就是為了管理好圖書館信息,使圖書管理工作規范化、系統化、程序化,避免圖書管理的隨意性,提高信息處理的速度和准確性,能夠及時、准確、有效的查詢和修改圖書情況。此圖書管理信息系統以「以人為本」為服務宗旨,提高對讀者的服務質量。
1 Delphi和SQL簡介
1.1 資料庫的介紹
資料庫技術是計算機科學技術中的重要領域,也是應用最廣的技術之一,而且已經成為電子信息系統的重要核心技術。眾所周知,計算機應用從科學計算進入數據處理是一個劃時代的轉折。數據處理是指對各種形式的數據進行收集、存儲、加工和傳播的一系列活動的總和。其目的是從大量的,原始的數據中抽取,推導出對人們有價值的信息經作為行動和決策的依據,是為了藉助計算機科學地保存和管理復雜的,大量的數據以便人們能方便而充分地利用這些寶貴的信息資源。資料庫技術所研究的問題就是如何科學地組織和存儲數據,如何高效地獲取和處理數據。資料庫系統就是當代計算機系統的重要組成部分。
數據處理的中心問題是數據管理,數據管理隨著計算機硬體和軟體的發展而不斷發展,經歷了三個階段:人工管理階段,文件系統階段和資料庫系統階段。資料庫系統具有以下特點:(1)數據結構化。(2)數據的共享性高、冗餘度低、易擴展。(3)數據獨立性高。(4)數據由DBMS統一管理和控制。包括數據的安全性保護,數據的完整性檢查,並發控制以及資料庫備份和恢復[2]。我做的圖書管理系統中主要是用了Delphi和SQL 。
1.2 Delphi的簡介
計算機軟體的開發分為兩個不同的分支,其中一個分支是使用傳統的程序設計語言開發數值控制、數值運算等軟體,圍繞它們的重點是演算法,數據結構以及面向對象技術,這里基本採用Pascal,Basic和C等到高級程序設計語言。另一個分支則是通用的資料庫管理軟體領域即資料庫應用程序的開發。這兩個分支的發展都有極為迅速,但是二者並沒出現混合滲透的跡象。如果使用資料庫語言進行傳統的編程,雖然也能完成相應的功能,但是其編程過程可能極為復雜。反之,如果使用傳統的編程語言進行資料庫編程,通過調用專用的資料庫應用程序介面函數據和過程,可能也會做出比較完善的資料庫管理程序,但做起來大多是極其困難的。而Delphi結合了兩個分支的優點,它結合了傳統的編程語言Object Pascal和資料庫語言的強大功能,既可以用於傳統的演算法編程,又可以用於資料庫編程。特別是Delphi具有強大的資料庫開發功能,利用Delphi的資料庫開發工具,根本不需要編寫任何Object Pascal代碼便可以創建一個一般的資料庫應用。
Delphi是面向對象的開發工具,它是目前開發客戶/伺服器資料庫應用程序的強有力的工具。Delphi目前有兩個版本:標准版本和客戶/伺服器版本。標准版本包含一個Borland Database Engine的局部拷貝,它允許用戶創建能訪問Dbase,Paradox 和 Local Inter Base伺服器的資料庫應用,它還支持具有ODBC(Open Database Connecticity)介面的資料庫。客戶/伺服器版本包括Borland SQL Link,它能直接訪問Oracle,SyBase 和Microsoft SQL Server,Informix等多種資料庫伺服器。
Delphi可以訪問多種資料庫管理系統的資料庫,憑借窗體和報表,BDE(Borland Database Engine)可以訪問Paradox,dbase,本地Inter Base伺服器的資料庫,也可以訪問遠程資料庫伺服器的
2 系統分析
2.1 系統調查
系統調查的主要內容有:系統的基本情況、系統中信息處理的狀況、系統的資源情況及系統的各類人員對信息系統的態度。同時我了解到圖書館的使用人員有(1)系統管理員:維護整個系統的正常運行、及時更新系統,給每個新用戶建立讀者信息,給每個注銷用戶刪除相應的讀者信息。(2)圖書管理員:負責給同學辦理借書、還書、修改圖書基本信息和圖書流通狀態。(3)讀者:包括學生用戶、老師用戶和外界人士。
圖書館的組織機構設置如圖1所示。
圖1圖書館的組織結構
系統中信息處理狀況:
通過對原有系統數據流程的分析,可以發現這種模式存在著一些不合理之處,完全可以改進,使工作效率提高,減少信息迂迴。
圖書館現行系統存在的問題:第一,日常管理工作缺乏規范性,隨意性很大,對人的經驗水平有很大的依賴性,因此具體操作往往因人而異;第二,資料多次手工處理,如逾期通知等,出錯率高,完全可以用資料庫檢索自動生成。第三,數據重復率高,有些地方人員多次使用相同數據,有些信息完全可以歸類,第四,缺乏統計工作。
所以完全可以通過建立一套完整的圖書管理信息系統,來對信息進行查詢、修改、統計、檢索等日常管理工作,盡量減少的人員介入和數據冗餘,以簡練實用為基礎,實現信息管理計算機化提高工作效率和信息化水平。
2.2 可行性分析
可行性分析對系統的開發至關重要,可以大幅減少不必要的損失,保證系統開發的順利進行。因此要對系統進行技術可行性、經濟可行性、操作可行性三方面的系統可行性分析:
2.2.1 技術可行性
近幾年來計算機技術發展異常迅猛,高速度大容量的電腦已成為許多學校里日常工作必不可少的設備,隨著辦公自動化的軟體不斷涌現,微機的普及為該系統的開發奠定了堅實的基礎。
2.2.2 經濟可行性
一方面,系統的開發不需要額外增加設備購置費、軟體開發費、管理和維護費用。另一方面,系統的開發可以較好地解決圖書館因日常事務繁雜而造成的處理效率低,出錯率偏高的局面,並可以及時了解各項日常事務的進展情況,為及時調整庫存資料提供可靠的數據支持,從而明確工作目標,同時還可以減少人工勞動、提高工作效率、增加書本流通量。
2.2.3 操作可行性
計算機以強大的信息處理能力作為人類腦力勞動的有利助手登上歷史舞台後,已滲透到社會生活的各個領域,使現代社會組織、特別是企業,學校的信息處理能力適應現代化管理的要求,且系統逐步從單項事務信息處理系統迅速向綜合服務(決策支持系統)的管理信息系統發展。本系統使用界面良好,易於操作。圖書館擁有一批較高素質的員工,只需了解相關知識,就可熟練操作本系統了。
通過以上分析,圖書館管理信息系統的開發在經濟上、技術上、操作上都是可行的。
2.3 系統的總目標
圖書館管理信息系統的總目標是按照管理信息系統的管理和開發方法,採用先進的信息技術和手段,支持並規范圖書和讀者資料的管理、借書、還書、修改密碼、查詢書本或學生等操作的全過程,並加強上述過程中各種信息資源的管理和應用,提高各部門管理工作的現代化水平,實現各部門信息的准確、及時處理和溝通及共享,為圖書館對庫存資料的決策提供有利的支持和反饋信息,以實現圖書館的總體目標。
2.4 具體目標
(1)每年開學,新生報到的時候,圖書館系統管理員要給每一位新生的信息建立個人檔案,辦理圖書借閱證。學生的個人檔案包括學生的學號、姓名、性別、班級、年級、所屬專業、電話號碼。
(2)學生畢業的時候,圖書館系統管理員要及時對每位學生的信息進行刪除。
(3)每次新進圖書的時候,圖書管理員要對每本圖書的信息進行管理和錄入,以方便讀者的借閱。圖書的基本信息有:圖書索引號、圖書名、作者、出版社、出版日期和圖書的使用狀態。
(4)當圖書被讀者借閱的時候,圖書管理員要改變圖書的使用狀態,不再允許借閱,但是允許預約,而且每本書只允許被一個讀者借閱,也只能被一個讀者預約。
(5)當學生借閱的圖書延期的時候,圖書管理員要及時通知學生歸還圖書,並對其進行相應的處罰。學生可以在圖書未超期的情況下辦理續借。
(6)學生可以在圖書管理系統中查詢自己的借閱情況。
(7)當圖書被損壞或圖書出館時,圖書管理員要及時修改相應的圖書信息。
(8)系統還應該提供強大的數據統計,查詢等功能。
(9)系統應充許外界人士通過規定的步驟注冊成為新用戶,並享有一定的權利。
(10)系統應該有很好的可擴展性。
3 需求分析
需求分析階段的根本任務是要明確圖書館在決策和日常事務處理上的信息需求,以便提出整個系統的總體方案。在需求分析中,主要採用流程圖和數據字典來描述。
3.1 事務流程圖
通過對圖書館的多次調查,大致了解了圖書館的日常的管理事務流程。每日處理的工作如圖2所示。
圖2圖書館的事務圖
(1) 圖書資料的管理
圖書管理員將采購的圖書入庫分類處理,同時建立相關的圖書資料信息,如果該書已有,則修改現有書本數等於原有書本數加新增書本數。如有圖書損壞及罰款處理,也修改圖書資料信息。如果圖書出館,則刪除相關的圖書資料信息。
(2) 讀者資料管理
每年新生入校的時候,系統管理員要為每一個學生辦理相應的圖書借閱許可證,學生填寫登記表包括學生學號、姓名、性別、年級、班級、專業名稱、電話號碼等基本信息。核對無誤後交由系統管理員辦理學生借閱證,如果讀者更改任何個人信息,則應由學生寫出書面申請,由系統管理員在相應的讀者基本信息中進行修改。如果學生要離開學校,則審核該讀者是否有逾期書籍和損壞,如無,則辦理撤消業務,同時在讀者資料庫中刪除該讀者。最後給讀者合格注銷通知。對於教師用戶也是一樣的處理過程。
(3) 借書操作
讀者把借閱證及想要借的圖書交給圖書管理員,圖書管理員進行審核,如該讀者是否有過期未還的圖書,是否借閱圖書已超過五本或未交清罰款,有上述情況之一則通知該讀者借閱不成功。否則借閱成功,圖書交給讀者。同時圖書管理員修改圖書、讀者及圖書流通信息表。如讀者逾期則可電話聯系。如讀者發現該圖書已借出,則只可在圖書資料庫中進行預約。一本書同一時間只能被一個讀者預約。如讀者續借,則延長讀者應還書日期。讀者只可在該書本尚未超期的情況下才可以進行續借,否則續借不成功。
(4) 還書操作
讀者把借閱證及要還圖書交給圖書管理員,由他進行審核,如該圖書有逾期或破損,則通知該讀者按比例罰款。否則圖書交圖書管理員放回書庫。並修改圖書、讀者借書信息表。讀者遺失書本則給予原價五倍賠償。
(5) 查詢處理
讀者可以到圖書館內的電腦上查詢自己的借書信息表,查詢圖書是否逾期,是否可以進行續借,也可以查找自己要借的圖書是否在館,以及近期圖書館的動態和公告。圖書管理員可在圖書到期前一天列印逾期清單,電話聯系讀者,以方便讀者及時還書,加快書本流通。
(6) 修改密碼
為了方便管理,圖書館系統管理員會給每一個新注冊的用戶一個初始密碼,讀者用初始密碼首次登錄系統後,應及時修改自己的密碼,以保護自己的權利。或在使用的過程中通過修改密碼來防
D1 庫存清單
圖7 歸還圖書的DFD
3.3 數據字典
int 4 f 所在專業代碼
varchar 20 專業名稱
表3圖書基本信息表
欄位名 欄位類型 長度 NULL 欄位意義
bookid varchar 10 f 圖書索引號
bookname varchar 30 f 圖書名稱
Autor char 10 f 作者名字
department Int 4 所在書庫代碼
description char 20 描述
Lend char 1 f 是否借出
appoint char 1 f 是否預約
表4學生基本信息
userid varchar 10 f 用戶編號
username varchar 10 f 用戶名
sdepartment char 30 部門或專業
password varchar 20 f 密碼
Right_1 bit 1 f 查詢權
Ringht_2 bit 1 f 管理權
表6庫存信息表
欄位名 欄位類型 長度 NULL 欄位意義
department int 4 f 書庫代碼
description varchar 20 書庫名稱
3.4 數據項的頁碼設計
(1)對讀者編號,為了便於查找採用層次碼。
如:02(年級,即入學年份) 09(學院代碼) 1(專業代碼) 279
[注]: 學院代碼如:商學院---01 信息學院---02 土木學院---03
外語學院---04 藝術學院---05 計算機科學與工程學院---09
計算機科學與工程學院的專業代碼如:計算機科學與技術專業---1
網路專業---2
(2)圖書編號,為了便於得到有關信息採用層次碼。
如:TP(類別) 3111(編號) 01(內部編號)
[注]: 內部編號:同時采購了五本相同的圖書,在類別和編號相同的時候,用01,02,03,04,05分別代表這五本相同的圖書。
編號: 計算機應用基礎---3111 計算機網路---3112
計算機組成原理---3113 資料庫---3114
類別: 計算機類--- TP 文學類--- I 藝術類---V
數理化---O 英語類---H
4 概要設計
4.1 總體設計
系統功能結構如圖8所示。
圖8系統功能結構示意圖
4.2 局部 E_R圖
學生基本信息,圖書基本信息,用戶信息和讀者借書情況表的局部E-R圖如圖9至圖12所示。
圖10書本基本信息表
圖12 讀者借書信息表
4.3 總體E-R圖
本圖書管理信息系統的總體E-R圖如圖13所示。
圖13 總體E-R圖
部分聯系的屬性如下:
1.借閱{借閱編號、圖書索引號、借閱證號、借書日期、還書日期}
2.預訂{預訂編號、圖書索引號、借閱證號、預訂日期}
3.采購{采購編號、圖書索引號、采購價格、采購數量}
4.報廢{圖書索引號,報廢時間,報廢原因}
4.4 E_R圖向關系模型的轉化
E_R圖向關系模型的轉化要解決的問題是如何將實體和實體之間的聯系轉化為關系模式,如何
圖15 修改圖書記錄
圖16 修改學生記錄
圖17 查詢/借閱/預約圖書
圖18 查詢/歸還已借閱圖書
5.2 建立索引和嵌套查詢
索引是資料庫中一常用而重要的資料庫對象集。索引改進了資料庫的性能和可訪問性,可以用來排序和快速訪問數據。大大改善了資料庫的性能。下面以本人的圖書管理信息系統中的book表為被借出時不能被預約。
(8) 修改圖書的基本信息
這是圖書管理員的權力,包括添加,刪除和修改圖書信息。當有新添加進來的圖書時,圖書管理員要查看圖書館里是不是已存有這樣的圖書,發現已有庫存時,要修改圖書的數目,否則就加入新的圖書信息。當有舊書或損壞了的圖書要退出的時候,要及時減少相應圖書的數目或是刪除相應的圖書信息。學生借出書或歸還圖書時,要及時地修改圖書流通信息表。
(9) 修改學生用戶的基本信息
系統管理員在這里添加,刪除和修改學生和教師的基本信息。當有新生入校時,根據學生填寫的基本信息表為每個新生注冊一個用戶名,在校期間如果學生基本信息有變化可以交系統管理員審核後修改相應的信息,畢業或注銷用戶時,管理員要及時刪除相應的記錄。教師的處理情況相同。
(10)初始化系統
當遇到不可恢復的重大意外損傷時系統管理員可以用它來重新恢復圖書館的基本信息,保證圖書管理系統正常工作。除了用戶信息表恢復初始值外,其它的數據信息都會被清零。
(11) 公告欄
系統管理員向所有登錄用戶和外界人士及時發布圖書館最新消息的地方,包括注意事項等。
(12) 意見箱
所有登錄用戶可以在這里向系統管理員和圖書管理員提出對圖書管理的寶貴意見,方便管理員及時採取相應措施修改管理方案,方便用戶以後的使用,提高整個系統的性能。
本系統主要提供圖書管理,學生用戶管理和系統管理。以下列出了圖書管理信息系統主模塊,系統總體結構、圖書/讀者功能模塊和圖書流通功能模塊的示意圖如圖19至圖21所示。
圖19系統總體結構
圖20圖書/讀者功能模塊
圖21圖書流通功能模塊
5.5 界面設計及功能實現
5.5.1 登錄界面設計及功能的實現
圖22 登錄界面