【正文】
處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權限、以及借閱天數(shù)等用人工計算、手抄進行。 所開發(fā)的應用軟件一般都是 B/S 架構,用戶可直接通過瀏覽器來使用系統(tǒng),而無需安裝軟件的客戶端。隨著 Intra 的飛速發(fā)展,移動辦公和分布式辦公越來越普及, B/S (Browser/Server) 架構應運而生,并得到普遍應用。計算機的最大好處在于利用它能夠進行信息管理。一、需求分析 概述 當今時代是飛速發(fā)展的信息時代。在各行各業(yè)中離不開信息處理,這使得計算機被廣泛應用于信息管理系統(tǒng)的環(huán)境。使用計算機進行信息控制,不僅提高了工作效率,而且大大的提高了其安全性。 B/S 架構最大的優(yōu)點就是客戶端無需安裝任何專用的客戶端軟件,只需配置瀏覽器(如 Intra Explorer)即可, 這樣為程序的安裝、調(diào)試和維護帶來了極大的方便。 圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且 不易查找。 現(xiàn)今,有很多的圖書館都是開始使用計算機進行信息管理。 發(fā)展趨勢 處在知識經(jīng)濟形勢下的新信息浪潮,是以信息技術的高速發(fā)達和全方位應用為特征,以生產(chǎn)科學知識和信息為基礎的,它形成了圖書管理的新的生存環(huán)境 —— 信息和信息技術環(huán)境。知識更新經(jīng)濟朝代和網(wǎng)絡時代的一些特征,已經(jīng)深入到人們的社會生活中。 面對現(xiàn)代化管理,必須適應信息世界的變化。必須具有信息咨詢服務、信息資源數(shù)據(jù)庫服務、網(wǎng)絡信息服務等代化服務 。在完成方式上,更多地利用電話,移動通訊、電子郵件等來完成;在咨詢內(nèi)容上,更多的是關于信息源查詢、信息內(nèi)容的鑒定等內(nèi)容。系統(tǒng) 應該具備在開放式、異構型環(huán)境中的運行能力。以往舊的圖書管理模式完全是手工操作,從新書的購 買、編碼、入庫、上架,到借閱、續(xù)借、歸還、查詢,無一不是人工處理,需要大量的勞動力與工作量,而且由于人為的原因造成一些錯誤,也是再所難免的。自己想要的圖書,在借閱過程中還要填寫許多相關的卡片,使得圖書的管理效率低下,圖書流通速度較慢,因而從一定程度上也影響了知識的傳播速度。學校圖書館要做到安全順暢的運轉(zhuǎn),為廣大同學提供良好的服務,就必須有一套完善健全的運行 管理機制。系統(tǒng)的總體特點應該是方便、簡單、實用。 ASP 是一種 網(wǎng)絡編程技術 , 能夠支持動態(tài)網(wǎng)絡編程。 SQL Server 2020 可以簡化基本的數(shù)據(jù)庫操作 , 通過與 Visual Studio 項目的集成,數(shù)據(jù)庫應用程序的設計和開發(fā)也變得更加簡單。 用戶的需求具體體現(xiàn)在各種對圖書館書籍信息的查詢、借閱、歸還、續(xù)借和資料的修改,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入。 概要設計的任務是根據(jù)需求分析得到的用例圖確定一個合理的軟件系統(tǒng)的體系結構,作為 系統(tǒng)的詳細設計的基礎和準備。瀏覽此圖可對整個基于 web 的圖書館管理系統(tǒng)的讀者借閱模塊有一個快速、清晰的認識。 目標系統(tǒng)體系結構 系統(tǒng)前臺運行(讀者借閱模塊)結構圖 用戶登陸 讀者 圖書檢索 圖書借閱查詢 個人信息查詢 密碼修改 圖 系統(tǒng)前臺運行流程圖 四、數(shù)據(jù) 庫表設計 讀者: ( 學號 、用戶名、密碼、讀者性別、所在院系、家庭住址、聯(lián)系電話、出生年月、角色標識) 圖書: ( 書號 、圖書名稱、所屬分類號、作者、出版社、價格、出版日期、摘要信息、關鍵詞、圖書狀態(tài)、登記日期) 讀者借閱 模塊 個人信息管理 圖書檢索 圖書操作 密碼修改 按圖書類別 按書名 按作者 按書架 按出版社 圖書借閱查詢 圖書到期查詢 個人信息查詢 圖 系統(tǒng) 前臺運行 結構圖 讀者 圖書 借還 屬于 角色 學號 用戶名 密碼 性別 院系 住址 電話 角色標識 出生年月 書號 書名 分類號 作者 出版社 價格 摘要 關鍵詞 圖書狀 態(tài) 登記日期 出版日期 角色名稱 n 1 m n 角色標識 屬于 圖書類型 類型名 類型號 類型描述 n 1 角色: ( 角色標識 、角色名稱) 借閱: ( 借閱號 、 學號 、 書號 、借書日期、還書日期、圖書的狀態(tài)(是否借出)、超出天數(shù)、罰款金額) 圖書類型: (類型號、圖書類型名稱、圖書類型描述) 數(shù)據(jù)庫結構描述 主要包括各個表結構設計 表 User 表 (系統(tǒng)用戶信息數(shù)據(jù)表 ) 表 Book 表 (圖書信息表 ) 表 BorrowRec 表 (圖書借閱信息表 ) 表 BookType 表 (圖書類型表 ) 表 Role 表 (角色表 ) 表之間的關系圖: 以下是部分 SQL 腳本 視圖部分: CREATE VIEW [dbo].[View_4] AS SELECT , , AS Expr1, , AS Expr2, AS Expr3 FROM INNER JOIN ON = INNER JOIN ON = 39。 GO CREATE VIEW [dbo].[View_2] AS SELECT , FROM INNER JOIN ON = 39。 GO 建表部分:(生成腳本) SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。)) BEGIN CREATE TABLE [dbo].[Users]( [userID] [nvarchar](50) NOT NULL, [userName] [nvarchar](50) NULL, [userPassword] [nvarchar](50) NULL, [userGender] [bit] NULL, [userDepartment] [nvarchar](50) NULL, [userAddress] [nvarchar](50) NULL, [userPhone] [nvarchar](50) NULL, [userBirthday] [datetime] NULL, [roleID] [int] NULL, CONSTRAINT [PK_Reader] PRIMARY KEY CLUSTERED ( [userID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。)) BEGIN CREATE TABLE [dbo].[Role]( [roleID] [int] IDENTITY(1,1) NOT NULL, [roleName] [nvarchar](50) NULL, CONSTRAINT [PK_Role] PRIMARY KEY CLUSTERED ( [roleID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。)) BEGIN CREATE TABLE [dbo].[Book]( [bookID] [nvarchar](50) NOT NULL, [bookName] [nvarchar](50) NULL, [bookIndex] [nvarchar](50) NULL, [bookTypeID] [int] NULL, [author] [nvarchar](50) NULL, [publish] [nvarchar](50) NULL, [price] [money] NULL, [publishDate] [datetime] NULL, [abstract] [ntext] NULL, [keyword] [nvarchar](50) NULL, [status] [int] NULL, [registeDate] [datetime] NULL, CONSTRAINT [PK_BookInfo] PRIMARY KEY CLUSTERED ( [bookID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。)) BEGIN CREATE TABLE [dbo].[BookType]( [bookTypeID] [int] IDENTITY(1,1) NOT NULL, [bookTypeName] [nvarchar](50) NOT NULL, [bookTypeDesc] [nvarchar](50) NULL ) ON [PRIMARY] END GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。)) BEGIN CREATE TABLE [dbo].[BorrowRec]( [borrowRecID] [int] IDENTITY(1,1) NOT NULL, [readerID] [nvarchar](50) NOT NULL, [bookID] [nvarchar](50) NOT NULL, [beginDate] [datetime] NULL, [endDate] [datetime] NULL, [borrowStatus] [bit] NULL, [overdueDays] [int] NULL, [penalty] [money] NULL, CONSTRAINT [PK_BorrowRec_1] PRIMARY KEY CLUSTERED ( [borrowRecID] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY] END 存儲過程腳本: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF NOT EXISTS (SELECT * FROM WHERE object_id = OBJECT_ID(N39。) AND type in (N39。, N39。)) BEGIN EXEC statement = N39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39。39