收稿日期:2014-04-10
作者簡介:鄭林芳(1978-),廣東省財政職業(yè)技術學校講師,碩士。研究方向:計算機應用。(廣東廣州/510445)摘要:實訓周是本校每學期的固有教學安排,對于中職計算機專業(yè)的學生來說,在實訓周把所學知識融合,開發(fā)設計出管理信息系統(tǒng)是知識應用與能力培養(yǎng)的有效途徑之一。本文從實訓項目調研、實訓項目開發(fā)設計、實訓項目驗收的“三段”出發(fā),闡述了基于C#的圖書館管理信息系統(tǒng)的設計與實現(xiàn)。
關鍵詞:中職;計算機專業(yè);C#圖書管理信息系統(tǒng);實訓項目
中圖分類號:G712文獻標識碼:A文章編號:1005-1422(2014)05-0120-03一、引言
實訓周是我校每學期固有的教學安排,實訓在中職生的學習生活中占有極其重要的地位。只有通過實訓,中職學生才能把學到的專業(yè)知識和技能加以融合應用,為以后的實習工作生活打定堅實的基礎。計算機專業(yè)的學生第三學期開設了《C#程序設計》和《數(shù)據庫》這兩門專業(yè)課程,把這兩門課程知識點融合的圖書管理系統(tǒng)的設計與實現(xiàn)將是本學期實訓周的實訓內容。
本周實訓即課程設計將采用“三段”式教學方法,即本周實訓采用“實訓項目調研、實訓項目開發(fā)設計、實訓項目驗收”的三段式教學方法。本周實訓將重點突出學生的主體地位,以培養(yǎng)學生發(fā)現(xiàn)問題、分析問題、解決問題的能力以及創(chuàng)新思維與技術綜合應用的能力,使學生能夠自己去探究、自己去發(fā)現(xiàn)和自己去解決問題,以致在學到知識的同時其能力也有所提高,而成為學習的真正主人。
二、實訓項目調研
教師在圖書管理實際使用的基礎上,給出圖書館管理系統(tǒng)項目的總體大概的需求,即要求實現(xiàn)基本的圖書借還功能。學生根據自己的調研,對需求進行可行性分析,并確定自己的開發(fā)目標,制定開發(fā)計劃。在實訓周項目上,學生確定的開發(fā)目標可以不局限于給定的項目需求,以此充分調動學生的創(chuàng)新思維,培養(yǎng)其創(chuàng)新能力。
三、實訓項目開發(fā)設計
學生按照開發(fā)計劃獨立完成項目的開發(fā)。整個開發(fā)過程中,以學生自主開發(fā)為主,教師為輔。教師的作用僅為答疑、開發(fā)過程監(jiān)控以及對共性問題進行總結與歸納。在此過程中,學生的分析問題、解決問題的能力將得到有效的鍛煉。
1.圖書館管理信息系統(tǒng)主要功能
圖書管理涉及圖書信息、讀者信息、圖書借閱信息、系統(tǒng)用戶信息等多種數(shù)據管理。不同的用戶對管理信息系統(tǒng)具有不同的操作權限,本系統(tǒng)設計了圖書館管理人員、圖書館工作人員、借閱者三種角色,圖書館管理人員具有用戶身份管理、圖書管理、讀者管理的權限;圖書館工作人員具有圖書的借、還權限;而借閱者擁有書目查詢和借閱情況查詢的功能。
2.圖書館管理信息系統(tǒng)的具體實現(xiàn)
(1)數(shù)據庫設計。圖書館管理信息系統(tǒng)是典型的管理信息系統(tǒng)(ManagementInformationSystem,MIS),在系統(tǒng)后臺要建立和維護數(shù)據庫,作為中小型的MIS,根據成本及需求,本實訓項目采用了SQLServer數(shù)據庫。在局部實體關系(ER)模式中可以得出:一個借閱者只能具有一種身份,而一種身份可以被多個借閱者所具有;一本圖書只能屬于一種圖書類別,而一種圖書類別可以包含多本圖書;一個用戶可以借閱多本不同的書,而一本圖書也可以被不同的用戶所借閱。在全局實體關系模式中把局部ER模式進行綜合,最后再對全局ER進行優(yōu)化,得到數(shù)據庫的概念設計,根據其概念設計,得到數(shù)據庫的邏輯設計,本系統(tǒng)數(shù)據庫包含以下數(shù)據表:
①圖書信息表(tb_book),包括圖書編號、圖書名稱、作者、出版社、出版日期、價格、數(shù)量、類型、備注等字段。
②借出圖書信息表(tb_BookOut),包括借出圖書編號、圖書編號、借書證編號、伸出日期等字段。
③借閱者信息表(tb_Person),包括借書證編號、姓名、性別、電話、身份證、密碼、罰款、身份、備注等字段。
④身份信息表(tb_Identity),包括身份、最長借閱時間、最大借閱數(shù)量等字段。
⑤圖書類別信息表(tb_Type),包括類別編號、類別、類別描述等字段。
數(shù)據庫包含表與表之間的關系,根據之前的ER模式來確定,比如圖書信息表中“類型”來源于圖書類別信息表中現(xiàn)有的類型;借出圖書信息表中“圖書編號”來源于圖書信息表中現(xiàn)有的圖書編號;“借書證編號”來源于借閱者信息表中現(xiàn)有的借書證編號;借閱者信息表中“身份”來源于身份信息表中現(xiàn)有的身份。根據業(yè)務邏輯合理定義表與表之間的關聯(lián),確保數(shù)據的一致和完整性。
(2)程序功能模塊設計。根據實訓項目要實現(xiàn)的基本功能,主要可以歸納為以下幾個部分:公共類設計;登錄;圖書館管理人員的用戶管理、圖書管理和書目管理;圖書館工作人員的借書、還書和所有用戶的查詢等功能。
①公共類設計。為了節(jié)省系統(tǒng)資源,實現(xiàn)代碼重用,在系統(tǒng)中以公共類方式來組織和封裝一些常用的方法和事件,比如數(shù)據庫的連接和SQL語句的執(zhí)行。本系統(tǒng)中定義了公共類dataSQL,其封裝了數(shù)據連接dataconn、執(zhí)行SQL語句得到數(shù)據集getDataSet和執(zhí)行SQL語句sqlExec的方法。執(zhí)行相應的SQL語句返回相應數(shù)據集的getDataSet方法的部分代碼如下:
SqlCommandcmd=newSqlCommand(sSQL,conn);
conn.Open();
intn=cmd.ExecuteNonQuery();
SqlDataAdapterda=newSqlDataAdapter(sSQL,conn);
DataSetds=newDataSet();
da.Fill(ds,"結果集別名");
returnds;
②登錄。系統(tǒng)登錄模塊主要用于對進入系統(tǒng)的用戶進行安全檢查和權限分配,以防止非法用戶的登錄和使用。用戶輸入賬號、密碼和用戶類別進入相應的系統(tǒng)用戶界面
③圖書館管理人員的用戶管理、圖書管理和書目管理。圖書館管理人員對用戶的管理包括添加、刪除、修改和查詢用戶信息;同樣對圖書和書目的管理包括添加、刪除、修改和查詢功能。其設計核心即是對數(shù)據庫執(zhí)行SQL語句,對數(shù)據庫進行增、刪、改、查詢操作。添加用戶的部分代碼如下:
strSql="insertintotb_person(借書證號,姓名,性別,電話,密碼,身份)values";
strSql+="各字段值";
dataSQLdata=newdataSQL();
data.dataconn();
if(data.sqlExec(strSql))
MessageBox.Show("用戶添加成功");
else
MessageBox.Show("用戶添加失敗");
·實習實訓·“基于C#的圖書館管理信息系統(tǒng)”實訓項目的設計與實現(xiàn)④借書。借書功能是圖書館信息系統(tǒng)的主要功能之一,圖書館工作人員在借書操作時,只要讀入借書者的借書證號,就能顯示借閱者信息和已借圖書信息;工作人員只要輸入圖書編號,點擊“借出”系統(tǒng)自動判定用戶是否能借閱此書,如果沒有超出數(shù)量或者沒有借閱相同的書,則借閱成功,否則失敗。
在借書功能中程序實現(xiàn)的過程如下:根據圖書編號和借書證號查詢“借出圖書信息表”判定該借閱者是否借閱相同的圖書;如果該借閱者沒有借閱相同的圖書,則查詢“圖書信息表”得到該書的庫存;如果有庫存,則借閱成績,同時更新該書的庫存數(shù)量。更新圖書的庫存數(shù)量部分代碼如下:
strSql="updatetb_bookset圖書的庫存數(shù)量=圖書的庫存數(shù)量-1wherebID=圖書編號";
data.dataconn();
data.sqlExec(strSql);
⑤還書。同樣還書功能也是圖書館信息系統(tǒng)的主要功能之一,圖書館工作人員在還書操作時,只要讀入借書者的借書證號,就能顯示借閱者信息和已借圖書信息;工作人員只要選定要歸還的圖書,點擊“還書”系統(tǒng)將自動判定用戶借閱此書是否超期,如果超期,更新該借閱者的罰款信息;歸還成功,更新該書的庫存數(shù)量。還書功能涉及到多表聯(lián)合的查詢,還書功能的部分代碼如下:
strSql="deletefromtb_bookoutwhereBid="圖書編號”;
data.dataconn();
if(data.sqlExec(strSql))
{MessageBox.Show("還書成功");
strSqlkc="updatetb_bookset圖書庫存數(shù)目=圖書庫存數(shù)目+1whereBid="圖書編號";
dataSQLdatakc=newdataSQL();
datakc.dataconn();
datakc.sqlExec(strSqlkc);
}
else
MessageBox.Show("還書失敗");
⑥模糊查詢。管理系統(tǒng)的每種身份用戶都能對圖書和借閱進行查詢。在圖書查詢界面上,可通過圖書編號、圖書名和作者等條件進行模糊查詢所要結果;在借閱查詢上可通過用戶的借書證號進行查詢。圖書查詢的部分代碼如下:
strSql="select*fromtb_bookwhereBidlike'%圖書編號%'andBnamelike'%圖書名%'andBwriterlike'%作者%'";
data.dataconn();
ds=data.getDataSet(strSql);
if(ds!=null)
dataGridView.DataSource=ds.Tables[0];//顯示查詢結果
else
MessageBox.Show("查無記錄");
四、實訓項目驗收
通過實訓周的努力,學生完成了實訓項目的設計與實現(xiàn)。學生準備好項目實訓報告和項目程序,在班級里進行公開項目驗收和總結報告。教師和學生一起對完成的項目進行驗收與評價,按照相應的評分標準和分數(shù)比例給出相應成績。對于優(yōu)秀作品,教師除了在班級里進行展示與點評外,學生將進行項目經驗分享。項目驗收需學生提交開發(fā)的項目和相關的報告資料。
五、總結
本文從實訓項目調研、實訓項目開發(fā)設計和實訓項目驗收的“三段”式教學手段出發(fā),以圖書館管理信息系統(tǒng)的開發(fā)和設計為例,重點介紹了實驗項目的設計和實現(xiàn),詳細闡述了項目的各種功能模塊的實現(xiàn),通過實訓周的實訓,培養(yǎng)學生發(fā)現(xiàn)問題、分析問題、解決問題的能力,達到實訓項目的目的。
參考文獻:
[1]謝書良.C#任務導引教程[M].北京:清華大學出版社,2012.
[2]蒙祖強.C#程序設計教程[M].北京:清華大學出版社,2010.
[3]李娟.基于項目開發(fā)的C#程序設計[M].北京:北京大學出版社,2012.
責任編輯何麗華