馮嬌龍 劉小豫
摘 要:本文從學(xué)校的實(shí)際情況出發(fā),闡述了系統(tǒng)開發(fā)的流程。使用ASP.NET進(jìn)行網(wǎng)站開發(fā),使用C#作為后臺(tái)開發(fā)語言,后臺(tái)數(shù)據(jù)庫管理使用SQL Server 2005,利用三層架構(gòu)實(shí)現(xiàn)系統(tǒng)的開發(fā),便于后期維護(hù)和更新。系統(tǒng)包含基本信息管理、比賽項(xiàng)目管理、在線報(bào)名、賽程管理、秩序冊(cè)生成、成績管理等功能模塊。系統(tǒng)結(jié)合實(shí)際、操作方便,可以提高運(yùn)動(dòng)會(huì)工作效率。
關(guān)鍵詞:管理系統(tǒng);運(yùn)動(dòng)會(huì);ASP.NET;SQL Server
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A
1 引言(Introduction)
我?!剃枎煼秾W(xué)院,每年春季都要召開一次大型的田徑運(yùn)動(dòng)會(huì)。舉辦運(yùn)動(dòng)會(huì),都是由學(xué)校運(yùn)動(dòng)會(huì)組委會(huì)制定好規(guī)程,打印成文件下發(fā)各參賽單位并強(qiáng)調(diào)細(xì)節(jié)。報(bào)名工作就異常煩瑣,報(bào)名表交回后要安排多人仔細(xì)核對(duì)同一運(yùn)動(dòng)員最多能報(bào)的參賽項(xiàng)目數(shù),參賽單位的集體項(xiàng)目限定人數(shù)等。接下來的賽事安排、秩序冊(cè)編排更是復(fù)雜。運(yùn)動(dòng)會(huì)進(jìn)行期間更是有大量的成績數(shù)據(jù)處理統(tǒng)計(jì)工作。運(yùn)動(dòng)會(huì)后,對(duì)本次運(yùn)動(dòng)會(huì)的成績存檔是人工收集打印保存,并與以前運(yùn)動(dòng)會(huì)的成績進(jìn)行比較,以確定是否有成績打破以往校運(yùn)動(dòng)會(huì)記錄,是否打破市運(yùn)動(dòng)會(huì)記錄等。此類工作,都是人工查看、比較,最后得出結(jié)論。這些都不能體現(xiàn)信息時(shí)代的數(shù)據(jù)處理的優(yōu)點(diǎn)和效率。為了解決這些問題,保證運(yùn)動(dòng)會(huì)更加公平、公正、有序的進(jìn)行,需要開發(fā)一個(gè)田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)。目的是探索一種以計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理的高效、科學(xué)、公正的運(yùn)動(dòng)會(huì)管理模式。通過這種新的模式,為學(xué)院的運(yùn)動(dòng)會(huì)成功舉辦提供更好的技術(shù)保障,提高工作效率和標(biāo)準(zhǔn)化水平。更想通過此系統(tǒng)的開發(fā),鍛煉同學(xué)們的實(shí)踐能力,提升同學(xué)們的學(xué)習(xí)興趣。
2 系統(tǒng)需求分析(System requirement analysis)
在系統(tǒng)開發(fā)中,需求分析是最重要的階段。完成需求分析后生成的系統(tǒng)說明書,是后續(xù)系統(tǒng)開發(fā)的依據(jù),還是最后驗(yàn)收的依據(jù)[1,2]。
本系統(tǒng)需求分析通過詳細(xì)調(diào)查我校運(yùn)動(dòng)會(huì)的報(bào)名、比賽、成績處理等環(huán)節(jié),明確運(yùn)動(dòng)會(huì)的各項(xiàng)要求。結(jié)合我校的實(shí)際需求,做一個(gè)能實(shí)際應(yīng)用的運(yùn)動(dòng)會(huì)管理系統(tǒng)。在運(yùn)動(dòng)會(huì)管理系統(tǒng)中我們要解決一些實(shí)際存在的問題,比如探索一個(gè)更好的辦法來進(jìn)行運(yùn)動(dòng)員的分組和分道,避免運(yùn)動(dòng)員參賽時(shí)間沖突的問題。從而有效提高運(yùn)動(dòng)會(huì)信息管理水平,減少人力和工作量,提高運(yùn)動(dòng)會(huì)工作質(zhì)量和效率,促進(jìn)學(xué)校的科學(xué)化管理。
3 系統(tǒng)總體設(shè)計(jì)(System overall design)
3.1 系統(tǒng)功能設(shè)計(jì)
田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)的用戶可以是組委會(huì)成員、參賽的單位及運(yùn)動(dòng)員等,主要完成在線報(bào)名,賽程管理、成績統(tǒng)計(jì)公布等功能,將其應(yīng)用到我校的運(yùn)動(dòng)會(huì)中。該系統(tǒng)包括基本信息管理、比賽項(xiàng)目管理、在線報(bào)名、賽程管理、秩序冊(cè)生成、比賽用表生成、成績管理等功能模塊,系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。
圖1 田徑運(yùn)動(dòng)會(huì)管理系統(tǒng)功能結(jié)構(gòu)圖
Fig.1 Track and field sports meeting management
system function structure diagram
3.2 數(shù)據(jù)庫設(shè)計(jì)
SQL Server 2005是一個(gè)全面的數(shù)據(jù)庫平臺(tái),使用集成的商業(yè)智能(BI)工具提供了企業(yè)級(jí)的數(shù)據(jù)管理。SQL Server 2005數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更安全可靠的存儲(chǔ)功能,使您可以構(gòu)建和管理用于業(yè)務(wù)的高可用和高性能的數(shù)據(jù)應(yīng)用程序[3]。本系統(tǒng)選用SQL Server 2005為數(shù)據(jù)管理軟件。本系統(tǒng)包含的數(shù)據(jù)表有隊(duì)員表、參賽單位表、項(xiàng)目表、項(xiàng)目類型表、項(xiàng)目分組表、賽程安排表、裁判員表、成績表、用戶表、用戶權(quán)限表、權(quán)限模塊表等。
隊(duì)員表存儲(chǔ)隊(duì)員基本信息和參賽信息,包括隊(duì)員姓名、性別、學(xué)號(hào)、參賽號(hào)碼、入學(xué)年份、所屬參賽單位、參賽項(xiàng)目等字段。
項(xiàng)目管理涉及項(xiàng)目表、項(xiàng)目類型表、項(xiàng)目分組表。項(xiàng)目表包括項(xiàng)目編號(hào)、名稱、限報(bào)人數(shù)、比賽形式、項(xiàng)目分組、項(xiàng)目類型等字段。項(xiàng)目類型表包括項(xiàng)目類型編號(hào)、名稱、顯示順序等字段。項(xiàng)目分組表包括分組編號(hào)、名稱、顯示順序等字段。
賽程安排表包括賽程編號(hào)、單元、比賽日期、賽程序號(hào)、競賽名稱、人數(shù)、組數(shù)、比賽時(shí)間等字段。
成績表包括成績編號(hào)、道次、參賽號(hào)碼、成績、名次、賽程編號(hào)等字段。用戶權(quán)限的動(dòng)態(tài)分配涉及用戶表、權(quán)限模塊表和用戶權(quán)限表。用戶表包括用戶名、編號(hào)、密碼等字段。權(quán)限模塊表包括權(quán)限編號(hào)、權(quán)限名稱等字段。用戶權(quán)限表包括用戶權(quán)限編號(hào)、用戶編號(hào)、權(quán)限標(biāo)識(shí)和權(quán)限名稱。
4 系統(tǒng)實(shí)現(xiàn)(System implementation)
系統(tǒng)開發(fā)平臺(tái)是Microsoft Visual Studio 2008,開發(fā)語言是C#,數(shù)據(jù)庫訪問接口是ADO.NET。
使用ASP.NET分層模型實(shí)現(xiàn)系統(tǒng)開發(fā),包括模型層Model、數(shù)據(jù)訪問層Dal、業(yè)務(wù)邏輯層Bll和表示層Web。模型層Model作為與各層之間數(shù)據(jù)傳送的載體。包含了數(shù)據(jù)表相對(duì)應(yīng)的實(shí)體類。與數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層和表示層進(jìn)行數(shù)據(jù)的傳送。數(shù)據(jù)訪問層Dal負(fù)責(zé)對(duì)數(shù)據(jù)庫的訪問,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫表的增、刪、改、查操作。與模型層進(jìn)行數(shù)據(jù)傳送。被業(yè)務(wù)邏輯層調(diào)用。業(yè)務(wù)邏輯層Bll負(fù)責(zé)業(yè)務(wù)邏輯處理,該層的方法一般返回bool型。與模型層進(jìn)行數(shù)據(jù)傳送。調(diào)用數(shù)據(jù)訪問層。被表示層調(diào)用,表示層根據(jù)業(yè)務(wù)邏輯層方法返回值的真假,進(jìn)行不同的操作。表示層Web作用負(fù)責(zé)內(nèi)容的展示和與用戶的交互。與用戶進(jìn)行交互,將相關(guān)的數(shù)據(jù)送回到業(yè)務(wù)邏輯層進(jìn)行處理。根據(jù)業(yè)務(wù)邏輯層返回的結(jié)果,顯示不同的信息。使用分層模型可以降低服務(wù)器端的負(fù)載,提高服務(wù)器端的性能[4]。
以運(yùn)動(dòng)員基本信息的管理為例介紹實(shí)現(xiàn)過程。使用三層架構(gòu),在數(shù)據(jù)模型層對(duì)屬性進(jìn)行定義和構(gòu)造get和set方法,在數(shù)據(jù)訪問層進(jìn)行數(shù)據(jù)庫的操作,定義一個(gè)getAthlete的方法進(jìn)行對(duì)數(shù)據(jù)的查找,定義InsertAthlete方法對(duì)數(shù)據(jù)進(jìn)行添加,定義UpdateAthlete方法對(duì)數(shù)據(jù)進(jìn)行更新,定義DeleteAthlete方法對(duì)數(shù)據(jù)進(jìn)行刪除,在業(yè)務(wù)邏輯層分別調(diào)用這四個(gè)方法,在表示層綁定一個(gè)ObjectDataSource控件和一個(gè)GridView控件實(shí)現(xiàn)運(yùn)動(dòng)員基本信息的顯示、編輯和刪除。
5 系統(tǒng)運(yùn)行結(jié)果(System operation result)
隊(duì)員信息添加運(yùn)行結(jié)果如圖2所示,其中包括隊(duì)員的姓名、學(xué)號(hào)、性別、參賽單位等基本信息的添加。在線報(bào)名運(yùn)行結(jié)果如圖3所示,其中包含田賽、徑賽、接力賽和混合賽的分類比賽項(xiàng)目,參賽隊(duì)員選擇,同時(shí)作項(xiàng)目數(shù)量的控制。
圖2 隊(duì)員信息添加運(yùn)行結(jié)果圖
Fig.2 Players information add running result diagram
圖3 在線報(bào)名運(yùn)行結(jié)果圖
Fig.3 Online registration running result diagram
6 結(jié)論(Conclusion)
結(jié)合我校運(yùn)動(dòng)會(huì)的實(shí)際運(yùn)行情況,采用SQL Server進(jìn)行數(shù)據(jù)庫的管理,使用ASP.NET技術(shù)、C#程序設(shè)計(jì)語言及ADO.NET技術(shù)開發(fā)一個(gè)田徑運(yùn)動(dòng)會(huì)管理系統(tǒng),該系統(tǒng)包含基本信息管理、比賽項(xiàng)目管理、在線報(bào)名、賽程管理、秩序冊(cè)生成、比賽用表生成、成績管理等功能模塊,操作簡單實(shí)用,實(shí)現(xiàn)運(yùn)動(dòng)會(huì)的智能管理。開發(fā)設(shè)計(jì)這個(gè)運(yùn)動(dòng)會(huì)管理系統(tǒng)在很大程度上也給我們一個(gè)展示英姿的舞臺(tái),豐富我們的大學(xué)生活,而奠定的開發(fā)經(jīng)驗(yàn),可以幫助我們就業(yè)或創(chuàng)業(yè)。
參考文獻(xiàn)(References)
[1] 王愛蓮.基于.NET教學(xué)演示系統(tǒng)的設(shè)計(jì)與技術(shù)實(shí)現(xiàn)[J].電腦
開發(fā)與應(yīng)用,2011(24):51-55.
[2] 王雁飛,王秀義.開放實(shí)驗(yàn)室管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].山西
大同大學(xué)學(xué)報(bào),2011(27):12-15.
[3] 劉勇.SQL Server數(shù)據(jù)庫管理[M].北京:清華大學(xué)出版社,
2012:178-204.
[4] 李萍,王得燕,楊文珺.ASP.NET(C#)動(dòng)態(tài)網(wǎng)站開發(fā)案例教程
[M].北京:機(jī)械工業(yè)出版社,2011.
作者簡介:
馮嬌龍(1992-),男,本科生.研究領(lǐng)域:軟件開發(fā).
劉小豫(1978-),女,碩士,講師.研究領(lǐng)域:圖像處理,信息
系統(tǒng)開發(fā).