




已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
理工學(xué)院考試成績(jī)分析第一章 緒 論pb8.0是powerbuilder誕生10年來(lái)最新的一個(gè)版本,被認(rèn)為是當(dāng)今最具影響力的4gl/rad開(kāi)發(fā)工具。sybase公司8月2日推出最新版本的應(yīng)用開(kāi)發(fā)工具pb8.0 (powerbuilder 8.0)。pb8.0通過(guò)諸多創(chuàng)新特性以及與應(yīng)用服務(wù)器的無(wú)縫集成,提供了基于客戶(hù)機(jī)/服務(wù)器、web及多層結(jié)構(gòu)的快速開(kāi)發(fā)環(huán)境。同時(shí),卓越的應(yīng)用開(kāi)發(fā)效率及強(qiáng)大的web功能為新版本增色不少。 powerbuilder 80是什么sybase powerbuilder 8.0是易于使用的、可伸縮的、并經(jīng)實(shí)踐證明的快速集成開(kāi)發(fā)環(huán)境,它在給用戶(hù)提供一條轉(zhuǎn)移到下一代平臺(tái)的途徑的同時(shí),使用戶(hù)仍能夠保護(hù)和擴(kuò)展他現(xiàn)有的在技術(shù)和應(yīng)用上的投資。多年來(lái),用戶(hù)一直贊賞powerbuilder 用于客戶(hù)機(jī)/服務(wù)器應(yīng)用開(kāi)發(fā)的快捷性、簡(jiǎn)便性以及先進(jìn)性。現(xiàn)在,用戶(hù)可以在他熟悉的相同的powerbuilder環(huán)境中使用相同的技術(shù)來(lái)創(chuàng)建同樣的功能強(qiáng)大的web和分布式應(yīng)用。pb8.0新版增加了許多強(qiáng)大的功能,包括卓越的應(yīng)用開(kāi)發(fā)效率,與sybase easerver的緊密集成以及強(qiáng)大的web應(yīng)用開(kāi)發(fā)能力,具體表現(xiàn)在三個(gè)方面:在java應(yīng)用開(kāi)發(fā)方面,pb8.0使powerbuilder的代碼能夠在easerver服務(wù)器內(nèi)部與java、c、c+,以及與其它組件一道執(zhí)行。在客戶(hù)機(jī)/服務(wù)器應(yīng)用的開(kāi)發(fā)方面,pb8.0增加了國(guó)際化支持、擴(kuò)展的數(shù)據(jù)庫(kù)支持、增強(qiáng)的autoscript功能、例外處理功能的支持。在將客戶(hù)機(jī)/服務(wù)器應(yīng)用移植到web方面,pb8.0則提供對(duì)統(tǒng)一的用戶(hù)界面、工作區(qū)與對(duì)象的支持,簡(jiǎn)化的web站點(diǎn)創(chuàng)建、基于事件驅(qū)動(dòng)體系結(jié)構(gòu)的高效頁(yè)面開(kāi)發(fā)功能,以及與easerver增強(qiáng)的集成。從熟悉的powerbuilder環(huán)境中,客戶(hù)就可以充分地利用大量新的web應(yīng)用開(kāi)發(fā)功能,將應(yīng)用、用戶(hù)以及技術(shù)帶到web世界與分布式計(jì)算領(lǐng)域。卓越開(kāi)發(fā)效率powerbuilder通過(guò)提供大量新的功能和特征,繼續(xù)拓展其快速應(yīng)用開(kāi)發(fā)和無(wú)比卓越的生產(chǎn)率傳統(tǒng),顯著地加快了應(yīng)用開(kāi)發(fā)的周期。工作區(qū)與對(duì)象新的工作區(qū)意味著你能夠同時(shí)而且高效率地創(chuàng)建、預(yù)覽和部署多個(gè)應(yīng)用。在工作區(qū)中,你可以創(chuàng)建“對(duì)象”-你部署的最終產(chǎn)品。目前,powerbuilder具有三種類(lèi)型的對(duì)象, 它們是基于windows的應(yīng)用、部署到easerver 中的powerbuilder組件、以及web對(duì)象。系統(tǒng)目錄樹(shù)這一激活的、自動(dòng)縮進(jìn)的、適合瀏覽的資源,以分層的格式可視化地顯示工作區(qū)中的內(nèi)容、html頁(yè)面、web應(yīng)用可用的語(yǔ)言,以及駐留在easerver中的組件。它還使你能夠拖放組件和對(duì)象,從而使程序代碼的編寫(xiě)量降到最低。例外處理 powerbuilder 8.0現(xiàn)在包含例外處理類(lèi)和語(yǔ)法分析功能,用于對(duì)應(yīng)用程序內(nèi)部的上下文相關(guān)的錯(cuò)誤分析處理。你可以很輕松地處理來(lái)自 easerver組件的例外,定義和丟棄你自己的例外類(lèi)型。內(nèi)置的國(guó)際化支持powerbuilder現(xiàn)在支持雙字節(jié)字符集。數(shù)十項(xiàng)可用性增強(qiáng) sybase公司已把50個(gè)以上增強(qiáng)的可用性增加到開(kāi)發(fā)環(huán)境中。web的快速應(yīng)用開(kāi)發(fā)powerbuilder 8.0現(xiàn)在是一個(gè)綜合性的web集成開(kāi)發(fā)環(huán)境,它提供了一個(gè)基于圖形用戶(hù)界面、功能強(qiáng)大而快捷的環(huán)境,用于高級(jí)web應(yīng)用和web站點(diǎn)的創(chuàng)建。從熟悉的powerbuilder環(huán)境中,你可以充分地利用大量新的web應(yīng)用開(kāi)發(fā)功能,將你的應(yīng)用、你的用戶(hù)以及你的技術(shù)帶到web世界與分布式計(jì)算領(lǐng)域。無(wú)論是從事企業(yè)級(jí)系統(tǒng)開(kāi)發(fā),還是從事商業(yè)應(yīng)用軟件開(kāi)發(fā),高度靈活性、快速性以及強(qiáng)大的功能都是你所需要的。而這些正是sybase powerbuilder 8.0所能提供的。借助于powerbuilder,你能夠創(chuàng)建、增強(qiáng)和擴(kuò)展驅(qū)動(dòng)當(dāng)今商務(wù)運(yùn)作的客戶(hù)機(jī)/服務(wù)器應(yīng)用。而且,你還能夠快速地創(chuàng)建并充分利用新的internet和分布式體系結(jié)構(gòu)優(yōu)勢(shì)的復(fù)雜web及多層應(yīng)用。緊密集成easerver easerver是sybase公司的一個(gè)獨(dú)具特色的應(yīng)用服務(wù)器,它融合了組件事務(wù)處理服務(wù)器和動(dòng)態(tài)頁(yè)面服務(wù)器的功能。 這就是powerbuilder提供與j2ee應(yīng)用服務(wù)器easerver之間無(wú)縫集成用于應(yīng)用開(kāi)發(fā)、測(cè)試、調(diào)試和部署過(guò)程的原因。利用easerver,你就能夠支持包括corba、javabeans與enterprise javabeans、com與c/c+組件在內(nèi)的不同種類(lèi)的組件模型以及本地powerbuilder組件。easerver還提供了你部署全球應(yīng)用所需要的負(fù)荷平衡、高可用性、高安全性,以及高伸縮性特性。 idechanges : pb8.0用諸多細(xì)致的視覺(jué)手法進(jìn)一步改進(jìn)了它的ide(集成開(kāi)發(fā)環(huán)境),由此反映出該產(chǎn)品在結(jié)構(gòu)上的一些重大改變,包括了開(kāi)發(fā)人員生產(chǎn)力、web客戶(hù)開(kāi)發(fā)和easerver集成三個(gè)方面的重要升級(jí)。 workspaces和系統(tǒng)樹(shù)窗口 pb8.0提供的workspace使開(kāi)發(fā)人員可以同時(shí)在多個(gè)應(yīng)用或者組件上工作。系統(tǒng)樹(shù)窗口為開(kāi)發(fā)人員提供了一個(gè)關(guān)于workspace的活動(dòng)狀態(tài)視圖,所有的組件、功能、屬性、事件和結(jié)構(gòu)都可以通過(guò)系統(tǒng)樹(shù)窗口來(lái)訪問(wèn)。 輸出窗口和剪貼(clip)窗口 pb8.0新增了輸出窗口和剪貼窗口。系統(tǒng)樹(shù)窗口和workspace的強(qiáng)大功能,再加上輸出窗口、剪貼窗口的幫助,pb8.0的ide已經(jīng)有了顯著的改進(jìn)。 與powersite合并 將powersite完全整合進(jìn)pb8.0,使pb8.0能夠輕松建立事務(wù)型web應(yīng)用,同時(shí)也消除了sybase產(chǎn)品線的重疊。 easerver整合 存在于easerver上的pb8.0應(yīng)用程序和不可視對(duì)象現(xiàn)在可以與ejb組件直接進(jìn)行通信,從而為開(kāi)發(fā)人員提供了更好的組件間的互操作能力以及與easerver更好的集成,普及并簡(jiǎn)化了pb8.0的組件化開(kāi)發(fā)。 web功能 將powersite整合進(jìn)pb,使得powerbuilder可以開(kāi)發(fā)擴(kuò)展的瘦客戶(hù)應(yīng)用,而增加瘦客戶(hù)功能對(duì)促進(jìn)web應(yīng)用開(kāi)發(fā)是不可或缺的。 sybase做了很多努力來(lái)滿足pb用戶(hù)的需求,讓他們發(fā)現(xiàn)這些新特性對(duì)他們構(gòu)建或維護(hù)兩層事務(wù)型應(yīng)用非常有用。同時(shí),sybase希望這些新特性也能告訴所有人,powerbuilder8.0能夠輕松構(gòu)建更為復(fù)雜的n層和以web為中心的應(yīng)用。使用powerbuider可以快速地開(kāi)發(fā)出當(dāng)今最流行的各種商業(yè)應(yīng)用,如客戶(hù)/服務(wù)器應(yīng)用、分布式應(yīng)用、基于組件的應(yīng)用和web應(yīng)用。在powerbuider8.0強(qiáng)大的功能和友好的集成開(kāi)發(fā)環(huán)境支持下,開(kāi)發(fā)人員的效率得到空前的提高,是程序設(shè)計(jì)與開(kāi)發(fā)工作變的更加有趣,仿佛是一個(gè)藝術(shù)家在創(chuàng)作一件藝術(shù)品,因此它深受?chē)?guó)內(nèi)外廣大開(kāi)發(fā)人員的喜愛(ài)。作為一名企業(yè)應(yīng)用的開(kāi)發(fā)人員,你必須緊跟市場(chǎng)和企業(yè)規(guī)則的變化,不斷地為企業(yè)用戶(hù)開(kāi)發(fā)出優(yōu)質(zhì)的應(yīng)用系統(tǒng),以使企業(yè)能在信息時(shí)代立于不敗之地。選擇powerbuider8.0,定能使你從容應(yīng)對(duì)各種變化,在激烈競(jìng)爭(zhēng)環(huán)境中游刃有余。在滿足用戶(hù)和完成系統(tǒng)的需要前提下,我們認(rèn)為選用powerbuider8.0來(lái)開(kāi)發(fā)本次畢業(yè)設(shè)計(jì)課題是最佳選擇。sybase做了很多努力來(lái)滿足pb用戶(hù)的需求,讓他們發(fā)現(xiàn)這些新特性對(duì)他們構(gòu)建或維護(hù)兩層事務(wù)型應(yīng)用非常有用。同時(shí),sybase希望這些新特性也能告訴所有人,powerbuilder8.0能夠輕松構(gòu)建更為復(fù)雜的n層和以web為中心的應(yīng)用。 第二章 可行性分析 為了以最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問(wèn)題是否能夠解決,在進(jìn)行設(shè)計(jì)開(kāi)發(fā)前首先進(jìn)行了可行性分析。 考試是教學(xué)過(guò)程的重要環(huán)節(jié),認(rèn)真、嚴(yán)密的考試過(guò)程,科學(xué)、準(zhǔn)確的結(jié)果分析可以為評(píng)價(jià)教學(xué)效果,以及提高教學(xué)質(zhì)量、改進(jìn)教學(xué)方法和教學(xué)管理工作提供可靠的依據(jù)。 a、新學(xué)期開(kāi)始時(shí),對(duì)應(yīng)每一位新生輸入相關(guān)的詳細(xì)記錄。 b、建立各類(lèi)課程的詳細(xì)記錄。 c、各專(zhuān)業(yè)每學(xué)期要選擇各類(lèi)課程安排本學(xué)期的教學(xué)計(jì)劃。 d、各個(gè)對(duì)應(yīng)專(zhuān)業(yè)年紀(jì)的學(xué)生可選擇教學(xué)計(jì)劃范圍內(nèi)的課程或選擇重修課程并在每學(xué)期末輸入成績(jī)。e、隨時(shí)可對(duì)學(xué)生記錄、課程信息及學(xué)生成績(jī)進(jìn)行查詢(xún)并且統(tǒng)計(jì)分析。f、只有有權(quán)限的人才可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行維護(hù)。第三章 需求分析學(xué)生成績(jī)管理工作被視作高校管理工作中一項(xiàng)不容忽視的重要分支,其工作量大,涉及面廣,學(xué)生成績(jī)管理工作進(jìn)行的好壞直接影響著整個(gè)高校管理工作的各個(gè)環(huán)節(jié)。由于成績(jī)管理工作的本身特點(diǎn)及特殊性質(zhì),單純依靠人力,會(huì)使從事這項(xiàng)工作的管理人員過(guò)度疲勞,難免會(huì)發(fā)生許多錯(cuò)誤,難以做到管理的規(guī)范化,這不符合管理工作的令后發(fā)展趨勢(shì)。因此,需要開(kāi)發(fā)一種功能全面,操作簡(jiǎn)便的管理系統(tǒng)來(lái)輔助作用,人機(jī)配合,能夠使機(jī)器承擔(dān)部分工作,是管理員逐步擺脫一些無(wú)謂的,煩瑣的業(yè)務(wù),這對(duì)充分利用人力資源的主導(dǎo)作用及使管理工作逐步步入規(guī)范化軌道有著重要意義。根據(jù)上一章可行性研究及對(duì)用戶(hù)調(diào)查,我們可確定本系統(tǒng)必須完成的工作,下面將來(lái)做簡(jiǎn)單介紹。1 輸入部分新學(xué)期開(kāi)始需將學(xué)生基本信息輸入,一般來(lái)講,學(xué)生基本信息有姓名,學(xué)號(hào),還有學(xué)生所屬專(zhuān)業(yè)。在學(xué)生基本信息里可以選擇同樣專(zhuān)業(yè)的學(xué)生,可以對(duì)學(xué)生基本信息進(jìn)行修改。每個(gè)新學(xué)期的信息都不同,還要設(shè)置學(xué)期。在設(shè)置專(zhuān)業(yè)時(shí)要設(shè)專(zhuān)業(yè)名稱(chēng)和專(zhuān)業(yè)代號(hào),以便查詢(xún)或者維護(hù)。每學(xué)期末應(yīng)輸入學(xué)生的各門(mén)課程成績(jī),但必須是該學(xué)生所在專(zhuān)業(yè)年級(jí)在本學(xué)期開(kāi)了這門(mén)課,所以輸入部分還需試卷登記,在試卷登記里要詳細(xì)區(qū)分每個(gè)專(zhuān)業(yè),每個(gè)班級(jí)的試卷。試卷登記就需要試卷信息。在輸入模塊里需要專(zhuān)業(yè)設(shè)置,學(xué)期設(shè)置,學(xué)生信息,試卷登記,試卷信息。該部分是本系統(tǒng)最重要部分,著重分析,還應(yīng)考慮數(shù)據(jù)的完整性,使用視圖。2 統(tǒng)計(jì)分析部分為了是各項(xiàng)記錄可供有關(guān)人員隨時(shí)查詢(xún),統(tǒng)計(jì)分析當(dāng)中需要查詢(xún)部分,查詢(xún)應(yīng)可以用按學(xué)生學(xué)號(hào)和學(xué)生姓名檢索該學(xué)生的所有信息。期末考試結(jié)束后,各教研室應(yīng)至少要抽取一個(gè)授課班進(jìn)行試題的難度,區(qū)分度分析。a考試難度指數(shù)(p)值的計(jì)算方法:客觀題難度指數(shù)計(jì)算公式:p=r/n(r為某一題參加考試的學(xué)生中答對(duì)的人數(shù),n為參加考試的學(xué)生數(shù)。)非客觀題難度指數(shù)計(jì)算公式:p=x/w(x為某題的平均分,w為該題的最高分值)b試題區(qū)分度(d)值的計(jì)算方法:計(jì)算某一班學(xué)生答某一題的區(qū)分度,首先要在該班中確定一個(gè)高分組,一個(gè)第分組。在考生中按名次排列位于前25%的學(xué)生為高分組,位于后25%的學(xué)生為底分組??陀^題分度計(jì)算公式:d=ph-pl(ph為高分組學(xué)生答對(duì)的百分比,pl為底分組學(xué)生答對(duì)的百分比)難度指數(shù)和區(qū)分度計(jì)算完后要在教研室同考試題一同存檔,為以后的命題工作提供依據(jù)。另外試題的難度情況和區(qū)分度情況要寫(xiě)入下表考試總結(jié)和成績(jī)分析中。標(biāo)準(zhǔn)差:數(shù)據(jù)離散趨勢(shì)最靈敏、最標(biāo)準(zhǔn)的指標(biāo),能準(zhǔn)確反映數(shù)據(jù)的差異程度,是對(duì)數(shù)局進(jìn)行同意分析的前提與基礎(chǔ)??陀^題:評(píng)分而得名。試題類(lèi)型有概念題、見(jiàn)大題、天空題、排列題、多重選擇題等。優(yōu)點(diǎn):有明確的標(biāo)準(zhǔn)答案,簡(jiǎn)單,題量多,有足夠的覆蓋率:缺點(diǎn):難于測(cè)量綜合、平分兩級(jí)復(fù)雜的認(rèn)知目標(biāo)。區(qū)分度:用極端分組把學(xué)生按其水平分開(kāi)的能力。具有良好的能力。具有良好的句粉能力的測(cè)驗(yàn)?zāi)苁顾礁叩膶W(xué)生得高分,水平低的學(xué)生得低分,因此,區(qū)分度通常作為測(cè)驗(yàn)是否具有效應(yīng)的“顯示器”,是堅(jiān)定試題質(zhì)量、篩選試題的主要指標(biāo)與依據(jù)。學(xué)生成績(jī)統(tǒng)計(jì)專(zhuān)業(yè)年級(jí)考試人數(shù)缺考人數(shù)平均成績(jī)標(biāo)準(zhǔn)差各額分?jǐn)?shù)段人數(shù)缺考學(xué)生名單9080706060學(xué)生考試成績(jī)頻數(shù)分布圖第四章 總體設(shè)計(jì) 本次設(shè)計(jì)選擇powerbuilder8.0為開(kāi)發(fā)工具,以mirocsoft sql server2000分布式客戶(hù)服務(wù)器數(shù)據(jù)庫(kù)系統(tǒng),作為數(shù)據(jù)庫(kù)后臺(tái),windows2000操作平臺(tái)。學(xué)生成績(jī)分析系統(tǒng)是一個(gè)很大的系統(tǒng),若要求一個(gè)人獨(dú)立地較完善地完成各項(xiàng)功能,在如此短暫的時(shí)間內(nèi)簡(jiǎn)直是天方夜談。所以,我側(cè)重于輸入模塊進(jìn)行了本次設(shè)計(jì)。下面我將分為兩部分介紹總體設(shè)計(jì)。本課題采用microsoft sql server2000作為數(shù)據(jù)庫(kù)后臺(tái),sql語(yǔ)言功能豐富,使用方式靈活,語(yǔ)言簡(jiǎn)潔易學(xué),它的功能包括查詢(xún),操縱,定義和控制4個(gè)方面。它的主要特點(diǎn)是:一體化,聯(lián)機(jī)交互使用和嵌入式有統(tǒng)一的語(yǔ)法結(jié)構(gòu),過(guò)度非過(guò)程化以及語(yǔ)言簡(jiǎn)潔,易學(xué)易用等。程序設(shè)計(jì): 對(duì)整個(gè)系統(tǒng)動(dòng)能有了總體上的認(rèn)識(shí)之后,應(yīng)對(duì)每一個(gè)模塊的任務(wù)有一個(gè)清晰的認(rèn)識(shí),以防代碼重復(fù),責(zé)任模糊而浪費(fèi)不必要的工作量。下面談一談我對(duì)每一個(gè)模塊總體認(rèn)識(shí)。1 數(shù)據(jù)輸入: a、 專(zhuān)業(yè)設(shè)置:可新增輸入專(zhuān)業(yè)代碼及專(zhuān)業(yè)名稱(chēng)。也可以刪除專(zhuān)業(yè)代碼及其專(zhuān)業(yè)名稱(chēng) b、學(xué)期設(shè)置:可新增輸入學(xué)期 c、學(xué)生信息:可新增輸入學(xué)號(hào),姓名和專(zhuān)業(yè)。 d、試卷登記:顯示各專(zhuān)業(yè)每個(gè)學(xué)期的試卷登記信息。 e、試卷信息:顯示各專(zhuān)業(yè)每個(gè)學(xué)期的每一學(xué)生的試卷信息、即考試成績(jī)。2 統(tǒng)計(jì)分析模塊: a、查找學(xué)生:可以按學(xué)號(hào)進(jìn)行查詢(xún)也可按姓名進(jìn)行查詢(xún)。 b、成績(jī)統(tǒng)計(jì)和頻數(shù)分布圖。 c、成績(jī)分析。3 退出系統(tǒng)。sql的數(shù)據(jù)定義包括3部分:定義基本表,定義視圖和定義索引。視圖是從一個(gè)或幾個(gè)基本表(或視圖)導(dǎo)出的表。在應(yīng)用系統(tǒng)中視圖是極其重要組成部分。它的外模式是由若干基本表和若干視圖組成的,視圖是一個(gè)虛表。它的優(yōu)點(diǎn)有:1 對(duì)于數(shù)據(jù)庫(kù)的重構(gòu)造提供了一定程度上的邏輯獨(dú)立性。2 簡(jiǎn)化了用戶(hù)觀點(diǎn)3 視圖的機(jī)制是不同的用戶(hù)能以不同的方式看待同一數(shù)據(jù)。4 視圖的機(jī)制對(duì)機(jī)密數(shù)據(jù)提供了自動(dòng)的安全保護(hù)功能。索引是數(shù)據(jù)庫(kù)檢索經(jīng)常用到的對(duì)象,為了提高查找速度應(yīng)該給表建立索引。索引可以是唯一的或不唯一的,可以是簇類(lèi)的或非簇類(lèi)的。對(duì)一個(gè)基本表,可以根據(jù)應(yīng)用環(huán)境的需要建立若干索引,以提供多種存取路徑,提高系統(tǒng)的運(yùn)行速度。根據(jù)以上分析將數(shù)據(jù)庫(kù)設(shè)計(jì)成若干個(gè)基本表,它們是paper試卷信息含 義字 段 名類(lèi) 型長(zhǎng) 度主 鍵專(zhuān)業(yè)代碼spec_codechar7學(xué) 期semesterchar9第一題分?jǐn)?shù)due1tinyint1第二題分?jǐn)?shù)due2tinyint1第三題分?jǐn)?shù)due3tinyint1第四題分?jǐn)?shù)due4tinyint1第五題分?jǐn)?shù)due5tinyint1第六題分?jǐn)?shù)due6tinyint1第七題分?jǐn)?shù)due7tinyint1第八題分?jǐn)?shù)due8tinyint1第九題分?jǐn)?shù)due9tinyint1第十題分?jǐn)?shù)due10tinyint1說(shuō)明:a、 專(zhuān)業(yè)代碼和學(xué)期作為主碼。b、 due1due10均為該題目滿分成績(jī)。score成績(jī)信息含 義字 段 名類(lèi) 型長(zhǎng) 度主 鍵學(xué)生學(xué)號(hào)stu_idchar10學(xué) 期semeterchar9第一題分?jǐn)?shù)score1float8第二題分?jǐn)?shù)score2float8第三題分?jǐn)?shù)score3float8第四題分?jǐn)?shù)score4float8第五題分?jǐn)?shù)score5float8第六題分?jǐn)?shù)score6float8第七題分?jǐn)?shù)score7float8第八題分?jǐn)?shù)score8float8第九題分?jǐn)?shù)score9float8第十題分?jǐn)?shù)score10float8是否缺考absenttinyint1說(shuō)明:a、 學(xué)生學(xué)號(hào)為主鍵。b、 score1score10為該學(xué)生在考試中取得的考試分?jǐn)?shù)。c、 是否缺考、默認(rèn)值為0,即為不缺考student學(xué)生信息含 義字 段 名類(lèi) 型長(zhǎng) 度主 鍵學(xué)生學(xué)號(hào)stu_idchar10學(xué)生姓名stu_namechar10專(zhuān)業(yè)代碼spec_codechar7說(shuō)明:a、 學(xué)生學(xué)號(hào)為主碼。semeter學(xué)期信息含 義字 段 名類(lèi) 型長(zhǎng) 度主 鍵學(xué) 期semeterchar9說(shuō)明:a、學(xué)期為主碼。specicalty專(zhuān)業(yè)信息含 義字 段 名類(lèi) 型長(zhǎng) 度主 鍵專(zhuān)業(yè)代碼spec_codechar7專(zhuān)業(yè)名稱(chēng)spec_namechar22說(shuō)明:a、 專(zhuān)業(yè)代碼為主碼。各表之間的關(guān)系第五章 詳細(xì)設(shè)計(jì)本章將想次地對(duì)各個(gè)模塊進(jìn)行分解和剖析,包括程序、變量使用和窗體的構(gòu)成等。系統(tǒng)氛圍四個(gè)模塊,下面依次對(duì)各個(gè)模塊進(jìn)行敘述?;窘缑妫簩?zhuān)業(yè)設(shè)置窗口:數(shù)據(jù)窗口dw_1連接dataobject:dw_spec學(xué)期設(shè)置:數(shù)據(jù)窗口dw_1連接dataobject:dw_xueqi select semester.semester from semester 學(xué)生基本信息:數(shù)據(jù)窗口dw_1連接dataobject:dw_xueshengxinxi代碼部分: select student.stu_id, student.stu_name, student.spec_code from student where student.spec_code = :scode 試卷登記:數(shù)據(jù)窗口dw_1連接dataobject:dw_analysisselect specialty.spec_name, paper.semester, paper.due1, paper.due2, paper.due3, paper.due4, paper.due5, paper.due6, paper.due7, paper.due8, paper.due9, paper.due10, paper.spec_code from paper, specialty where ( paper.spec_code = specialty.spec_code ) and ( ( paper.spec_code = :spec ) and ( paper.semester = :semes ) ) 試卷信息:數(shù)據(jù)窗口dw_1連接dataobject:dw_analysis控鍵:tv_1代碼:treeviewitem tvithis.getitem(handle,tvi)var_spec = tvi.datathis.hideselection = falseparent.init_score()控鍵:tv_2代碼:treeviewitem tvithis.getitem(handle,tvi)var_semeter = tvi.datathis.hideselection = falseparent.init_score()查找學(xué)生:數(shù)據(jù)窗口dw_1連接dataobject:dw_analysis檢索:string get_strget_str = trim(sle_1.text)if sle_1.text = thenreturnend ifchoose case tab_1.selectedtabcase 1dw_1.dataobject = dw_find_stu_by_iddw_1.settransobject(sqlca)dw_1.retrieve(get_str)case 2dw_1.dataobject = dw_find_stu_by_namedw_1.settransobject(sqlca)dw_1.retrieve(get_str)end choose成績(jī)統(tǒng)計(jì)和頻數(shù)分布圖:datawindowchild dwc_score, dwc_absent,dwc_graphdw_1.getchild(dw_score, dwc_score)dw_1.getchild(dw_graph1,dwc_graph)if var_semester thendecimal there_paperselect top 1 paper.due1 into :there_paper from paper where ( paper.semester = :var_semester ) ; if sqlca.sqlcode 0 thenmessagebox(錯(cuò)誤,您所指定的專(zhuān)業(yè)在指定的學(xué)期不存在試卷!)dwc_score.settransobject(sqlca)dwc_score.retrieve()dwc_graph.settransobject(sqlca)dwc_graph.retrieve()return end ifdwc_score.settransobject(sqlca)dwc_score.retrieve(var_semester)dwc_graph.settransobject(sqlca)dwc_graph.retrieve(var_semester,var_spec)elsedwc_score.settransobject(sqlca)dwc_score.retrieve()dwc_graph.settransobject(sqlca)dwc_graph.retrieve(,)end if成績(jī)分析:datawindowchild dwc_section1,dwc_section2dw_1.getchild(dw_section1, dwc_section1)/dw_1.getchild(dw_section2, dwc_section2)if var_semester thendecimal there_paper6,10select top 1 paper.due1, paper.due2, paper.due3, paper.due4, paper.due5, paper.due6, paper.due7, paper.due8, paper.due9, paper.due10 into :there_paper1,1, :there_paper1,2, :there_paper1,3, :there_paper1,4, :there_paper1,5, :there_paper1,6, :there_paper1,7, :there_paper1,8, :there_paper1,9, :there_paper1,10 from paper where ( paper.semester = :var_semester ) ; if sqlca.sqlcode 0 thenmessagebox(錯(cuò)誤,您所指定的專(zhuān)業(yè)在指定的學(xué)期不存在試卷!)dwc_section1.settransobject(sqlca)dwc_section1.retrieve()/dwc_section2.settransobject(sqlca)/dwc_section2.retrieve(,)return end ifint var_questions = 1 /get questins numbersfor var_questions=1 to 10if there_paper1,var_questions = 0 then exitnextvar_questions -= 1/calculate difficultreal temp2,10select sum( case when paper.due1=score.score1 then 1 else 0 end), sum( case when paper.due2=score.score2 then 1 else 0 end), sum( case when paper.due3=score.score3 then 1 else 0 end), sum( case when paper.due4=score.score4 then 1 else 0 end), sum( case when paper.due5=score.score5 then 1 else 0 end), sum( case when paper.due6=score.score6 then 1 else 0 end), sum( case when paper.due7=score.score7 then 1 else 0 end), sum( case when paper.due8=score.score8 then 1 else 0 end), sum( case when paper.due9=score.score9 then 1 else 0 end), sum( case when paper.due10=score.score10 then 1 else 0 end),avg( score.score1), max(score.score1), avg( score.score2), max(score.score2),avg( score.score3), max(score.score3),avg( score.score4), max(score.score4),avg( score.score5), max(score.score5),avg( score.score6), max(score.score6),avg( score.score7), max(score.score7),avg( score.score8), max(score.score8),avg( score.score9), max(score.score9),avg( score.score10), max(score.score10)into :there_paper2,1, :there_paper2,2, :there_paper2,3, :there_paper2,4, :there_paper2,5, :there_paper2,6, :there_paper2,7, :there_paper2,8, :there_paper2,9, :there_paper2,10, :temp1,1,:temp2,1,:temp1,2,:temp2,2,:temp1,3,:temp2,3,:temp1,4,:temp2,4,:temp1,5,:temp2,5,:temp1,6,:temp2,6,:temp1,7,:temp2,7,:temp1,8,:temp2,8,:temp1,9,:temp2,9,:temp1,10,:temp2,10 from score, paper, student where ( score.semester = paper.semester ) and ( paper.spec_code = student.spec_code ) and ( score.stu_id = student.stu_id ) and ( ( score.semester = :var_semester ) and ( score.absent = 0 ) ) ; int stu_nums stu_nums = there_paper2,var_questions+1 /the number of students int i for i = 1 to var_questionsthere_paper2,i = round( there_paper2,1 /stu_nums, 2) next if temp2,var_questions = 0 thenthere_paper2,var_questions = 0elsethere_paper2,var_questions = round(temp1,var_questions / temp2,var_questions, 2)end ifreal data_trans8for i = 1 to var_questionschoose case there_paper2,icase 0 to 0.30data_trans1 += 1case 0.31 to 0.50data_trans2 += 1case 0.51 to 0.70data_trans3 += 1case 0.71 to 1data_trans4 += 1end choosenextfor i = 1 to 4data_transi = round( 100*data_transi / var_questions, 2)nextdwc_section1.settransobject(sqlca)dwc_section1.retrieve()/dwc_section2.settransobject(sqlca)/dwc_section2.retrieve(var_semester,var_spec)if dwc_section1.rowcount() = 0 thendwc_section1.insertrow(0)end ifdwc_section1.setitem(1, difficult30,data_trans1)dwc_section1.setitem(1, difficult50,data_trans2)dwc_section1.setitem(1, difficult70,data_trans3)dwc_section1.setitem(1, difficult100,data_trans4)/calculate partitiondatastore ds_difficultds_difficult = create datastoreds_difficult.dataobject = dw_analysis_top25ds_difficult.settransobject(sqlca)ds_difficult.retrieve(var_semester,var_spec)stu_nums = ds_difficult.getitemdecimal(1,compute_stu_num)for i = 1 to var_questionsthere_paper1,i = ds_difficult.getitemdecimal(1,compute_+trim(string(i)nextfor i = 1 to var_questionsthere_paper2,i = ds_difficult.getitemdecimal(1,compute_+trim(string(i+10)nextds_difficult.dataobject = dw_analysis_end25ds_difficult.settransobject(sqlca)ds_difficult.retrieve(var_semester,var_spec)for i = 1 to var_questionsthere_paper3,i = ds_difficult.getitemdecimal(1,compute_+trim(string(i)nextfor i = 1 to var_questionsthere_paper4,i = ds_difficult.getitemdecimal(1,compute_+trim(string(i+10)nextdestroy ds_difficultselect max(score.score1),max(score.score2),max(score.score3),max(score.score4), max(score.score5),max(score.score6),max(score.score7),max(score.score8), max(score.score9),max(score.score10),min( score.score1), min( score.score2), min( score.score3), min( score.score4),min( score.score5), min( score.score6), min( score.score7), min( score.score8),min( score.score9), min( score.score10)into :there_paper5,1, :there_paper5,2, :there_paper5,3, :there_paper5,4, :there_paper5,5, :there_paper5,6, :there_paper5,7, :there_paper5,8, :there_paper5,9, :there_paper5,10, :there_paper6,1, :there_paper6,2, :there_paper6,3, :there_paper6,4, :there_paper6,5, :there_paper6,6, :there_paper6,7, :there_paper6,8, :there_paper6,9, :there_paper6,10 from score, paper, student where ( score.semester = paper.semester ) and ( paper.spec_code = student.spec_code ) and ( score.stu_id = student.stu_id ) and ( ( score.semester = :var_semester ) and ( score.absent = 0 ) ) ;for i = 1 to var_questionstemp1,i = round(there_paper1,i - there_paper3,i) / stu_nums, 2)nextif there_paper5,var_questions - there_paper6,var_questions 0 thentemp1,var_questions = round( (there_paper2,var_questions - there_paper4,var_questions) / (there_paper5,var_questions - there_paper6,var_questions)*stu_nums), 2)elsetemp1,var_questions = 0end iffor i = 1 to var_questionschoose case temp1,icase is = 0.40 data_trans8 += 1end choosenextfor i = 5 to 8data_transi = round( 100*data_transi / var_questions, 2)nextdwc_section1.setitem(1, part19,data_trans5)dwc_section1.setitem(1, part29,data_trans6)dwc_section1.setitem(1, part39,data_trans7)dwc_section1.setitem(1, part40,data_trans8)elsedwc_section1.settransobject(sqlca)dwc_section1.retrieve()/dwc_section2.settransobject(sqlca)/dwc_section2.retrieve(,)end if第六章 測(cè) 試測(cè)試在開(kāi)發(fā)軟件過(guò)程中是一個(gè)不可缺少的部分。因?yàn)樵陂_(kāi)發(fā)軟件系統(tǒng)的漫長(zhǎng)過(guò)程中,面對(duì)著極其錯(cuò)綜復(fù)雜的問(wèn)題,人的主觀認(rèn)識(shí)不可能完全符合客觀現(xiàn)實(shí),與工程密切相關(guān)的各類(lèi)人員之間的通信和配合也不可能完美無(wú)缺,因此,在軟件生命周期的各個(gè)階段都不可避免地產(chǎn)生差錯(cuò)。我們力求在每個(gè)階段結(jié)束之前通過(guò)嚴(yán)格的技術(shù)審查,盡可能早地發(fā)現(xiàn)并糾正錯(cuò)誤;但是,經(jīng)驗(yàn)表明審查并不能發(fā)現(xiàn)所有的差錯(cuò),此外在編碼過(guò)程中還不可避免地會(huì)引入一些新的錯(cuò)誤。如果在軟件生產(chǎn)性運(yùn)行之前,沒(méi)有發(fā)現(xiàn)并糾正軟件中的大部分差錯(cuò),則這些錯(cuò)誤遲早在生產(chǎn)過(guò)程中暴露出來(lái),那時(shí)不僅僅改正這些錯(cuò)誤的代價(jià)更高,而且往往會(huì)造成很惡劣的后果。測(cè)試的目的就是在軟件投入生產(chǎn)運(yùn)行之前,盡可能多地發(fā)現(xiàn)并糾正軟件中的錯(cuò)誤。基于上述的原因,我在編碼過(guò)程中進(jìn)行了模塊測(cè)試,編碼結(jié)束進(jìn)行了系統(tǒng)測(cè)試和驗(yàn)收測(cè)試。下面將介紹測(cè)試方案,測(cè)試過(guò)程和測(cè)試結(jié)果。一 模塊測(cè)試1 測(cè)試方案 采用了白盒測(cè)試,即按照程序內(nèi)部的邏輯結(jié)構(gòu),檢驗(yàn)程序中的每條通路是
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 礦石浮選工藝優(yōu)化-石墨滑石選礦考核試卷
- 畜禽繁殖力與遺傳改良研究考核試卷
- 紡織材料與纖維的研究與發(fā)展考核試卷
- 電腦系統(tǒng)優(yōu)化與提速技巧考核試卷
- 筆的制造生產(chǎn)計(jì)劃編制與執(zhí)行考核試卷
- 嘉興南湖學(xué)院《Python數(shù)據(jù)分析與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明理工大學(xué)津橋?qū)W院《CAD制圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 咸陽(yáng)市2025年三年級(jí)數(shù)學(xué)第二學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 日照職業(yè)技術(shù)學(xué)院《國(guó)際商務(wù)創(chuàng)業(yè)策劃案例分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧德市周寧縣2024-2025學(xué)年數(shù)學(xué)四年級(jí)第二學(xué)期期末考試試題含解析
- “皖南八?!?024-2025學(xué)年高一第二學(xué)期期中考試-生物(乙)及答案
- 血站安全與衛(wèi)生培訓(xùn)課件
- 人教版四年級(jí)數(shù)學(xué)下冊(cè)期中期中測(cè)試卷(提優(yōu)卷)(含答案)
- 巖土真實(shí)考試題及答案
- 高考前的“加速度”高三下學(xué)期期中家長(zhǎng)會(huì)
- 畢業(yè)設(shè)計(jì)(論文)-板材碼垛機(jī)器人機(jī)械結(jié)構(gòu)設(shè)計(jì)
- 銷(xiāo)售人員合同范文
- 網(wǎng)絡(luò)安全教育主題班會(huì)
- 福建省泉州市2023年第29屆WMO競(jìng)賽六年級(jí)數(shù)學(xué)下學(xué)期競(jìng)賽試卷
- 各國(guó)貨幣知識(shí)
評(píng)論
0/150
提交評(píng)論