【文章內容簡介】
(表達式列表)功能: 插入一條記錄到W EB 數(shù)據(jù)庫中, 被插入的記錄放在基本表的末尾。⑶SQL 刪除語句語法:DELETE FROM 基本表 [WHERE 條件表達式]功能: 根據(jù)WHERE 子句中的條件表達式, 從基本表中刪除所有滿足條件的記錄。⑷SQL 修改語句語法:U PDATE 基本表 SET 字段= 表達式[, 字段= 表達式]…[WHERE 條件表達式]功能: 根據(jù)WHERE 子句中條件表達式, 從基本表中修改所有滿足條件的記錄。 網頁的顯示格式根據(jù)用戶端界面需求,需要對系統(tǒng)界面的彈出位置、頁面大小,以及地址欄、工具欄的顯示狀態(tài)進行設置。在該系統(tǒng)的運行過程中,對用戶界面采取統(tǒng)一的處理方式:網頁主頁分三部分,用框架實現(xiàn),分上、左、右三部分,上部是菜單部分,及本系統(tǒng)的主要功能簡菜單,左部分為日歷和友情鏈接。為實現(xiàn)以上效果,我們采用表單的target 屬性來完成,如果有的查詢結果比較長,我們采用分頁顯示。 分頁技術在詳細設計過程中我們已經知道,幾乎所有的控制臺頁面和所有的查詢功能都需要進行分頁處理,在這里將詳細分析這一技術的實現(xiàn)。分頁顯示的代碼(大致框架,具體的顯示內容用省略號表示)如下:% if isempty((pagenumber)) then currentpage=1 else currentpage=cint((pagenumber) ) end if set rs=() =3 sqlstr,con,3,1,1 if then %此段代碼主要判斷要顯示的是哪一頁,若是剛進入此頁面,那么pagenumber傳遞的值是空值,表明要顯示的是第一頁,將currentpage值賦為1,否則,顯示指定頁,將currentpage值從熱request對象的querystring集合中取出,賦給currentpage變量。 % else =15 =currentpage %這兩條代碼非常重要,是分頁處理的關鍵。他們設置了Recordset的對象rs的屬性:pagesize設置的是每一頁要顯示的記錄條數(shù);absolutepage設置的是顯示那一頁的內容,并將記錄指針設置為此頁第一條紀錄。 % for j=1 to % …… % if then exit for end if next %上面這段代碼是顯示相應頁的紀錄,比較簡單。但若該頁不足所設置的每頁紀錄數(shù),那么要做特別的處理:如果rs已到紀錄的最后,則必須跳出循環(huán)。center 共%=%頁 此段代碼用recordset的recordcount屬性顯示總共紀錄的條數(shù)%for i=1 to if icurrentpage then % a href=?pagenumber=%=i%%=i%/a % else i end if next %上面這段代碼顯示了每頁的頁碼,并顯示鏈接,以鏈接到當前頁面去顯示選取頁面的紀錄,每按一個頁碼便傳出pagenumber值給當前頁面,并重新提交此頁面。若是當前頁則不必顯示鏈接,這也是要控制的。%end if% 本章小結本章介紹主要介紹了系統(tǒng)設計中所用到的工具和編成語言,還有各種技術、技巧,我們通過這章的了解、總結可以對自己用什么方法和工具去實現(xiàn)要實現(xiàn)的系統(tǒng)。并且通過掌握一些相關工具和語言的使用技巧和簡便方法,使我們在設計過程中更有效率。第4章 系統(tǒng)設計 概述系統(tǒng)的整體設計在軟件開發(fā)中具有很重要的地位,對整個項目的開發(fā)具有指導性的作用,將直接影響到系統(tǒng)的整體性能。本章根據(jù)項目的用戶要求,從宏觀角度出發(fā),對系統(tǒng)的功能模塊,基本數(shù)據(jù)庫,主要界面,控制流程,開發(fā)環(huán)境等作整體性介紹,從而形成該項目的基本框架;也使各位讀者和用戶對系統(tǒng)有一個概括性的了解。系統(tǒng)結構采用B/SC/S混合模式的結構,我們之所以采用此結構主要是由于以前的客戶/服務器(C/S,Client/Server)結構有:①可靠的數(shù)據(jù)完整性和安全性控制;②高效的聯(lián)機事務處理性能;③很好的開放性和易擴充性;④高效的應用程序開發(fā)等優(yōu)點,并且C/S結構的應用系統(tǒng)易于擴展,處理效率更高。所以我們還保留此結構作為系統(tǒng)的基礎結構。但由于這種模式同時又具有內在缺陷:客戶端具有平臺相關性;隨著應用邏輯和程序界面占用越來越多的硬件資源,客戶端變得越來越“胖”;客戶端管理復雜,維護困難。為解決C/S模式的這些內在缺陷,并且基于Internet的快速發(fā)展的現(xiàn)狀,我們還設計添加了基于Web的Browser/Server模型(瀏覽器/服務器模型,即B/S模型)。該模型是把C/S模型的服務器端進一步深化,分解成一個應用服務器(Web服務器)和一個或多個數(shù)據(jù)庫服務器,從而形成一個類似3層C/S模型。B/S結構優(yōu)點主要體現(xiàn)在:①用戶界面更加友好,操作更加直觀,更易滿足用戶的使用習慣。②對用戶跨平臺支持,可跨平臺使用數(shù)據(jù)庫、超文本、多媒體等多種形式的信息。③提高了系統(tǒng)的可靠性、整體性以及可擴展性。④客戶端只需配置操作系統(tǒng)和Web瀏覽器,降低了對客戶機的軟硬件要求。⑤更利于軟件的開發(fā)、安裝、升級,節(jié)省開發(fā)維護費用?;赪eb的B/S模式客戶端只需安裝瀏覽器便可與服務器進行交互, 同時由于基于互聯(lián)網構架, 保證了B/ S 模式具有優(yōu)秀的開放性和共享性能, 所以在基于校園網, 以B /S 模式建立發(fā)布、查詢系統(tǒng), 使廣大師生通過瀏覽器便可查看到相關教材信息。而C/S體系結構比較適用于局域網, 同時又有運行速度快、利于處理大容量的數(shù)據(jù)、有更安全的存取模式的特點。根據(jù)系統(tǒng)的開發(fā)要求和系統(tǒng)目標,我們將這兩種模式有機的結合,這樣系統(tǒng)既能發(fā)揮傳統(tǒng)C/S模式成熟的技術,又能借Internet技術充分發(fā)揮B/S模式的優(yōu)點。前臺部分主要功能是實現(xiàn)各類數(shù)據(jù)的查詢和部分數(shù)據(jù)的收集,報送,如師生查詢教材信息,教務處及其他部門查詢教材出入庫記錄等。本文根據(jù)系統(tǒng)的設計過程和整體結構,分別從需求分析、整體設計和模塊設計等幾大部分,對系統(tǒng)的實現(xiàn)過程做出了全面闡述。需求分析部分著重介紹了用戶端是實際需求,包括功能需求,界面需求,流程要求等必要信息;對于以后的模塊化劃分和方案設計將產生指導性作用。整體設計部分主要從宏觀角度出發(fā),對系統(tǒng)的功能模塊,基本數(shù)據(jù)庫,主要模塊,控制流程,開發(fā)環(huán)境等做整體性介紹,從而形成該系統(tǒng)的基本框架,是系統(tǒng)開發(fā)中最為關鍵的一步。這種混合模式的體系結構如下圖:圖41 系統(tǒng)體系結構圖 系統(tǒng)的主要功能模塊設計系統(tǒng)B /S 部分的主要功能:⑴ 提供對教材庫和目錄庫中書目的檢索(按 ISBN、書名、出版社、作者為關鍵字) , 方便老師預訂和教務部門審核和預訂教材,方便老師、學生查詢教材.⑵提供學生查詢其所在班級及個人領書記錄的功能, 方便教材管理部門與班級對帳.系統(tǒng) C /S 部分的主要功能:其主要功能模塊包括: 教材預訂, 教材入庫, 教材管理, 教材出庫, 字典管理, 查詢統(tǒng)計, 系統(tǒng)維護等。 教師模塊介紹了老師通過有效身份驗證后,可使用B/S部分的教材預訂模塊,主要功能有:學校的所有授課老師可以通過預訂表提交自己想使用的教材??梢圆榭唇滩念A訂表,瀏覽教材的出入庫記錄,并且可以通過教材查詢模塊查詢教材的詳細信息。 教務部門模塊學校教務部門可以通過自己的權限,察看教師提交的教材預訂表,并且可以對教材預訂表的信息進行修改、刪除。確定最終的預訂教材,形成預訂表。教務部門還可以查看所有出庫入庫表并且可以打印表,可以查詢教材信息,庫存信息,可以查看基礎信息。 教材管理人員模塊教材管理人員可以通過B/S部分察看已經由教務部門審批形成的教材預訂表,并可以打印或以Excel表的形式導出預訂表。教材管理人員還可以通過B/S功能部分察看基礎信息,查詢教材,并且可以打印,導出各個表單,比如:入庫記錄,出庫記錄,庫存記錄等。 其他用戶其他用戶主要指在校學生和一些在網上瀏覽本網站的用戶,經過注冊的本校學生和用戶經過身份驗證就可以通過B/S查詢教材,可以查看出庫記錄,以方便核對本班是否已經領取應該領取的教材。并且可以查看入庫、庫存記錄并進行打印。 系統(tǒng)數(shù)據(jù)庫的設計在教材管理過程中對于涉及到的入、出庫數(shù)據(jù)的處理,我們在SQL Server數(shù)據(jù)庫底層通過觸發(fā)器去實現(xiàn)。 數(shù)據(jù)庫基本表格的設計初訂表的設計department—訂書系別(char[20]);profession—訂書專業(yè)(char[30]);grade—訂書班級(char[10]);ISBN—ISBN號(char[20]);bookname—教材名稱(char[40]);bookauthor—編作者(char[30]);bookpublish—出版社(char[30]);publishdate出版日期(包含版次)(char[20]);預定審核表:ISBN—ISBN號(char[20]);bookname—教材名稱(char[40]);price—單價(money);bookauthor—編作者(char[30]);bookpublish—出版社(char[30]);publishdate出版日期(包含版次)(char[20]);quantity—預定數(shù)量(int)。預訂計劃表/預訂歷史記錄表:booknumber—教材編碼(char[10]);quantity—預定數(shù)量(int);datetime—預定時間入庫表:booknumber—教材編碼(char[10]);quantity—入庫數(shù)量(int);datetime—入庫時間(datetime)。出庫表:num—標識號(系別+專業(yè)+年級+班級),由8位數(shù)字表示(char[8]),它的組成部分為:前兩位為系別號,其次兩位為專業(yè)號,接著兩位為年級號,最后兩位為班級號;booknumber—教材編碼(char[10]);quantity—出庫數(shù)量(int);datetime—出庫時間(datetime)。庫存表:booknumber—教材編碼(char[10]);quantity—庫存量(int)。教材信息表:booknumber—教材編碼(char[10]);ISBN—ISBN號(char[20]);bookname—教材名稱(char[40]);price—單價(money);bookauthor—編作者(char[30]);bookpublish—出版社(char[30]);publishdate出版日期(包含版次)(char[20])。系別表:departmentID—系別號(char[2]);department—系別名稱(char[30])。專業(yè)表:professionID—專業(yè)號(char[2]);profession—專業(yè)名稱(char[30])。年級表:gradeID—年級號(char[2]);grade—年級名稱(char[10])。班級表:classID—班級號(char[2]);class—班級名稱(char[10])。教材類別表:typeID—類別號(char[3]);type—類別名稱(char[20])。登錄表:customer—用戶帳號(char[10]);由數(shù)字、字母及特殊符號組成;password—登錄密碼(char[16]),由數(shù)字、字母及特殊符號組成。type—用戶類型(char[10]),由漢字組成。 基本信息表的關系圖圖42 五大信息表