已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
湖北理工學(xué)院大型軟件項目實訓(xùn)實訓(xùn)報告學(xué) 號: 201340420224編 號: B04731017 實訓(xùn)報告教 學(xué) 院計算機課程名稱大型軟件項目實訓(xùn)專 業(yè)網(wǎng)絡(luò)工程班 級二班姓 名何娟2016年9月20日 17一.實訓(xùn)內(nèi)容 1.實訓(xùn)目的與要求1.1、目的: (1)要求學(xué)生達到熟練掌握C+語言的基本知識和技能; (2)基本掌握面向?qū)ο蟪绦蛟O(shè)計的基本思路和方法; (3)能夠利用所學(xué)的基本知識和技能,解決簡單的面向?qū)ο蟪绦蛟O(shè)計問題。 1.2、基本要求: (1)要求利用面向?qū)ο蟮姆椒ㄒ约癈+的編程思想來完成系統(tǒng)的設(shè)計; (2)要求在設(shè)計的過程中,建立清晰的類層次; (3)在系統(tǒng)中至少要定義四個類,每個類中要有各自的屬性和方法; (4)在系統(tǒng)的設(shè)計中,至少要用到面向?qū)ο蟮囊环N機制。 1.3、創(chuàng)新要求: 在基本要求達到后,可進行創(chuàng)新設(shè)計,如根據(jù)查找結(jié)果進行修改的功能。2項目背景2.1對現(xiàn)有系統(tǒng)的分析 目前高校學(xué)生上課考勤管理都是以任課老師上課點名,記錄學(xué)生上課情況。對于請假需要通過向輔導(dǎo)員遞交請假條并獲得同意方能生效。這種模式在目前高校管理中暴露了不可避免的弊端: a)學(xué)生對自己整個學(xué)期的上課出勤情況沒有整體的統(tǒng)計信息 b)班主任及輔導(dǎo)員對本班學(xué)生整個學(xué)期的上課出勤情況不易查看;c)學(xué)生請假不方便,如:學(xué)生生病或有其他急事需請假,必須找輔導(dǎo)員批假條,而輔導(dǎo)員事情比較多不可能經(jīng)常坐在辦公室里等著;d)在這種方式下,由于學(xué)生考勤信息需要多次登記、反復(fù)輸入,因而出錯率較高,效率也低下。e)各學(xué)院與學(xué)生考勤管理中心各自記錄所有學(xué)生的考勤情況,對于各考勤表,考勤管理員要反復(fù)的執(zhí)行登記、核對、統(tǒng)計,稍不注意就出錯,對于錯誤的改正,更是麻煩。浪費人力并且效率低。f)數(shù)據(jù)不能共享,無法互相利用,互相參照,導(dǎo)致大量數(shù)據(jù)冗余。g)難避免考勤中的弄虛作假現(xiàn)象。在這種情況下,學(xué)生考勤管理中心只能一次又一次地擴大員工隊伍,期望借此提高效率。但是事實上,工作效率不但沒有改善,工資支出卻年年增高,增加了學(xué)校的經(jīng)濟支出。 在此情況下,開發(fā)一個新的、高效的、更加靈活方便、能實時記錄學(xué)生考勤信息的學(xué)生考勤管理系統(tǒng)迫在眉睫。 2.2處理流程和數(shù)據(jù)流程 人工的考勤系統(tǒng)主要包括請假系統(tǒng),考勤系統(tǒng),管理中心,主要供學(xué)生,輔導(dǎo)員,任課老師,班主任所使用。如下為系統(tǒng)流程圖: 在請假系統(tǒng)中,學(xué)生想要請假需要向輔導(dǎo)員老師寫請假條并說明原因,獲得輔導(dǎo)員的同意才能請假成功,否則失敗。而學(xué)生的請假情況記錄在請假條的存根上,在向任課老師請假時也需自己或請同學(xué)向老師出示請假條并說明原因,由任課老師在學(xué)生名單上記錄為“請假”。輔導(dǎo)員、任課老師、學(xué)生只有通過查詢請假條的存根或考勤表才可知道請假情況。 2.3局限性 該系統(tǒng)會浪費很多的時間而且會很麻煩,當學(xué)生需要請假時必須找到輔導(dǎo)員寫請假條才行,另外課堂上由于是由任課老師通過點名的方式考勤所以會造成混亂不清更問題。因此,開發(fā)一個新的高校學(xué)生考勤管理系統(tǒng)迫在眉睫,同時,我們的系統(tǒng)也應(yīng)運而生。3.功能需求這是一個記錄學(xué)生上課情況的一個考勤系統(tǒng),方便記錄、查詢、統(tǒng)計學(xué)生考勤信息。學(xué)生考勤管理系統(tǒng)用于記錄學(xué)生的缺課情況,它包括:缺課日期、第幾節(jié)課、課程名稱、學(xué)生姓名、學(xué)號、缺課類型(遲到、早退、請假及曠課)。優(yōu)化界面使學(xué)生使用更加便捷,在保證信息共享的同時又注重了信息的安全性而不被篡改。該系統(tǒng)除了用于學(xué)生課堂的考勤,還可用于學(xué)生出早操情況的考核,開會出勤情況的考核等。而且可以進一步開發(fā),與教務(wù)處學(xué)生成績數(shù)據(jù)庫相連接,將考勤結(jié)果作為平時成績或期末成績及評優(yōu)的參考。另外該系統(tǒng)還可作為請假系統(tǒng)代替?zhèn)鹘y(tǒng)寫請假條請假的問題。在安全方面,登陸系統(tǒng)時,需驗證身份和密碼,只有通過驗證的身份才能進入系統(tǒng)進行相關(guān)的操作。系統(tǒng)間信息的傳遞也需要進行安全設(shè)置,以防止學(xué)生的考勤信息被惡意篡改。主要分為6大模塊,分為錄入學(xué)生的缺課記錄、修改某個學(xué)生的缺課記錄、查詢某個學(xué)生的缺課情況、統(tǒng)計曠課學(xué)生姓名及曠課節(jié)數(shù)、統(tǒng)計曠課課程及曠課人次和系統(tǒng)以菜單方式工作。 具體需求如下:考勤信息記錄了學(xué)生的缺課情況,它包括:缺課日期、第幾節(jié)課(連續(xù)用begin-end的形式表示)、課程名稱(課程名稱中不會出現(xiàn)空格)、學(xué)生姓名、缺課類型(遲到、早退、請假及曠課)。試設(shè)計考勤管理系統(tǒng),使之能提供以下功能:1)錄入學(xué)生的缺課記錄:從鍵盤輸入數(shù)據(jù)(提示:為避免重復(fù)從鍵盤輸入數(shù)據(jù),測試時可將數(shù)據(jù)存儲在文件中,利用輸入重定向功能讀入),輸入格式為:缺課日期 第幾節(jié)課 課程名稱學(xué)生姓名 缺課類型每行一條紀錄。例如:2016-04-29 2-4 C+面向?qū)ο蟪绦蛟O(shè)計 李強 遲到2009-04-28 2-4 高數(shù) 馬志 曠課2)修改某個學(xué)生的缺課記錄:可以對缺課紀錄的任意部分進行修改,然后顯示一下修改后的紀錄。3)查詢某個學(xué)生的缺課情況:查詢結(jié)果按照日期升序排序,同一天內(nèi)按照所缺課程的時間升序排序。4)統(tǒng)計某段時間內(nèi)(以天為單位),曠課學(xué)生姓名及曠課節(jié)數(shù),查詢結(jié)果先按曠課節(jié)數(shù)降序排序,曠課節(jié)數(shù)相同的學(xué)生按姓名升序排序;5)統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次,按曠課人次由多到少排序,曠課人次相同的課程按課程名稱升序排序; 6)系統(tǒng)以菜單方式工作。(所謂菜單指用戶可以自由選擇所要執(zhí)行的功能)學(xué)生可以通過以上功能錄入信息、修改信息、查詢信息、整理統(tǒng)計出所要了解的信息,除了要實現(xiàn)上述的基本功能之外,本系統(tǒng)還應(yīng)該在細節(jié)上下工夫,使用戶使用方便,在使用的過程中保持一個愉快的心情。學(xué)生考勤管理系統(tǒng)有廣大的用戶群,這其中有老師、有教務(wù)處主任、有公司管理人員,也可以供給一般用戶使用。總之該系統(tǒng)可以滿足用戶需求,實現(xiàn)對其管理的人員的考勤工作。4、總體設(shè)計學(xué)生考勤管理系統(tǒng)包含五個大的功能,分別是:錄入學(xué)生缺課信息、修改學(xué)生缺課信息、查詢某個學(xué)生的缺課情況、統(tǒng)計某段時間內(nèi)(以天為單位),曠課學(xué)生姓名及曠課節(jié)數(shù)和統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次。學(xué)生的缺課信息主要包含缺課日期,第幾節(jié)課、課程名稱,學(xué)生姓名,缺課類型。在錄入學(xué)生缺課信息時根據(jù)系統(tǒng)提示逐一輸入。每輸入完一條信息,系統(tǒng)會提示是否繼續(xù)輸入,用戶可以選擇繼續(xù)或返回主菜單。在修改學(xué)生缺課信息時,用戶首先輸入要修改的學(xué)生姓名,系統(tǒng)會檢索如果系統(tǒng)中有該學(xué)生的相關(guān)信息則系統(tǒng)首先會提示用戶修改該學(xué)生的那一部分信息,用戶可自行選擇。如果系統(tǒng)中沒有該學(xué)生的相關(guān)信息,則系統(tǒng)會給相關(guān)提示,用戶可以選擇繼續(xù)輸入要修改的學(xué)生姓名或選擇退出返回主菜單。在查詢學(xué)生缺課信息時,用戶先輸入要查詢的學(xué)生姓名,系統(tǒng)檢索判斷是否存在該學(xué)生的信息然后做出相應(yīng)的提示??傊脩艨梢苑奖愕脑谙到y(tǒng)提示下進行使用。學(xué)生考勤管理系統(tǒng)中功能模塊圖:修改某學(xué)生的缺課信息查詢某學(xué)生的缺課信息統(tǒng)計某段時間內(nèi)曠課學(xué)生姓名及曠課節(jié)數(shù)統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次錄入學(xué)生的缺課信息學(xué)生考勤管理系統(tǒng)錄入缺課學(xué)生的姓名、缺課日期、缺課節(jié)次、缺課課程名稱、缺課類型修改某學(xué)生的缺課日期、缺課節(jié)次、缺課課程名稱、缺課類型查詢某學(xué)生的缺課日期、缺課節(jié)次、缺課課程名稱、缺課類型按時間升序顯示曠課學(xué)生姓名及曠課節(jié)數(shù)按時間升序顯示有學(xué)生曠課的課程及曠課人次5、詳細設(shè)計我在我們小組中負責的是修改某學(xué)生缺課信息功能和統(tǒng)計學(xué)生曠課的課程及曠課人次等這兩大功能模塊。1、 修改某學(xué)生缺課信息功能的模塊圖修改某學(xué)生缺課信息功能修改某學(xué)生的缺課節(jié)次修改某學(xué)生的缺課日期修改某學(xué)生的缺課課程修改某學(xué)生的缺課類型 圖1 學(xué)生考勤管理系統(tǒng)修改學(xué)生缺課信息功能圖2、統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次功能模塊統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次統(tǒng)計某段時間內(nèi),有學(xué)生曠課的課程及曠課人次功能顯示某段時間內(nèi),有學(xué)生曠課的課程及曠課人次返回菜單 圖2 統(tǒng)計學(xué)生曠課的課程及曠課人次功能圖此系統(tǒng)不僅可以直接統(tǒng)計某段時間內(nèi)的曠課課程及曠課人次,除此之外,還可以查看學(xué)生的曠課課程及曠課人次。 下面是部分代碼分析 /時間類class timepublic:time(int y = 0, int m = 0, int d = 0)year = y; month = m; day = d;time()protected:int year, month, day; 這是一個基類,用來記錄時間信息,記錄年份,月份以及時刻點,以供其它類來進行派生。/信息類class xinxi :public timepublic:xinxi() tiaoshu+; xinxi() tiaoshu-; void setname(char *n) strcpy_s(name, n); void settime(int y, int m, int d) year = y; month = m; day = d; void setqklx(char *qk) strcpy_s(queke, qk); void setjieci(char *jc) strcpy_s(jieci, jc); void setkechen(char *kc) strcpy_s(kechen, kc); char *getname() char *n; n = name; return n; char *getqklx() char *qk = queke; return qk; char *getjieci() char *jc; jc = jieci; return jc; char *getkechen() char *gk; gk = kechen; return gk; int *gettime();private:char name20;/姓名char jieci3, kechen10, queke10;int tm3;static int tiaoshu; 這是一個信息類,用來記錄學(xué)生的姓名,以及上課課程名,還有缺課課程名和節(jié)次,以供后期查詢。/缺課課程類class qkechen :public xinxipublic:qkechen() kcshu+; qkechen() kcshu-; int getrc(xinxi st1, int n, int j);char qkn20;/公有數(shù)據(jù)成員private:int renci;static int kcshu;/靜態(tài)數(shù)據(jù)成員;int qkechen:kcshu = 0;int qkechen:getrc(xinxi st1, int n, int j)renci = 0;renci+;for (int i = 0; in; i+)if (*(st1i + 1.gettime() + 1) = *(st1j.gettime() + 1) & *(st1i + 1.gettime() + 2) =*(st1j.gettime() + 2)if (strcmp(qkn, st1i.getkechen() = 0)renci+;return renci;/缺課學(xué)生類class qstu :public xinxipublic:qstu() qst+; qstu() qst-; void print(xinxi &st1);int getjs(xinxi st1, int n, int j);int setjs(int js = 0)jieshu = js;char qstn20;private:int jieshu;static int qst; /靜態(tài)數(shù)據(jù)成員;/菜單函數(shù)void caidan()system(color A);cout * endl;cout * 學(xué)生考勤管理系統(tǒng) * endl;cout * endl; cout 1.-錄入學(xué)生的缺課記錄-* endl; cout 2.-修改學(xué)生的缺課記錄-* endl;cout 3.-查詢學(xué)生的缺課情況-* endl;cout 4.-統(tǒng)計某段時間內(nèi)曠課學(xué)生姓名及曠課節(jié)數(shù)-* endl;cout 5.-統(tǒng)計某段時間內(nèi)曠課的課程及曠課人次-* endl;cout 6.-退出系統(tǒng)-* endl;/輸入函數(shù)int shuru(xinxi st1)char a;cout -輸入開始!- endl;doq+;cout 請輸入學(xué)生姓名 name;st1q.setname(name);cout 請輸入課程名稱 kechen;st1q.setkechen(kechen);cout 請輸入缺課日期 y m d;st1q.settime(y, m, d);cout 請輸入缺課類型 queke;st1q.setqklx(queke);cout 請輸入缺課節(jié)次 jieci;st1q.setjieci(jieci);cout 是否還要繼續(xù)輸入:(y/n) a; while (a = y);return q + 1;/修改函數(shù)void xiugai(xinxi st1, int n)int k = 1, j = 0, a10;int flgh;int h;while (k = 1)cout 請輸入你要修改缺課記錄的學(xué)生姓名 name;flgh = 0;for (int i = 0; in; i+)if (strcmp(name, st1i.getname() = 0)doaj = i;cout 1.修改日期2.修改節(jié)次3.修改課程名稱4.修改缺課類型 endl;cout 請輸入要選擇的數(shù)值(1,2,3,4) b;if (b = 1)cout 請輸入新日期 y m d;st1i.settime(y, m, d);else if (b = 2)cout 請輸入新節(jié)次 jieci;st1i.setjieci(jieci);else if (b = 3)cout 請輸入新課程名稱 kechen;st1i.setkechen(kechen);else if (b = 4)cout 請輸入新缺課類型 queke;st1i.setqklx(queke);flgh = 1; j+; while (b4);if (flgh = 0)cout 沒有你要找的學(xué)生姓名,請重試要退出請按0 k;elsecout 還要繼續(xù)嗎(10)退出請按0 k;for (int i = 0; ij; i+)h = ai;xiansi(st1h);二.項目調(diào)試與測試: 1.系統(tǒng)調(diào)試程序編寫完成后,我進行了程序調(diào)試。調(diào)試過程中,出現(xiàn)了以下問題:當錄入學(xué)生缺課信息時,出現(xiàn)了無法退出錄入函數(shù)的情況,主要原因是輸入函數(shù)中while循環(huán)語句沒有設(shè)置跳出循環(huán)的條件。除此之外,修改某學(xué)生缺課信息時,如果沒有該學(xué)生的缺課信息,系統(tǒng)沒有提示要用戶沒有該學(xué)生信息,也沒有建議用戶重新輸入要修改的學(xué)生姓名。由此我發(fā)現(xiàn)了該系統(tǒng)修改學(xué)生缺課信息的不足。于是,我對修改函數(shù)進行了修改與完善。在該函數(shù)中,我設(shè)置了if語句用來判斷系統(tǒng)中是否存有用戶要修改的學(xué)生缺課信息。如果沒有,則提示用戶沒有該學(xué)生的缺課信息,用戶可以選擇繼續(xù)輸入要修改的學(xué)生姓名或者退出修改環(huán)節(jié),可以在循環(huán)語句中改變循環(huán)進行的條件從而終止循環(huán)。至于在修改后顯示該學(xué)生的缺課信息,運行時發(fā)現(xiàn)系統(tǒng)并沒有做到這一點,對源代碼檢查之后發(fā)現(xiàn)是修改函數(shù)中顯示函數(shù)的調(diào)用出了點問題,顯示函數(shù)的實參有誤,應(yīng)該把要修改缺課信息的學(xué)生所在的信息類對象作為實參,然后用顯示函數(shù)的形參引用實參對象,通過對象調(diào)用信息類的成員函數(shù),從而實現(xiàn)顯示功能。至于該系統(tǒng)的查詢功能的實現(xiàn),在調(diào)試時發(fā)現(xiàn)還有欠缺,當隨便輸入一個學(xué)生姓名時,系統(tǒng)沒有顯示該學(xué)生的缺課信息,也沒有提示系統(tǒng)沒有找到該學(xué)生的有關(guān)信息,經(jīng)過在查詢函數(shù)while循環(huán)中加入一個if條件語句后,系統(tǒng)實現(xiàn)了提示用戶的功能,如果系統(tǒng)中沒有你要查詢的學(xué)生缺課信息,系統(tǒng)將會提示用戶,用戶可以繼續(xù)輸入要查詢的學(xué)生姓名也可以通過按系統(tǒng)設(shè)置的退出鍵選擇退出查詢環(huán)節(jié)。至于兩個統(tǒng)計功能至今沒有完善,主要是特定時間學(xué)生缺課次數(shù)和課程的缺課人次的統(tǒng)計問題尚待解決,現(xiàn)如今只完成了一兩條學(xué)生缺課信息的統(tǒng)計。主要問題是特定時間這個前提條件對我造成了一定的障礙。對系統(tǒng)中存儲的信息進行查找和統(tǒng)計運用對象指針比較方便,但我沒有使用,也算有點遺憾。在調(diào)試過程中我出現(xiàn)的最嚴重的問題是函數(shù)形參引用對象數(shù)組,結(jié)果系統(tǒng)提示將近幾十個錯誤,在我把函數(shù)形參改為對象數(shù)組后,錯誤一下減少了很多。還有比較突出的問題是整個程序不知哪掉了個 號系統(tǒng)會提示有錯,但就不懂那專業(yè)術(shù)語啥意思。還有就是我以為派生類公有繼承的基類的保護成員在派生類內(nèi)為公有成員,可編譯時才發(fā)現(xiàn)是不對的。通過認真調(diào)試,我發(fā)現(xiàn)我有了收獲。2.運行結(jié)果分析1.剛進入系統(tǒng)時界面這是開啟系統(tǒng)時的進入界面,用戶可以根據(jù)要求選擇不同的菜單項,輸入對應(yīng)的數(shù)字即可,然后再根據(jù)提示進行信息錄入。2這是錄入學(xué)生的缺課記錄界面 這
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人貨運車輛安全責任書4篇
- 2025年度美容美發(fā)行業(yè)技師勞動合同解除與補償協(xié)議4篇
- 個人承包公司2024年度合作合同書一
- 2024藥師證租用與保管服務(wù)專項合同范本3篇
- 2025版互聯(lián)網(wǎng)金融平臺反洗錢合作協(xié)議4篇
- 2025版美容院美容院消防安全檢查與整改協(xié)議4篇
- 2025版林業(yè)資源開發(fā)苗木種植勞務(wù)合作合同4篇
- 個性化擔保公司協(xié)議范本(2024年發(fā)布)版B版
- 基于素質(zhì)教育的小學(xué)生綜合能力培養(yǎng)方案
- 二零二五年度房屋分割及共同償還貸款協(xié)議范本3篇
- 獅子王影視鑒賞
- 一年級數(shù)學(xué)加減法口算題每日一練(25套打印版)
- 2024年甘肅省武威市、嘉峪關(guān)市、臨夏州中考英語真題
- DL-T573-2021電力變壓器檢修導(dǎo)則
- 繪本《圖書館獅子》原文
- 安全使用公共WiFi網(wǎng)絡(luò)的方法
- 2023年管理學(xué)原理考試題庫附答案
- 【可行性報告】2023年電動自行車相關(guān)項目可行性研究報告
- 歐洲食品與飲料行業(yè)數(shù)據(jù)與趨勢
- 放療科室規(guī)章制度(二篇)
- 中高職貫通培養(yǎng)三二分段(中職階段)新能源汽車檢測與維修專業(yè)課程體系
評論
0/150
提交評論