大作業(yè)設(shè)計(jì) 相關(guān)要求與示例
書刊租借信息管理系統(tǒng)一、需求分析1、系統(tǒng)目標(biāo):實(shí)現(xiàn)一個(gè)計(jì)算機(jī)書刊租借信息管理系統(tǒng),實(shí)現(xiàn)對(duì)每個(gè)人的書刊租借信息管理。通過(guò)該系統(tǒng),用戶可以對(duì)書刊信息,租借信息,管理員信息,租借人信息等信息記錄進(jìn)行查詢,修
書刊租借信息管理系統(tǒng)
一、需求分析
1、系統(tǒng)目標(biāo):實(shí)現(xiàn)一個(gè)計(jì)算機(jī)書刊租借信息管理系統(tǒng),實(shí)現(xiàn)對(duì)每個(gè)人的書刊租借信息管理。通過(guò)該系統(tǒng),用戶可以對(duì)書刊信息,租借信息,管理員信息,租借人信息等信息記錄進(jìn)行查詢,修改,刪除,添加等一系列的操作
2、系統(tǒng)功能需求:本系統(tǒng)的用戶分為超級(jí)用戶和普通用戶兩類,超級(jí)用戶負(fù)責(zé)系統(tǒng)維護(hù),包括對(duì)書刊信息,管理員信息、租借信息和租借人信息錄入,修改,查詢,刪除等。普通用戶即租借人則只具有查詢信息的權(quán)限。
(1) 功能劃分
用戶通過(guò)身份驗(yàn)證后進(jìn)入主界面。主界面為超級(jí)用戶提供5項(xiàng)選擇:書刊信息管理,租借人信息管理,租借信息管理,口令修改和退出系統(tǒng)。普通用戶有3項(xiàng)功能選擇:書刊信息查詢,口令修改和退出系統(tǒng)。
(2) 功能描述
● 書刊信息管理
提供所有書刊的相關(guān)信息列表,對(duì)于其中每本書刊的名稱、索書號(hào)、出版社、可租借數(shù)量和擺放位置進(jìn)行查詢,超級(jí)用戶有權(quán)限對(duì)書刊信息進(jìn)行查詢、修改、添加、刪除等操作,同時(shí)可以維護(hù)訂的書刊信息。而普通用戶則只能瀏覽書刊信息。
。
● 租借人信息管理
給出所有租借人的列表,對(duì)于其中每個(gè)租借人的個(gè)人信息:編號(hào)、姓名、性別、年齡、家庭住址、聯(lián)系電話、身份證號(hào),超級(jí)用戶可以增加,修改,刪除,查找租借人信息,察看某個(gè)租借人借書情況,為租借人修改口令等功能。普通用戶有權(quán)利進(jìn)行本人信息修改、查詢和口令更改操作。
● 管理員信息管理
給出所有管理員的列表,對(duì)于其中每個(gè)管理員的個(gè)人信息:職工編號(hào)、姓名、性別、政治面貌、年齡、聯(lián)系電話、家庭住址、身份證號(hào),超級(jí)用戶可以增加,修改,刪除,查找租借人信息,察看某個(gè)管理員情況,為管理員修改口令等功能。普通用戶有權(quán)利進(jìn)行本人信息修改、查詢和口令更改操作。
● 租借信息管理
提供所有學(xué)生借閱圖書的信息列表,對(duì)于其中每條借閱記錄,超級(jí)用戶有權(quán)利進(jìn)行相關(guān)的查詢,修改,添加,刪除等操作,普通用戶有權(quán)利進(jìn)行查找操作。
,● 借書
以借書單的形式列出租借人租借情況,租借人可以為自己租借借書刊,而超級(jí)用戶可以為任何租借人租借和歸還書刊。每個(gè)租借人都有書刊租借數(shù)量限制,不允許租借人租借書店超過(guò)最大租借數(shù)量限制,而當(dāng)退出租借功能時(shí),如果有租借書刊即將或已經(jīng)到期則給出警告信息(租借人可以多次進(jìn)入租借界面進(jìn)行圖書租借)。
● 修改口令
用戶輸入原口令,并且兩次輸入新口令一致后,系統(tǒng)即用新口令代替舊口令。 ● 退出系統(tǒng)
當(dāng)用戶退出系統(tǒng)時(shí),如果有租借書刊的時(shí)間達(dá)到最長(zhǎng)時(shí)間限制則給出警告信息
3、開發(fā)工具(可略)
該綜合教務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)采用了Microsoft 的SQL Server2005企業(yè)版,前臺(tái)應(yīng)用程序采用了ASP 編寫,提供了Web 界面方便學(xué)生從網(wǎng)上使用。由于采用了ADO 數(shù)據(jù)庫(kù)接口,因此很容易修改為支持ORACLE ,SYBASE ,DB2等數(shù)據(jù)庫(kù),該系統(tǒng)的結(jié)構(gòu)為B/S結(jié)構(gòu),即瀏覽器/服務(wù)器結(jié)構(gòu)。
二、概念結(jié)構(gòu)設(shè)計(jì)
,圖1書刊租借系統(tǒng)概念模型E-R 圖
2、詳細(xì)說(shuō)明
(1)系統(tǒng)涉及的實(shí)體集
● 書刊實(shí)體集:具有屬性書刊編號(hào),書名、作者、出版社、出版日期、庫(kù)存數(shù)量、剩余數(shù)量、租借費(fèi)用。
● 租借人實(shí)體集:具有屬性租借人編號(hào)、租借人姓名、等級(jí)、性別、生日、身份證號(hào)、家庭地址、聯(lián)系電話。
● 管理員實(shí)體集:具有屬性管理員編號(hào)、姓名、等級(jí)、性別、生日、身份證號(hào)、家庭地址、聯(lián)系電話。
● 租借書籍實(shí)體集:具有屬性書刊編號(hào)、書刊名稱、租借人姓名、租借日期、歸還日期、租借費(fèi)用。
(2)系統(tǒng)涉及的聯(lián)系
● 一個(gè)人可以租借多本書刊,一個(gè)本書只能租借給多個(gè)人,所以書刊和租借人之間的聯(lián)系為N :M 的聯(lián)系。
● 一個(gè)管理人可以對(duì)多本書進(jìn)行管理,一本書可以被多個(gè)管理員管理,所以管理員和書籍之間的必修聯(lián)系是M :N 的聯(lián)系。
● 一個(gè)管理人可以對(duì)多個(gè)租借人進(jìn)行管理,一個(gè)租借人可以被多個(gè)管理員管理,所以管理員和書籍之間的必修聯(lián)系是M :N 的聯(lián)系。
三、邏輯結(jié)構(gòu)設(shè)計(jì)
將E-R 模型轉(zhuǎn)換為關(guān)系模式
(1)書刊實(shí)體集可以轉(zhuǎn)換為關(guān)系
BOOKS (BOOKID,BNAME, AUTHOR,PRESS,PRESSDATE,BNUMBERS,BSURPLUS,COST )
BOOKID 表示書刊編號(hào), BNAME 表示書刊名,
AUTHOR 表示書刊作者, PRESS 表示出版社,
PRESSDATE 表示出版日期, BNUMBERS 表示庫(kù)存數(shù)量,
BSURPLUS 表示剩余數(shù)量, COST 表示租借費(fèi)用。
(2)租借人實(shí)體集可以轉(zhuǎn)換為關(guān)系
PERSON (PERSONID , PNAME , SEX , PBIRTH,PIDENTITY ,PPHONE ,PGRADE )
,PERSONID 表示租借人編號(hào),PNAME 表示租借人姓名, SEX 表示性別, PBIRTH 表示生日, PIDENTITY 表示身份證號(hào), PPHONE 表示聯(lián)系電話 PGRADE 表示租借人等級(jí)
(3)管理員實(shí)體集可以轉(zhuǎn)換為關(guān)系
ADMINISTRATOR (ADMINID , ANAME , SEX , ABIRTH ,AIDENTITY,APHONE ,AGRADE )
ADMINID 表示租借人編號(hào),ANAME 表示租借人姓名, SEX 表示性別, ABIRTH 表示生日, AIDENTITY 表示身份證號(hào), APHONE 表示聯(lián)系電話 AGRADE 表示管理員等級(jí)
(4)租借人和書刊之間的租借聯(lián)系可以轉(zhuǎn)化為關(guān)系
RENT(BOOKID, PERSONID,ADMINID,RENTDATE,RETURNDATE)
BOOKID 表示書刊編號(hào),PERSONID 表示租借人編號(hào), ADMINID 表示管理員編號(hào),RENTDATE 表示租借日期, RETURNDATE 表示歸還日期
(5)管理員和書刊之間的管理聯(lián)系可以轉(zhuǎn)化為關(guān)系 CHECKBOOK (BOOKID ,ADMINID ,CHECKDATE )
BOOKID 表示書刊編號(hào)號(hào),ADMINID 表示管理員編號(hào), CHECKDATE 表示檢查日期
(6)管理員和租借人之間的管理聯(lián)系可以轉(zhuǎn)化為關(guān)系 RENTER (ADMINID ,PERSONID )
ADMINID 表示管理員編號(hào),PERSONID 表示租借人編號(hào)
四、數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)
1、把關(guān)系模型轉(zhuǎn)化為表結(jié)構(gòu)
(1)書刊信息表(BOOKS ) :包含所有的書刊信息。
表1- 書刊信息表結(jié)構(gòu)
(2)管理員信息表(ADMINISTRATOR ) :包含所有管理員的個(gè)人信息。
(
3)租借人信息表(PERSON ) :包含所有租借人的個(gè)人信息。
表3- 租借人信息表結(jié)構(gòu)
(4)租借信息表(RENT ) :包含所有已租借的書刊的信息。
表4- 租借的書刊結(jié)構(gòu)
(5)書刊管理表(CHECKBOOK ) :包含所有書刊管理檢查信息。
(6)租借人管理信息表(RENTER ) :包含所有租借書籍的租借人的信息。
表4- 租借的書刊結(jié)構(gòu)
(7)用戶賬號(hào)表(user):包含所有用戶的賬號(hào)和口令信息。
表7-用戶賬號(hào)表結(jié)構(gòu)
注:USERAUTH 用0,1表示用戶權(quán)限,0表示管理員,1表示普通用戶。其中普通用戶的STUDENTID 為學(xué)生的學(xué)號(hào)。
2、實(shí)現(xiàn)數(shù)據(jù)完整性
可以通過(guò)各種約束,缺省值,規(guī)則和觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)的完整性。由于教務(wù)系統(tǒng)的重要性,以及各個(gè)數(shù)據(jù)之間的復(fù)雜相關(guān)性,保證數(shù)據(jù)的完整性顯得更為重要。不能讓用戶隨意進(jìn)行刪除、修改數(shù)據(jù)。
(1)CHECK 約束保證租借書刊數(shù)量不得大于其最大借書量。
(2)各種外碼約束保證數(shù)據(jù)的完整性,不能隨意刪除。外碼的設(shè)置在上面數(shù)據(jù)庫(kù)建表時(shí)已經(jīng)提到。
(3)主碼約束保證實(shí)體的完整性,主碼的設(shè)置在上面數(shù)據(jù)表的設(shè)計(jì)時(shí)已提到了。 (5)創(chuàng)建觸發(fā)器,保證在添加租借書籍信息的時(shí)候,自動(dòng)將該租借人的曾經(jīng)借書目錄加到當(dāng)前。
五、創(chuàng)建數(shù)據(jù)庫(kù)代碼
CREATE DATABASE 書刊租借管理系統(tǒng) ON PRIMARY (
,NAME =書刊租借管理系統(tǒng)_data,
FILENAME ='C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQL?TA書刊租借管理系統(tǒng).mdf' ,
SIZE =10MB ,
MAXSIZE =UNLIMITED ,
FILEGROWTH =1MB
)
LOG ON
(
NAME =書刊租借管理系統(tǒng)_log,
FILENAME ='C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQL?TA書刊租借管理系統(tǒng).ldf' ,
SIZE =2MB ,
MAXSIZE =UNLIMITED ,
FILEGROWTH =1MB
)
CREATE TABLE 書刊信息
(
BOOKID char (10) primary key ,
BNAME char (24),
AUTHOR char (8),
PRESS char (40),
PRESSDATE datetime ,
BNUMBERS INT ,
BSURPLUS INT ,
COST FLOAT (2)
)
CREATE TABLE 租借人信息
(
PERSONID char (10) primary key ,
PNAME char (10),
SEX char (2),
PBIRTH datetime ,
PIDENTITY char (18),
PPHONE char (11),
PGRADE char (6)
)
CREATE TABLE 管理員信息
(ADMINID char (10) primary key ,
ANAME char (10),
SEX char (2),
,ABIRTH datetime ,
AIDENTITY char (18),
APHONE char (11),
AGRADE char (6)
)
CREATE TABLE 書刊管理
(
ADMINID CHAR (10),
BOOKID char (10),
CHECKDATE DATETIME
Primary Key (BOOKID , ADMINID ),
Foreign Key (BOOKID ) References 書刊信息(BOOKID ), Foreign Key (ADMINID ) References 管理員信息(ADMINID ) )
CREATE TABLE 租借人管理
(
ADMINID CHAR (10),
PERSONID CHAR (10)
Primary Key (ADMINID , PERSONID ),
Foreign Key (ADMINID ) References 管理員信息(ADMINID ), Foreign Key (PERSONID ) References 租借人信息(PERSONID ), )
CREATE TABLE 租借管理
(
BOOKID CHAR (10),
PERSONID CHAR (10),
ADMINID CHAR (10),
RENTDATE datetime ,
RETURNDATE datetime ,
Primary Key (BOOKID , PERSONID , ADMINID ),
Foreign Key (BOOKID ) References 書刊信息(BOOKID ),
Foreign Key (PERSONID ) References 租借人信息(PERSONID ), Foreign Key (ADMINID ) References 管理員信息(ADMINID )
)
,CREATE TABLE user
(
uesrid char (10),
userpasswd char (10),
userauth smallint ,
studentid char (10)
)
insert into
管理員信息(ADMINID , ANAME , SEX , ABIRTH , AIDENTITY , APHONE , AGRADE ) Values
('1211310001' , ' 李平' , ' 男' , 1995-08-05, '130145199508056211' , '12345678991' , ' 一級(jí)' ) insert into
管理員信息(ADMINID , ANAME , SEX , ABIRTH , AIDENTITY , APHONE , AGRADE ) Values
('1211310114' , ' 李名' , ' 男' , 1988-08-05, '130145198808056211' , '12345678991' , ' 二級(jí)' ) insert into
管理員信息(ADMINID , ANAME , SEX , ABIRTH , AIDENTITY , APHONE , AGRADE ) Values
('1211310117' , ' 王芳' , ' 女' , 1990-07-05, '130145199007056211' , '12345678991' , ' 三級(jí)' ) insert into
管理員信息(ADMINID , ANAME , SEX , ABIRTH , AIDENTITY , APHONE , AGRADE ) Values
('1211310007' , ' 小米' , ' 男' , 1990-04-05, '130145199004056211' , '12345678991' , ' 二級(jí)' )
insert into
租借人信息(PERSONID , PNAME , SEX , PBIRTH , PIDENTITY , PPHONE , PGRADE ) Values
('1211310556' , ' 李明' , ' 男' , 1995-04-06, '130145199504056211' , '12345678991' , ' 二級(jí)' ) insert into
租借人信息(PERSONID , PNAME , SEX , PBIRTH , PIDENTITY , PPHONE , PGRADE ) Values
('1211310433' , ' 李芳' , ' 男' , 1990-07-05, '130145199504056211' , '12345678991' , ' 一級(jí)' ) insert into
租借人信息(PERSONID , PNAME , SEX , PBIRTH , PIDENTITY , PPHONE , PGRADE ) Values
('1211310114' , ' 李名' , ' 男' , 1988-08-05, '130145198808056211' , '12345678991' , ' 二級(jí)' ) insert into
租借人信息(PERSONID , PNAME , SEX , PBIRTH , PIDENTITY , PPHONE , PGRADE ) Values
,('1211310117' , ' 王芳' , ' 女' , 1990-07-05, '130145199007056211' , '12345678991' , ' 三級(jí)' )
insert into
租借人信息(PERSONID , PNAME , SEX , PBIRTH , PIDENTITY , PPHONE , PGRADE ) Values
('1211310007' , ' 小米' , ' 男' , 1990-04-05, '130145199004056211' , '12345678991' , ' 二級(jí)' )
insert into
書刊信息(BOOKID , BNAME , AUTHOR , PRESS , PRESSDATE , BNUMBERS , BSURPLUS , COST ) Values
('123546C' , ' 程序設(shè)計(jì)基礎(chǔ)' , ' 譚浩強(qiáng)' , ' 高等教育出版社' , 2005-05-05, 10, 2, 30.0)
insert into
書刊信息(BOOKID , BNAME , AUTHOR , PRESS , PRESSDATE , BNUMBERS , BSURPLUS , COST ) Values
('000002c' , ' 大學(xué)英語(yǔ)' , ' 孫曉麗' , ' 外語(yǔ)教學(xué)與研究出版社' , 2004-05-03, 10, 2, 15.0)
insert into
書刊信息(BOOKID , BNAME , AUTHOR , PRESS , PRESSDATE , BNUMBERS , BSURPLUS , COST ) Values
('00003c' , ' 數(shù)值分析' , ' 吳東' , ' 高等教育出版社' , 2003-03-03, 10, 2, 23.0)
insert into
書刊信息(BOOKID , BNAME , AUTHOR , PRESS , PRESSDATE , BNUMBERS , BSURPLUS , COST ) Values
('00004z' , ' 政治經(jīng)濟(jì)學(xué)' , ' 張欣' , ' 高等教育出版社' , 2003-04-03, 10, 2, 50.0)
insert into
書刊信息(BOOKID , BNAME , AUTHOR , PRESS , PRESSDATE , BNUMBERS , BSURPLUS , COST ) values ('00005s' , ' 離散數(shù)學(xué)' , ' 劉明' , ' 高等教育出版社' , 2000-03-03, 10, 2, 13.0)
insert into
租借管理(BOOKID , PERSONID , ADMINID , RENTDATE , RETURNDATE )
Values
('123546C' , '1211310117' , '1211310001' , 2015-05-05, 2015-06-05)
insert into
租借管理(BOOKID , PERSONID , ADMINID , RENTDATE , RETURNDATE )
Values
('123546C' , '1211310007' , '1211310001' , 2015-05-05, 2015-06-05)
insert into
租借管理(BOOKID , PERSONID , ADMINID , RENTDATE , RETURNDATE )