已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
理工學(xué)院考試成績分析第一章 緒 論pb8.0是powerbuilder誕生10年來最新的一個版本,被認(rèn)為是當(dāng)今最具影響力的4gl/rad開發(fā)工具。sybase公司8月2日推出最新版本的應(yīng)用開發(fā)工具pb8.0 (powerbuilder 8.0)。pb8.0通過諸多創(chuàng)新特性以及與應(yīng)用服務(wù)器的無縫集成,提供了基于客戶機(jī)/服務(wù)器、web及多層結(jié)構(gòu)的快速開發(fā)環(huán)境。同時,卓越的應(yīng)用開發(fā)效率及強(qiáng)大的web功能為新版本增色不少。 powerbuilder 80是什么sybase powerbuilder 8.0是易于使用的、可伸縮的、并經(jīng)實(shí)踐證明的快速集成開發(fā)環(huán)境,它在給用戶提供一條轉(zhuǎn)移到下一代平臺的途徑的同時,使用戶仍能夠保護(hù)和擴(kuò)展他現(xiàn)有的在技術(shù)和應(yīng)用上的投資。多年來,用戶一直贊賞powerbuilder 用于客戶機(jī)/服務(wù)器應(yīng)用開發(fā)的快捷性、簡便性以及先進(jìn)性。現(xiàn)在,用戶可以在他熟悉的相同的powerbuilder環(huán)境中使用相同的技術(shù)來創(chuàng)建同樣的功能強(qiáng)大的web和分布式應(yīng)用。pb8.0新版增加了許多強(qiáng)大的功能,包括卓越的應(yīng)用開發(fā)效率,與sybase easerver的緊密集成以及強(qiáng)大的web應(yīng)用開發(fā)能力,具體表現(xiàn)在三個方面:在java應(yīng)用開發(fā)方面,pb8.0使powerbuilder的代碼能夠在easerver服務(wù)器內(nèi)部與java、c、c+,以及與其它組件一道執(zhí)行。在客戶機(jī)/服務(wù)器應(yīng)用的開發(fā)方面,pb8.0增加了國際化支持、擴(kuò)展的數(shù)據(jù)庫支持、增強(qiáng)的autoscript功能、例外處理功能的支持。在將客戶機(jī)/服務(wù)器應(yīng)用移植到web方面,pb8.0則提供對統(tǒng)一的用戶界面、工作區(qū)與對象的支持,簡化的web站點(diǎn)創(chuàng)建、基于事件驅(qū)動體系結(jié)構(gòu)的高效頁面開發(fā)功能,以及與easerver增強(qiáng)的集成。從熟悉的powerbuilder環(huán)境中,客戶就可以充分地利用大量新的web應(yīng)用開發(fā)功能,將應(yīng)用、用戶以及技術(shù)帶到web世界與分布式計算領(lǐng)域。卓越開發(fā)效率powerbuilder通過提供大量新的功能和特征,繼續(xù)拓展其快速應(yīng)用開發(fā)和無比卓越的生產(chǎn)率傳統(tǒng),顯著地加快了應(yīng)用開發(fā)的周期。工作區(qū)與對象新的工作區(qū)意味著你能夠同時而且高效率地創(chuàng)建、預(yù)覽和部署多個應(yīng)用。在工作區(qū)中,你可以創(chuàng)建“對象”-你部署的最終產(chǎn)品。目前,powerbuilder具有三種類型的對象, 它們是基于windows的應(yīng)用、部署到easerver 中的powerbuilder組件、以及web對象。系統(tǒng)目錄樹這一激活的、自動縮進(jìn)的、適合瀏覽的資源,以分層的格式可視化地顯示工作區(qū)中的內(nèi)容、html頁面、web應(yīng)用可用的語言,以及駐留在easerver中的組件。它還使你能夠拖放組件和對象,從而使程序代碼的編寫量降到最低。例外處理 powerbuilder 8.0現(xiàn)在包含例外處理類和語法分析功能,用于對應(yīng)用程序內(nèi)部的上下文相關(guān)的錯誤分析處理。你可以很輕松地處理來自 easerver組件的例外,定義和丟棄你自己的例外類型。內(nèi)置的國際化支持powerbuilder現(xiàn)在支持雙字節(jié)字符集。數(shù)十項可用性增強(qiáng) sybase公司已把50個以上增強(qiáng)的可用性增加到開發(fā)環(huán)境中。web的快速應(yīng)用開發(fā)powerbuilder 8.0現(xiàn)在是一個綜合性的web集成開發(fā)環(huán)境,它提供了一個基于圖形用戶界面、功能強(qiáng)大而快捷的環(huán)境,用于高級web應(yīng)用和web站點(diǎn)的創(chuàng)建。從熟悉的powerbuilder環(huán)境中,你可以充分地利用大量新的web應(yīng)用開發(fā)功能,將你的應(yīng)用、你的用戶以及你的技術(shù)帶到web世界與分布式計算領(lǐng)域。無論是從事企業(yè)級系統(tǒng)開發(fā),還是從事商業(yè)應(yīng)用軟件開發(fā),高度靈活性、快速性以及強(qiáng)大的功能都是你所需要的。而這些正是sybase powerbuilder 8.0所能提供的。借助于powerbuilder,你能夠創(chuàng)建、增強(qiáng)和擴(kuò)展驅(qū)動當(dāng)今商務(wù)運(yùn)作的客戶機(jī)/服務(wù)器應(yīng)用。而且,你還能夠快速地創(chuàng)建并充分利用新的internet和分布式體系結(jié)構(gòu)優(yōu)勢的復(fù)雜web及多層應(yīng)用。緊密集成easerver easerver是sybase公司的一個獨(dú)具特色的應(yīng)用服務(wù)器,它融合了組件事務(wù)處理服務(wù)器和動態(tài)頁面服務(wù)器的功能。 這就是powerbuilder提供與j2ee應(yīng)用服務(wù)器easerver之間無縫集成用于應(yīng)用開發(fā)、測試、調(diào)試和部署過程的原因。利用easerver,你就能夠支持包括corba、javabeans與enterprise javabeans、com與c/c+組件在內(nèi)的不同種類的組件模型以及本地powerbuilder組件。easerver還提供了你部署全球應(yīng)用所需要的負(fù)荷平衡、高可用性、高安全性,以及高伸縮性特性。 idechanges : pb8.0用諸多細(xì)致的視覺手法進(jìn)一步改進(jìn)了它的ide(集成開發(fā)環(huán)境),由此反映出該產(chǎn)品在結(jié)構(gòu)上的一些重大改變,包括了開發(fā)人員生產(chǎn)力、web客戶開發(fā)和easerver集成三個方面的重要升級。 workspaces和系統(tǒng)樹窗口 pb8.0提供的workspace使開發(fā)人員可以同時在多個應(yīng)用或者組件上工作。系統(tǒng)樹窗口為開發(fā)人員提供了一個關(guān)于workspace的活動狀態(tài)視圖,所有的組件、功能、屬性、事件和結(jié)構(gòu)都可以通過系統(tǒng)樹窗口來訪問。 輸出窗口和剪貼(clip)窗口 pb8.0新增了輸出窗口和剪貼窗口。系統(tǒng)樹窗口和workspace的強(qiáng)大功能,再加上輸出窗口、剪貼窗口的幫助,pb8.0的ide已經(jīng)有了顯著的改進(jìn)。 與powersite合并 將powersite完全整合進(jìn)pb8.0,使pb8.0能夠輕松建立事務(wù)型web應(yīng)用,同時也消除了sybase產(chǎn)品線的重疊。 easerver整合 存在于easerver上的pb8.0應(yīng)用程序和不可視對象現(xiàn)在可以與ejb組件直接進(jìn)行通信,從而為開發(fā)人員提供了更好的組件間的互操作能力以及與easerver更好的集成,普及并簡化了pb8.0的組件化開發(fā)。 web功能 將powersite整合進(jìn)pb,使得powerbuilder可以開發(fā)擴(kuò)展的瘦客戶應(yīng)用,而增加瘦客戶功能對促進(jìn)web應(yīng)用開發(fā)是不可或缺的。 sybase做了很多努力來滿足pb用戶的需求,讓他們發(fā)現(xiàn)這些新特性對他們構(gòu)建或維護(hù)兩層事務(wù)型應(yīng)用非常有用。同時,sybase希望這些新特性也能告訴所有人,powerbuilder8.0能夠輕松構(gòu)建更為復(fù)雜的n層和以web為中心的應(yīng)用。使用powerbuider可以快速地開發(fā)出當(dāng)今最流行的各種商業(yè)應(yīng)用,如客戶/服務(wù)器應(yīng)用、分布式應(yīng)用、基于組件的應(yīng)用和web應(yīng)用。在powerbuider8.0強(qiáng)大的功能和友好的集成開發(fā)環(huán)境支持下,開發(fā)人員的效率得到空前的提高,是程序設(shè)計與開發(fā)工作變的更加有趣,仿佛是一個藝術(shù)家在創(chuàng)作一件藝術(shù)品,因此它深受國內(nèi)外廣大開發(fā)人員的喜愛。作為一名企業(yè)應(yīng)用的開發(fā)人員,你必須緊跟市場和企業(yè)規(guī)則的變化,不斷地為企業(yè)用戶開發(fā)出優(yōu)質(zhì)的應(yīng)用系統(tǒng),以使企業(yè)能在信息時代立于不敗之地。選擇powerbuider8.0,定能使你從容應(yīng)對各種變化,在激烈競爭環(huán)境中游刃有余。在滿足用戶和完成系統(tǒng)的需要前提下,我們認(rèn)為選用powerbuider8.0來開發(fā)本次畢業(yè)設(shè)計課題是最佳選擇。sybase做了很多努力來滿足pb用戶的需求,讓他們發(fā)現(xiàn)這些新特性對他們構(gòu)建或維護(hù)兩層事務(wù)型應(yīng)用非常有用。同時,sybase希望這些新特性也能告訴所有人,powerbuilder8.0能夠輕松構(gòu)建更為復(fù)雜的n層和以web為中心的應(yīng)用。 第二章 可行性分析 為了以最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決,在進(jìn)行設(shè)計開發(fā)前首先進(jìn)行了可行性分析。 考試是教學(xué)過程的重要環(huán)節(jié),認(rèn)真、嚴(yán)密的考試過程,科學(xué)、準(zhǔn)確的結(jié)果分析可以為評價教學(xué)效果,以及提高教學(xué)質(zhì)量、改進(jìn)教學(xué)方法和教學(xué)管理工作提供可靠的依據(jù)。 a、新學(xué)期開始時,對應(yīng)每一位新生輸入相關(guān)的詳細(xì)記錄。 b、建立各類課程的詳細(xì)記錄。 c、各專業(yè)每學(xué)期要選擇各類課程安排本學(xué)期的教學(xué)計劃。 d、各個對應(yīng)專業(yè)年紀(jì)的學(xué)生可選擇教學(xué)計劃范圍內(nèi)的課程或選擇重修課程并在每學(xué)期末輸入成績。e、隨時可對學(xué)生記錄、課程信息及學(xué)生成績進(jìn)行查詢并且統(tǒng)計分析。f、只有有權(quán)限的人才可以對數(shù)據(jù)庫進(jìn)行維護(hù)。第三章 需求分析學(xué)生成績管理工作被視作高校管理工作中一項不容忽視的重要分支,其工作量大,涉及面廣,學(xué)生成績管理工作進(jìn)行的好壞直接影響著整個高校管理工作的各個環(huán)節(jié)。由于成績管理工作的本身特點(diǎn)及特殊性質(zhì),單純依靠人力,會使從事這項工作的管理人員過度疲勞,難免會發(fā)生許多錯誤,難以做到管理的規(guī)范化,這不符合管理工作的令后發(fā)展趨勢。因此,需要開發(fā)一種功能全面,操作簡便的管理系統(tǒng)來輔助作用,人機(jī)配合,能夠使機(jī)器承擔(dān)部分工作,是管理員逐步擺脫一些無謂的,煩瑣的業(yè)務(wù),這對充分利用人力資源的主導(dǎo)作用及使管理工作逐步步入規(guī)范化軌道有著重要意義。根據(jù)上一章可行性研究及對用戶調(diào)查,我們可確定本系統(tǒng)必須完成的工作,下面將來做簡單介紹。1 輸入部分新學(xué)期開始需將學(xué)生基本信息輸入,一般來講,學(xué)生基本信息有姓名,學(xué)號,還有學(xué)生所屬專業(yè)。在學(xué)生基本信息里可以選擇同樣專業(yè)的學(xué)生,可以對學(xué)生基本信息進(jìn)行修改。每個新學(xué)期的信息都不同,還要設(shè)置學(xué)期。在設(shè)置專業(yè)時要設(shè)專業(yè)名稱和專業(yè)代號,以便查詢或者維護(hù)。每學(xué)期末應(yīng)輸入學(xué)生的各門課程成績,但必須是該學(xué)生所在專業(yè)年級在本學(xué)期開了這門課,所以輸入部分還需試卷登記,在試卷登記里要詳細(xì)區(qū)分每個專業(yè),每個班級的試卷。試卷登記就需要試卷信息。在輸入模塊里需要專業(yè)設(shè)置,學(xué)期設(shè)置,學(xué)生信息,試卷登記,試卷信息。該部分是本系統(tǒng)最重要部分,著重分析,還應(yīng)考慮數(shù)據(jù)的完整性,使用視圖。2 統(tǒng)計分析部分為了是各項記錄可供有關(guān)人員隨時查詢,統(tǒng)計分析當(dāng)中需要查詢部分,查詢應(yīng)可以用按學(xué)生學(xué)號和學(xué)生姓名檢索該學(xué)生的所有信息。期末考試結(jié)束后,各教研室應(yīng)至少要抽取一個授課班進(jìn)行試題的難度,區(qū)分度分析。a考試難度指數(shù)(p)值的計算方法:客觀題難度指數(shù)計算公式:p=r/n(r為某一題參加考試的學(xué)生中答對的人數(shù),n為參加考試的學(xué)生數(shù)。)非客觀題難度指數(shù)計算公式:p=x/w(x為某題的平均分,w為該題的最高分值)b試題區(qū)分度(d)值的計算方法:計算某一班學(xué)生答某一題的區(qū)分度,首先要在該班中確定一個高分組,一個第分組。在考生中按名次排列位于前25%的學(xué)生為高分組,位于后25%的學(xué)生為底分組??陀^題分度計算公式:d=ph-pl(ph為高分組學(xué)生答對的百分比,pl為底分組學(xué)生答對的百分比)難度指數(shù)和區(qū)分度計算完后要在教研室同考試題一同存檔,為以后的命題工作提供依據(jù)。另外試題的難度情況和區(qū)分度情況要寫入下表考試總結(jié)和成績分析中。標(biāo)準(zhǔn)差:數(shù)據(jù)離散趨勢最靈敏、最標(biāo)準(zhǔn)的指標(biāo),能準(zhǔn)確反映數(shù)據(jù)的差異程度,是對數(shù)局進(jìn)行同意分析的前提與基礎(chǔ)??陀^題:評分而得名。試題類型有概念題、見大題、天空題、排列題、多重選擇題等。優(yōu)點(diǎn):有明確的標(biāo)準(zhǔn)答案,簡單,題量多,有足夠的覆蓋率:缺點(diǎn):難于測量綜合、平分兩級復(fù)雜的認(rèn)知目標(biāo)。區(qū)分度:用極端分組把學(xué)生按其水平分開的能力。具有良好的能力。具有良好的句粉能力的測驗(yàn)?zāi)苁顾礁叩膶W(xué)生得高分,水平低的學(xué)生得低分,因此,區(qū)分度通常作為測驗(yàn)是否具有效應(yīng)的“顯示器”,是堅定試題質(zhì)量、篩選試題的主要指標(biāo)與依據(jù)。學(xué)生成績統(tǒng)計專業(yè)年級考試人數(shù)缺考人數(shù)平均成績標(biāo)準(zhǔn)差各額分?jǐn)?shù)段人數(shù)缺考學(xué)生名單9080706060學(xué)生考試成績頻數(shù)分布圖第四章 總體設(shè)計 本次設(shè)計選擇powerbuilder8.0為開發(fā)工具,以mirocsoft sql server2000分布式客戶服務(wù)器數(shù)據(jù)庫系統(tǒng),作為數(shù)據(jù)庫后臺,windows2000操作平臺。學(xué)生成績分析系統(tǒng)是一個很大的系統(tǒng),若要求一個人獨(dú)立地較完善地完成各項功能,在如此短暫的時間內(nèi)簡直是天方夜談。所以,我側(cè)重于輸入模塊進(jìn)行了本次設(shè)計。下面我將分為兩部分介紹總體設(shè)計。本課題采用microsoft sql server2000作為數(shù)據(jù)庫后臺,sql語言功能豐富,使用方式靈活,語言簡潔易學(xué),它的功能包括查詢,操縱,定義和控制4個方面。它的主要特點(diǎn)是:一體化,聯(lián)機(jī)交互使用和嵌入式有統(tǒng)一的語法結(jié)構(gòu),過度非過程化以及語言簡潔,易學(xué)易用等。程序設(shè)計: 對整個系統(tǒng)動能有了總體上的認(rèn)識之后,應(yīng)對每一個模塊的任務(wù)有一個清晰的認(rèn)識,以防代碼重復(fù),責(zé)任模糊而浪費(fèi)不必要的工作量。下面談一談我對每一個模塊總體認(rèn)識。1 數(shù)據(jù)輸入: a、 專業(yè)設(shè)置:可新增輸入專業(yè)代碼及專業(yè)名稱。也可以刪除專業(yè)代碼及其專業(yè)名稱 b、學(xué)期設(shè)置:可新增輸入學(xué)期 c、學(xué)生信息:可新增輸入學(xué)號,姓名和專業(yè)。 d、試卷登記:顯示各專業(yè)每個學(xué)期的試卷登記信息。 e、試卷信息:顯示各專業(yè)每個學(xué)期的每一學(xué)生的試卷信息、即考試成績。2 統(tǒng)計分析模塊: a、查找學(xué)生:可以按學(xué)號進(jìn)行查詢也可按姓名進(jìn)行查詢。 b、成績統(tǒng)計和頻數(shù)分布圖。 c、成績分析。3 退出系統(tǒng)。sql的數(shù)據(jù)定義包括3部分:定義基本表,定義視圖和定義索引。視圖是從一個或幾個基本表(或視圖)導(dǎo)出的表。在應(yīng)用系統(tǒng)中視圖是極其重要組成部分。它的外模式是由若干基本表和若干視圖組成的,視圖是一個虛表。它的優(yōu)點(diǎn)有:1 對于數(shù)據(jù)庫的重構(gòu)造提供了一定程度上的邏輯獨(dú)立性。2 簡化了用戶觀點(diǎn)3 視圖的機(jī)制是不同的用戶能以不同的方式看待同一數(shù)據(jù)。4 視圖的機(jī)制對機(jī)密數(shù)據(jù)提供了自動的安全保護(hù)功能。索引是數(shù)據(jù)庫檢索經(jīng)常用到的對象,為了提高查找速度應(yīng)該給表建立索引。索引可以是唯一的或不唯一的,可以是簇類的或非簇類的。對一個基本表,可以根據(jù)應(yīng)用環(huán)境的需要建立若干索引,以提供多種存取路徑,提高系統(tǒng)的運(yùn)行速度。根據(jù)以上分析將數(shù)據(jù)庫設(shè)計成若干個基本表,它們是paper試卷信息含 義字 段 名類 型長 度主 鍵專業(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說明:a、 專業(yè)代碼和學(xué)期作為主碼。b、 due1due10均為該題目滿分成績。score成績信息含 義字 段 名類 型長 度主 鍵學(xué)生學(xué)號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說明:a、 學(xué)生學(xué)號為主鍵。b、 score1score10為該學(xué)生在考試中取得的考試分?jǐn)?shù)。c、 是否缺考、默認(rèn)值為0,即為不缺考student學(xué)生信息含 義字 段 名類 型長 度主 鍵學(xué)生學(xué)號stu_idchar10學(xué)生姓名stu_namechar10專業(yè)代碼spec_codechar7說明:a、 學(xué)生學(xué)號為主碼。semeter學(xué)期信息含 義字 段 名類 型長 度主 鍵學(xué) 期semeterchar9說明:a、學(xué)期為主碼。specicalty專業(yè)信息含 義字 段 名類 型長 度主 鍵專業(yè)代碼spec_codechar7專業(yè)名稱spec_namechar22說明:a、 專業(yè)代碼為主碼。各表之間的關(guān)系第五章 詳細(xì)設(shè)計本章將想次地對各個模塊進(jìn)行分解和剖析,包括程序、變量使用和窗體的構(gòu)成等。系統(tǒng)氛圍四個模塊,下面依次對各個模塊進(jì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成績統(tǒng)計和頻數(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(錯誤,您所指定的專業(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成績分析: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(錯誤,您所指定的專業(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第六章 測 試測試在開發(fā)軟件過程中是一個不可缺少的部分。因?yàn)樵陂_發(fā)軟件系統(tǒng)的漫長過程中,面對著極其錯綜復(fù)雜的問題,人的主觀認(rèn)識不可能完全符合客觀現(xiàn)實(shí),與工程密切相關(guān)的各類人員之間的通信和配合也不可能完美無缺,因此,在軟件生命周期的各個階段都不可避免地產(chǎn)生差錯。我們力求在每個階段結(jié)束之前通過嚴(yán)格的技術(shù)審查,盡可能早地發(fā)現(xiàn)并糾正錯誤;但是,經(jīng)驗(yàn)表明審查并不能發(fā)現(xiàn)所有的差錯,此外在編碼過程中還不可避免地會引入一些新的錯誤。如果在軟件生產(chǎn)性運(yùn)行之前,沒有發(fā)現(xiàn)并糾正軟件中的大部分差錯,則這些錯誤遲早在生產(chǎn)過程中暴露出來,那時不僅僅改正這些錯誤的代價更高,而且往往會造成很惡劣的后果。測試的目的就是在軟件投入生產(chǎn)運(yùn)行之前,盡可能多地發(fā)現(xiàn)并糾正軟件中的錯誤?;谏鲜龅脑颍以诰幋a過程中進(jìn)行了模塊測試,編碼結(jié)束進(jìn)行了系統(tǒng)測試和驗(yàn)收測試。下面將介紹測試方案,測試過程和測試結(jié)果。一 模塊測試1 測試方案 采用了白盒測試,即按照程序內(nèi)部的邏輯結(jié)構(gòu),檢驗(yàn)程序中的每條通路是
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年(全新版)中國檸檬飲料市場發(fā)展現(xiàn)狀及前景規(guī)劃研究報告
- 2025-2030年中國防靜電包裝材料行業(yè)十三五規(guī)劃及發(fā)展策略分析報告
- 2025-2030年中國鐵路養(yǎng)護(hù)機(jī)械產(chǎn)業(yè)發(fā)展現(xiàn)狀及前景規(guī)劃研究報告
- 2025-2030年中國酶制劑行業(yè)競爭格局展望及發(fā)展戰(zhàn)略研究報告
- 寵物食品標(biāo)簽解讀與合規(guī)考核試卷
- 廚房整體解決方案提供商考核試卷
- 企業(yè)項目管理與團(tuán)隊協(xié)作考核試卷
- 鉑電阻測量溫度課程設(shè)計
- 簡單特色課程設(shè)計
- 2025年全球及中國寵物背包攜帶箱行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 生物醫(yī)藥大數(shù)據(jù)分析平臺建設(shè)
- EPC總承包項目中的質(zhì)量管理體系
- 滬教版小學(xué)語文古詩(1-4)年級教材
- 外科醫(yī)生年終述職總結(jié)報告
- CT設(shè)備維保服務(wù)售后服務(wù)方案
- 重癥血液凈化血管通路的建立與應(yīng)用中國專家共識(2023版)
- 兒科課件:急性細(xì)菌性腦膜炎
- 柜類家具結(jié)構(gòu)設(shè)計課件
- 陶瓷瓷磚企業(yè)(陶瓷廠)全套安全生產(chǎn)操作規(guī)程
- 煤炭運(yùn)輸安全保障措施提升運(yùn)輸安全保障措施
- JTGT-3833-2018-公路工程機(jī)械臺班費(fèi)用定額
評論
0/150
提交評論