版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)校田徑運(yùn)動會管理系統(tǒng)</p><p><b> 摘 要</b></p><p> 學(xué)校田徑運(yùn)動會管理系統(tǒng)是典型的信息管理系統(tǒng),本系統(tǒng)為田徑運(yùn)動會運(yùn)動會組織者提供方便、快捷的方法,系統(tǒng)的對運(yùn)動會進(jìn)行合理的安排與管理,實現(xiàn)無紙化工作,節(jié)省大量人力和物力。本論文首先使用了Visual Basic作為開發(fā)工具和Access作為后臺數(shù)據(jù)庫,然后再介紹
2、了開發(fā)背景,最后通過截圖和表格來說明該系統(tǒng)的開發(fā)與操作。設(shè)計充分利用VISUAL BASIC以及ACCESS數(shù)據(jù)庫易于使用和快速開發(fā)的特性,提高了編程效率和可靠性。同時對系統(tǒng)的開發(fā)原理、系統(tǒng)的功能特點(diǎn)和設(shè)計方案進(jìn)行了介紹。在對運(yùn)動會管理體系進(jìn)行充分分析和系統(tǒng)論證的基礎(chǔ)上開發(fā)。它不但能完成運(yùn)動會管理中的基本操作,而且具有程序設(shè)計合理、操作簡單、運(yùn)行可靠、保密性強(qiáng)等特點(diǎn)。</p><p> 關(guān)鍵詞: VB 田徑運(yùn)
3、動會 Access</p><p><b> ABSTRACT</b></p><p> The sports meeting administrative system of track and field is a typical information management system. It makes games management simple
4、 and convenient for organizer to arrange and manage the games with reason. It makes no-paper work possible, and save a lot of manpower and material resources. This paper use "Visual Basic" as the development to
5、ol and "Access 2003" as the background data base first, then introduce the background of development, and the developing and operating of the system throu</p><p> Keywords: Visual Basic Sports m
6、eeting of track and field Access</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p> ABSTRACT2</p><p><b> 前 言5</b></p>&
7、lt;p> 第一章 需求分析6</p><p> 1.1系統(tǒng)的綜合需求6</p><p> 1.1.1 功能需求6</p><p> 1.1.2 性能需求6</p><p><b> 1.2建模分析6</b></p><p> 1.2.1數(shù)據(jù)模型7</p>
8、;<p> 1.2.2功能模型8</p><p> 1.2.3 行為模型9</p><p> 第二章 總體設(shè)計10</p><p> 2.1 軟件的特點(diǎn)10</p><p> 2.2 系統(tǒng)功能模塊10</p><p> 2.3.功能分解12</p><p>
9、; 2.3.1 總體功能分解12</p><p> 2.3.2 具體功能分解12</p><p> 2.4 設(shè)計軟件結(jié)構(gòu)14</p><p> 第三章 詳細(xì)設(shè)計15</p><p> 3.1 前期編排模塊15</p><p> 3.1.1定義比賽項目15</p><p>
10、; 3.1.2 設(shè)置工作崗位15</p><p> 3.1.3 錄入工作人員16</p><p> 3.1.4 運(yùn)動員報名16</p><p> 3.1.5 錄入紀(jì)錄成績16</p><p> 3.1.6 生成秩序冊17</p><p> 3.1.7 查看秩序冊17</p><
11、;p> 3.2 比賽管理模塊17</p><p> 3.2.1 徑賽成績錄入與輸出17</p><p> 3.2.2 田賽成績錄入與輸出18</p><p> 3.2.3 全能成績錄入與輸出18</p><p> 3.3 查詢輸出模塊18</p><p> 3.3.1 運(yùn)動員成績18<
12、;/p><p> 3.3.2 項目成績19</p><p> 3.3.3 代表隊查詢19</p><p> 3.3.4 總分表20</p><p> 3.3.5 項目得分表20</p><p> 3.3.6 成績名次表查詢20</p><p> 3.3.7 成績匯冊21<
13、;/p><p> 3.4 系統(tǒng)工具21</p><p> 3.4.1 運(yùn)動會數(shù)據(jù)備份和恢復(fù)21</p><p> 3.4.2 系統(tǒng)數(shù)據(jù)表瀏覽22</p><p> 3.4.3 用戶管理22</p><p> 第四章 系統(tǒng)實現(xiàn)23</p><p> 4.1 數(shù)據(jù)庫表創(chuàng)建23&
14、lt;/p><p> 4.2 界面設(shè)計及編碼23</p><p> 4.2.1登陸界面24</p><p> 4.2.2主界面25</p><p> 4.2.3 前期編排25</p><p> 4.2.4 比賽管理27</p><p> 4.2.5 查詢輸出29</p&
15、gt;<p> 4.2.6 系統(tǒng)工具30</p><p><b> 結(jié)束語32</b></p><p><b> 參考文獻(xiàn)33</b></p><p><b> 致 謝34</b></p><p><b> 前 言</b>&
16、lt;/p><p> 計算機(jī)以其強(qiáng)大的性能價格優(yōu)勢給人們的工作、學(xué)習(xí)和生活帶來極大的方便.計算機(jī)代替人工處理一些事務(wù)已成為必然。整個人類社會已進(jìn)入高度信息化,人們對信息和數(shù)據(jù)的利用和處理已經(jīng)進(jìn)入自動化、網(wǎng)絡(luò)化和社會化的階段。如在查找資料、處理日常辦公事務(wù)、科研生產(chǎn)等方面,無不需要利用大量的信息資源。因此,如何有效地進(jìn)行數(shù)據(jù)信息的管理和利用,已經(jīng)成為人們普遍關(guān)注的課題。信息在不同的領(lǐng)域里有著不同的概念,在管理科學(xué)領(lǐng)域
17、中,通常認(rèn)為信息是經(jīng)過加工處理后的一種數(shù)據(jù)形式,是一種有次序的符號排列,它是系統(tǒng)傳輸和處理的對象。處在信息時代的今天,信息的作用越來越為人們所重視。制定成績計劃,研究投資策略,都離不開對信息的充分利用。</p><p> 在當(dāng)今社會上,體育運(yùn)動越來越普及,參與運(yùn)動會的人越來越多,素質(zhì)越來越高。傳統(tǒng)的運(yùn)動會,一般是以人手組織為主,運(yùn)動員的報名、賽事的安排、比賽場地的安排和成績的記錄等操作全都由人手操作,參加人數(shù)越
18、多,運(yùn)動會的規(guī)模就越大,管理工作就更加費(fèi)時費(fèi)力,而且容易出錯。學(xué)校田徑運(yùn)動會管理系統(tǒng)則為組織者提供一個簡捷方便的方式來組織管理運(yùn)動會,學(xué)校田徑運(yùn)動會管理系統(tǒng)是一種“人機(jī)交互系統(tǒng)”,通過簡單的鍵盤輸入與鼠標(biāo)點(diǎn)擊來完成煩瑣的記錄與安排工作,保證運(yùn)動會的正常流暢的進(jìn)行。學(xué)校田徑運(yùn)動會管理系統(tǒng)是典型的數(shù)據(jù)庫應(yīng)用系統(tǒng),可完成田徑運(yùn)動會管理中的運(yùn)動員報名、分組編排,競賽成績處理及公告,成績統(tǒng)計.信息查詢等事務(wù)處理功能。根據(jù)田徑運(yùn)動會的一般進(jìn)程,本系
19、統(tǒng)分為前期編排處理、比賽管理處理、查詢輸出處理和系統(tǒng)維護(hù)等四個工具模塊來完成所期望的功能。依據(jù)關(guān)系型數(shù)據(jù)庫理論設(shè)計數(shù)據(jù)庫的結(jié)構(gòu)。使用該系統(tǒng)可以極大地減小工作人員的勞動量,同時還可大大提高工作效率、可靠性和正確性。</p><p><b> 第一章 需求分析</b></p><p> 1.1 系統(tǒng)的綜合需求</p><p> 本系統(tǒng)適用于各
20、種學(xué)校田徑運(yùn)動會的全程管理。它具有界面友好,操作簡單,功能強(qiáng)大,運(yùn)行可靠等特點(diǎn)。</p><p> 1.1.1 功能需求</p><p> 1.田徑運(yùn)動會主界面設(shè)置密碼,用戶通過密碼后才能進(jìn)入系統(tǒng)的水平菜單。</p><p> 2.水平命令菜單要能實現(xiàn)前期編排,比賽管理,查詢輸出,系統(tǒng)工具這幾個功能。</p><p> 3.前期編排需
21、要定義比賽項目,設(shè)置工作崗位、錄入工作人員,運(yùn)動員報名表錄入,輸入記錄成績,生成秩序冊,查看秩序冊等功能。</p><p> 4.比賽管理需田賽成績錄入與輸出,徑賽成績錄入與輸出,全能成績錄入與輸出等功能。</p><p> 5.查詢輸出需要運(yùn)動員成績、項目成績、代表隊成績查詢,總分表、項目得分表、成績名次表查詢,成績冊匯總等功能。</p><p> 6.系統(tǒng)
22、工具需要運(yùn)動會數(shù)據(jù)備份與恢復(fù),系統(tǒng)數(shù)據(jù)表瀏覽,用戶密碼修改維護(hù)等功能。</p><p> 1.1.2 性能需求</p><p> 本系統(tǒng)的各種操作簡單明了,操作人員不需要進(jìn)行專業(yè)培訓(xùn)。</p><p><b> 1.2建模分析</b></p><p> 為了更好地理解復(fù)雜事物,人們常常采用建立事物模型的方法。所謂
23、模型,就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形符號和組織這些符號的規(guī)則組成。</p><p><b> 1.2.1數(shù)據(jù)模型</b></p><p> 實體-聯(lián)系圖,描繪數(shù)據(jù)對象及數(shù)據(jù)對象之間的關(guān)系,是用于建立數(shù)據(jù)模型的圖形。</p><p> N N<
24、/p><p><b> M M</b></p><p> 圖1-1 田徑運(yùn)動會的數(shù)據(jù)模型</p><p><b> 1.2.2功能模型</b></p><p> 數(shù)據(jù)流圖,描繪當(dāng)數(shù)據(jù)在軟件系統(tǒng)中移動時被變換的邏輯過程,指明系統(tǒng)具有的變換數(shù)據(jù)的功能,因此,數(shù)據(jù)流圖是建立功能模型的基礎(chǔ)。&
25、lt;/p><p> 數(shù)據(jù)庫表 數(shù)據(jù)庫表</p><p> 報名信息 報名信息</p><p><b> 報名信息</b></p><p><b> 參賽信息</b></p><p> 各種信息 名次信息 成績信息 成績信息 秩序信息&
26、lt;/p><p> 數(shù)據(jù)庫表 數(shù)據(jù)庫表 數(shù)據(jù)庫表</p><p> 圖1-2 田徑運(yùn)動會功能模型</p><p> 1.2.3 行為模型</p><p> 狀態(tài)轉(zhuǎn)換圖,指明了作為外部事件結(jié)果的系統(tǒng)行為。</p><p><b> 報名</b></p>
27、<p><b> 秩序冊</b></p><p><b> 成績</b></p><p> 圖1-3 田徑運(yùn)動會行為模型</p><p><b> 第二章 總體設(shè)計</b></p><p> 經(jīng)過需求分析階段的工作,系統(tǒng)必順“做什么”已經(jīng)清楚了,現(xiàn)在是決定“
28、怎樣做”的時候了??傮w設(shè)計的基本目的就是回答“概括地說,系統(tǒng)應(yīng)該如何實現(xiàn)?”這個問題,因此,總體設(shè)計又稱為概要設(shè)計或初步設(shè)計。</p><p> 本系統(tǒng)設(shè)計采用了面向?qū)ο蟮南到y(tǒng)設(shè)計方法,開發(fā)工具選用的Visual Basic,數(shù)據(jù)庫用的是Access數(shù)據(jù)庫。根據(jù)前面的設(shè)計思路和系統(tǒng)功能分析.總共設(shè)計了前期編排、比賽管理、查詢輸出、系統(tǒng)工具這幾個模塊。</p><p><b>
29、 2.1 軟件的特點(diǎn)</b></p><p> 1.統(tǒng)一管理運(yùn)動會的相關(guān)數(shù)據(jù),方便管理人員進(jìn)行數(shù)據(jù)的分析、查詢和比較等。輸出的報表計算準(zhǔn)確,類型豐富,符合有關(guān)規(guī)范。</p><p> 2.整個系統(tǒng)自動進(jìn)行賽前、賽中和賽后的各項管理。自動按田徑競賽規(guī)則進(jìn)行分組分道等數(shù)據(jù)處理。不用大量抄寫一字,極大的減輕了工作量。</p><p> 3.按照人性化設(shè)計
30、的原則,用戶界面友好、操作靈活簡便并提供向?qū)Чδ?。系統(tǒng)整體結(jié)構(gòu)設(shè)計合理,數(shù)據(jù)處理功能齊備,面對大量原始指標(biāo)和數(shù)據(jù)的輸人與輸出,能及時地對數(shù)據(jù)進(jìn)行快速、準(zhǔn)確的評判、比較、排序、統(tǒng)計和處理等。界面清晰友好,操作簡便使用戶無需經(jīng)過計算機(jī)專門訓(xùn)練就能勝任。</p><p> 4.按照比賽的階段進(jìn)行軟件的流程設(shè)計,只需要簡單的操作,就能順利的完成整個比賽的全過程。</p><p> 5.通用性強(qiáng)
31、,適應(yīng)面廣。該管理軟件系統(tǒng)面對的用戶主要是普通高等院校和普通中、小學(xué)以及其它行業(yè)的基層體育管理部門。這些運(yùn)動會特點(diǎn)是規(guī)模大、大小不一.會期有長有短,但級別較多,項目設(shè)置靈活,錄取名次方式多樣化等。系統(tǒng)可以通過對各大、中、小型田徑運(yùn)動會的項目、組別,錄取名次與各分值、各項紀(jì)錄和運(yùn)動員技術(shù)等級等方面進(jìn)行靈活設(shè)置與運(yùn)用來實現(xiàn)的。</p><p> 2.2 系統(tǒng)功能模塊</p><p> 運(yùn)動
32、會管理系統(tǒng)是信息數(shù)據(jù)的現(xiàn)代化管理,主要處理與運(yùn)動會比賽相關(guān)的數(shù)據(jù),其總體數(shù)據(jù)流圖2-1所示:</p><p> 圖2-1 總體數(shù)據(jù)流圖</p><p> 本軟件主要有以下四個方面的功能:</p><p> ◆前期編排 ◆比賽管理</p><p> ◆查詢輸出 ◆系統(tǒng)工具 </p><p> 各
33、模塊之間的關(guān)系如圖2-2所示:</p><p> 圖2-2 頂層數(shù)據(jù)流圖</p><p><b> 2.3. 功能分解</b></p><p> 2.3.1 總體功能分解</p><p> 整個系統(tǒng)共分為前期編排部分、比賽管理部分、查詢輸出、系統(tǒng)維護(hù)工具等部分。</p><p><b
34、> 1 前期編排部分</b></p><p> 該部分是系統(tǒng)最基本的、重要的功能模塊。要求有方便的操作界面,主要完成各類報名信息及運(yùn)動員比賽成績的錄入。主要是將競賽的相關(guān)參數(shù)設(shè)置和報名單輸入計算機(jī).再經(jīng)過一些處理操作。</p><p> (1)運(yùn)動會參數(shù)設(shè)置:包括秩序冊所涉及的分道信息組委會名單、裁判員名單、競賽日程等。</p><p>
35、(2)根據(jù)運(yùn)動員報名進(jìn)行分組分道功能,項目時間編排,最后生成程序冊。</p><p><b> 2.比賽管理部分</b></p><p> 主要包括項目成績錄入、產(chǎn)生比賽結(jié)果等功能。</p><p> 3.查詢輸出:具有靈活方便的查詢功能。可進(jìn)行一般查詢、組合查詢,一般查詢要求按姓名查詢。組合查詢要求可選擇數(shù)據(jù)表,可選擇該表的屬性指標(biāo)并對
36、其進(jìn)行限定,可選擇其顯示內(nèi)容。主要包括個人成績查詢、代表隊成績查詢、團(tuán)體總分排名查詢、名次查詢等功能。</p><p> 2.3.2 具體功能分解</p><p> 各個模塊在概要實現(xiàn)的功能如下</p><p><b> 1.前期編排</b></p><p><b> 定義比賽項目:</b>
37、</p><p> 設(shè)置要進(jìn)行的比賽項目 </p><p><b> 設(shè)置工作崗位:</b></p><p> 設(shè)置比賽中所需要的各種工作人員的崗位</p><p><b> 錄入工作人員</b></p><p><b> 各種工作人員的報名</b&
38、gt;</p><p><b> 運(yùn)動員報名</b></p><p><b> 參加比賽人員的錄入</b></p><p><b> 輸入紀(jì)錄成績</b></p><p> 各種比賽項目的紀(jì)錄成績的錄入</p><p><b> 生成
39、秩序冊</b></p><p> 對運(yùn)動員進(jìn)行編排,實現(xiàn)比賽安排</p><p><b> 查看秩序冊</b></p><p><b> 查看比賽安排</b></p><p><b> 2.比賽管理</b></p><p><b
40、> 徑賽成績錄入與輸出</b></p><p> 徑賽項目的成績錄入及對各徑賽項目的成績進(jìn)行排名得出名次</p><p><b> 田賽成績錄入與輸出</b></p><p> 田賽項目的成績錄入及對各田賽項目的成績進(jìn)行排名并得出名次</p><p><b> 全能成績錄入與輸出&l
41、t;/b></p><p> 全能項目的成績錄入及對各全能項目的成績進(jìn)行排名并得出名次</p><p><b> 3.查詢輸出</b></p><p><b> 運(yùn)動員成績</b></p><p> 對單個運(yùn)動員進(jìn)行的查詢</p><p><b>
42、項目成績</b></p><p> 以項目為單位的成績查詢</p><p><b> 代表隊成績查詢</b></p><p> 以代表隊為單位的成績查詢</p><p><b> 總分表</b></p><p> 對各代表隊得到的分?jǐn)?shù)進(jìn)行統(tǒng)計</p
43、><p><b> 項目得分表</b></p><p> 以項目為單位對在該項目中得到名次的人員進(jìn)行查詢</p><p><b> 成績名次表</b></p><p> 對各項目中得到名次的人員成績查詢</p><p><b> 成績匯冊</b>&
44、lt;/p><p> 對各項目中得到名次的人員進(jìn)行匯冊</p><p><b> 4.系統(tǒng)工具</b></p><p><b> 數(shù)據(jù)備份與恢復(fù)</b></p><p> 對數(shù)據(jù)庫的備份及恢復(fù)</p><p><b> 數(shù)據(jù)表瀏覽</b></
45、p><p> 對數(shù)據(jù)庫中的表進(jìn)行瀏覽</p><p><b> 用戶管理</b></p><p><b> 對用戶信息的管理</b></p><p> 2.4 設(shè)計軟件結(jié)構(gòu)</p><p> 通常程序中的一個模志完成一個適當(dāng)?shù)淖庸δ堋?yīng)該把模塊組織成良好的層次系統(tǒng),頂層
46、模塊調(diào)用它的下層模塊以實現(xiàn)程序的完整功能,每個下層模夫再調(diào)用更下層的模塊,從而完成程序的一個子功能,最下層的模塊完成最具體的功能。軟伯結(jié)構(gòu)可以用層次圖或結(jié)構(gòu)圖來描繪。本系統(tǒng)的軟件結(jié)構(gòu)如圖2-3所示。</p><p> 圖2-3 學(xué)校田徑運(yùn)動會管理系統(tǒng)的層次圖</p><p><b> 第三章 詳細(xì)設(shè)計</b></p><p> 詳細(xì)設(shè)計
47、階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個創(chuàng)優(yōu)的設(shè)計工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某種程序設(shè)計語言書寫的程序。</p><p> 主要是結(jié)構(gòu)程序設(shè)計和設(shè)計工具</p><p> 描述程序處理過程的工具稱為過程設(shè)計的工具,它們可以分為圖形、表格和語言3類。不論是哪類工具,對它們的基本要求都是能提供對設(shè)計的無岐義的描
48、述,也就是應(yīng)該以指明控制流程、處理功能、數(shù)據(jù)組織以及其他方面的實現(xiàn)細(xì)節(jié),從而在編碼階段能把對設(shè)計的描述直接翻譯成程序代碼。這里就用盒圖來描述各模塊。</p><p> 每個模塊要實現(xiàn)的功能不同,所以每個模塊的結(jié)構(gòu)程序也可能不同。下面就是每個模塊的結(jié)構(gòu)程序設(shè)計。</p><p> 3.1 前期編排模塊</p><p> 3.1.1定義比賽項目</p>
49、<p> 這個模塊只需實現(xiàn)簡單的添加和刪除就可以了,所以結(jié)構(gòu)為順序結(jié)構(gòu)。</p><p> 圖3-1 定義比賽項目盒圖</p><p> 這個模塊只需要把要定義的比賽項目加入表中和把不要的項目刪除,這樣這個模塊就只需添加和刪除兩個功能。要定義的比賽項目如果項目名單中不存在則插入表中,如果存在則提示該項目已存在。要刪除某個項目,如果這個項目在表中則直接刪除否則提示該項目不
50、存在。</p><p> 3.1.2 設(shè)置工作崗位</p><p> 這個模塊也只需添加和刪除,所以也用順序結(jié)構(gòu)。</p><p> 圖3-2 設(shè)置工作崗位盒圖</p><p> 要設(shè)置工作崗位就要把新的工作加入表中和把不要的崗位從表中刪除,所以這個模塊只需添加和刪除功能。有新的崗位要設(shè)置就把該崗位信息插入到崗位表中,如果該崗位已存在
51、則提示。刪除崗位也是如此。</p><p> 3.1.3 錄入工作人員</p><p> 錄入工作人員也是同定義比賽項目一樣,也是順序結(jié)構(gòu)。</p><p> 圖3-3 錄入工作人員的盒圖</p><p> 錄入工作人員是把新報名的工作人員加入工作人員的表中并對新工作人員分配崗位,還有刪除某人的某個工作崗位或刪除某人的全部工作崗位。輸
52、入工作人員姓名和崗位,如果該崗位已經(jīng)被此人員選擇則提示已選擇此崗位,如果沒有選擇該崗位則插入表中。</p><p> 3.1.4 運(yùn)動員報名</p><p> 運(yùn)動員報名也如同定義比賽項目,是順序結(jié)構(gòu)。</p><p> 圖3-4 運(yùn)動員報名盒圖</p><p> 運(yùn)動員報名是把運(yùn)動員信息和該運(yùn)動員要參加的比賽插入表中,修改運(yùn)動員的參
53、賽項目和刪除運(yùn)動員。運(yùn)動員報名時如果運(yùn)動員名單中沒有此運(yùn)動員,則把此運(yùn)動員姓名插入運(yùn)動員名單中且把該運(yùn)動員參加的比賽項目插入?yún)①惽闆r表。如果此運(yùn)動員存在而又沒有選擇輸入的比賽項目則只要把該比賽項目插入?yún)①惽闆r表中,否則提示已經(jīng)選擇該比項目。</p><p> 3.1.5 錄入紀(jì)錄成績</p><p> 錄入紀(jì)錄成績也如同定義比賽項目,是順序結(jié)構(gòu)。</p><p>
54、; 圖3-5 錄入紀(jì)錄成績盒圖</p><p> 輸入紀(jì)錄成績是把每個比賽項目的紀(jì)錄成績插入表中,有時還要修改某個比賽項目的紀(jì)錄成績和刪除某個比賽項目的紀(jì)錄成績。</p><p> 3.1.6 生成秩序冊</p><p> 這個模塊是要對項目中每個項目都進(jìn)行一次編排,所以要用DO_WHILE型循環(huán)結(jié)構(gòu)。</p><p> 圖3-6
55、生成秩序冊盒圖</p><p> 要生成秩序冊就需要先設(shè)置各項參數(shù)然后才能生成秩序冊。這樣就要有設(shè)置參數(shù)和修改參數(shù)這兩個功能,然后才能生成秩序冊這個功能。</p><p> 3.1.7 查看秩序冊</p><p> 查看秩序冊只是查看秩序冊的各種結(jié)果,也是順序結(jié)構(gòu)。</p><p> 圖3-7 查看秩序冊盒圖</p>&
56、lt;p> 查看秩序冊就是要查看比賽的各種編排,這樣就需要有查看這個功能。</p><p> 3.2 比賽管理模塊</p><p> 3.2.1 徑賽成績錄入與輸出</p><p> 這個模塊在錄入方面只需添加和修改,所以要用順序結(jié)構(gòu)。但在輸出方面是循環(huán)結(jié)構(gòu)。</p><p> 圖3-8成績錄入部分盒圖
57、 圖3-9 輸出部分盒圖</p><p> 徑賽成績錄入與輸出分為兩部分,成績錄入部分是錄入徑賽成績分為初賽成績錄入、預(yù)賽成績錄入和決賽成績錄入,這樣就要有添加成績和修改成績兩功能。而輸出部分也分為初賽、預(yù)賽和決賽三部分,每個部分都需輸出這個功能。</p><p> 3.2.2 田賽成績錄入與輸出</p><p> 這個模塊在錄入方面也只需添加和
58、修改,所以要用順序結(jié)構(gòu)。在輸出方面也是循環(huán)結(jié)構(gòu)。</p><p> 圖3-10成績錄入部分盒圖 圖3-11 輸出部分盒圖</p><p> 田賽成績錄入與輸出也分為兩部分,即成績錄入部分和輸出部分。成績錄入部分是田賽項目的成績錄入和修改,這樣就需添加和修改兩個功能。輸出部分只需輸出這個功能。</p><p> 3.2.3 全能成績錄入
59、與輸出</p><p> 這個模塊在錄入方面也只需添加和修改,所以要用順序結(jié)構(gòu)。在輸出方面也是循環(huán)結(jié)構(gòu)。</p><p> 圖3-12成績錄入部分盒圖 圖3-13 輸出部分盒圖</p><p> 全能成績錄入與輸出這個模塊和上面兩個模塊一樣與分為兩部分。功能的需求也與上面兩個模塊差不多。</p><p> 3.3
60、 查詢輸出模塊</p><p> 3.3.1 運(yùn)動員成績</p><p> 本模塊只需單項查詢,用IF_THEN_ELSE型選擇結(jié)構(gòu)。</p><p> 圖3-14查詢運(yùn)動員成績盒圖</p><p> 運(yùn)動員成績查詢是以運(yùn)動員姓名來查詢,如果有該運(yùn)動員則輸出該運(yùn)動員的所有比賽的成績,如果不存在該運(yùn)動員則不輸出。</p>
61、<p> 3.3.2 項目成績</p><p> 本模塊只需單項查詢,用IF_THEN_ELSE型選擇結(jié)構(gòu)。</p><p> 圖3-15查詢項目成績盒圖</p><p> 項目成績查詢是以比賽項目來查詢的,輸入一個比賽項目輸出參加該項目的所有人員的比賽成績。</p><p> 3.3.3 代表隊查詢</p>
62、<p> 本模塊的功能內(nèi)容首先是判斷再操作,所以是IF_THEN_ELSE型選擇結(jié)構(gòu)。</p><p> 圖3-16代表隊成績查詢盒圖</p><p> 代表隊成績查詢是以代表隊來查詢的,輸入一個代表隊名稱如果該代表隊不存在則不輸出,否則輸出該代表隊所有運(yùn)動員的所有比賽成績。</p><p><b> 3.3.4 總分表</b&g
63、t;</p><p> 本模塊是要對項目中的每個項目進(jìn)行統(tǒng)計,所以是DO_WHILE型循環(huán)結(jié)構(gòu)。</p><p> 圖3-17總分表查詢盒圖</p><p> 總分表是統(tǒng)計每個代表隊得到的總分?jǐn)?shù),只要單擊查詢就要輸出所有代表隊及各代表隊所得的總分?jǐn)?shù)。</p><p> 3.3.5 項目得分表</p><p>
64、 本模塊只需單項查詢,用IF_THEN_ELSE型選擇結(jié)構(gòu)。</p><p> 圖3-18項目得分表盒圖</p><p> 項目得分表是以項目為單位進(jìn)行的查詢,輸入一個比賽項目查詢一次則輸出該項目比賽中得到名次人員的成績名次信息。</p><p> 3.3.6 成績名次表查詢</p><p> 本模塊是要對項目循環(huán)查詢,所以是DO_W
65、HILE型循環(huán)結(jié)構(gòu)。</p><p> 圖3-19成績名次表盒圖</p><p> 成績名次表查詢是對所有比賽項目的查詢,單擊一下查詢就會輸出所有比賽項目中得到名次的運(yùn)動員的成績信息。</p><p> 3.3.7 成績匯冊</p><p> 本模塊也是要對項目循環(huán)查詢,所以是DO_WHILE型循環(huán)結(jié)構(gòu)。</p><
66、;p> 圖3-20成績匯冊盒圖</p><p> 成績匯冊是所有比賽項目的成績總冊,只要查詢一下就會輸出所有比賽項目的運(yùn)動員成績信息。</p><p><b> 3.4 系統(tǒng)工具</b></p><p> 3.4.1 運(yùn)動會數(shù)據(jù)備份和恢復(fù)</p><p> 運(yùn)動會數(shù)據(jù)備份是把運(yùn)動會的數(shù)據(jù)庫備份到別的地方,
67、運(yùn)動會數(shù)據(jù)恢復(fù)是把備份的數(shù)據(jù)庫還原到原來的地方。</p><p> 3.4.2 系統(tǒng)數(shù)據(jù)表瀏覽</p><p> 系統(tǒng)數(shù)據(jù)表瀏覽是對運(yùn)動會管理系統(tǒng)數(shù)據(jù)庫的的表進(jìn)行瀏覽,只要選中一個表進(jìn)行瀏覽就會輸出該表中所有的記錄。</p><p> 3.4.3 用戶管理</p><p> 用戶管理有用戶添加、用戶刪除、用戶密碼修改。</p&g
68、t;<p><b> 第四章 數(shù)據(jù)庫設(shè)計</b></p><p> 通常把編碼和測試統(tǒng)稱為實現(xiàn)。</p><p> 4.1 數(shù)據(jù)庫表創(chuàng)建</p><p> 根據(jù)學(xué)校田徑運(yùn)動會的實際過程,學(xué)校田徑運(yùn)動會管理系統(tǒng)主要涉及到的數(shù)據(jù)表有用戶信息、運(yùn)動員名單、運(yùn)動員參賽情況、運(yùn)動項目名單、田賽成績、全能成績、徑賽初賽成績、徑賽預(yù)賽成
69、績、徑賽決賽成績、最終成績、崗位表、工作人員表,這些表都是要先建的。各個表的屬性如下:</p><p> 用戶信息(用戶名 char(20),密碼 char(20))</p><p> 運(yùn)動員名單(姓名 char(20),學(xué)號 char(20),性別 char(2),代表隊 char(20))</p><p> 運(yùn)動項目名單(項目名稱 char(20),項目類
70、型 char(20),跑道類型 char(20))</p><p> 田賽成績(姓名char(20),項目類型 char(20),成績 int(10))</p><p> 全能成績(姓名char(20),項目類型 char(20),成績 int(10))</p><p> 徑賽初賽成績(姓名char(20),項目類型 char(20),成績 int(10),組
71、號 int(10),道號 int(10))</p><p> 徑賽預(yù)賽成績(姓名char(20),項目類型 char(20),成績 int(10),組號 int(10),道號 int(10))</p><p> 徑賽決賽成績(姓名char(20),項目類型 char(20),成績 int(10),組號 int(10),道號 int(10))</p><p>
72、最終成績(姓名 char(20),項目名稱 char(20),成績 int(10),名次 int(10),分?jǐn)?shù) int(10))</p><p> 崗位表(崗位編號 char(20),崗位名稱 char(20))</p><p> 工作人員表(姓名 char(20),崗位 char(20))</p><p> 先建好這些數(shù)據(jù)表,然后再設(shè)計界面及編寫代碼。<
73、;/p><p><b> 界面設(shè)計及編碼</b></p><p> 所謂編碼就是把軟件結(jié)果翻譯成用某種程序設(shè)計語言書寫的程序。作為軟件工程過程的一個階段,編碼是對設(shè)計的進(jìn)一步具體化,因此,程序的質(zhì)量主要取決于軟件的質(zhì)量。但是,所選用的程序設(shè)計語言的特點(diǎn)及編碼風(fēng)格也將對程序的可靠性、可讀性、可測性和可維護(hù)性產(chǎn)生深遠(yuǎn)的影響。界面設(shè)計是接口設(shè)計的一個重要的組成部分。對于交互
74、式系統(tǒng)來說,人機(jī)界面設(shè)計和數(shù)據(jù)設(shè)計、體系結(jié)構(gòu)設(shè)計及過程設(shè)計一樣重要。</p><p><b> 5.1登陸界面</b></p><p> 登陸界面作為本軟件的一個門戶,要有鑰匙才能打開,這把鑰匙就是帳號密碼。界面如圖5-1所示。</p><p><b> 圖5-1登陸界面</b></p><p&g
75、t; 輸入帳號密碼,帳號密碼正確就可以進(jìn)入主界面。登陸界面中涉及到的核心代碼如下:</p><p> If Text1.Text <> "" And Text2.Text <> "" Then</p><p> strsql = "select * from 用戶信息 where 用戶名='"
76、 & Text1.Text & "' and 密碼='" & Text2.Text & "'"</p><p> Set rs = cnn.Execute(strsql)</p><p> If Not rs.EOF Then '輸入的登錄信息正確,則進(jìn)入系統(tǒng)</p>
77、<p><b> 主界面.Show</b></p><p> Unload 登陸界面</p><p><b> Else</b></p><p> MsgBox "您輸入的登錄信息有誤,請重新輸入!", vbOKOnly + vbExclamation, "提示"&
78、lt;/p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><p> Text1.SetFocus</p><p><b> End If</b></p><p><b> Else<
79、/b></p><p> MsgBox "您輸入的帳號或密碼有誤!", vbOKOnly + vbExclamation, "警告"</p><p> Text1.Text = ""</p><p> Text2.Text = ""</p><p>
80、 Text1.SetFocus</p><p><b> End If</b></p><p> 此登陸界面中涉及到的帳號密碼就是用戶信息表中的記錄,如果用戶信息中沒有與輸入的帳號密碼相匹配的,就出現(xiàn)“您輸入的帳號或密碼有誤!”的提示。</p><p><b> 5.2主界面</b></p><p
81、> 主界面是進(jìn)行比賽進(jìn)程的各個功能的總控制。把進(jìn)行田徑運(yùn)動員所要有的功能通過菜單全部編輯在一起,只要點(diǎn)擊相應(yīng)的菜單項就可以進(jìn)行各種功能操作。主界面也就是各種功能的連接點(diǎn)。主界面圖5-2所示</p><p><b> 圖5-2 主界面</b></p><p> 主界面左上角就是菜單,每一個菜單中都有多個菜單項,每個菜單項就是進(jìn)行比賽管理的一個模塊缺一不可。所
82、有的菜單項組成一個學(xué)校田徑運(yùn)動會管理系統(tǒng)。</p><p><b> 5.3 前期編排</b></p><p> 前期編排中的定義比項目、設(shè)置工作崗位、錄入工作人員、運(yùn)動員報名和錄入紀(jì)錄成績都是表中不存在的就插入到表中,如果存在就修改。這幾個小模塊的代碼在同小異這里只摘入其中一個小模塊的代碼。這里就以運(yùn)動員報名為例界面如圖5-3所示:</p><
83、;p> 圖5-3 運(yùn)動員報名界面</p><p> 在運(yùn)動員報名界面中輸入要報名人的信息及所要參加的項目,如果此人在運(yùn)動員名單中不存在則把此運(yùn)動員信息插入到運(yùn)動員名單中,并且把此人所要報的項目信息插入到參賽情況表中。如果此人存在于運(yùn)動員名單中且該項目沒有被此人選擇則把此人參加該項目的信息插入到參賽情況表中,否則提示此人已經(jīng)參加了此項目。部分代碼如下:</p><p> strs
84、ql = "select * from 運(yùn)動員名單 where 姓名='" & Text1.Text & "' or 學(xué)號='" & Text2.Text & "'"</p><p> Set rs = cnn.Execute(strsql)</p><p> I
85、f rs.EOF = True Then '該運(yùn)動員不存在,可以入庫</p><p> strsql1 = "insert into 運(yùn)動員名單 values('" + Text2.Text + "','" & Text1.Text & "','" + Combo2.Text + &quo
86、t;','" + Text4.Text + "')"</p><p> strsql3 = "insert into 運(yùn)動員參賽情況 values('" + Text1.Text + "','" + Combo1.Text + "')"</p><
87、p> cnn.Execute (strsql1)</p><p> cnn.Execute (strsql3)</p><p> MsgBox "報名成功!", vbOKOnly, "提示"</p><p><b> Else</b></p><p> strsql
88、2 = "select * from 運(yùn)動員參賽情況 where 姓名='" & Text1.Text & "' and 項目名稱='" & Combo1.Text & "'"</p><p> Set rs = cnn.Execute(strsql2)</p><p&
89、gt; If rs.EOF = True Then</p><p> strsql4 = "insert into 運(yùn)動員參賽情況 values('" & Text1.Text & "','" & Combo1.Text & "')"</p><p> cnn.
90、Execute (strsql4)</p><p><b> End If</b></p><p><b> End if</b></p><p><b> 5.4 比賽管理</b></p><p> 比賽管理模塊中有三個小模塊分為:徑賽成績錄入與輸出、田賽成績錄入與輸
91、出和全能成績錄入與輸出。這三個模塊要實現(xiàn)的功能也一樣,所以這三個模塊的界面也差不多,在這里就用其中的一個模塊來做為例子,就以田賽成績錄入與輸出這個模塊為例,界面如圖5-4所示:</p><p> 圖5-4 田賽成績錄入與輸出界面</p><p> 從項目和姓名中選擇相應(yīng)的項目及姓名,輸入成績?nèi)绻巳说拇隧椖砍煽儧]有錄入單擊確定就可以把此成績插入到田賽成績表中,如果成績已存在則修改此成績
92、。代碼如下:</p><p> strsql = "select * from 田賽成績 where 姓名='" & Combo2.Text & "' and 項目名稱='" & Combo1.Text & "'"</p><p> Set rs = cnn.Ex
93、ecute(strsql)</p><p> If rs.EOF = True Then '該項目成績沒有被記錄,可以入庫</p><p> strsql3 = "insert into 田賽成績 values('" & Combo2.Text & "','" & Combo1.Text &
94、amp; "','" & Text3.Text & "')"</p><p> cnn.Execute (strsql3)</p><p> MsgBox "修改成功!", vbOKOnly, "提示"</p><p> Text3.Text
95、 = ""</p><p><b> Else</b></p><p> strsql4 = "update 田賽成績 set 成績='" & Text3.Text & "' where 姓名='" & Combo2.Text & "
96、9; and 項目名稱='" & Combo1.Text & "'"</p><p> cnn.Execute (strsql4)</p><p> Text3.Text = ""</p><p><b> End If</b></p><
97、;p> 單擊圖(4)中的輸出就是得出田賽項目的最終成績即得出田賽項目的名次。田賽輸出是把每個田賽項目中的前幾名的人員成績信息輸出到最終成績表中,從田賽成績中的開始查找田賽項目,則從田賽成績表中把從項目名單中查找到的項目的前幾名成績信息輸出到最終成績表中。然后再從田賽成績中查找下一個田賽項目,再把該項目的前幾名輸出到最終成績表中,以此循環(huán)直到田賽成績中的項目全部查完。輸出部分的代碼如下:</p><p>
98、 strsql6 = "select 每項目取的名次 from 參數(shù)表"</p><p> Set rs = cnn.Execute(strsql6)</p><p> strsql = "select distinct 項目名稱 from 田賽成績"</p><p> Set rs1 = cnn.Execute(str
99、sql)</p><p><b> i = 0</b></p><p> Do While Not rs1.EOF</p><p> strsql1 = "select * from 田賽成績 where 項目名稱='" & rs1.Fields(0) & "'order by
100、 成績 desc"</p><p> Set rs2 = cnn.Execute(strsql1)</p><p> For j = 0 To Val(rs.Fields(0)) - 1</p><p> strsql3 = "select * from 最終成績 where 姓名='" & rs2.Fields(
101、0) & "' and 項目名稱='" & rs2.Fields(1) & "'"</p><p> Set rs = cnn.Execute(strsql3)</p><p> If rs.EOF Then</p><p> strsql0 = "select
102、分?jǐn)?shù) from 名次分?jǐn)?shù)表 where 名次=" & j + 1 & ""</p><p> Set rs5 = cnn.Execute(strsql0)</p><p> strsql2 = "insert into 最終成績(姓名,項目名稱,成績,名次,分?jǐn)?shù)) values('" & rs2.Fiel
103、ds(0) & "','" & rs2.Fields(1) & "','" & rs2.Fields(2) & "','" & j + 1 & "','" & rs5.Fields(0) & "')&quo
104、t;</p><p> cnn.Execute (strsql2)</p><p><b> End If</b></p><p> rs2.MoveNext</p><p><b> Next</b></p><p> rs1.MoveNext</p>
105、<p><b> i = i + 1</b></p><p><b> Loop</b></p><p><b> 5.5 查詢輸出</b></p><p> 查詢輸出模塊中有七種不同的查詢:運(yùn)動員成績查詢、代表隊成績查詢、項目成績查詢、總分表、項目名次表、成績名次表和成績匯冊。
106、這些查詢都是使用SQL語句進(jìn)行查詢,不同的就是SQL語句中的條件不同面已,因此在代碼方面都差不多,如項目成績查詢。項目成績查詢界面如圖5-5所示。</p><p><b> 圖5-5 查詢界面</b></p><p> 從圖(5)中的項目名稱中選擇一個項目,然后單擊查詢就會輸出該項目的所有運(yùn)動員的比賽成績。部分代碼如下:</p><p>
107、 If Combo1.Text = "" Then</p><p> MsgBox "請選擇項目名稱!", vbOKOnly, "提示"</p><p><b> Else</b></p><p> strsql = "select 項目類型 from 運(yùn)動項目名單 w
108、here 項目名稱='" & Combo1.Text & "'"</p><p> Set rs = cnn.Execute(strsql</p><p> If rs.Fields(0) = "田賽項目" Then</p><p> strsql1 = "select
109、 * from 田賽成績 where 項目名稱='" & Combo1.Text & "'"</p><p> Set rs1 = cnn.Execute(strsql1)</p><p> With MSHFlexGrid1 '詳細(xì)查詢的信息顯示</p><p><b> .Ro
110、ws = 2</b></p><p> .CellAlignment = 4</p><p> .TextMatrix(0, 0) = "姓名"</p><p> .TextMatrix(0, 1) = "項目名稱"</p><p> .TextMatrix(0, 2) = &quo
111、t;成績"</p><p> Do While Not rs1.EOF</p><p> .Rows = .Rows + 1</p><p> .CellAlignment = 4</p><p> .TextMatrix(.Rows - 2, 0) = rs1.Fields(0)</p><p>
112、 .TextMatrix(.Rows - 2, 1) = Trim(rs1.Fields(1))</p><p> .TextMatrix(.Rows - 2, 2) = rs1.Fields(2)</p><p> rs1.MoveNext</p><p><b> Loop</b></p><p> '
113、;.Rows = .Rows - 1</p><p><b> End With</b></p><p><b> End If</b></p><p><b> End if</b></p><p> 上述代碼只是實現(xiàn)選擇的項目是田賽項目的成績輸出,選擇的項目是徑賽項
114、目和全能項目這里就不列出來了。實現(xiàn)項目成績查詢首先選擇項目名稱再查詢,先判斷選擇的項目是哪一種類型的項目,如果是全能項目或田賽項目則第一行是姓名、項目名稱和成績,如果是徑賽項目第一行就是姓名、項目名稱、初賽成績、預(yù)賽成績和決賽成績,從第二行開始就是該項目所有運(yùn)動員的成績信息。</p><p><b> 5.6 系統(tǒng)工具</b></p><p> 系統(tǒng)工具是為本系統(tǒng)
115、服務(wù)的工具,方便本系統(tǒng)的使用。如數(shù)據(jù)庫備份與恢復(fù)就是為了防止系統(tǒng)的數(shù)據(jù)庫出現(xiàn)錯誤,可以通過還原數(shù)據(jù)庫來修正這個錯誤。而數(shù)據(jù)表的瀏覽是讓人清楚數(shù)據(jù)庫中有哪些表及表的屬性,讓人更清楚明白數(shù)據(jù)庫表的結(jié)構(gòu)。這里就以數(shù)據(jù)庫備份與還原為例,界面如圖5-6所示</p><p> 圖5-6備份與還原界面 圖5-7 備份完成界面</p><p> 只要單擊下圖(6)
116、中備份或恢復(fù)即可完成備份或恢復(fù)操作。圖(7)就是完成了數(shù)據(jù)庫備份成功后的界面。備份數(shù)據(jù)庫就是把系統(tǒng)中的數(shù)據(jù)庫壓縮拷貝到另外的路徑文件下面。</p><p> Dim FileName As String</p><p> Dim FileBack As String</p><p> Dim Info As String</p><p>
117、; FileName = mypath & "db1.mdb"</p><p> FileBack = mypath & "backup/db.bak"</p><p> Info = "正在備份數(shù)據(jù)庫" & FileName</p><p> BackupDatabase
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 田徑運(yùn)動會管理系統(tǒng)
- 田徑運(yùn)動會管理系統(tǒng)的設(shè)計與實現(xiàn)-開題報告
- 高校田徑運(yùn)動會管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 田徑運(yùn)動會管理系統(tǒng)設(shè)計與實現(xiàn)delphi+sql
- 田徑運(yùn)動會管理系統(tǒng)的分析與設(shè)計.pdf
- 田徑運(yùn)動會管理信息系統(tǒng)的設(shè)計與實現(xiàn).pdf
- vb074學(xué)校田徑運(yùn)動會管理系統(tǒng)access
- [vb畢設(shè)]學(xué)校田徑運(yùn)動會管理系統(tǒng)access
- vb074學(xué)校田徑運(yùn)動會管理系統(tǒng)access
- vb+access學(xué)校田徑運(yùn)動會管理系統(tǒng)設(shè)計(源代碼+系統(tǒng)+答辯)
- c++課程設(shè)計--學(xué)校運(yùn)動會管理系統(tǒng)設(shè)計
- 畢業(yè)論文范文——學(xué)校田徑運(yùn)動會管理系統(tǒng)
- 畢業(yè)論文范文——學(xué)校田徑運(yùn)動會管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計----學(xué)校運(yùn)動會管理系統(tǒng)
- 運(yùn)動會管理系統(tǒng)課程設(shè)計報告
- 田徑運(yùn)動會編排管理系統(tǒng)設(shè)計和實現(xiàn).pdf
- 課程設(shè)計報告--- 校際運(yùn)動會管理系統(tǒng)
- 課程設(shè)計報告-校際運(yùn)動會管理系統(tǒng)
- c++課程設(shè)計——校級運(yùn)動會管理系統(tǒng)
- c語言課程設(shè)計--校際運(yùn)動會管理系統(tǒng)
評論
0/150
提交評論