




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟體生產(chǎn)力資料收集分析系統(tǒng)鍾乾癸教授長庚大學(xué)資訊工程系系主任.tw8917088黃志鴻交通大學(xué)資訊工程系.tw8917082蔡佳宏交通大學(xué)資訊工程系.tw摘要本研究建立一套學(xué)生軟體程式能力資料收集分析系統(tǒng),提供同學(xué)每日記載其學(xué)習(xí)、寫作業(yè)、寫程式之生產(chǎn)力資料及錯誤資料狀況,一方面可供學(xué)生了解自己學(xué)習(xí)成效與能力,另一方面可讓老師不只知道學(xué)生程式作業(yè)對錯,而可以進(jìn)一步針對同學(xué)常犯的錯誤予以導(dǎo)正及加強(qiáng),且學(xué)生可由所記錄之程式錯誤,整理出個人的錯誤提醒表(CheckList)。以提高個
2、人軟體生產(chǎn)力與品質(zhì)。此外本系統(tǒng)提供學(xué)生個人的元件庫,學(xué)生可由程式作業(yè)挑出所完成的元件,而存入本系統(tǒng),以供日後(甚至就業(yè)時)重覆利用,提高寫程式的效率。. 前言研究背景由於軟體產(chǎn)業(yè)是一腦力密集產(chǎn)業(yè),參與工程師的個人能力與工作習(xí)慣對團(tuán)隊(duì)的效率影響甚鉅,甚至影響計劃的成效。 因此,卡內(nèi)基美隆大學(xué)軟體工程研究所(Software Engineering Institute簡稱SEI)的Watt S. Humphrey先生提出Personal Software Process(簡稱PSP)的概念及執(zhí)行方法來評量及提昇工程師個人的軟體發(fā)展嚴(yán)謹(jǐn)度。 Humphrey先生認(rèn)為一工程師均應(yīng)在指定時間內(nèi),交出符合
3、要求的高品質(zhì)的軟體產(chǎn)品及文件,此有賴每日詳實(shí)記載工作量、錯誤次數(shù)及錯誤提醒表(CheckList)等資料,方能準(zhǔn)確預(yù)測新軟體開發(fā)工作所需完成時間,且能在預(yù)定時間完成指定的高品質(zhì)軟體。此一概念迅速獲得業(yè)界迴響而推廣,且證實(shí)對軟體發(fā)展人員的生產(chǎn)力提昇有良好助益。Humphrey先生所提的方法是要每一工程師用筆記本記載每一日的工作量,且在一工作完成時,另記載所發(fā)生錯誤的次數(shù),由一工作的累積工作時間工作量,及錯次數(shù)可推算其生產(chǎn)力及錯誤誤率,此對其預(yù)估新工作的完成時間有重要助益。且要求對每一錯誤情況建立錯誤提醒表,以提醒發(fā)展者可能產(chǎn)生之錯誤,對個人工作品質(zhì)的提昇確有助益。國內(nèi)已有眾多大學(xué)設(shè)有資訊工系所,
4、資工系學(xué)生於求學(xué)期間寫過數(shù)十至近百的程式,但仍有部份學(xué)生的程式設(shè)計能力不足,甚至有些學(xué)生並不了解其程式設(shè)計能力已落後同學(xué)甚多,需自我加強(qiáng)訓(xùn)練;而老師對同學(xué)的程式作業(yè)只知其對錯,無法針對同學(xué)常犯的錯誤之處予以導(dǎo)正及加強(qiáng),甚至反應(yīng)至來年授課內(nèi)容的調(diào)整;此現(xiàn)象已累積多年,但國內(nèi)尚未有人提出改善方法。研究動機(jī)有鑒於此,本研究認(rèn)為可採用PSP方法來量度及改善學(xué)生程式設(shè)計生產(chǎn)力與錯誤率,然而PSP方法是要求每一個人用筆記本來記載其每日工作情況,對個人而言雖有助益,但不易與同儕相較、激勵;且老師也不易迅速掌握學(xué)生的學(xué)習(xí)情況。 現(xiàn)今校園網(wǎng)路已非常普遍,資工系學(xué)生非常方便地使用電腦及上網(wǎng),若能於校園網(wǎng)路系統(tǒng)中建
5、立一套學(xué)生PSP系統(tǒng)供同學(xué)每日記載其學(xué)習(xí)情況,對於在校園內(nèi)推動PSP制度的阻力將大為降低。因此本研究之目的是設(shè)計一套專供資工系學(xué)生使用之PSP系統(tǒng),透過Server分析統(tǒng)計學(xué)生狀況,可以讓學(xué)生了解自己在班上的學(xué)習(xí)狀態(tài),而老師也可以針對此資訊了解教學(xué)上的缺失,提高教學(xué)品質(zhì)。除此之外,本系統(tǒng)還融入了元件庫,元件庫可以收集學(xué)生自己的元件,當(dāng)之後程式須用到類似功能的元件時,可達(dá)到程式再利用的效能,提高撰寫程式的效率。研究方法Humphrey先生的PSP系統(tǒng)是以軟體工程師的角度建構(gòu)出來的,其中包含了個人行程安排與紀(jì)錄,程式評估與分析再加上自己所參與的專案開發(fā)行事曆,都有其適用性。但以我們學(xué)生的角度來看的
6、話,似乎不是那麼合適,所以我們以學(xué)生、老師的角度來探討這個系統(tǒng)。就以兩者的互動方式而已,我們必須以Client-Server的形式來設(shè)計此系統(tǒng)。再者,我們要重新設(shè)計學(xué)生要填寫的表格,與前者比較的話,專案開發(fā)的行事曆不適用,而且表格之間的關(guān)聯(lián)性不大,所以我們以針對學(xué)生上課、寫程式、寫作業(yè)、閱讀等項(xiàng)目來建立所需的評估及紀(jì)錄表格,並且設(shè)計一個使用者介面,讓使用者花最少的功夫便能將事項(xiàng)填寫完畢,並由系統(tǒng)分析整理其資料,且還可透過Server讓老師知道學(xué)生的學(xué)習(xí)狀況,進(jìn)而給予幫助。因?yàn)槲覀兪前阎攸c(diǎn)放在程式學(xué)習(xí)方面,所以我們也打算使用BUG分類表、錯誤提醒表及元件庫的設(shè)置,讓學(xué)生在撰寫程式能夠提昇程設(shè)效率
7、。預(yù)期效益本研究是開發(fā)一實(shí)用軟體系統(tǒng)以提供評估學(xué)生學(xué)習(xí)效果之用,對提升本系大學(xué)生教學(xué)效果將有實(shí)質(zhì)效益。唯正確的資料輸入才能得到真實(shí)之使用結(jié)果數(shù)據(jù);因此,需有相關(guān)配合管理措施才可獲實(shí)質(zhì)收益。本系統(tǒng)完成後,對各使用者所得之效益有:(一)學(xué)生 1.了解自我的實(shí)力。 2.提升撰寫程式之品質(zhì)及效率。 3.建立自我的元件庫,可供日後就學(xué)或就業(yè)撰寫程式之主要來源。(二)教師1.可了解學(xué)生學(xué)習(xí)效果勤惰及常犯錯誤,並反應(yīng)於教學(xué)。(三)管理者1.可了解系內(nèi)各課程之學(xué)習(xí)情況及詳細(xì)資料。歷屆學(xué)習(xí)情況之比較,以作為系內(nèi)教學(xué)內(nèi)容及方法改善之主要依據(jù)。分工情形在這次的研究中,一開始我們先分別了解Introduction t
8、o the Personal Software Process這本書的主要內(nèi)容,然後由黃志鴻負(fù)責(zé)學(xué)生的介面設(shè)計,蔡佳宏主要撰寫IO function和mask功能,而等學(xué)生部分做出大部分的架構(gòu)後,蔡佳宏便開始著手Server端的程式設(shè)計及DataBase的架構(gòu)和管理,而由黃志鴻主要負(fù)責(zé)老師和管理者的部分,最後再一起把Server和Client端進(jìn)行溝通,完成這次的研究。. 系統(tǒng)架構(gòu)與系統(tǒng)規(guī)格為了達(dá)到師生互動的效果,所以本系統(tǒng)以Client-Server的架構(gòu)建立,Server端主要做為資料的儲存及分析,而Client端分為學(xué)生、老師、和管理者三類:學(xué)生可紀(jì)錄自己的學(xué)習(xí)狀況,老師則可到Serve
9、r端拿取修課學(xué)生相關(guān)學(xué)習(xí)資訊,而管理者須建立學(xué)生和老師的登入帳號和密碼,並且可以觀看歷屆學(xué)生的學(xué)習(xí)情形(如下頁圖一)。 (圖一)系統(tǒng)架構(gòu)我們的系統(tǒng)主要都是在Client端處理事情,Server只儲存重要的資訊並整理分析。當(dāng)使用者輸入資料時,就在自己的電腦做處理紀(jì)錄的動作,把資料變成檔案儲存在自己的電腦上,只要定時將有用的資料上傳給Server分析統(tǒng)計即可,因?yàn)槿羲匈Y料都交由Server處理的話,資料的流動量會很大,所以我們採用了分散式管理的方式,可以減輕Server的負(fù)擔(dān)且增加系統(tǒng)的可行性。但這行為只會在學(xué)生的介面出現(xiàn),老師和管理者存取資料都是透過Server,因?yàn)樗麄冃枰馁Y料都是由Ser
10、ver分析統(tǒng)計過的,所以就略掉了這個動作。而在Client與Server的溝通上,本系統(tǒng)採用Socket方式建立連線,且連線方式為即時傳輸,當(dāng)要存取資料時才連立連線,存取完畢便關(guān)閉連線,因?yàn)橄到y(tǒng)開啟的Socket個數(shù)有限,這樣才不會造成Client端佔(zhàn)用Socket連線,使其他使用者無法和Server溝通。本系統(tǒng)可分為四個部分來討論學(xué)生部分每日登錄此系統(tǒng)時,可紀(jì)錄當(dāng)日上課、寫作業(yè)、寫程式、閱讀的項(xiàng)目、時間及工作量,並可安排明日工作時間預(yù)定表。當(dāng)完成一項(xiàng)作業(yè)或程式後,學(xué)生將工作時間及工作量存入Server,系統(tǒng)自動計算其工作效率,以作為預(yù)估做作業(yè)或程式所需完成時間的參考依據(jù)。對程式作業(yè)而言,學(xué)生
11、還需要對常犯錯誤作記錄及建立錯誤表。學(xué)生也可自己建立元件,可以存入系統(tǒng)的元件庫中,增加程式的再利用性,同時也能提高程設(shè)的效率。老師部分老師可以在本系統(tǒng)上指派作業(yè)項(xiàng)目,並且可觀看修課學(xué)生資訊及學(xué)習(xí)狀態(tài):每週上課時數(shù)、每週閱讀時數(shù)、每週寫作業(yè)時數(shù)、及每週寫程式時數(shù),也可查詢作業(yè)或程式的完成度,比較學(xué)生之間的差異。除此之外,老師也可根據(jù)修課學(xué)生常犯之程式錯誤,加以整理分析,提升教學(xué)品質(zhì)。管理者部分管理者部分,可以新增、刪除、及修改學(xué)生和老師資訊,也可新增一課程,並指定其授課老師,以供學(xué)生選課之用。同時,也能觀看某課程之修課學(xué)生資訊。除此之外,管理者也可查詢歷屆學(xué)生的修課資訊,比較各屆學(xué)生,從中了解教
12、授教課情形。Server部分Server 端主要負(fù)責(zé)資料的儲存,而存取的權(quán)限根據(jù)帳號分成三個等級:學(xué)生、老師、及管理者。Server端也負(fù)責(zé)做各個課程學(xué)生資料的分析統(tǒng)計,以提供給老師和學(xué)生查詢,而且若學(xué)生沒有使用本系統(tǒng),將寄信於予通知,並且告知管理者未使用名單,還有當(dāng)老師指派作業(yè)時,Server就會通知所有修課學(xué)生作業(yè)內(nèi)容。而Server端的資料收集是透過資料庫來儲存的,而其資料庫的Schema Diagram如下圖所示:系統(tǒng)規(guī)格Client的程式以Windows介面呈現(xiàn),使用Borland C+ Builder和裡面的VCL元件來撰寫,建構(gòu)出使用者介面,在連線方面則是利用WinS
13、ock來跟Server溝通。以使用者的類別分別撰寫出三個不同的User Interface供學(xué)生、老師、管理者使用。(一)學(xué)生使用者介面外觀如下所示(登入會先彈出一視窗讓學(xué)生輸入帳號密碼,接著就會進(jìn)入學(xué)生PSP系統(tǒng),可分為五個部分)主畫面:是登入系統(tǒng)第一個看到的畫面,有【每日提醒】、【今日行程表】。在每日提醒裡,學(xué)生可以知道自己是否已經(jīng)填寫了固定行程表(功課表,meeting time)、每日紀(jì)錄及明日行程表。而今日行程表會列出你今天預(yù)定要完成的事項(xiàng)。預(yù)估畫面:可分為【行事曆】、【程式評估】。行事曆包含了行事曆預(yù)覽、預(yù)定行程表、預(yù)定工作排程表及固定排程,在行事曆預(yù)覽畫面中,學(xué)生可以查詢自己安排
14、的行桯,也可新增排程直接跳到預(yù)定行程表畫面來安排此天的要做的事情,若是作業(yè)、程式有一定的時間限制或是需要數(shù)天才能完成的工作,則必須到預(yù)定工作排程表中填寫此項(xiàng)工作的的期限、預(yù)定所花時間和工作量。若為作業(yè)則要加上老師所指定的題號,以便日後的紀(jì)錄追蹤;若為程式時,在預(yù)估工作量時就會跳出一個相同於程式評估的畫面,學(xué)生估計這個程式要寫那幾個函數(shù)、寫幾行、花多少時間、會產(chǎn)生多少錯誤,加總後再放入工作量中,這樣可以提高預(yù)測的準(zhǔn)確度。而最後的固定排程則是讓學(xué)生更方便使用其系統(tǒng),比如說每週的上課時間都是固定的,所以在填寫預(yù)定行程表時就不用再填寫而系統(tǒng)會自動產(chǎn)生。表格名稱表格欄位預(yù)定行程表類別、課程名稱、工作名稱
15、、預(yù)定開始時間、預(yù)定結(jié)束時間、預(yù)定所花時間、工作量、說明預(yù)定工作排程表類別、課程名稱、工作名稱、預(yù)計開始日期、預(yù)計結(jié)束日期、預(yù)計所花時數(shù)、預(yù)計工作量、預(yù)計速率、說明固定排程固定日期、開始時間、結(jié)束時間、生效日期、失效日期、類別、課程名稱、工作名稱、說明BUG評估預(yù)計產(chǎn)生個數(shù)、預(yù)計解決個數(shù)函式評估函數(shù)名稱、所花時間、行數(shù)、說明紀(jì)錄畫面:紀(jì)錄學(xué)生每日的行程,【紀(jì)錄事項(xiàng)】學(xué)生每日都要詳實(shí)紀(jì)錄自己所做的事項(xiàng),有沒有去上課、有沒有唸書、有沒有練習(xí)程式,有沒有寫作業(yè),這些所花的時間,所完成的工作量都要紀(jì)錄在每日紀(jì)錄裡,而系統(tǒng)會自動處理其中的數(shù)據(jù)資料而將其歸類到上課紀(jì)錄、閱讀紀(jì)錄、程式紀(jì)錄、作業(yè)紀(jì)錄裡。並且
16、於紀(jì)錄表格中都含有學(xué)生之前預(yù)定今天的行程表,學(xué)生可以和實(shí)際做個比較。工作紀(jì)錄則是當(dāng)每日紀(jì)錄裡的完成選項(xiàng)被勾選時(只有類別為作業(yè)跟程式才會有作用),系統(tǒng)會自動的把此項(xiàng)工作所花的時間、工作量加總?cè)会崽钊牍ぷ骷o(jì)錄中。而BUG紀(jì)錄和函式紀(jì)錄都是要學(xué)生於撰寫程式時要一邊紀(jì)錄的,學(xué)生寫程式時犯了什麼樣子的錯誤,而最後寫出來的程式裡包含的函數(shù)有那些,都要詳細(xì)紀(jì)錄。表格名稱表格欄位每日紀(jì)錄類別、課程、工作名稱、預(yù)定開始時間、預(yù)定結(jié)束時間、預(yù)計所花時間、實(shí)際開始時間、實(shí)際結(jié)束時間、實(shí)際所花時間、中斷時間、中斷原因、預(yù)計工作量、實(shí)際工作量、說明、完成複雜度工作紀(jì)錄類別、課程、工作名稱、預(yù)計開始日期、預(yù)計結(jié)束日期、
17、預(yù)計所花時數(shù)、實(shí)際開始日期、實(shí)際結(jié)束日期、實(shí)際所花時數(shù)、預(yù)計工作量、實(shí)際工作量、預(yù)計速率、實(shí)際速率、說明上課紀(jì)錄課程名稱、預(yù)計所花時間、實(shí)際所花時間、說明閱讀紀(jì)錄課程名稱、工作名稱、複雜度、預(yù)計所花時間、實(shí)際所花時間、預(yù)計完成頁數(shù)、實(shí)際完成頁數(shù)、說明程式紀(jì)錄課程名稱、工作名稱、預(yù)計所花時間、實(shí)際所花時間、預(yù)計完成行數(shù)、實(shí)際完成行數(shù)、說明作業(yè)紀(jì)錄課程名稱、工作名稱、預(yù)計所花時間、實(shí)際所花時間、預(yù)計完成題數(shù)、實(shí)際完成題數(shù)、說明BUG紀(jì)錄BUG類別、原因描述、產(chǎn)生階段、移除階段、解決時間函式紀(jì)錄函數(shù)名稱、預(yù)計所花時間、實(shí)際所花時間、預(yù)計完成行數(shù)、實(shí)際完成行數(shù)、說明分析統(tǒng)計畫面:包含【時間分析統(tǒng)計】、
18、【程式分析統(tǒng)計】、【作業(yè)分析統(tǒng)計】、【班上分析統(tǒng)計】系統(tǒng)於每週的星期一都會把上星期的上課、閱讀、寫程式、寫作業(yè)所花的時數(shù)分別依照課程來個別加總放到這四個項(xiàng)目的時間分析統(tǒng)計表中。而程式分析統(tǒng)計則是當(dāng)有一項(xiàng)程式工作於每日紀(jì)錄時勾選完成,則系統(tǒng)會整理收集此項(xiàng)工作的資訊時間、工作量、行數(shù)及所犯下的錯誤而加入到此表中。同樣地作業(yè)分析統(tǒng)計也是當(dāng)有一項(xiàng)作業(yè)工作勾選完成後,系統(tǒng)會自動整理其時間、工作量、完成與未完成之紀(jì)錄而加入到表中。最後的班上分析統(tǒng)計則是連線到Server查詢學(xué)生於此項(xiàng)工作在班上的排名,也可得知班上的平均值。表格名稱表格欄位時數(shù)分析統(tǒng)計第一週到第十八週程式分析統(tǒng)計名稱、所花時間、完成行數(shù)、B
19、UG總數(shù)(所犯BUG列表)作業(yè)分析統(tǒng)計名稱、所花時間、完成題數(shù)(所完成的題號)班上分析統(tǒng)計程式名稱、平均時間、平均行數(shù)、平均BUG數(shù)、排名作業(yè)名稱、平均時間、平均題數(shù)其他畫面:【管理資料】和【元件庫】學(xué)生於安排課程中可以自己加選課程,本系統(tǒng)沒有建置選課系統(tǒng)的功能,由學(xué)生自行挑選,當(dāng)然必須跟實(shí)際上的相符合,因?yàn)槿魹楣芾碚呓槊鎭砑舆x的話,則管理者會很麻煩。所以我們設(shè)計成學(xué)生自己選課以減輕管理者的負(fù)擔(dān)且增加其便利性。這裡也可取得學(xué)生所修課程所指派的作業(yè)數(shù)。學(xué)生可自己撰寫元件,分為元件文件跟元件程式碼。因?yàn)樵蔗岬脑偈褂眯院芨?,所以必須清楚填寫元件的功能及使用方法、演算法、外部介面、及測試檔。這樣學(xué)
20、生每次查詢時就能很快的找出適用的元件來用。表格名稱表格欄位安排課程列表及作業(yè)數(shù)課程名稱、紙筆作業(yè)數(shù)、程式作業(yè)數(shù)全部課程列表代碼、課程名稱、開課老師(二)老師使用者介面外觀如下所示(登入先彈出一視窗讓老師輸入帳號密碼,連線成功後即可進(jìn)入管理畫面,分為三個部分)學(xué)生課業(yè)統(tǒng)計:根據(jù)課程可分為【學(xué)生資訊】、【時數(shù)統(tǒng)計】及【選擇作業(yè)】三大項(xiàng)當(dāng)老師選擇課程時,首先會先看到修課學(xué)生的資訊;選擇時數(shù)統(tǒng)計時,就可觀看修課學(xué)生對於此課程在上課、閱讀、寫作業(yè)、寫程式方面所花費(fèi)的週統(tǒng)計時間;若選擇作業(yè)時,則可看出修課學(xué)生在這項(xiàng)作業(yè)所花的時間及其完成度,來追蹤老師教學(xué)方式是否適合。學(xué)生是否了解透徹,可由時數(shù)統(tǒng)計和作業(yè)的
21、平均值分析審查。表格名稱表格欄位學(xué)生資訊學(xué)號、科系、年級、班別、名字、E-mail時數(shù)統(tǒng)計學(xué)號、科系、年級、班別、名字、第一週到第十八週的時數(shù)作業(yè)統(tǒng)計程式學(xué)號、科系、年級、班別、名字、所花時間、完成行數(shù)、產(chǎn)生BUG數(shù)作業(yè)學(xué)號、科系、年級、班別、名字、所花時間、完成題數(shù)、未完成題號備註於時數(shù)統(tǒng)計及作業(yè)統(tǒng)計最後都會計算平均值以供觀看程式BUG整理:老師可查詢學(xué)生所分類出的程式錯誤種類、依據(jù)程式語言(C語言、C+、JAVA)再以歸納整理出教師專屬的BUG分類表,以供教學(xué)使用。表格名稱表格欄位教師BUG種類總整理BUG編號、類別、描述學(xué)生BUG程式錯誤分類表BUG編號、類別、描述指派課程作業(yè):老師可指
22、派作業(yè)內(nèi)容,或是告知同學(xué)課程相關(guān)訊息(課程網(wǎng)頁或下載位址),當(dāng)送出訊息傳送給Server時,Server會發(fā)送郵件通知道學(xué)生這項(xiàng)訊息,並更新課程指派作業(yè)數(shù)。(三)管理者使用者介面外觀如下所示(登入先彈出一視窗讓管理者輸入帳號密碼,連線成功後即可進(jìn)入管理畫面,分為三個部分)管理人員部分:可分為【系所資訊】、【老師資訊】、【學(xué)生資訊】,在此管理者可以新增、修改及刪除系所、老師及學(xué)生的資訊,並設(shè)定使用者登入系統(tǒng)的帳號密碼及權(quán)限。表格名稱表格欄位系所資訊系所名稱、老師人數(shù)、學(xué)生人數(shù)、E-mail老師資訊老師名字、E-mail、帳號、密碼學(xué)生資訊學(xué)號、名字、E-mail、密碼管理課程部分:可分為【老師課
23、程】與【學(xué)生課程】,若老師有開設(shè)課程,管理者要自行在老師課程裡新增課程,設(shè)定其開課老師的資訊,讓學(xué)生能拿到正確的課程資訊,而在學(xué)生課程方面,讓管理者了解其課程修課學(xué)生人數(shù)的情形。歷屆分析比較:管理者可向Server查詢歷年來此課程修課學(xué)生的學(xué)習(xí)狀況。表格名稱表格欄位歷年學(xué)習(xí)狀況程式學(xué)年、平均所花時間、平均行數(shù)、平均BUG數(shù)、平均速率作業(yè)學(xué)年、平均所花時間、平均題數(shù)本系統(tǒng)的Data Server建立於Unix-like的作業(yè)系統(tǒng)上,而DBMS採用MySQL,透過所撰寫的C語言程式來存取資料庫,且完成和Client之間的互動。而這項(xiàng)工作主要由SERVER.C和CHEKCUSER.C這兩隻程式負(fù)責(zé)S
24、ERVER.C負(fù)責(zé)確認(rèn)登入帳號密確是否正確,當(dāng)連線成功後,便可透過此程式來存取資料庫。而此程式所提供的功能很多,所提供的服務(wù)命令格式如下表所示:命令說明CMD_SEND_CLASS學(xué)生上傳上課時數(shù)統(tǒng)計CMD_SEND_READ學(xué)生上傳閱讀時數(shù)統(tǒng)計CMD_SEND_PROG學(xué)生上傳寫程式時數(shù)統(tǒng)計CMD_SEND_WORK學(xué)生上傳寫作業(yè)時數(shù)統(tǒng)計CMD_SEND_BUGTYPE學(xué)生上傳程式錯誤分類CMD_GET_HWK_NUM學(xué)生查詢各科指派作業(yè)數(shù)CMD_SEND_PROGANA學(xué)生上傳程式分析統(tǒng)計CMD_SEND_HWKANA學(xué)生上傳作業(yè)分析統(tǒng)計CMD_ADD_CLASS學(xué)生加選課程CMD_DEL
25、_CLASS學(xué)生退選課程CMD_GET_HWK_AVG學(xué)生查詢各科作業(yè)平均CMD_GET_PROG_AVG學(xué)生查詢各科程式平均及排名CMD_TEA_GET_CLASS老師查詢修課學(xué)生資訊CMD_TEA_CLASS_TIME老師查詢修課學(xué)生上課時數(shù)統(tǒng)計CMD_TEA_HWK_TIME老師查詢修課學(xué)生寫作業(yè)時數(shù)統(tǒng)計CMD_TEA_PROG_TIME老師查詢修課學(xué)生寫程式時數(shù)統(tǒng)計CMD_TEA_READ_TIME老師查詢修課學(xué)生閱讀時數(shù)統(tǒng)計CMD_TEA_CLASS老師查詢所授課科目列表CMD_TEA_HWK老師查詢修課學(xué)生程式作業(yè)分析統(tǒng)計CMD_TEA_GET_BUG老師查詢修課學(xué)生的程式錯誤分類
26、列表CMD_TEA_BUG老師查詢程式錯誤分類整理列表CMD_TEA_SEND_BUG老師上傳程式錯誤分類整理列表CMD_TEA_ASSIGNHWK老師指派課程作業(yè)數(shù)CMD_ADMIN_SENDDEP管理者修改科別系所資訊CMD_ADMIN_GETDEP管理者查詢科別系所資訊CMD_ADMIN_ADDTC管理者新增老師資訊CMD_ADMIN_MODTC管理者修改老師資訊CMD_ADMIN_DELTC管理者刪除老師資訊CMD_ADMIN_GETTC管理者查詢老師資訊CMD_ADMIN_ADDST管理者新增學(xué)生資訊CMD_ADMIN_MODST管理者修改學(xué)生資訊CMD_ADMIN_DELST管理者
27、刪除學(xué)生資訊CMD_ADMIN_GETST管理者查詢學(xué)生資訊CMD_ADMIN_ADD_TCCLASS管理者新增課程資訊CMD_ADMIN_MOD_TCCLASS管理者修改課程資訊CMD_ADMIN_DEL_TCCLASS管理者刪除課程資訊CMD_ADMIN_GET_TCCLASS管理者查詢課程資訊CMD_ADMIN_GET_STCLASS管理者查詢修課學(xué)生資訊CMD_ADMIN_PASSWD更改密碼CHECKUSER.C這隻程式主要是配合Crontab一起執(zhí)行,於每天零點(diǎn)時執(zhí)行,當(dāng)時間到達(dá)時便到資料庫查詢使用者今日的連線狀態(tài),若學(xué)生於今日尚未使用本系統(tǒng),則此程式便會向資料庫查詢此學(xué)生的電子郵
28、件位址,寄予提醒信件,告知使用者今天並未使用本系統(tǒng),除此之外,也會將未使用此系統(tǒng)的學(xué)生名單寄給管理者,使管理者能了解學(xué)生的使用狀態(tài),以便掌握學(xué)生的學(xué)生狀態(tài)。除了上述兩個主要程式外,SERVER端還有ROTATE.C,這隻程式主要是將資料庫內(nèi)的資料以學(xué)年方式備份,由管理者輸入當(dāng)年學(xué)年,這主要是為了提供歷年分析統(tǒng)計功能所用。而在資料庫中的表格可分為使用者列表、修課學(xué)生列表、課程作業(yè)分析統(tǒng)計列表、上課時數(shù)統(tǒng)計列表、閱讀時數(shù)統(tǒng)計列表、寫程式時數(shù)統(tǒng)計列表、寫作業(yè)時數(shù)統(tǒng)計列表、課程作業(yè)指派列表、及全部課程列表。而命名法則如下:表格名稱資料庫對應(yīng)的table name使用者列表auth課程作業(yè)指派列表ass
29、ignment全部課程列表classlist上課時數(shù)統(tǒng)計列表class寫作業(yè)時數(shù)統(tǒng)計列表homework寫程式時數(shù)統(tǒng)計列表program閱讀時數(shù)統(tǒng)計列表reading課程作業(yè)分析統(tǒng)計列表class_課號修課學(xué)生列表c_課號而每一個統(tǒng)計列表中,都有修課學(xué)生的學(xué)號當(dāng)成Foreign Key,可以指向使用者列表來查詢所須的資訊,而每個學(xué)生的學(xué)號為一主鍵(Key),不可重覆。除此之外,管理者所建立的科別系所和學(xué)生的程式錯誤分類及老師的程式錯誤整理表,在Server端都是以檔案的形式儲存,因?yàn)檫@些資訊都時常變更,為了不造成資料庫的存取負(fù)擔(dān),所以以檔案的形式儲存。.目前成果而目前本系統(tǒng)對上述規(guī)格都已建構(gòu)完
30、畢,包含學(xué)生、老師、及管理者的所有需求,根據(jù)目前的結(jié)果,學(xué)生能清楚知道如何安排自己的行程,且透過詳實(shí)的紀(jì)錄,能上傳至Server,進(jìn)一步和班上同學(xué)做個比較,了解自己的程度,如下圖所示,同學(xué)就能清楚的了解班上同學(xué)在作業(yè)上所花的平均時間,也能知道自己在這次的作業(yè)中在整班中的排名情形,能讓自己更清楚的了解自己和別人的學(xué)習(xí)狀況,不再是盲目的自我學(xué)習(xí)了。而且除了能了解和他人之間的差異外,本系統(tǒng)也能幫助學(xué)生建立出自己專屬的程式錯誤提醒表(如下圖所示),非但能使學(xué)生便清楚自己撰寫程式時常犯的錯誤,更能提高撰寫程式的速率,減少程式所犯錯誤,提高個人軟體生產(chǎn)力。對於老師而言,的確可以清楚的看出修課學(xué)生的盲點(diǎn)所在
31、,能針對此分析給予學(xué)生適時的幫助,不再和以前一樣,只知道學(xué)生作業(yè)完成與否,可以進(jìn)一步了解學(xué)生學(xué)習(xí)上的疏忽,也能針對修課學(xué)生常犯之程設(shè)錯誤分類,了解學(xué)生的程式垢病。而管理者更能透過本系統(tǒng)了解學(xué)生學(xué)習(xí)狀態(tài)和歷屆學(xué)生學(xué)習(xí)分析比較,清楚的了解學(xué)生成長曲線。而且本系統(tǒng)除了促進(jìn)了師生之間的互動外,元件庫對學(xué)生在撰寫程式時,提供了莫大的幫助,當(dāng)學(xué)生實(shí)作出自己的元件時,可以透過本系統(tǒng)做適當(dāng)?shù)墓芾韮Υ?,日後撰寫程式需要用到相關(guān)元件時,便能透過本系統(tǒng)查詢使用(如下圖所示)。而且本系統(tǒng)除了幫學(xué)生做元件的程式碼收藏外,同時也會儲存學(xué)生對此元件的相關(guān)檔案,如元件簡述和測試資料等,提高元件的可利用性。Watt S. Hu
32、mphrey先生提出Personal Software Process的概念後,也設(shè)計一套PSP登錄工具,不過此工具只供個人使用,而且此工具為供軟體工程師所用,但從教學(xué)角色來看,實(shí)有必要將學(xué)生之工作記錄作統(tǒng)計分析,以供老師及時修正學(xué)生錯誤觀念或反應(yīng)於未來教學(xué),甚至藉這些數(shù)據(jù)了解學(xué)生的能力與差異,而予以加強(qiáng)。所以本系統(tǒng)除了採用Humphrey之PSP外,便是採取教學(xué)的觀點(diǎn)來設(shè)計,非但能提高學(xué)生之軟體生產(chǎn)力,還能達(dá)到師生互動效果,提高教學(xué)品質(zhì)。.結(jié)論與討論軟體生產(chǎn)力資料收集分析系統(tǒng)實(shí)用於教學(xué)上可以達(dá)到教學(xué)相長的效果。對學(xué)生而言,除了可以更容易掌握自我行程外,更能清楚知道自己的時間花費(fèi)所在,可以和同儕互相比較,知道自己的缺失,了解自己在班上的學(xué)習(xí)情形。建立錯誤提醒表,能提高自己的軟體生產(chǎn)力。利用本系統(tǒng)元件庫,能提高程式速率,同時也使維護(hù)更加簡單。老師方面,除了可以指派作業(yè)習(xí)題外,更能透過本系統(tǒng)清楚的看出修課學(xué)生在本課程的學(xué)習(xí)狀況,並可針對學(xué)生的弱點(diǎn)再加以教導(dǎo),彌補(bǔ)學(xué)生之不足的知識。而且根據(jù)學(xué)生的程式錯誤分類表,老師更能於授課時加以提醒之,提高同學(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度車輛過戶轉(zhuǎn)讓與二手車交易背景調(diào)查合同
- 石亭加工合同范本
- 二零二五年度美容院合伙人投資回報與收益分配協(xié)議
- 科學(xué)解讀妊娠紋的成因與預(yù)防措施
- 二零二五年度勞動合同主體變更及特殊工種勞動保護(hù)合同
- 2025年國網(wǎng)河南省電力公司招聘高校畢業(yè)生950人(第一批)筆試參考題庫附帶答案詳解
- 2025年度消防安全免責(zé)協(xié)議書:消防設(shè)施維護(hù)與使用責(zé)任
- 二零二五餐飲業(yè)商鋪?zhàn)赓U合同附贈外賣配送服務(wù)協(xié)議
- 2025年度智能穿戴設(shè)備專利權(quán)授權(quán)合同
- 非婚生子女撫養(yǎng)權(quán)與財產(chǎn)分割2025年度專項(xiàng)協(xié)議
- 醫(yī)院培訓(xùn)課件:《PET-CT的臨床應(yīng)用》
- (課件)-幼兒園中班社會教案《新年里的開心事》
- 2025海南省交通投資控股限公司招聘30人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 宋代美學(xué)研究
- 行政管理學(xué)知識點(diǎn)全套
- 船舶安全管理培訓(xùn)課件
- 《工業(yè)機(jī)器人現(xiàn)場編程》課件-任務(wù)3.涂膠機(jī)器人工作站
- 供應(yīng)鏈管理(第2版)課件:常用的供應(yīng)鏈管理方法
- 腰椎手術(shù)的疑難討論
- 中英文對照版 ASTM B594 2019 鋁合金形變產(chǎn)品超聲波檢測標(biāo)準(zhǔn)慣例
- 五年級下冊道德與法治教學(xué)計劃
評論
0/150
提交評論