軟件工程選課系統(tǒng)終極文檔.doc_第1頁
軟件工程選課系統(tǒng)終極文檔.doc_第2頁
軟件工程選課系統(tǒng)終極文檔.doc_第3頁
軟件工程選課系統(tǒng)終極文檔.doc_第4頁
軟件工程選課系統(tǒng)終極文檔.doc_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件工程實(shí)驗(yàn)報(bào)告 實(shí) 驗(yàn) 課 題 : 選 課 管 理 系 統(tǒng) 開 發(fā)開發(fā)者:張昂 張堯伍 王習(xí)武 藍(lán)天 翟洋洋目 錄一、系統(tǒng)可行性研究1.1 引言-51.1.1 開發(fā)目的1.1.2 開發(fā)背景1.1.3 參考資料1.1.4 開發(fā)環(huán)境1.2 可行性研究的前提-51.2.1 要求 1.2.2 性能 1.2.3 完成期限 1.2.4 開發(fā)目標(biāo) 1.2.5 條件、假設(shè)和限制 1.2.6 進(jìn)行可行性研究的方法1.3 運(yùn)行環(huán)境的可行性-61.3.1 運(yùn)行環(huán)境的說明 1.3.2 工作負(fù)荷 1.3.3 技術(shù)條件的可行性1.4 社會(huì)因素方面的可行性-61.4.1 法律方面1.4.2 適用方面1.5 經(jīng)濟(jì)因素方面的可行性-7二、需求分析2.1 系統(tǒng)需求-72.2 功能需求-72.3 性能需求-72.4 運(yùn)行環(huán)境需求-82.4.1 軟件環(huán)境 2.4.2 硬件環(huán)境2.5 用戶特點(diǎn)-8三、繪制數(shù)據(jù)流圖和數(shù)據(jù)字典3.1 數(shù)據(jù)流圖-83.1.1 導(dǎo)入課程數(shù)據(jù)流圖 3.1.2 學(xué)生選課數(shù)據(jù)流圖 3.1.3 查詢課程數(shù)據(jù)流圖3.2 數(shù)據(jù)字典-93.2.1 課程信息數(shù)據(jù)字典 3.2.2 選課學(xué)生簡(jiǎn)要信息數(shù)據(jù)字典 3.2.3 選課學(xué)生具體信息數(shù)據(jù)字典 3.2.4 教師信息數(shù)據(jù)字典 3.2.5 院系信息數(shù)據(jù)字典 3.2.6 管理員數(shù)據(jù)字典 3.2.7 選課記錄數(shù)據(jù)字典四、E-R圖-10五、總體設(shè)計(jì)5.1 設(shè)計(jì)過程及原理-155.2 軟件結(jié)構(gòu)-165.3 HIPO圖- -16六、詳細(xì)設(shè)計(jì)6.1 詳細(xì)設(shè)計(jì)總體描述-196.2 程序流程圖-196.2.1 選課信息查詢程序流程圖 6.2.2 課程導(dǎo)入程序流程圖 6.2.3 管理員設(shè)置程序流程圖 6.2.4 管理員添加 6.2.5 管理員修改 6.2.6 管理員刪除 6.2.7 選課程序流程圖6.3 核心代碼-27七、軟件測(cè)試7.1 軟件測(cè)試-547.1.1 測(cè)試目標(biāo) 7.1.2 測(cè)試環(huán)境7.2 測(cè)試報(bào)告-557.2.1 登陸控制及權(quán)限所有測(cè)試 7.2.2 界面測(cè)試 7.2.3 預(yù)定功能測(cè)試7.3 測(cè)試結(jié)論-62附錄: 編者話- -63一、系統(tǒng)可行性研究1.1引言1.1.1目的本項(xiàng)目計(jì)劃旨在明確開發(fā)過程,保證項(xiàng)目質(zhì)量,統(tǒng)一小組成員對(duì)項(xiàng)目的理解,并對(duì)開發(fā)過程進(jìn)行指導(dǎo);并且作為項(xiàng)目通過評(píng)審的依據(jù);并說明該軟件開發(fā)項(xiàng)目的實(shí)現(xiàn)在技術(shù)上,經(jīng)濟(jì)上,社會(huì)因素上得可行性,評(píng)述為了合理地達(dá)到開發(fā)目標(biāo)可供選擇的各種選擇實(shí)施方案,說明并論證所選定實(shí)施方案的理由。1.1.2背景1.系統(tǒng)的名稱:學(xué)生管理選課系統(tǒng)2.項(xiàng)目的任務(wù)提出者是本次課程設(shè)計(jì)輔導(dǎo)老師程凡老師3.開發(fā)者:張昂 王習(xí)武 翟洋洋 藍(lán)天 張堯伍4.項(xiàng)目使用者:高校管理員、老師和學(xué)生1.1.3參考資料百度文庫1.1.4 開發(fā)環(huán)境開發(fā)軟件: VC+ 6.0數(shù)據(jù)庫軟件:Microsoft Office Access 2003開發(fā)環(huán)境:Windows XP1.2可行性研究的前提1.2.1要求1.功能1) 普通用戶:學(xué)生修改個(gè)人密碼;查看學(xué)生基本信息及詳細(xì)信息;學(xué)生個(gè)人選課;查看課表;查看學(xué)生個(gè)人在校學(xué)習(xí)成績(jī);評(píng)價(jià)教師;2) 普通用戶:教師修改個(gè)人密碼;查看教師基本信息及消息信息;查看課表;3) 特殊用戶:管理員注冊(cè)師生信息;刪除師生信息;查看師生信息;課程信息添加;課程信息刪除;課程信息修改;1.2.2性能查詢效率盡可能的做到準(zhǔn)確,信息維護(hù)做到簡(jiǎn)單易用,不需要對(duì)用戶進(jìn)行培訓(xùn);1.2.3完成期限:到本學(xué)期17周1.2.4目標(biāo)系統(tǒng)應(yīng)盡量做到以下功能:1) 人力與設(shè)備費(fèi)用的減少、2) 采用現(xiàn)代課程設(shè)計(jì)技術(shù)3) 數(shù)據(jù)的處理速度的提高4) 管理信息服務(wù)的改進(jìn)5) 人員利用率盡量提高6) 結(jié)果應(yīng)盡可能的審查1.2.5條件、假設(shè)、和限制本系統(tǒng)的條件、假設(shè)和所受到的限制有以下幾方面:1) 本系統(tǒng)僅為實(shí)驗(yàn)所用2) 硬件、軟件、運(yùn)行環(huán)境和開發(fā)環(huán)境方面的條件和限制:由于是個(gè)人電腦,所以硬件設(shè)施可能在性能上比較差,軟件完全是免費(fèi)得,功能可能會(huì)受到相應(yīng)的限制;對(duì)windows 比較熟悉,所以,開發(fā)主要在這個(gè)平臺(tái)上進(jìn)行的3) 可利用的信息和資源:沒有相應(yīng)的軟件項(xiàng)目開發(fā)的經(jīng)驗(yàn),所以能力還是有限的,收集的資源有限,故對(duì)信息的了解不夠全面;4) 系統(tǒng)投入使用的最晚時(shí)間:本學(xué)期第17周1.2.6進(jìn)行可行性研究的方法根據(jù)課本里面的相關(guān)知識(shí)、圖書館所借的書以及平時(shí)所累積的一些經(jīng)驗(yàn),綜合本系統(tǒng)所要達(dá)到的目標(biāo)進(jìn)行分析而得到。1.所建議的系統(tǒng)1.對(duì)所建議系統(tǒng)的說明本系統(tǒng)是運(yùn)用制作的一個(gè)小型學(xué)生選課系統(tǒng),實(shí)現(xiàn)這個(gè)系統(tǒng)將用到以下幾種技術(shù):) 的各種應(yīng)用) 數(shù)據(jù)庫系統(tǒng)技術(shù)1.2工作負(fù)荷現(xiàn)有系統(tǒng)所承擔(dān)的工作及工作量:系統(tǒng)功能:() 登陸() 選課功能() 查詢功能() 修改功能1.3.3技術(shù)條件方面的可行性.在當(dāng)前的限制條件下,該系統(tǒng)的功能目標(biāo)是能夠達(dá)到預(yù)期效果的開發(fā)人員的數(shù)量:人;均接受過相關(guān)知識(shí)的培訓(xùn),但首次做系統(tǒng),經(jīng)驗(yàn)不足在規(guī)定的時(shí)間內(nèi),本系統(tǒng)的開發(fā)可以實(shí)現(xiàn)1.3.社會(huì)因素方面的可行性1.法律方面的可行性本系統(tǒng)純屬于團(tuán)隊(duì)的開發(fā)所成,不會(huì)因?yàn)榘鏅?quán)問題造成糾紛,不作為商業(yè)用途2.適用方面的可行性界面設(shè)計(jì)時(shí)充分考慮管理人員的習(xí)慣,使得操作簡(jiǎn)單;數(shù)據(jù)錄入迅速 規(guī)范 可靠;統(tǒng)計(jì)準(zhǔn)確;制表靈活;適應(yīng)力強(qiáng);容易擴(kuò)充.第2章內(nèi)容主要是:系統(tǒng)需求分析包括,現(xiàn)有系統(tǒng)介紹;系統(tǒng)的實(shí)體分析,實(shí)體關(guān)系圖.1.3.經(jīng)濟(jì)可行性由于本系統(tǒng)是為學(xué)生選課管理使用的系統(tǒng),裝上該應(yīng)用軟件,即可使用系統(tǒng),系統(tǒng)成本主要集中在系統(tǒng)軟件的開發(fā)上,當(dāng)系統(tǒng)投入運(yùn)行后可以為學(xué)校節(jié)約大量的人力,物力.所帶來的效益遠(yuǎn)遠(yuǎn)大于系統(tǒng)軟件的開發(fā)成本.在經(jīng)濟(jì)上完全可行.1.3.結(jié)論本系統(tǒng)可以立即開始進(jìn)行實(shí)施;并盡可能提前完成,;從人力資源上面來看,可以充分利用各人的擅長(zhǎng)來開發(fā)本系統(tǒng);從開發(fā)成本上面來看,將支出成本降到最低;所以本方案最佳。二、需求分析2.1系統(tǒng)需求用戶的需求具體體現(xiàn)在各種學(xué)習(xí)成績(jī)的提供、保存、更新和查詢方面,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)處理的流程,組成一份詳細(xì)數(shù)據(jù)詞典,為后面的具體設(shè)計(jì)打下基礎(chǔ)。2.2功能需求通過系統(tǒng)功能分析,針對(duì)一般的上網(wǎng)選課系統(tǒng),總結(jié)出以下的需求信息:() 學(xué)生的需求:網(wǎng)上選課、選課查詢情況包括該門課程的老師信息,上課時(shí)間及該門課程的學(xué)分,修改密碼等;() 本系統(tǒng)主要實(shí)現(xiàn)學(xué)生信息管理和選課查詢。選課學(xué)生具體信息包括學(xué)工號(hào)、年齡、性別、民族、年級(jí)、專業(yè)、宿舍號(hào)、聯(lián)系電話、郵箱、身份證號(hào)、生日、籍貫;學(xué)生簡(jiǎn)要信息包括學(xué)工號(hào)、密碼、姓名、性別、年級(jí)、專業(yè)、限制學(xué)分、課程信息;課程信息包括課程代碼、課程名稱、系別、任課老師id、上課時(shí)間、上課地點(diǎn)、課程容量、課程剩余量、課時(shí)、課程性質(zhì)、屆別;老師信息包括職工號(hào)、密碼、姓名、性別、院系、職稱、課程信息;管理員信息包括用 管理員編號(hào)、密碼、姓名、性別、聯(lián)系電話、所屬部門;院系信息包括學(xué)院名稱、學(xué)院代碼、上級(jí)部門編號(hào)、簡(jiǎn)介選課記錄信息包括學(xué)工號(hào)、課程代碼、考試成績(jī)2.3 性能需求2.3.1響應(yīng)時(shí)間系統(tǒng)響應(yīng)的最短時(shí)間要求2.3.2 精度需求系統(tǒng)輸入輸出的精度要求2.4 運(yùn)行環(huán)境需求 2.4.1 軟件環(huán)境操作系統(tǒng)及版本:Windows XP支撐軟件:VC+ 6.0數(shù)據(jù)庫環(huán)境:Microsoft Office Access 2003 2.4.2 硬件環(huán)境CPU:內(nèi)存:外存:輸入輸出設(shè)備:現(xiàn)階段所使用的計(jì)算機(jī)均可.2.用戶特點(diǎn)本系統(tǒng)是面向高校學(xué)生 教師和網(wǎng)絡(luò)管理員的.對(duì)電腦都有一定的操作能力,根據(jù)菜單提示都能熟練使用本系統(tǒng).三、繪制數(shù)據(jù)流圖和數(shù)據(jù)字典3.1 數(shù)據(jù)流圖3.1.1 導(dǎo)入課程數(shù)據(jù)流圖課程存儲(chǔ)信息D課程信息系統(tǒng)管理員存儲(chǔ)課程信息生成新課程編號(hào)重新編寫課程代碼課程信息 3.1.2 學(xué)生選課數(shù)據(jù)流圖課程剩余信息選課信息D4課程剩余信息D22師生資料學(xué)生選課記錄D1學(xué)工號(hào)信息系統(tǒng)管理員處理選課者信息檢驗(yàn)選課號(hào)信息查詢選課情況選課者更新課程信息 3.1.3 查詢課程數(shù)據(jù)流圖課程信息課程清單D2D1課程清單課程信息學(xué)生資料課程信息查找的課程信息系統(tǒng)管理員處理選課號(hào)信息選課者3.2 數(shù)據(jù)字典3.2.1課程信息數(shù)據(jù)字典課程信息系統(tǒng)名選課系統(tǒng)別名無描述每一門的課程信息定義課程信息=課程代碼+課程名稱+系別+職工號(hào)+上課時(shí)間 +上課地點(diǎn)+課程容量+課程剩余量+課時(shí)+課程性質(zhì)+屆別位置課程目錄文件簡(jiǎn)要說明課程代碼是課程唯一識(shí)別信息備注:1、課程代碼:識(shí)別課程的唯一標(biāo)準(zhǔn)。形如:GM003642、課程名稱:形如:軟件工程3、系別:形如計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院軟件工程系4、職工號(hào):教師教工號(hào)。例如:李強(qiáng) E9185205、上課時(shí)間:形如:周五第1,2節(jié)第1-10周6、上課地點(diǎn):形如:篤南A207課程容量=已選人數(shù)+課程剩余量7、課程容量:該課程能能容納學(xué)生的人數(shù)。8、課程剩余量:該課程還能讓多少學(xué)生選。9、課時(shí):36課時(shí)|54課時(shí)|72課時(shí)10、課程性質(zhì):專業(yè)基礎(chǔ)課|專業(yè)核心課|人文素質(zhì)課|科技素質(zhì)課|體育課|跨專業(yè)11、屆別:大一|大二|大三|大四課程信息的每個(gè)字段定義如下:屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注課程代碼char10N唯一課程名稱char50N系別char30N任課老師idchar30N上課時(shí)間intN上課地點(diǎn)char30N課程容量intN課程剩余量int10N課時(shí)Int10N課程性質(zhì)Char10N屆別Int10N3.2.2選課學(xué)生簡(jiǎn)要信息數(shù)據(jù)字典選課學(xué)生簡(jiǎn)要信息系統(tǒng)名選課系統(tǒng)別名無描述每一位選課學(xué)生信息定義選課學(xué)生簡(jiǎn)要信息=學(xué)工號(hào)+密碼 +姓名+性別+年級(jí)+專業(yè)+限制學(xué)分+課程信息位置選課者目錄文件簡(jiǎn)要說明:學(xué)工號(hào)是選課者唯一識(shí)別碼備注:1、學(xué)工號(hào):識(shí)別學(xué)生的唯一標(biāo)準(zhǔn)。形如:E20914094 2、密碼:六個(gè)數(shù)字組成。形如:000000 3、姓名:由2-4個(gè)漢字組成。形如:藍(lán)天。 4、性別:男|女 5、年級(jí):大一|大二|大三|大四 6、限制學(xué)分:能多能選多少學(xué)分。 7、課程信息:選擇的課程的信息。選課學(xué)生信息的每個(gè)字段定義如下:屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注學(xué)工號(hào)Char40N唯一密碼char10N姓名char30N性別char5N年級(jí)Int50Y專業(yè)Char10Y限制學(xué)分Int10Y課程信息char100N3.2.3選課學(xué)生具體信息數(shù)據(jù)字典學(xué)生具體信息系統(tǒng)名選課系統(tǒng)別名無描述每一位學(xué)生具體信息定義學(xué)生具體信息=學(xué)工號(hào)+年齡 +性別+民族+年級(jí)+專業(yè)+宿舍號(hào) +聯(lián)系方式+郵箱+身份證+生日+籍貫位置選課者目錄文件簡(jiǎn)要說明:學(xué)工號(hào)是學(xué)生唯一識(shí)別碼備注: 1、學(xué)工號(hào):識(shí)別學(xué)生的唯一標(biāo)準(zhǔn)。形如:E20914094 2、年齡:學(xué)生年齡。 3、性別:男|女 4、名族:形如:漢 5、年級(jí):大一|大二|大三|大四6、專業(yè):形如:軟件工程7、宿舍號(hào):形如:棗園 16158、聯(lián)系方式:手機(jī)號(hào):形如138XXXXXXXX9、郵箱:形如11111111110、身份證:省份證號(hào)碼11、生日:形如3月1號(hào)12、籍貫:形如:宣城。選課學(xué)生具體信息的每個(gè)字段定義如下:屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注學(xué)工號(hào)Char40N唯一年齡Int10N性別Char10N民族Char10N年級(jí)Char10N專業(yè)Char50Y宿舍號(hào)Char10Y聯(lián)系方式Int50Y郵箱Char20Y身份證Char20Y生日Char20Y籍貫Char50Y3.2.4教師信息數(shù)據(jù)字典教師信息系統(tǒng)名選課系統(tǒng)別名無描述每一位教師具體信息定義教師信息=職工號(hào) +密碼 +姓名+性別+院系+職稱+課程信息位置教師目錄文件簡(jiǎn)要說明:職工號(hào)是教師唯一識(shí)別碼備注:1、職工號(hào):識(shí)別教師的唯一標(biāo)準(zhǔn)。形如:李強(qiáng) 9185202、密碼:6位數(shù)字組成。形如:0000003、姓名:教師姓名4、性別:男|女5、院系:所屬院系用一個(gè)字母代替(該字母為院系代碼)。E:計(jì)算機(jī)學(xué)院6、職稱:講師|副教授|教授7、課程信息:所教的課程的信息。教師信息的每個(gè)字段定義如下:屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注職工號(hào)Char40N唯一密碼Char10N姓名Char30N性別Char5N院系Char50Y職稱Char10Y課程信息Char50Y3.2.5院系信息數(shù)據(jù)字典院系信息系統(tǒng)名選課系統(tǒng)別名無描述院系具體信息定義院系信息=學(xué)院名稱+學(xué)院代碼+上級(jí)部門編號(hào)+簡(jiǎn)介位置院系目錄文件簡(jiǎn)要說明:學(xué)院代碼是學(xué)院唯一識(shí)別碼備注:1、學(xué)院名稱:形如:計(jì)算機(jī)學(xué)院2、學(xué)院代碼:一個(gè)大寫字母代替。形如:E 計(jì)算機(jī)學(xué)院3、上級(jí)部門編號(hào):4、簡(jiǎn)介:關(guān)于該學(xué)院的大致介紹。院系信息的每個(gè)字段定義如下: 屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注學(xué)院名稱Char40Y學(xué)院代碼char10N唯一上級(jí)部門編號(hào)char30N簡(jiǎn)介txt100N3.2.6管理員信息數(shù)據(jù)字典管理員信息系統(tǒng)名選課系統(tǒng)別名無描述每一位管理員具體信息定義管理員信息=管理員編號(hào)+密碼+姓名+性別+聯(lián)系電話+所屬部門位置管理員目錄文件簡(jiǎn)要說明:管理員編號(hào)是管理員的唯一識(shí)別碼備注:1、管理員編號(hào):識(shí)別管理員的唯一標(biāo)準(zhǔn)。如:一號(hào)管理員編號(hào)為0012、密碼:6個(gè)數(shù)字組成。如:0000003、姓名:管理員的姓名4、性別:男|女5、聯(lián)系方式:手機(jī)號(hào):138xxxxxxxx6、所屬部門:維護(hù)部|管理部|宣傳部.管理員信息中每個(gè)字段如下:屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注管理員編號(hào)char5N唯一密碼char10N姓名char30N性別char2N聯(lián)系電話char11Y所屬部門char3N3.2.7選課記錄表數(shù)據(jù)字典選課記錄信息系統(tǒng)名選課系統(tǒng)別名無描述每一位學(xué)生的選課記錄具體信息定義選課記錄信息=學(xué)工號(hào)+課程代碼+考試成績(jī)位置選課記錄文件簡(jiǎn)要說明:備注:: 1、選課記錄信息:學(xué)生所選課程的信息識(shí)別選課記錄信息的唯一標(biāo)準(zhǔn)2、學(xué)工號(hào):識(shí)別學(xué)生的唯一標(biāo)準(zhǔn)。形如:E209140943、課程代碼:識(shí)別課程的唯一標(biāo)準(zhǔn)。形如:GM003644、考試成績(jī):學(xué)生這門課的考試成績(jī)。屬性名數(shù)據(jù)類型長(zhǎng)度允許空備注學(xué)工號(hào)Char40N唯一課程代碼char10N考試成績(jī)char30N四、E-R圖系統(tǒng)管理員老師管理姓名性別聯(lián)系電話管理員信息密碼密碼性別院系姓名課程代碼系別課程名稱上課時(shí)間屆別課程容量課程性質(zhì)剩余課程量所屬部門職工號(hào)課程學(xué)生課程信息限制學(xué)分專業(yè)年級(jí)密碼學(xué)工號(hào)管理管理職稱課程信息上課地點(diǎn)課時(shí)姓名性別五、總體設(shè)計(jì)5.1 設(shè)計(jì)過程及原理選課系統(tǒng)下分為查詢子系統(tǒng)和系統(tǒng)登錄,查詢子系統(tǒng)也就是選課者對(duì)選課的查詢。系統(tǒng)登錄下分為管理子系統(tǒng)和基本信息設(shè)置,基本信息設(shè)置即對(duì)管理員信息的添加、刪除以及修改,也即對(duì)系統(tǒng)的操作員進(jìn)行權(quán)限的控制,以提高系統(tǒng)的安全性。管理子系統(tǒng)分為課程導(dǎo)入系統(tǒng)、學(xué)生選課系統(tǒng)、學(xué)工號(hào)注冊(cè)以及注銷系統(tǒng)。師生選課子系統(tǒng)通過學(xué)工號(hào)對(duì)選課者實(shí)時(shí)控制,選課子系統(tǒng)可以對(duì)課程進(jìn)行選擇管理,選課時(shí),首先檢查選課者的學(xué)工號(hào)信息是否有效,有效的話將進(jìn)入選課系統(tǒng),同時(shí)調(diào)出選課者選擇課程情況。學(xué)工號(hào)注冊(cè)和注銷子系統(tǒng)可以對(duì)選課者對(duì)選課權(quán)限的控制。只有學(xué)工號(hào)的才可以進(jìn)行選課活動(dòng),已注銷的選課者將不再享有選課的權(quán)限。5.2 軟件結(jié)構(gòu)選課系統(tǒng)查詢子系統(tǒng)系統(tǒng)登錄課程信息查詢基本信息設(shè)置管理子系統(tǒng)課程導(dǎo)入選課選課注冊(cè)選課注銷管理員設(shè)置管理員信息添加管理員信息刪除管理員信息修改課程信息添加課程信息更新課程信息修改選課者信息修改課程信息修改學(xué)生信息添加教師信息添加學(xué)生信息刪除教師信息刪除5.3 HIPO圖學(xué)生選課系統(tǒng)輸入1.01.0處理2.02.0輸出3.03.0選課申請(qǐng)1.1退課申請(qǐng)1.2課程剩余量統(tǒng)計(jì)2.1已選課程學(xué)分限制審核2.2上課時(shí)間限制2.3選 課2.4課 表1.1 1.2選課申請(qǐng)輸入處理輸出選課申請(qǐng)審核制定課表選課表退課申請(qǐng)輸入處理輸出退可申請(qǐng)審 核修改選課選課表2.1 2.2課程剩余量統(tǒng)計(jì)輸入處理輸出選課申請(qǐng)信息統(tǒng)計(jì)余量學(xué)分限制審核輸入處理輸出已選課程總學(xué)分申請(qǐng)課程總學(xué)分審 核總 學(xué)分六、詳細(xì)設(shè)計(jì)6.1 詳細(xì)設(shè)計(jì)總體描述選課系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第二個(gè)階段,這個(gè)階段的主要任務(wù)是在選課系統(tǒng)概要設(shè)計(jì)書基礎(chǔ)上,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過程描述,設(shè)計(jì)功能模塊的內(nèi)部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu),為編寫源代碼提供必要的說明。概要設(shè)計(jì)解決了軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的問題,包括整個(gè)軟件系統(tǒng)的結(jié)構(gòu)、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細(xì)設(shè)計(jì)則要解決如何實(shí)現(xiàn)各個(gè)模塊的內(nèi)部功能,即模塊設(shè)計(jì)。具體的說,模塊設(shè)計(jì)就是要為已經(jīng)產(chǎn)生的選課系統(tǒng)各子系統(tǒng)設(shè)計(jì)詳細(xì)的算法。但這并不等同于系統(tǒng)實(shí)現(xiàn)階段用具體的語言編碼,它只是對(duì)實(shí)現(xiàn)細(xì)節(jié)作精確的描述,這樣編碼階段就可以將詳細(xì)設(shè)計(jì)中對(duì)功能實(shí)現(xiàn)的描述,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語言書寫的程序。選課系統(tǒng)查詢中,已經(jīng)注冊(cè)學(xué)工號(hào)的師生才有權(quán)利查詢圖書信息.也即選課者向管理員提供其學(xué)工號(hào)和要查詢的課程名和任課老師,管理員首先讓系統(tǒng)驗(yàn)證該學(xué)工號(hào)是否有效,若有效,則可繼續(xù)輸入課程名字和任課教師,給選課者提供查詢出課程的具體信息。管理員信息設(shè)置:初始系統(tǒng)時(shí)設(shè)置一位管理員(即超級(jí)管理員),包括該管理員的編號(hào)(如001)/密碼/姓名/性別/聯(lián)系方式/所屬部門(維護(hù)部,管理部,宣傳部等)。超級(jí)管理員擁有最高權(quán)限,其他管理員由初始的管理員添加/修改/刪除,權(quán)限由超級(jí)管理員設(shè)定,設(shè)置為除對(duì)管理員數(shù)據(jù)庫進(jìn)行添加/修改/刪除的其他任何權(quán)限。 管理員編號(hào):每位管理員擁有一個(gè)編號(hào),作為該管理員登錄的用戶名,用戶名不得重復(fù)密碼:在添加普通管理員時(shí)由被添加的管理員自己設(shè)置姓名:被添加的管理員的真實(shí)姓名,判斷該管理員是誰,重名者在姓名后添加標(biāo)志,適當(dāng)區(qū)分性別:男/女/空聯(lián)系方式:限定僅為電話號(hào)碼,不可用郵箱所屬部門:在添加管理員是選擇被添加的管理員是那個(gè)部門的(維護(hù)部,管理部,宣傳部等)()管理員信息的添加管理員姓名唯一,如有重名管理員,在后注冊(cè)的管理員姓名后加上01,加以區(qū)別,依次類推此外每個(gè)管理員都有一個(gè)管理員編號(hào)(001, 002, 003.),管理員編號(hào)由超級(jí)管理員按照一定的順序分配()管理員信息的修改和刪除刪除管理員信息時(shí),先驗(yàn)證管理員的編號(hào)和密碼,由超級(jí)管理員從數(shù)據(jù)庫中直接刪除 管理員信息的修改只能由超級(jí)管理員進(jìn)行修改選課時(shí),首先將選課者向系統(tǒng)輸入學(xué)工號(hào),如果此號(hào)有效,才可以進(jìn)入系統(tǒng)選課,可以繼續(xù)一門選課的條件是:學(xué)生所選課程還有剩余量;學(xué)生的剩余學(xué)分小于所選課程的學(xué)分。兩個(gè)條件具備則允許學(xué)生選課,否則,不允許。并計(jì)算當(dāng)前學(xué)生已選學(xué)分,然后將學(xué)生所選的課程記錄檔案,記錄所選課程的基本信息。本次選課活動(dòng)結(jié)束。6.2 程序流程圖6.2.1 選課信息查詢程序流程圖NYNYY輸入查詢課程名和任課老師開 始輸入學(xué)工號(hào)輸出課程信息選課者信息表中有該選課者?課程信息表中有該課程?是否繼續(xù)查詢?退 出N顯示該學(xué)工號(hào)無效,即沒有注冊(cè)或已注銷顯示無此課程 6.2.2 課程導(dǎo)入程序流程圖輸入課程名,系別,任課老師,上課地點(diǎn),上課時(shí)間YNN開 始輸入課程代碼課程信息中是否有該課程代碼ISBN是否有課程繼續(xù)導(dǎo)入退 出Y將該課程代碼中對(duì)應(yīng)課程的數(shù)量加1,更新剩余總量新創(chuàng)建一條課程記錄,存放輸入信息,并將數(shù)量字段置為1,設(shè)置剩余總量 6.2.3 管理員設(shè)置程序流程圖NYYN開始管理員輸入自己的用戶名和密碼訪問管理員信息表,驗(yàn)證該管理員信息是否正確?訪問管理員信息表,驗(yàn)證該管理員編號(hào)是否為超級(jí)管理員管理員信息設(shè)置導(dǎo)入課程學(xué)工號(hào)注冊(cè)課程查詢師生選課學(xué)工號(hào)注銷顯示普通管理員操作菜單顯示超級(jí)管理員操作菜單結(jié)束 6.2.4 管理員添加YN超級(jí)管理員輸入要添加的管理員姓名,訪問管理員信息表,查詢?cè)撔彰欠褚炎?cè)完善管理員信息,包括管理員編號(hào),密碼,性別,聯(lián)系電話,所屬部門等結(jié)束確認(rèn),添加成功開始 6.2.5 管理員修改NY管理員輸入管理員編號(hào),和密碼,訪問管理員信息表,驗(yàn)證是否正確?請(qǐng)求超級(jí)管理員進(jìn)行修改,修改內(nèi)容包括,姓名,密碼,性別,聯(lián)系方式,所屬部門等結(jié)束確認(rèn),修改成功開始 6.2.6 管理員刪除NY管理員輸入管理員編號(hào),和密碼,訪問管理員信息表,驗(yàn)證是否正確?超級(jí)管理員訪問管理員信息表,直接把該管理員的數(shù)據(jù)信息從數(shù)據(jù)庫中刪除確認(rèn),刪除成功結(jié)束開始 6.2.7 選課程序流程圖開始輸入學(xué)工號(hào)查詢是否含有學(xué)工號(hào)課程人數(shù)是否超過限制計(jì)算當(dāng)前學(xué)生學(xué)分記錄所選課程信息更新課程信息結(jié)束YNNY學(xué)分是否超過限制YN6.3 核心代碼選課系統(tǒng)核心代碼及數(shù)據(jù)結(jié)構(gòu)概要數(shù)據(jù)庫連接模塊構(gòu)造數(shù)據(jù)庫連接類ADOConnclass ADOConn public: _ConnectionPtr m_pConnection;/指向Connection對(duì)象指針_RecordsetPtr m_pRecordset;/指向Recordset對(duì)象指針public:void OnInitADOConn();/連接數(shù)據(jù)庫_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);/執(zhí)行查詢據(jù)庫記錄操作SQL語句void ExitConnect();/斷開數(shù)據(jù)庫連接BOOL ExecuteSQL(_bstr_t bstrSQL);/執(zhí)行修改數(shù)據(jù)庫記錄操作SQL語句ADOConn();virtual ADOConn();BOOL ADOConn:ExecuteSQL(_bstr_t bstrSQL) /執(zhí)行修改數(shù)據(jù)庫記錄操作SQL語句函數(shù)tryif(m_pConnection = NULL)OnInitADOConn();m_pConnection-Execute(bstrSQL,NULL,adCmdText);return true;catch(_com_error e)AfxMessageBox(e.Description();return false;void ADOConn:ExitConnect()/斷開數(shù)據(jù)庫連接函數(shù)if (m_pRecordset != NULL)m_pRecordset-Close();m_pConnection-Close();:CoUninitialize();_RecordsetPtr& ADOConn:GetRecordSet(_bstr_t bstrSQL)/ 執(zhí)行查詢據(jù)庫記錄操作SQL語句函數(shù)tryif(m_pConnection=NULL)OnInitADOConn();m_pRecordset.CreateInstance(_uuidof(Recordset);m_pRecordset-Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);catch(_com_error e)AfxMessageBox(e.Description();return m_pRecordset;void ADOConn:OnInitADOConn()/連接數(shù)據(jù)庫函數(shù):CoInitialize(NULL); trym_pConnection.CreateInstance(ADODB.Connection);_bstr_t strConnect = File Name=my_data1.udl;m_pConnection-Open(strConnect,adModeUnknown);catch(_com_error e)AfxMessageBox(e.Description();登錄模塊CLoginDlg登陸模塊類void CLoginDlg:OnOK() / TODO: Add extra validation hereUpdateData(TRUE);if (m_UserName = )MessageBox(請(qǐng)輸入用戶名);return;if (m_Pwd = )MessageBox(請(qǐng)輸入密碼);return;CUser user;user.GetData(m_UserName);if (user.UserPwd != m_Pwd)MessageBox(用戶信息不正確,無法登錄!);return;if(user.UserType.Find(學(xué)生)0 & user.UserType.Find(系統(tǒng)管理員)0 & user.UserType.Find(教師)0)MessageBox(您沒有使用此系統(tǒng)的權(quán)限);return; CDialog:OnOK();主界面主界面CXkSysDlg類中權(quán)限分配函數(shù)BOOL CXkSysDlg:OnInitDialog()CDialog:OnInitDialog();/ Add About. menu item to system menu./ IDM_ABOUTBOX must be in the system command range.ASSERT(IDM_ABOUTBOX & 0xFFF0) = IDM_ABOUTBOX);ASSERT(IDM_ABOUTBOX AppendMenu(MF_SEPARATOR);pSysMenu-AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);/ Set the icon for this dialog. The framework does this automatically/ when the applications main window is not a dialogSetIcon(m_hIcon, TRUE);/ Set big iconSetIcon(m_hIcon, FALSE);/ Set small icon/ TODO: Add extra initialization hereCLoginDlg dlg; /啟動(dòng)登陸窗體if (dlg.DoModal() != IDOK)OnOK();elsecurUser.GetData(dlg.m_UserName); /權(quán)限分配if(curUser.UserType.Find(學(xué)生)GetSubMenu(0)-EnableMenuItem(IDR_SELECTCOURSE,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(3)-EnableMenuItem(IDR_PERINFO,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(4)-EnableMenuItem(IDR_PRECOURSELIST,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(4)-EnableMenuItem(IDR_PERSCORES,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(5)-EnableMenuItem(IDR_STUSELOBJ,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(4)-EnableMenuItem(IDR_TRAINCASE,MF_BYCOMMAND|MF_GRAYED);if(curUser.UserType.Find(系統(tǒng)管理員)GetSubMenu(3)-EnableMenuItem(IDR_STUINFOMAN,MF_BYCOMMAND|MF_GRAYED);GetMenu()-GetSubMenu(3)-EnableMenuItem(IDR_COURSEMAN,MF_BYCOMMAND|MF_GRAYED);if(curUser.UserType.Find(教師)GetSubMenu(4)-EnableMenuItem(IDR_SELINFOMAN,MF_BYCOMMAND|MF_GRAYED);return TRUE; / return TRUE unless you set the focus to a control第一塊以學(xué)生身份登錄主要功能概要學(xué)生選課模塊學(xué)生選課類CSelCourseDlg主要函數(shù)BOOL CSelCourseDlg:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereCStudents stu;stu.GetData(curUser.UserName); Refresh_Data(stu.CollegeName);GetDlgItem(IDC_WITHDRAWAL_BUTTON)-EnableWindow(FALSE);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSEvoid CSelCourseDlg:OnWithdrawalButton() /退選課程/ TODO: Add your control notification handler code hereCCourses cou;CTeachers teacher;CSelectRecords selectrecord;CString cCourseName;CStudents stu;cCourseName=m_datagrid.GetItem(0);cou.sql_getIdbyName(cCourseName); selectrecord.sql_delete(cou.CourseId,curUser.UserName);cou.sql_recorddel(); RefreashPerSelRecords(curUser.UserName);void CSelCourseDlg:OnOptionButton() /選中課程/ TODO: Add your control notification handler code here CCourses cou; CSelectRecords selectrecord; cou.GetData(m_datagrid.GetItem(0); if(selectrecord.HaveRecord(cou.CourseId,curUser.UserName)=true) AfxMessageBox(你已選過了此門課程!); return; else selectrecord.CourseId=cou.CourseId; selectrecord.StudentId=curUser.UserName; selectrecord.Score=0; selectrecord.sql_insert(); cou.sql_recordadd(); Refresh_Data(cou.CollegeName); void CSelCourseDlg:OnSelectedrecoredButton() /查看已選課程/ TODO: Add your control notification handler code here CSelectRecords selectrecord;selectrecord.StudentId=curUser.UserName;/selectrecord.sql_getpersonalrecords(selectrecord.StudentId); RefreashPerSelRecords(selectrecord.StudentId);GetDlgItem(IDC_WITHDRAWAL_BUTTON)-EnableWindow(TRUE);void CSelCourseDlg:RefreashPerSelRecords(CString cStudentId)/更新選課列表 CString cSourse; cSourse=SELECT CourseName,CourseScore,TeacherName FROM Courses,Teachers WHERE CourseId IN (SELECT CourseId FROM SelectRecords WHERE StudentId=+cStudentId+)AND Teachers.TeacherId IN(SELECT TeacherId FROM Courses WHERE CourseId IN (SELECT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論