<output id="r87xx"></output>
    1. 
      
      <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
        •   

               當(dāng)前位置:首頁>軟件介紹>學(xué)生成績管理系統(tǒng)設(shè)計 查詢:
               
          學(xué)生成績管理系統(tǒng)設(shè)計

                  摘要

                  隨著信息技術(shù)在管理上越來越深入而廣泛的應(yīng)用,管理信息系統(tǒng)的實(shí)施在技術(shù)上已逐步成熟。管理信息系統(tǒng)是一個不斷發(fā)展的新型學(xué)科,本文介紹了在Visual FoxPro6.0環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng)用開發(fā)”的策略開發(fā)一個管理信息系統(tǒng)的過程。通過分析某一學(xué)校學(xué)生管理工作的不足,創(chuàng)建了一套行之有效的計算機(jī)管理。文章介紹了該信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、業(yè)務(wù)流程分析等;系統(tǒng)設(shè)計部分主要介紹了系統(tǒng)功能設(shè)計和數(shù)據(jù)庫設(shè)計及代碼設(shè)計;系統(tǒng)實(shí)現(xiàn)部分說明了幾個主要模塊的算法,并附帶了一些主要的窗口和程序。

                  第一章為什么要開發(fā)一套學(xué)生成績管理系統(tǒng)

                  1.1計算機(jī)成為我們得力助手

                  今天,計算機(jī)的價格已經(jīng)十分低廉,性能卻有了長足的進(jìn)步。它已經(jīng)被應(yīng)用于許多領(lǐng)域,計算機(jī)之所以如此滸的原因主要有以下幾個方面:首先,計算機(jī)可以代替人工進(jìn)行許多繁雜的勞動:

                  其次,計算機(jī)可以節(jié)省許多資源:

                  再次,計算機(jī)可以大大的提高人們的工作效率。

                  第四,計算機(jī)可以使敏感文檔更加安全,等等。

                  9.png

                  1.2開發(fā)學(xué)生成績管理系統(tǒng)的意義

                  我校教導(dǎo)處工作人員對成績管理水平還停留在紙介質(zhì)的基礎(chǔ)上,現(xiàn)有的紙介質(zhì)資料,隨著歷年來的不斷增加,更新與檢索的速度慢,發(fā)布、更新與檢索的內(nèi)容不一定全面。向各校、各班或?qū)W生發(fā)布,更新這些信息,任務(wù)繁重,管理人員要想從浩如煙海的成績堆中迅速而準(zhǔn)確的查找到所需的每個學(xué)生成績有時就如同大海撈針。傳統(tǒng)的管理模式制約了學(xué)校成績的公布,影響了學(xué)校管理、保證不了生學(xué)質(zhì)量、影響學(xué)校工作的效率,降低了學(xué)生的生學(xué)率。這樣的機(jī)制已經(jīng)不能適應(yīng)時代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時代這種傳統(tǒng)的管理方法必然被計算機(jī)為基礎(chǔ)的信息管理所取代。

                  在很多辦公自動化系統(tǒng)設(shè)計時沒有檔案、資料管理工作者參與,或者因管理者缺乏相關(guān)的知識無法參與,使得開發(fā)出來的軟件與實(shí)際管理工作存在一些無法銜接的問題。從目前已開發(fā)的電子歸檔管理軟件看,無論在設(shè)計思想上,還是具體運(yùn)用上,沿缺乏明確統(tǒng)一的規(guī)范標(biāo)準(zhǔn),與文檔實(shí)踐工作還存在脫節(jié)的地方。因此,我作為一個計算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生,在十余年的教學(xué)管理工作經(jīng)驗(yàn)的基礎(chǔ)上,希望可以在這方面有所貢獻(xiàn)。改革的總設(shè)計師鄧小平同志說過“科學(xué)技術(shù)是第一生產(chǎn)力”,我希望能用我兩年來所學(xué)到的計算機(jī)科學(xué)與技術(shù)編制出一個實(shí)用的程序來幫助和提高我校對學(xué)生成績管理進(jìn)行更有效的管理。該管理系統(tǒng)歸納起來,好處大約有以下幾點(diǎn):

                  1、可以存儲歷年來的各科學(xué)生成績,安全、高效;

                  2、只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力;

                  3、可以迅速查找所需信息。

                  1.3將運(yùn)行、實(shí)現(xiàn)資源共享的學(xué)校局域網(wǎng)做好準(zhǔn)備

                  我校建辦公大樓的網(wǎng)絡(luò)建設(shè)即將投入使用,本系統(tǒng)為公司將來的上網(wǎng)作了先期工作,比如數(shù)據(jù)庫的建立、數(shù)據(jù)錄入等。

                  第二章如何開發(fā)一套學(xué)生成績管理系統(tǒng)

                  2.1開發(fā)工具的選擇

                  經(jīng)過分析,我們選用了MICROSOFT公司的VISUAL FOXPRO 6.0開發(fā)工具,其特點(diǎn)是易學(xué)易用δ芡晟?其主要的功能有:

                  1.增強(qiáng)的項(xiàng)目及數(shù)據(jù)庫管理

                  a.我可以對項(xiàng)目及數(shù)據(jù)有更強(qiáng)的控制,能夠使用源代碼管理產(chǎn)品,同時可以在“項(xiàng)目管理器”中看到組件的狀態(tài)。數(shù)據(jù)庫容器允許幾個用戶在同一個數(shù)據(jù)庫中同時創(chuàng)建或修改對象。利用“數(shù)據(jù)庫設(shè)計器”可以迅速更改數(shù)據(jù)庫中對象的外觀。

                  b.我們可以借助“項(xiàng)目管理器”創(chuàng)建和集中管理應(yīng)用程序中的任何元素;可以訪問所有向?qū)?、生成器、工具欄和其他易于使用的工具。它提供了一具進(jìn)行集中管理的環(huán)境。

                  c.可以對VISUAL FOXPRO 6.0系統(tǒng)本身定制工具欄,也能夠?yàn)榫帉懙膽?yīng)用程序定義工具欄。

                  2、更簡便、快速、靈活的應(yīng)用程序開發(fā)

                  a.VISUAL FOXPRO 6.0添加了新的“應(yīng)用程序向?qū)А?。其提供的新的PROJECTHOOK對象和改進(jìn)了的應(yīng)用程序框架功能可以使我們的應(yīng)用程序更有效率。VFP6。0中還添加了一些功能來增強(qiáng)開發(fā)環(huán)境,以便更容易地向應(yīng)用程序中添加有效的功能。

                  b.VISUAL FOXPRO 6.0提供了更多更好的生成器、工具欄和設(shè)計器等,在他們的幫助下,我們可以快速開發(fā)應(yīng)用程序。

                  c.在VISUAL FOXPRO 6.0中,我們可以更簡便地調(diào)試及監(jiān)控應(yīng)用程序組件:可以跟蹤事件以及記錄招待代碼的工具,它看起來與VISUAL C的調(diào)試環(huán)境很相似:利用它可以深入程序,查看屬性設(shè)置值,對象以及數(shù)組元素的值;可以顯示交互的或代碼中的信息提供了方便的途徑,同時可以把結(jié)果輸出到應(yīng)用程序窗口之外的另一個窗口可以用來分析程序、應(yīng)用程序或?qū)嶋H運(yùn)行的項(xiàng)目代碼。

                  d.不用編程創(chuàng)建界面

                  e.應(yīng)用程序組件的實(shí)例中收集了一系列應(yīng)用程序組件,他們顯示了如何利用VISUAL FOXPRO 6.0的特性解決現(xiàn)實(shí)世界的問題。在應(yīng)用程序中可以直接使用示例組件及它們的代碼。

                  3、提供真正的面向?qū)ο蟪绦蛟O(shè)計

                  VISUAL FOXPRO 6.0仍然支持標(biāo)準(zhǔn)的面向過程的程序設(shè)計方式,但更重要的是它現(xiàn)在提供真正的面向?qū)ο蟪绦蛟O(shè)計的能力。借助VISUAL FOXPRO 6.0的對象模型,可以充分使用面向?qū)ο蟪绦蛟O(shè)計的所有功能,包括繼承性、過去時裝性、多態(tài)性和子類。

                  4、使用優(yōu)化應(yīng)用程序的RUSHMORE技術(shù)

                  RUSHMORE是一種從表中快速地選取記錄集的技術(shù),它可將查詢響應(yīng)時間從數(shù)中時或數(shù)分鐘降低到數(shù)秒,可以顯著地提高查詢的速度。

                  2.2編程環(huán)境的選擇

                  要使安裝的軟件能夠正常運(yùn)行,一定要有適合其運(yùn)行的硬件和軟件環(huán)境。VISUAL FOXPRO 6.0對運(yùn)行環(huán)境的要求并不高,目前大多數(shù)計算機(jī)系統(tǒng)都能夠滿足其運(yùn)行要求。

                  1、VISUAL FOXPRO 6.0所需軟件環(huán)境

                  a.WINDOWS98操作系統(tǒng)或其更高版本。

                  2、VISUAL FOXPRO 6.0 所需硬件環(huán)境

                  a. 配置奔騰133以上,一臺針式打印機(jī)的硬件條件即可滿足。

                  b.內(nèi)存64MB以上。

                  c.典型安裝需要100MB以上硬盤空間,自定義安裝需要300MB以上硬盤空間。

                  a.VGA或更高分辨率的顯示器,1MB以上顯存。

                  b.鼠標(biāo)。

                  c.光驅(qū)。

                  2.3數(shù)據(jù)庫創(chuàng)建和操作

                  數(shù)據(jù)庫是數(shù)據(jù)庫管理系統(tǒng)的核心,數(shù)據(jù)庫的程序自動管理庫中的信息。數(shù)據(jù)庫是表的集合,即可在一個數(shù)據(jù)庫中包含一個或多個通過公共字段相互關(guān)聯(lián)的數(shù)據(jù)表。可通過兩種方法來創(chuàng)建一個新的數(shù)據(jù)庫來:一種方法是利用【數(shù)據(jù)庫設(shè)計器】來創(chuàng)建數(shù)據(jù)庫;另一種方法是利用【數(shù)據(jù)庫向?qū)А縼?/p>

                  創(chuàng)建數(shù)據(jù)庫。本文是在VISUAL FOXPRO 6.0中通過數(shù)據(jù)庫設(shè)計器和表生成器創(chuàng)建用戶數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫后,按照學(xué)生成績管理的實(shí)際需要,進(jìn)行一系列的操作,如新建表、修改表、瀏覽表、添加表、編輯存儲過程和連接等操作。

                  第三章系統(tǒng)總體規(guī)劃

                  3、1系統(tǒng)功能介紹

                  1、平時成績管理:對學(xué)生按班級、科目、學(xué)期等不同的條件的平時成績編輯操作;

                  2、期未成績管理:對學(xué)生的期未成績進(jìn)行分析;

                  3、班級管理:對學(xué)校的班級進(jìn)行增加、刪除操作;

                  4、課程管理:對課程進(jìn)行增加、刪除操作;

                  5、查詢:對指定的班級、科目的成績進(jìn)行查詢;

                  6、打印:對指定的班級、科目的成績進(jìn)行打印輸出;

                  7、退出:退出本系統(tǒng)

                  第四章系統(tǒng)可行性分析

                  4.1系統(tǒng)設(shè)計中存在的問題及解決辦法

                  在設(shè)計過程中,由于受到本人知識面所限,考慮不周,數(shù)據(jù)分析不全面、詳細(xì),對軟件工程的認(rèn)識不足,也缺乏設(shè)計經(jīng)驗(yàn),所以曾出現(xiàn)過一些問題和錯誤,但是經(jīng)過本人查詢相關(guān)的資料,參考有關(guān)軟件的設(shè)計思想,并在指導(dǎo)老師的細(xì)心幫助下,這些問題后來基本上得到了解決,使用單位也比較滿意。

                  4.2可行性分析

                  (4.2.1)經(jīng)濟(jì)可行性

                  ●本系統(tǒng)只需一臺計算機(jī),配置奔騰133以上,64MB,一臺針式打印機(jī)的硬件條件即可滿足。

                  ●效益分析:運(yùn)用本系統(tǒng)后,可大大提高效率和工作質(zhì)量,減少人工操作的一些失誤。

                  ●結(jié)論:本系統(tǒng)投入費(fèi)用不高,且運(yùn)行之后,產(chǎn)出大于投入,是可進(jìn)行系統(tǒng)開發(fā)的。

                  (4.2.2)技術(shù)可行性

                  ●系統(tǒng)的軟件可以使用Windows98這些目前主流的操作系統(tǒng),且容易使用。

                  中文操作系統(tǒng)Windows98的特點(diǎn):

                  首先,操作系統(tǒng)采用完全圖形化的用戶界面。將使軟件用戶的培訓(xùn)大大簡化,提高了工作效率。

                  其次,Windows98的設(shè)備無關(guān)性使本系統(tǒng)軟件開發(fā)時無須固定使用設(shè)備,有利于軟件的移植和硬件設(shè)備的更新?lián)Q代。

                  再次,Windows98系統(tǒng)中文版支持信息交換用漢字編碼字符集,完善的中文支持使二者緊密結(jié)合,構(gòu)成一個功能完備的軟件開發(fā)環(huán)境。

                  ●系統(tǒng)的數(shù)據(jù)庫支持,本系統(tǒng)采用面向?qū)ο蟮腣FP6.0開發(fā)而成,友好的界面,簡易的操作。工作人員只有稍加指導(dǎo)就可以熟練使用。

                  ●結(jié)論:本系統(tǒng)信息量不算太大,實(shí)時程度要求不高,對軟硬件要求容易??梢赃M(jìn)行開發(fā)。

                  第五章本系統(tǒng)開發(fā)的方法

                  5.1本系統(tǒng)開發(fā)的方法

                  本系統(tǒng)是采用快速原型開發(fā)方法,根據(jù)用戶的具體需要開發(fā)成功的。

                  需求工程及軟件開發(fā)方法中的一個重要技術(shù)是快速原型方法。我們都知道原型是任何創(chuàng)造物的首選或初級樣品??焖僭头椒ㄊ茄杆俚馗鶕?jù)軟件系統(tǒng)的需求產(chǎn)生出軟件系統(tǒng)的一個原型的過程。該原型要表現(xiàn)出目標(biāo)系統(tǒng)的功能和行為特征,但不一定符合其全部的實(shí)現(xiàn)需求。軟件設(shè)計者利用原型得到系統(tǒng)可用性的反饋信息,未來用戶也利用原型得到寶貴的早期經(jīng)驗(yàn)??焖僭头椒ǖ闹饕锰幨强杀M早獲得更完整、更正確的需求與設(shè)計,而且可以直接通過改進(jìn)原型得到目標(biāo)系統(tǒng),而不必從頭做起??焖僭偷目傮w效果是使軟件開發(fā)生命周期的總效益得到改善。

                  5.2、產(chǎn)品原型與軟件開發(fā)中的快速原型的比較

                  雖然信息系統(tǒng)原型的概念和其他產(chǎn)品的原型相似,但是一般有三個差異:

                  (1)對于產(chǎn)品原型,通常原型的發(fā)展在很長一段時間中出現(xiàn):對于信息系統(tǒng)原型,通常原型的發(fā)展在較短一段時間中出現(xiàn)。

                  (2)對于產(chǎn)品原型,通常原型費(fèi)用高于生產(chǎn)產(chǎn)品的費(fèi)用;對于信息系統(tǒng)原型,通常原型費(fèi)用低于開發(fā)信息系統(tǒng)的費(fèi)用。

                  (3)對于產(chǎn)品原型,總是在原型后制造出多種生產(chǎn)型號,對于信息系統(tǒng),通常只建立一個生產(chǎn)版本。

                  5.3、快速原型對需求定義及設(shè)計的影響

                  軟件開發(fā)產(chǎn)品的一個普通問題是用戶所期望的東西與他所得到的結(jié)果能否一致,這個問題可追溯到軟件需求的規(guī)格說明中的缺陷。實(shí)際上,用戶常常并不知道他自己要的是什么東西,也不知道所要的東西是否在軟件實(shí)現(xiàn)上可行。要全面地說明需求,就要有詳細(xì)的形式說明,這對用戶也是一種內(nèi)在的困難。結(jié)果,需求規(guī)格說明書往往是不一致的、不完整的或有二義性的,造成在后來的開發(fā)過程中要更改需求,要進(jìn)行一系列的重新設(shè)計和重新編碼。如果能盡早發(fā)現(xiàn),則時間和費(fèi)用都可能大為節(jié)省。

                  通常,在用戶與軟件系統(tǒng)交互作用前,不易發(fā)現(xiàn)軟件需求中的缺陷。我們有了原型,用戶就可以與原型交互作用,就能盡早地發(fā)現(xiàn)需求的缺陷,進(jìn)而得到正確而完整的需求。

                  在軟件開發(fā)人員得到一個系統(tǒng)的可執(zhí)行版本前,常常不易發(fā)現(xiàn)軟件設(shè)計中的缺陷。如果設(shè)計人員與原型交互作用,就可以立即檢查出設(shè)計的可行性,而不必再把力量花在開發(fā)一個有問題的目標(biāo)系統(tǒng)上。在目標(biāo)系統(tǒng)的詳細(xì)設(shè)計進(jìn)行之前,也可以較容易地改正原型設(shè)計中全局特征方面的問題。

                  在目標(biāo)系統(tǒng)編碼之前,對原型的需求進(jìn)行更改或重新設(shè)計或重新編碼也都方便得多,而由于最終系統(tǒng)中將包含有較少的需求及設(shè)計問題,因此編碼及測試時間也將大大減少。

                  5.4、原型對編碼方面的影響

                  快速原型方法影響著系統(tǒng)的目標(biāo)版本產(chǎn)生的方式,我們可以不再直接從系統(tǒng)設(shè)計得到目標(biāo)版本的編碼,而是可以更方便地把原型作為一個模型來變換出目標(biāo)系統(tǒng),如果目標(biāo)版本與原型是用不同語言來寫的,則要將原型的代碼進(jìn)行翻譯及改進(jìn)。如果是用相同語言寫的,則只要對原型代碼進(jìn)行改進(jìn)就行。

                  5.5、快速原型方法對軟件生命期的影響

                  快速原型方法與傳統(tǒng)的軟件開發(fā)生命周期不一樣,它增加了兩個階段,即對原型的編碼及測試。

                  快速原型方法從許多方面改進(jìn)了原有的開發(fā)過程。由于在建立原型時發(fā)現(xiàn)并改正了許多需求及設(shè)計方面的問題,因而大大縮短了測試時間;

                  由于可以在原型的目標(biāo)碼版本的基礎(chǔ)上進(jìn)行編碼,減少了錯誤,而且可由原型出發(fā),經(jīng)過改進(jìn)來得到代碼(不必從設(shè)計開始從頭做起),所以編碼時間也減少了。總之,快速原型方法能減少軟件開發(fā)的工作量。

                  第六章系統(tǒng)設(shè)計思路

                  6.1構(gòu)化程序設(shè)計思路

                  結(jié)構(gòu)化需求分析大多使用自頂向下、逐層分解的系統(tǒng)分析方法來定義系統(tǒng)的需求。在結(jié)構(gòu)化分析的基礎(chǔ)上,可以做出系統(tǒng)的規(guī)格說明,由此建立系統(tǒng)的一個自頂向下的任務(wù)分析模型。規(guī)格說明描述了系統(tǒng)的需求,是聯(lián)系軟件需求分析與軟件設(shè)計之間的重要橋梁。有許多方法可以用來進(jìn)行需求分析,許多圖形工具可以被用來輔助需求分析,這些方法主要包括:

                  (1)結(jié)構(gòu)化系統(tǒng)分析方法(structured system analysis)

                  (2)結(jié)構(gòu)化分析和設(shè)計技術(shù)(structured analysis and designtechnique)

                  結(jié)構(gòu)化分析(Structured Analysis,SA)是由美國YOURDON公司提出的,適用于分析大型的數(shù)據(jù)處理系統(tǒng)的,以結(jié)構(gòu)化的方式進(jìn)行系統(tǒng)定義的分析方法。方法的特點(diǎn)是利用數(shù)據(jù)流圖來幫助人們理解問題,對問題進(jìn)行分析。也就是說,很自然地用圖形工具來模擬數(shù)據(jù)處理過程。由于軟件總是在對數(shù)據(jù)進(jìn)行加工,因此從原則上來說,可以用數(shù)據(jù)流方法來分析任意一種應(yīng)用問題。目前,SA方法又進(jìn)一步并入了一些其他技術(shù),如加入了狀態(tài)轉(zhuǎn)移圖以便能適用于實(shí)時控制系統(tǒng)等等。

                  結(jié)構(gòu)化分析一般包括下列工具:

                  數(shù)據(jù)流圖(Data Flow Diagram,DFD)

                  數(shù)據(jù)字典(Data Dicrionary,DD)

                  結(jié)構(gòu)化英語或結(jié)構(gòu)化語言判定表

                  判定樹結(jié)構(gòu)化分析的核心是數(shù)據(jù)流圖,數(shù)據(jù)流圖有時稱為bubble charts。數(shù)據(jù)流圖描述系統(tǒng)的數(shù)據(jù)流,包括組織系統(tǒng)、人工過程系統(tǒng)、軟件系統(tǒng)、機(jī)械系統(tǒng)、硬件系統(tǒng)或這些系統(tǒng)的組合。數(shù)據(jù)流圖是一種用來表示信息流程和信息變換過程的圖解方法,把系統(tǒng)看成是由數(shù)據(jù)流聯(lián)系的各種功能的組合。數(shù)據(jù)流圖可以方便地描述用數(shù)據(jù)流的流動聯(lián)系的各種功能(這些功能可以是線性聯(lián)系,也可以是網(wǎng)狀聯(lián)系)。通過每種功能的輸入數(shù)據(jù)/輸出結(jié)果,進(jìn)而表示現(xiàn)有系統(tǒng)或待開發(fā)系統(tǒng)的功能。此外,用數(shù)據(jù)字典定義數(shù)據(jù)流圖中的各項(xiàng)數(shù)據(jù);結(jié)構(gòu)化英語、判定表和判定樹用于具體描述數(shù)據(jù)流圖中的基本功能。通過將系統(tǒng)分解成多層處理后,在較低的層次上,我們可以看到由數(shù)據(jù)流圖的高層次加工的細(xì)節(jié)和相關(guān)的數(shù)據(jù)流。

                  6.2本系統(tǒng)解決的關(guān)鍵問題

                  本系統(tǒng)的設(shè)計要求能夠穩(wěn)定而快捷,具有簡潔、高效的數(shù)據(jù)庫結(jié)構(gòu),并具有向?qū)Ш腿诵曰δ?,使用戶能夠方便地使用,本系統(tǒng)經(jīng)過實(shí)踐的驗(yàn)證,基本上解決了以上所述的問題。

                  6.3、系統(tǒng)結(jié)構(gòu)與模型

                  6.3.1封面

                  具體實(shí)見圖5.1

                  6.3.2、數(shù)據(jù)庫及表:

                  6.3.3、主要數(shù)據(jù)表:

                  (1)“班級”數(shù)據(jù)庫表

                  編號字段名類型寬度索引

                  1 班級編號字符型   3 普通索引

                  2 班級字符型16

                  3 課程編號字符型

                  4 升序(普通索引)

                  4 課程字符型20

                  (2)“成績”數(shù)據(jù)庫表

                  編號字段名類型寬度小數(shù)位數(shù)

                  1 編號數(shù)值型

                  2 姓名字符型10

                  3 成績1 數(shù)值型   3 0

                  4 成績2 數(shù)值型   3 0

                  5 成績3 數(shù)值型   3 0

                  6 成績4 數(shù)值型   3 0

                  7 成績5 數(shù)值型   3 0

                  8 成績6 數(shù)值型   3 0

                  9 成績7 數(shù)值型   3 0

                  10 成績8 數(shù)值型   3 0

                  11 成績9 數(shù)值型   3 0

                  12 成績10 數(shù)值型   3 0

                  13 平時數(shù)值型   3 0

                  14 實(shí)訓(xùn)數(shù)值型   3 0

                  15 期末數(shù)值型   3 0

                  16 總評數(shù)值型   3 0

                  17 緩考邏輯型   1

                  18 已離校邏輯型   1

                  19 班級字符型16

                  20 課程字符型20

                  (3)“統(tǒng)計表”數(shù)據(jù)庫表

                  編號字段名類型寬度小數(shù)位數(shù)

                  1 班級字符型16

                  2 課程字符型20

                  3 學(xué)期字符型   1

                  4 教師字符型  8

                  5      考試日期字符型    10

                  6      考試人數(shù)數(shù)值型     2          0

                  7      總分?jǐn)?shù)值型     4          0

                  8       人平數(shù)值型     4          1

                  9       a1         數(shù)值型     2          0

                  10      a2         數(shù)值型     2          0

                  11      a3         數(shù)值型     2          0

                  12      a4         數(shù)值型     2          0

                  13      a5         數(shù)值型     2          0

                  14      b1         數(shù)值型      3        0

                  15      b2         數(shù)值型      3        0

                  16      b3         數(shù)值型       3         0 (4)“臨時成績表”數(shù)據(jù)庫表

                  編號字段名類型寬度小數(shù)位數(shù)

                  1        編號數(shù)值型

                  2           0

                  2        姓名字符型     10

                  3        已離校邏輯型    1

                  4        班級字符型     16

                  5        課程字符型     20

                  6.3.4.本系統(tǒng)中的表單:

                  6.3.5.報表:

                  6.3.6、程序:主程序

                  set sysmenu off

                  set sysmenu to

                  set talk off

                  set safety off

                  clear all

                  set century on

                  set bell off

                  set status bar off

                  _SCREEN.WINDOWSTATE=2

                  _SCREEN.CAPTION="學(xué)生成績管理系統(tǒng)" do form forms隊?scx

                  read event

                  clear all

                  set status bar on

                  set talk on

                  quit

                  第七章、系統(tǒng)的實(shí)現(xiàn)技術(shù)7.1、班級成績管理:

                  代碼略.

                  7.2、平時成績管理:

                  “添加”按鈕command1.click:

                  select 成績

                  if !empty(bo1.text) .and. !empty(bo2.text)    count all for alltrim(班級)==bj .and. alltrim(課程)==kc to bhr

                  append blank

                  replace 編號 with bh 1,班級 with bj,課程 with kc

                  thisform.grid1.column1.setfocus()

                  else

                  do case

                  case empty(bo1.text) .and. empty(bo2.text)

                  messagebox("尚未選擇班級和課程!",0 48 0,"提示")

                  case empty(bo1.text)

                  messagebox("尚未選擇班級!",0 48 0,"提示")

                  case empty(bo2.text)

                  messagebox("尚未選擇課程!",0 48 0,"提示")

                  endcase

                  endif

                  thisform.refresh

                  “刪除”按鈕command2.click:

                  if !empty(bo1.text) .and. !empty(bo2.text)

                  select 成績

                  if .not.eof()

                  jlh=recno()

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  if messagebox("真的要刪除嗎?",3 32 256,"提示")=6

                  go jlh

                  delete

                  thisform.refresh

                  thisform.grid1.column1.setfocus()

                  endif

                  endif

                  else

                  messagebox("尚未選擇要刪除的學(xué)生!",0 48 0,"提示")

                  endif

                  else

                  do case

                  case empty(bo1.text) .and.

                  empty(bo2.text)

                  messagebox("尚未選擇班級和課程!",0 48 0,"提示")

                  case empty(bo1.text)

                  messagebox("尚未選擇班級!",0 48 0,"提示")

                  case empty(bo2.text)

                  messagebox("尚未選擇課程!",0 48 0,"提示")

                  endcase

                  endif

                  “統(tǒng)計”按鈕command3.click:

                  set talk off

                  select 成績

                  sum 成績1,成績2,成績3,成績4,成績5,成績6,成績7,成績8,成績9,成績10 ;

                  to

                  abc(1),abc(2),abc(3),abc(4),abc(5),abc(6),abc(7),abc(8),abc(9),abc(10) n=0

                  for i=1 to 10

                  if abc(i)0

                  n=n 1

                  endif

                  endfor

                  if n0

                  replace all for 已離校=.f. 平時 with ;

                  round((成績1 成績2 成績3 成績4 成績5 成績6 成績7 成績8 成績9 成績10)/n,0)

                  else

                  messagebox("平時成績表中尚未輸入數(shù)據(jù),無法統(tǒng)計平時成績!",0 48 0,"提示")

                  endif

                  thisform.grid1.column1.setfocus()

                  thisform.refresh

                  “生成”按鈕command4.click:

                  set safety off

                  select 成績

                  if !empty(bo1.text) .and. !empty(bo2.text)    locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  messagebox("已經(jīng)有數(shù)據(jù),不能生成!",0 48 0,"提示")

                  else

                  set filter to

                  locate all for alltrim(班級)==bj

                  if .not.eof()

                  課程名=alltrim(課程)

                  scan for alltrim(班級)==bj .and. alltrim(課程)==課程名

                  select 臨時成績表

                  append blank

                  replace 編號 with 成績.編號,姓名 with 成績.姓名,已離校with 成績.已離校,班級 with 成績.班級,課程 with kc

                  select 成績

                  endscan

                  append from data偈背杉ū韁par

                  select 臨時成績表

                  zap

                  select 成績

                  set filter to alltrim(班級)==bj .and. alltrim(課程)==kc

                  thisform.grid1.column1.setfocus()

                  else

                  set filter to alltrim(班級)==bj .and. alltrim(課程)==kc

                  messagebox("該班級尚未輸入任何數(shù)據(jù),不能生成!",0 48 0,"提示")

                  endif

                  endif

                  else

                  do case

                  case empty(bo1.text) .and. empty(bo2.text)

                  messagebox("尚未選擇班級和課程!",0 48 0,"提示")

                  case empty(bo1.text)

                  messagebox("尚未選擇班級!",0 48 0,"提示")

                  case empty(bo2.text)

                  messagebox("尚未選擇課程!",0 48 0,"提示")

                  endcase

                  endif

                  thisform.refresh

                  (其它代碼在此略)

                  7.3、期未成績管理

                  form1.init:

                  set delete on

                  public bj,kc

                  public abc(10)

                  bj=trim(bo1.value)

                  kc=trim(bo2.value)

                  select 成績

                  set filter to alltrim(班級)==bj .and. alltrim(課程)==kc  select 統(tǒng)計表

                  loca for alltrim(班級)==bj .and. alltrim(課程)==kc combo1.interactivechange:

                  bj=trim(bo1.text)

                  kc=trim(bo2.text)

                  if !empty(bo1.text) .and. !empty(bo2.text)    select 統(tǒng)計表

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  bo3.value=學(xué)期

                  endif

                  select 成績

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  thisform.grid1.column1.setfocus()

                  endif

                  endif

                  thisform.refresh

                  combo1.lostfocus:

                  bj=trim(bo1.text)

                  kc=trim(bo2.text)

                  if !empty(bo1.text) .and. !empty(bo2.text)    select 統(tǒng)計表

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if eof()

                  append blank

                  replace 班級 with bj,課程 with kc

                  endif

                  bo3.value=學(xué)期

                  endif

                  combo2.interactivechange:

                  bj=trim(bo1.text)

                  kc=trim(bo2.text)

                  if !empty(bo1.text) .and. !empty(bo2.text)    select 統(tǒng)計表

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  bo3.value=學(xué)期

                  endif

                  select 成績

                  locate all for alltrim(班級)==bj .and. alltrim(課程)==kc

                  if .not.eof()

                  thisform.grid1.column1.setfocus()

                  endif

                  endif

                  thisform.refresh

                  (其余略)

                  7.4、班級管理:

                  “刪除”按鈕command2.click:

                  if .not.eof()

                  if messagebox("真的要刪除嗎?",3 32 256,"提示")=6

                  delete

                  thisform.refresh

                  thisform.grid1.column1.setfocus()

                  endif

                  else

                  messagebox("尚未選擇要刪除的班級!",0 48 0,"提示")        endif

                  7.5、課程管理:

                  “添加”按鈕command1.click: append blank

                  thisform.grid1.column1.setfocus thisform.refresh

                  (其它略)

                  7.6、選擇課程和班級:

                  “確定”按鈕command1.click:

                  public bj,kc

                  bj=alltrim(bo1.text)

                  kc=alltrim(bo2.text)

                  if !empty(bo1.text) .and. !empty(bo2.text)

                  do form forms檠?scx

                  thisform.release

                  else

                  do case

                  case empty(bo1.text) .and. empty(bo2.text)            messagebox("尚未選擇班級和課程!",0 48 0,"提示")

                  case empty(bo1.text)

                  messagebox("尚未選擇班級!",0 48 0,"提示")

                  case empty(bo2.text)

                  messagebox("尚未選擇課程!",0 48 0,"提示")

                  endcase

                  thisform.refresh

                  endif

                  (其它略)

                  7.7、打印期末成績:

                  form1.init:

                  thisform.caption="打印學(xué)生成績 - &bj.班 - &kc"

                  select 打印表

                  append from data杉?for alltrim(班級)==bj .and. alltrim(課程)==kc    count to n

                  n1=n/44

                  if int(n1)n1

                  n1=int(n1) 1

                  n2=n1*44-n

                  for i=1 to n2

                  append blank

                  endfor

                  endif

                  7.8、打印平時成績:

                  (代碼略)

                  第八章系統(tǒng)測試

                  8.1、測試項(xiàng)目

                  在MIS開發(fā)過程中采用了多種措施保證軟件質(zhì)量,但是實(shí)際開發(fā)過程中還是不可避免地會產(chǎn)生差錯,系統(tǒng)中通常可能隱藏著錯誤和缺陷,示經(jīng)周密測試的系統(tǒng)投入運(yùn)行,將會造成難以想像的后果,因此系統(tǒng)測試是MIS開發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作。大量統(tǒng)計資料表明,系統(tǒng)測試的工作量往往占MIS開發(fā)總工作量的40%以上。因此,我們必須重視測試工作。

                  由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有發(fā)現(xiàn)錯誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價和時間找出軟件系統(tǒng)中潛在的錯誤和缺陷。

                  從產(chǎn)品角度看,測試計劃中的測試項(xiàng)目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功能模塊層、程序模塊層中的各類模塊,從測試本身看,分為單元測試,組合測試,確認(rèn)測試等。測試對象是隨階段而異的,最基本、最初的測試是單元測試,后面的組合測試、確認(rèn)測試都是以被測過的模塊作為測試對象的。

                  (1)單元測試:

                  單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨(dú)進(jìn)行的,驗(yàn)證模塊接口與設(shè)計說明書是否一致,對模塊的所有主要處理路徑進(jìn)行測試且與預(yù)期的結(jié)構(gòu)進(jìn)行對照,還要對所有錯誤處理路徑進(jìn)行測試。對源碼進(jìn)行審查,對照設(shè)計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進(jìn)行單元測試前的重要工作工。單元測試一般是由程序員完成,也稱程序調(diào)試。

                  (2)組合測試

                  組合測試也稱集成測試或子系統(tǒng)測試,通常采用自頂向下測試和自底向上測試兩種測試方法。組合測試的對象是指已經(jīng)通過單元測試的模塊,不是對零散模塊進(jìn)行單個測試,而是用系統(tǒng)化的方法裝配和測試軟件系統(tǒng),是一個嚴(yán)格的過程,必須認(rèn)真地進(jìn)行,其計劃的產(chǎn)生和單元模塊測試的完成日期要協(xié)調(diào)起來,這種測試應(yīng)在系統(tǒng)目標(biāo)機(jī)上進(jìn)行,造成系統(tǒng)應(yīng)用的環(huán)境條件,除了開發(fā)部分項(xiàng)目負(fù)責(zé)人參加以外,還應(yīng)該有相應(yīng)系統(tǒng)的用戶參加,給評審員進(jìn)行演示。

                  (3)確認(rèn)測試

                  確認(rèn)測試是對通過組合測試的軟件進(jìn)行的,這些軟件已經(jīng)存于系統(tǒng)目標(biāo)設(shè)備的介質(zhì)上,確認(rèn)測試的目的是對表明軟件是可以工作的,并且符合“軟件需求說明書”中規(guī)定的全部功能和性能要求。確認(rèn)測試是按照這些要求定出的“確認(rèn)測試計劃”進(jìn)行的。測試工作是由一個獨(dú)立的組織進(jìn)行,而且測試要從用戶的角度出發(fā)。

                  (4)系統(tǒng)測試

                  系統(tǒng)測試是對整體性能的測試,主要解決各子系統(tǒng)之間的數(shù)據(jù)通信和數(shù)據(jù)共享問題以及檢測系統(tǒng)不否達(dá)到用戶的實(shí)際要求,系統(tǒng)測試的依據(jù)是系統(tǒng)分析報告。系統(tǒng)測試應(yīng)在系統(tǒng)的整個范圍內(nèi)進(jìn)行,這種測試不只對軟件進(jìn)行,而是對構(gòu)成系統(tǒng)的硬、軟件一起進(jìn)行。系統(tǒng)測試與建構(gòu)同時進(jìn)行或略慢。系統(tǒng)測試需要確認(rèn)從頭到尾的功能正常才算完成,應(yīng)當(dāng)盡量避免系統(tǒng)測試延到項(xiàng)目末尾進(jìn)行。

                  (5)用戶驗(yàn)收測試

                  在系統(tǒng)測試完成后,進(jìn)行用戶的驗(yàn)收測試,它是用戶在實(shí)際應(yīng)用環(huán)境中所進(jìn)行的真實(shí)數(shù)據(jù)測試。

                  在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計者之外的人進(jìn)行測試;測試用例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測試;不僅要檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中測試容易出錯的程序模塊;對程序修改以后,必須重新進(jìn)行測試。

                  8.2、測試方法

                  一般來說,對程序測試有兩種測試方法:如果已經(jīng)知道了軟件系統(tǒng)應(yīng)具有的功能,可通過測試來難每個功能是否都能正常使用;如果知道程序的內(nèi)部工作過程,可以通過測試來檢測程序內(nèi)部是否按照規(guī)格說明書的規(guī)定正常進(jìn)行。前一種方法稱為黑盒測試,后一種方法稱為白盒測試。黑盒測試又稱為功能測試,白盒測試又稱為結(jié)構(gòu)測試。

                  第九章總結(jié)

                  9.1系統(tǒng)評價

                  本文列出的代碼都己經(jīng)過測試,用戶界面的各種實(shí)用功能也經(jīng)過不斷修正和改進(jìn)后,形成用戶較為滿意的可行系統(tǒng)并在我校得以試運(yùn)行,當(dāng)然用戶也可以根據(jù)自需要,對數(shù)據(jù)庫進(jìn)行各種查詢,更新,添加等。

                  9.2系統(tǒng)存在問題

                  在試運(yùn)行的過程中,我們發(fā)現(xiàn)查詢功能還存在一些問題.

                  9.3系統(tǒng)的開發(fā)收獲的提高

                  本系統(tǒng)在試運(yùn)行階段運(yùn)行很正常,使用效果很好,管理人員可以用多種不同的方式獲取他們所要查詢的成績。本系只是一個學(xué)校管理項(xiàng)目的應(yīng)用。但它設(shè)計與實(shí)現(xiàn),為我們今后建立網(wǎng)絡(luò)管理系統(tǒng)起到很好的作用。

                  第十章結(jié)束語

                  經(jīng)過幾個月的畢業(yè)設(shè)計,因?yàn)闀r間和任務(wù)的性質(zhì)的關(guān)系,沒有完全按照上述的測試方法進(jìn)行系統(tǒng)的測試,但經(jīng)過一些簡單的步驟的測試,證明本系統(tǒng)具有相當(dāng)程序的穩(wěn)定性。

                  


          ERP系統(tǒng)實(shí)施的失敗與成功原因分析MRP - 制造業(yè)模型
          ERP與MES中的相關(guān)名詞解釋淺談內(nèi)部控制與ERP管理系統(tǒng)的關(guān)系
          學(xué)院課程安排管理系統(tǒng)學(xué)生選課系統(tǒng)排課子系統(tǒng)報告
          VB學(xué)生成績管理系統(tǒng)學(xué)生成績管理系統(tǒng)實(shí)驗(yàn)報告
          高校圖書館管理系統(tǒng)數(shù)據(jù)庫設(shè)計高校教職工信息管理系統(tǒng)
          基于jsp的高校宿舍管理系統(tǒng)pb學(xué)生成績管理系統(tǒng)
          vs學(xué)生成績管理系統(tǒng)基于Web的學(xué)生成績管理系統(tǒng)的設(shè)計和實(shí)現(xiàn)
          學(xué)生成績管理系統(tǒng)課程設(shè)計報告匯編課程設(shè)計成績管理系統(tǒng)
          信息發(fā)布:廣州名易軟件有限公司 http://m.jetlc.com
          • 勁爆價:
            不限功能
            不限用戶
            1998元/年

          • 微信客服

            <output id="r87xx"></output>
          1. 
            
            <mark id="r87xx"><thead id="r87xx"><input id="r87xx"></input></thead></mark>
              • 中文人妻无码一区二区三区久久 | 狠狠综合一区 | 亚洲欧美综合 | 91人妻人人澡人人爽人人精品 | 欧美午夜精品久久久久免费视 | 精品三级片在线观看 | 日韩人妻无码一级毛片欧美 | 国产黄色片免费在线观看 | 一区电影网站 | 久久久久久亚洲Av无码精品专口 |