




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
職場大變樣社區(qū)〔zcdby〕:下載畢業(yè)設(shè)計成品全套資料,全部50元以下基于Qt的教務(wù)管理系統(tǒng)的設(shè)計摘要隨著學(xué)校規(guī)模的不斷擴(kuò)大,學(xué)生的流動變遷導(dǎo)致了學(xué)校在管理學(xué)生信息上的復(fù)雜程度上不斷的增加,在學(xué)校,教務(wù)管理依然變成了一項繁瑣且消耗資源的事;并且信息技術(shù)的不斷開展,并且得到了越來越廣泛的應(yīng)用,教務(wù)管理系統(tǒng)的實施在技術(shù)上已趨于成熟。而且作為計算機(jī)應(yīng)用的一局部,使用計算機(jī)對學(xué)校的各類信息進(jìn)行管理,具有手工管理無可比較的優(yōu)點,如檢索迅速,查詢方便,效率高,可靠性好等一系列的好處,這些好處都可以極大的提高學(xué)校教務(wù)管理的效率。本文采用“自上而下的總體規(guī)劃,自下而上的應(yīng)用開發(fā)〞的設(shè)計謀略,設(shè)計了一套行之有效的教務(wù)管理系統(tǒng)的方案。文章介紹了該教務(wù)管理系統(tǒng)的需求分析局部,系統(tǒng)數(shù)據(jù)庫設(shè)計局部以及系統(tǒng)功能設(shè)計局部等。此外,本系統(tǒng)本著以人為本的方針,界面友好,操作簡單,比較實用。關(guān)鍵詞:教務(wù)管理系統(tǒng);學(xué)生管理;計算機(jī)管理ThedesignoftheeducationadministrationsystembasedonQtAbstractWiththecontinuousexpansionoftheschool,studentsflowchangeledtotheschooloninformationmanagementstudentsofthecomplexdegreeofincreasing,inschool,educationaladministrationstillhasbecomeacumbersomeandexpensivething.Withthecontinuousdevelopmentofinformationtechnology,andhasbeenmoreandmorewidelyused,theimplementationofeducationaladministrationsystemhasbeenmatureintechnology.Alsoasapartofcomputerapplication,usingcomputertoschoolofallkindsofinformationmanagement,withamanualmanagementincomparableadvantages,suchassearchingquickly,queryconvenient,highefficiency,goodreliabilityandsoonaseriesofadvantages,theseadvantagescangreatlyimprovetheefficiencyofschooleducationaladministration.ThegenerallayoutofthisarticleUSESthe"top-downandbottom-upapplicationdevelopment"ofthedesignstrategy,designasetofeffectiveteachingmanagementsystemsolutions.Thispaperintroducestherequirementsanalysispartoftheeducationaladministrationsystem,thesystemdatabasedesignandsystemfunctiondesign,etc.Inaddition,thissystemisinlinewiththeprincipleofpeople-oriented,friendlyinterface,simpleoperation,morepractical.KeyWords:educationalmanagementsystem;studentmanagement;computermanagement目錄摘要 iAbstract ii1系統(tǒng)概述 11.1教務(wù)管理系統(tǒng)開發(fā)的背景 11.2教務(wù)系統(tǒng)開發(fā)的目的和意義 11.3目前國內(nèi)外的研究現(xiàn)狀 21.4國外研究現(xiàn)狀 22關(guān)鍵技術(shù) 32.1QtCreator 32.2UML 43可行性分析及總體設(shè)計 53.1系統(tǒng)業(yè)務(wù)價值 53.2可行性分析 53.3總體設(shè)計的根本原那么 63.4系統(tǒng)需求分析 63.5系統(tǒng)總體層次圖 73.5系統(tǒng)功能描述 73.3.1學(xué)生功能模塊: 73.3.2教師功能模塊: 73.3.3管理員功能模塊: 83.3.4通用模塊: 83.4數(shù)據(jù)庫設(shè)計原那么 83.5邏輯結(jié)構(gòu)設(shè)計 83.7工程生存期模型選擇 113.8本系統(tǒng)有待解決地方 134系統(tǒng)詳細(xì)設(shè)計 144.1開發(fā)環(huán)境及過程簡介 144.2主要功能模塊設(shè)計 154.3系統(tǒng)的整體流程圖 164.3.1用戶登錄模塊設(shè)計 174.3.2注冊用戶模塊設(shè)計 174.3.3管理員管理模塊 194.3.4學(xué)生管理模塊 204.3.5教師管理模塊 214.4數(shù)據(jù)庫的實現(xiàn) 22數(shù)據(jù)庫的界面操作 22數(shù)據(jù)庫的SQL操作 234.5數(shù)據(jù)備份及恢復(fù)策略 244.6系統(tǒng)界面布局的實現(xiàn)說明 255系統(tǒng)設(shè)計界面展示 295.1登錄界面展示 295.2用戶信息以及密碼修改界面展示 295.3信息修改界面展示 305.4信息添加界面展示 315.5信息查看界面展示 315.6信息刪除界面展示 325.7管理用戶界面展示 325.8獎罰管理界面展示 335.9系統(tǒng)信息界面展示 336系統(tǒng)測試 346.1系統(tǒng)的測試范圍 346.2測試任務(wù) 346.2.1測試目標(biāo) 346.2.2測試質(zhì)量 346.3測試綜述 346.3.1單元測試 356.3.2功能測試 35總結(jié) 36參考文獻(xiàn) 37致謝 38外文原文 39外文翻譯 481系統(tǒng)概述1.1教務(wù)管理系統(tǒng)開發(fā)的背景教務(wù)管理系統(tǒng)是一個以人為主導(dǎo),利用計算機(jī)硬件、軟件、網(wǎng)絡(luò)通信設(shè)備以及其他辦公設(shè)備,進(jìn)行信息的收集、傳輸、加工、存儲、更新和維護(hù),教務(wù)管理系統(tǒng)提供給管理者需要的信息來實現(xiàn)對組織機(jī)構(gòu)的有效管理,隨著社會的開展,人們對各種信息的需求量越來越大。同時對信息的管理難度也在不斷在增加,僅僅依靠當(dāng)初的紙面記錄信息和管理已經(jīng)不能滿足當(dāng)今大量信息的管理了,因此,利用計算機(jī)硬件,軟件和網(wǎng)絡(luò)設(shè)備來管理信息成為當(dāng)今信息管理的主要且可行的方式。這種方式能大大提高信息的管理力度,信息的冗余度小,大大減小了信息管理者的工作量,同時對信息的平安有了保障。但是這些似乎滿足不了人們的需求,因為所開發(fā)的這些軟件和系統(tǒng)的性能還遠(yuǎn)遠(yuǎn)不夠,如性能,比方并發(fā)性,如果一個系統(tǒng)同時有很多人使用的話,會造成阻塞甚至崩潰,人們不得不一再登錄或者等待,有時學(xué)生要花費(fèi)很多時間才能查詢到自己需要的信息或者是完成自己想做的事。教務(wù)管理系統(tǒng)對于高校的管理來說是至關(guān)重要的,學(xué)生信息是高等學(xué)校非常重要的一項數(shù)據(jù)資源,是一個教育單位不可缺少一局部。特別是近幾年來,國家政策的調(diào)整,我國高等院校大規(guī)模的擴(kuò)招,給高等院校的教學(xué)管理、學(xué)生管理、后勤管理等方面都帶來不少的沖擊。其包含的數(shù)據(jù)量大,涉及的人員面廣,而且需要及時更新,故較為復(fù)雜,難以單純地依靠人工管理,而且傳統(tǒng)的人工管理方式既不易于標(biāo)準(zhǔn)化,管理效率也不高,目前我國各類高等院校中還有相當(dāng)一局部學(xué)生檔案管理還停留在紙介質(zhì)的根底上,尤其是中、小學(xué)對學(xué)生檔案的管理更是落后,這樣的管理機(jī)制已經(jīng)不能適應(yīng)時代開展的要求,其管理方法將浪費(fèi)許多人力和物力。作為計算機(jī)應(yīng)用的一局部,使用計算機(jī)對學(xué)生檔案進(jìn)行管理,有著手工管理所無法比較的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、本錢低等。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的效率,也是學(xué)校向科學(xué)化、正規(guī)化管理開展的必要條件,更是各個高等院校與世界接軌的重要條件。我作為學(xué)習(xí)計算機(jī)專業(yè)的一員,對系統(tǒng)的需求作了較深入的認(rèn)識,同時也掌握了一定的系統(tǒng)開發(fā)理論,借這次畢業(yè)設(shè)計的契機(jī),一方面利用自己的所學(xué)小刀試牛,另一方面通過這次實踐必將提升自身對軟件工程、數(shù)據(jù)庫、程序設(shè)計等理論的認(rèn)識,積累系統(tǒng)開發(fā)的經(jīng)驗。作為畢業(yè)設(shè)計,由于時間比較緊張,加之本人沒有任何系統(tǒng)開發(fā)的經(jīng)驗,它肯定存在許許多多缺乏的地方,但對它的改善和功能的完備并不會隨著畢業(yè)設(shè)計的結(jié)束而終止。本人將在原來的根底上,著眼未來,追蹤計算機(jī)新技術(shù)開展,并應(yīng)用到系統(tǒng)持續(xù)開發(fā)中。1.2教務(wù)系統(tǒng)開發(fā)的目的和意義高校教務(wù)管理信息化是提高辦公效率的重要途徑。隨著我國高等教育的快速開展,高校辦學(xué)規(guī)模的不斷擴(kuò)大,在校學(xué)生人數(shù)的不斷增多,辦學(xué)層次出現(xiàn)了多元化,由一地辦學(xué)開展到多地多點辦學(xué),同時進(jìn)一步推行全面學(xué)分制。這些變化使教務(wù)管理部門的管理任務(wù)越來越繁重,不僅增加了工作量,更增加了工作難度和復(fù)雜度,按傳統(tǒng)的管理模式,只靠有限的工作人員已無法進(jìn)行高效管理。高校教務(wù)管理的信息化已成為教學(xué)管理現(xiàn)代化的迫切要求,因為它能夠?qū)⒔虅?wù)工作人員從繁瑣的手工勞動中解放出來,在大量的數(shù)據(jù)面前進(jìn)行查詢、統(tǒng)計同時進(jìn)行管理,減輕了教務(wù)工作人員的勞動強(qiáng)度,極大了提高了工作效率。高校教務(wù)管理信息化是高校教務(wù)管理工作標(biāo)準(zhǔn)化的有力保障。高校的教務(wù)管理是一項龐大的系統(tǒng)工程,工作事務(wù)雜、環(huán)節(jié)多、工作量大,沒有科學(xué)的手段和嚴(yán)格的規(guī)章制度是無法保障教學(xué)秩序的。教學(xué)工作標(biāo)準(zhǔn)化管理是比常規(guī)教學(xué)管理更高層次上的管理,幾乎涉及到教與學(xué)的所有方面,其根本信息更滲透到教學(xué)各個環(huán)節(jié)且貫徹始終,這就要求必須按一定標(biāo)準(zhǔn)流程進(jìn)行科學(xué)的管理,而信息化有助于這一管理過程成功實現(xiàn),通過完善管理信息化制度,可以標(biāo)準(zhǔn)管理,保證教學(xué)效果,提高管理效率,有效地提高教務(wù)管理工作的標(biāo)準(zhǔn)化和現(xiàn)代化水平,使教務(wù)管理工作走上良性循環(huán)的軌道。1.3目前國內(nèi)外的研究現(xiàn)狀教務(wù)管理系統(tǒng)對高校教務(wù)管理信息化建設(shè)有重要意義,在學(xué)生的教學(xué)管理、成績管理、學(xué)籍管理和其它培養(yǎng)過程中,實現(xiàn)了培養(yǎng)全過程的網(wǎng)絡(luò)化和信息化,為高校教務(wù)管理的信息化、智能化奠定了堅實的根底。然而隨著教育管理系統(tǒng)的進(jìn)一步的應(yīng)用和教務(wù)管理信息化工作的逐步深入,也逐漸暴露出了一些問題,并且已經(jīng)影響到教務(wù)管理信息化工作的健康開展,最鋒利的問題就是教育管理信息化標(biāo)準(zhǔn)化的問題。其主要的表現(xiàn)有以下幾點:原有的管理信息標(biāo)準(zhǔn)不完備,缺少一套完整的教育管理信息標(biāo)準(zhǔn)。由于缺乏一套完整的教育管理信息標(biāo)準(zhǔn),目前許多教育管理部門和學(xué)校均根據(jù)各自工作需要采用相應(yīng)的管理信息,這些信息不僅不標(biāo)準(zhǔn)、不完整,且互不兼容,難以進(jìn)行信息交流。隨著全國性的教育管理信息網(wǎng)絡(luò)的逐步建立,這些信息的價值和作將難以得到表達(dá)和發(fā)揮,有的甚至?xí)蔀樾畔⒗?。教?wù)管理系統(tǒng)靈活性差,缺少可擴(kuò)充性和開放性。隨著教學(xué)改革的不斷深入,專業(yè)培養(yǎng)方案的不斷調(diào)整,對教務(wù)管理系統(tǒng)的靈活性要求很高,目前的教務(wù)管理系統(tǒng),多數(shù)不具有擴(kuò)充性,對高校教務(wù)管理工作的新要求,難以進(jìn)行及時調(diào)整,因此,造成了一些管理系統(tǒng)不能長期穩(wěn)定的應(yīng)用。教務(wù)管理系統(tǒng)的平臺很多,水平參差不齊。目前我國教務(wù)管理系統(tǒng)開發(fā)者很多,有專業(yè)的軟件公司人員,也有在高校教務(wù)工作的管理者;開發(fā)的應(yīng)用軟件類型也多種多樣,有單機(jī)版的教務(wù)管理系統(tǒng),也有基于Internet的教務(wù)管理系統(tǒng)。教務(wù)平臺的水平上下不齊,但是能真正適合高校教務(wù)管理實際情況,并且智能化的可擴(kuò)充性的教務(wù)系統(tǒng)并不多見。缺乏一套完整的網(wǎng)上信息交換標(biāo)準(zhǔn)。通過網(wǎng)絡(luò)實現(xiàn)不同教育部門之間的信息交流需要一套完整的網(wǎng)上信息交換標(biāo)準(zhǔn),由于缺乏這樣的一個標(biāo)準(zhǔn),已開始在一定程度上影響了教育部門間的網(wǎng)上信息交流。缺乏對教育管理信息化工作的指導(dǎo)和管理。管理信息化工作是一項全新的事業(yè),開展速度很快,對技術(shù)的依賴程度高。1.4國外研究現(xiàn)狀在信息化浪潮席卷全球、日益滲透到社會生活各個領(lǐng)域的今天,數(shù)字化校園建設(shè)如火如荼。特別是,歐美、日本等興旺國家高度重視信息化建設(shè),早在20世紀(jì)90年代初幾乎所有的高校便建成了比較完善的校園網(wǎng),各個職能部門都根本實現(xiàn)了網(wǎng)絡(luò)化、信息化管理。目前國外在教務(wù)管理軟件的設(shè)計和開發(fā)方面處于領(lǐng)先地位,不管是在開發(fā)的方法上還是在軟件的使用率上都很成功。2關(guān)鍵技術(shù)2.1QtCreatorQtCreator是跨平臺的QtIDE,QtCreator是Qt被Nokia收購后推出的一款新的輕量級集成開發(fā)環(huán)境〔IDE〕。此IDE能夠跨平臺運(yùn)行,支持的系統(tǒng)包括Linux〔32位及64位〕、MacOSX以及Windows。根據(jù)官方描述,QtCreator的設(shè)計目標(biāo)是使開發(fā)人員能夠利用Qt這個應(yīng)用程序框架更加快速及輕易的完成開發(fā)任務(wù)。QtCreator
主要是為了幫助新
Qt
用戶更快速入門并運(yùn)行工程,還可提高有經(jīng)驗的
Qt
開發(fā)人員的工作效率。使用強(qiáng)大的C++代碼編輯器可快速編寫代碼。語法標(biāo)識和代碼完成功能輸入時進(jìn)行靜態(tài)代碼檢驗以及提示樣式上下文相關(guān)的幫助代碼折疊括號匹配和括號選擇模式高級編輯功能。采用C++語言設(shè)計,編碼標(biāo)準(zhǔn)清晰,關(guān)鍵算法或處理須加注釋說明。QtCreator
是一款跨平臺的集成開發(fā)環(huán)境,特別針對Qt開發(fā)者,是\o"Qt"Qt
SDK組成的一局部,可運(yùn)行于Windows,Linux/X11及MacOSX等桌面操作系統(tǒng),允許開發(fā)者為多桌面環(huán)境及移動設(shè)備平臺創(chuàng)立應(yīng)用程序。它包括一個可視化調(diào)試工具和集成的GUI版面和外形設(shè)計師。這個編輯器的功能包括\o"語法高亮度顯示"語法高亮度顯示和\o"自動完成"自動完成。QtCreator在Linux上,使用
\o"GCC"GCC
的C++編譯器。在Windows,默認(rèn)安裝它可以使用\o"MinGW"MinGW
或
\o"MicrosoftVisualC++"MSVC。從源代碼編譯時,也可以使用
\o"MicrosoftConsoleDebugger〔頁面不存在〕"cdb。QTCreator是一個跨平臺的C++GUI應(yīng)用構(gòu)架,它提供了豐富的窗口控件,具有面向?qū)ο蟆⒁子跀U(kuò)展、組件編程等特點,最為引人注目的是目前在Linux上最為流行的KDE的桌面環(huán)境,它就是建立在QT庫的根底之上。QT支持多種平臺,隨著KDE的快速開展普及,QT很有可能成為Linux系統(tǒng)窗口平臺上進(jìn)行軟件開發(fā)的GUI首選工具。信號和槽是QT的核心機(jī)制,要學(xué)會QT編程那么就必須對信號和槽機(jī)制有所了解。信號和槽機(jī)制是一種接口,應(yīng)用在對象之間的通信,是QT的核心特性,同時也是QT區(qū)別于其它種類工具包的重要地方。信號和槽機(jī)制是QT自行定義的一種通信機(jī)制,它獨(dú)立于標(biāo)準(zhǔn)的C/C++語言,所以必須要正確的處理好信號和槽機(jī)制,這里借助moc〔MetaObjectCompiler〕工具,該moc工具是一個C++的預(yù)處理工具,為事件處理自動生成所需要的附加處理代碼。在我們所熟知的多種GUI工具包中,窗口小控件(widget)都有一個回調(diào)函數(shù)用來響應(yīng)它們能觸發(fā)的動作,這個回調(diào)函數(shù)通常是一個指針,它指向某個函數(shù)。但是,在QT中信號和槽機(jī)制取代了這些函數(shù)指針,使得人們在編寫這些通信程序時更為簡潔明了。信號和槽機(jī)制能使用任意數(shù)量、任意類型的參數(shù)。在這里我設(shè)計的主窗口命名為:mainwindow。所有從QObject或其子類(例如Qwidget)派生的類都可以包含信號和槽機(jī)制。當(dāng)對象改變狀態(tài)時,信號就由該對象發(fā)射出去,這就是對象所要做的事情,但它不知道另一端是誰在接收這個信號,這就是所謂的信息封裝,它保證對象被當(dāng)作一個真正的組件來使用。槽被用來接收信號,它們是對象成員函數(shù),稱為槽函數(shù)。但槽函數(shù)并不知道是否有信號和自己相連。而且,對象也不了解具體的通信機(jī)制。在編程時可以將多個信號與單個槽函數(shù)進(jìn)行連接,也可以將單個信號與多個槽函數(shù)進(jìn)行連接,甚至也可以將一個信號和另外一個信號相連,這時無論第一個信號在何時發(fā)射,那么都將立刻發(fā)射第二個信號??傊盘柵c槽機(jī)制構(gòu)成了一個很強(qiáng)大的控件編程機(jī)制。2.2UML統(tǒng)一建模語言〔UML,\o"英語"英語:UnifiedModelingLanguage〕是非專利的第三代\o"對象建模語言〔頁面不存在〕"建模和\o"規(guī)約語言"規(guī)約語言。UML是一種開放的方法,用于說明、可視化、構(gòu)建和編寫一個正在開發(fā)的、面向?qū)ο蟮摹④浖芗到y(tǒng)的制品的開放方法。UML展現(xiàn)了一系列最正確工程實踐,這些最正確實踐在對大規(guī)模,復(fù)雜系統(tǒng)進(jìn)行建模方面,特別是在\o"軟件架構(gòu)"軟件架構(gòu)層次已經(jīng)被驗證有效。UML集成了\o"Booch〔頁面不存在〕"Booch,\o"對象建模技術(shù)〔頁面不存在〕"OMT和\o"面向?qū)ο筌浖こ獭岔撁娌淮嬖凇?面向?qū)ο筌浖こ痰母拍?,將這些方法融合為單一的,通用的,并且可以廣泛使用的建模語言。UML打算成為可以對并發(fā)和分布式系統(tǒng)的標(biāo)準(zhǔn)建模語言。UML并不是一個工業(yè)標(biāo)準(zhǔn),但在\o"ObjectManagementGroup"ObjectManagementGroup的主持和資助下,UML正在逐漸成為工業(yè)標(biāo)準(zhǔn)。OMG之前曾經(jīng)呼吁業(yè)界向其提供有關(guān)\o"面向?qū)ο?對象導(dǎo)向的理論及實現(xiàn)的方法,以便制作一個嚴(yán)謹(jǐn)?shù)能浖UZ言〔SoftwareModelingLanguage〕。有很多業(yè)界的領(lǐng)袖亦真誠地回應(yīng)OMG,幫助她建立一個業(yè)界標(biāo)準(zhǔn)。許多人通過UML認(rèn)識了用例,UML定義為\o"統(tǒng)一建模語言"展現(xiàn)用例的圖形符號。UML并沒有為描述用例定義書寫格式的標(biāo)準(zhǔn),因此許多人誤認(rèn)為這些圖形符號就是用例本身;然而,圖形符號只能給出最簡單的一個或一組用例的概要。UML是用例圖形符號最流行的標(biāo)準(zhǔn)。但是,還有一些其它的可選擇的標(biāo)準(zhǔn)。用例〔\o"英語"英語:usecase〕,或譯使用案例、用況,是\o"軟件工程"軟件工程或\o"系統(tǒng)工程"系統(tǒng)工程中對系統(tǒng)如何反響外界請求的描述,是一種通過用戶的使用場景來獲取需求的技術(shù)。每個用例提供了一個或多個場景,該場景說明了系統(tǒng)是如何和最終用戶或其它系統(tǒng)互動,也就是誰可以用系統(tǒng)做什么,從而獲得一個明確的業(yè)務(wù)目標(biāo)。編寫用例時要防止使用技術(shù)術(shù)語,而應(yīng)該用最終用戶或者領(lǐng)域?qū)<业恼Z言。用例一般是由軟件開發(fā)者和最終用戶共同創(chuàng)作的。在1986年,\o"IvarJacobson〔頁面不存在〕"IvarJacobson,\o"統(tǒng)一建模語言"UML和\o"RationalUnifiedProcess"瑞理統(tǒng)一過程的重要奉獻(xiàn)者,提出了用例的概念。Jacobson的思想很有影響力,也很有開展力。之后在這個科目上又有很多奉獻(xiàn),在定義用例是什么和怎么有效的書寫用例方面最重要,最有影響力也最全面的,是\o"AlistairCockburn〔頁面不存在〕"AlistairCockburn,他寫的書籍是?編寫有效用例?。用例迅速成為獲取功能需求最常用的手段。用例最初是和面向?qū)ο笠煌岢龅?。但是它不止局限于面向?qū)ο笙到y(tǒng),因為用例實質(zhì)上不是面向?qū)ο?。用例圖包含一組用例。每一用例用橢圓表示,放置在矩形框中;矩形框表示整個系統(tǒng)。矩形框外畫如下圖的小人,表示參與者。參與者不一定是人,可以是其他軟件、硬件等等。某一參與者與某一用例用線連起來,表示該參與者和該用例有交互。3可行性分析及總體設(shè)計3.1系統(tǒng)業(yè)務(wù)價值系統(tǒng)設(shè)計工作應(yīng)該自頂向下地進(jìn)行。首先設(shè)計總體結(jié)構(gòu),然后再逐層深入,直至進(jìn)行每一個模塊的設(shè)計。總體設(shè)計主要是指在系統(tǒng)分析的根底上,對整個系統(tǒng)的劃分〔子系統(tǒng)〕、機(jī)器設(shè)備〔包括軟、硬設(shè)備〕的配置、數(shù)據(jù)的存貯規(guī)律以及整個系統(tǒng)實現(xiàn)規(guī)劃等方面進(jìn)行合理的安排。系統(tǒng)設(shè)計又稱為物理設(shè)計,是開發(fā)管理信息系統(tǒng)的第二階段,系統(tǒng)設(shè)計通??煞譃閮蓚€階段進(jìn)行,首先是總體設(shè)計,其任務(wù)是設(shè)計系統(tǒng)的框架和概貌,并向用戶單位和領(lǐng)導(dǎo)部門作詳細(xì)報告并認(rèn)可,在此根底上進(jìn)行第二階段――詳細(xì)設(shè)計,這兩局部工作是互相聯(lián)系的,需要交叉進(jìn)行,本章將這兩個局部內(nèi)容結(jié)合起來進(jìn)行介紹。系統(tǒng)設(shè)計是開發(fā)人員進(jìn)行的工作,他們將系統(tǒng)設(shè)計階段得到的目標(biāo)系統(tǒng)的邏輯模型轉(zhuǎn)換為目標(biāo)系統(tǒng)的物理模型,該階段得到工作成果――系統(tǒng)設(shè)計說明書是下一個階段系統(tǒng)實施的工作依據(jù)?,F(xiàn)如今高等院校的招生人數(shù)越來越多,必然就會有大量的學(xué)生信息、教師信息及課程信息需要處理。如果只靠人力來完成,這將會變成一項非常繁瑣、復(fù)雜的工作,而且還有可能出現(xiàn)很多意想不到的錯誤,給管理這些數(shù)據(jù)帶來了極大的不便,越來越不適合高校的開展需要。因此,為了提高教務(wù)管理工作的效率,減少錯誤的出現(xiàn),節(jié)約大量的人力資源,教務(wù)管理也已經(jīng)從手工操作轉(zhuǎn)到計算機(jī)自動化信息處理階段,所有高校都迫切需要計算機(jī)技術(shù)來進(jìn)行教務(wù)信息的輔助管理。本文采用結(jié)構(gòu)化分析的方法,詳細(xì)闡述了一個功能比較強(qiáng)大的教務(wù)管理系統(tǒng)的設(shè)計流程、操作流程于涉及的一些關(guān)鍵技術(shù)。首先進(jìn)行了可行性分析,然后是系統(tǒng)分析,通過實際的業(yè)務(wù)流程調(diào)研,分析業(yè)務(wù)流程和系統(tǒng)的組織結(jié)構(gòu),完成了數(shù)據(jù)流分析和數(shù)據(jù)字典;然后是系統(tǒng)設(shè)計階段主要完成了功能模塊的劃分、闡述了系統(tǒng)設(shè)計的思想、數(shù)據(jù)庫的設(shè)計和系統(tǒng)設(shè)計的工具及技術(shù)。該階段對本系統(tǒng)各個模塊的功能進(jìn)行了詳細(xì)設(shè)計,形成了本系統(tǒng)的功能模塊圖;數(shù)據(jù)庫設(shè)計時先進(jìn)行了概念結(jié)構(gòu)設(shè)計,然后進(jìn)行了邏輯結(jié)構(gòu)設(shè)計。最后完成了數(shù)據(jù)表的設(shè)計。3.2可行性分析可行性分析也稱為可行性研究,是在調(diào)查的根底上,針對新系統(tǒng)的開發(fā)是否具備必要性和可能性,對新系統(tǒng)的開發(fā)從技術(shù)、經(jīng)濟(jì)、社會等方面進(jìn)行分析和研究,以防止投資失誤,保證新系統(tǒng)的開發(fā)成功。下面將分別從技術(shù)、經(jīng)濟(jì)、社會三個方面對高校學(xué)生學(xué)籍管理系統(tǒng)的建設(shè)進(jìn)行分析和研究?!?〕技術(shù)可行性:通過衡量是否具備完成該系統(tǒng)所需要的技術(shù),通??梢园凑沼病④浖男阅芤?guī)格要求、運(yùn)行環(huán)境條件、工作人員能力水平和數(shù)量等要素去分析和考慮。為了使該系統(tǒng)的實施能夠更加順利,我們選擇現(xiàn)在比較熟悉的QT工具進(jìn)行開發(fā)平臺的搭建和設(shè)計,同時選擇SQLite數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲。對于硬件來說,選擇的空間還是比較大的,因為硬件配置越高的話,網(wǎng)站的運(yùn)行才可以更加流暢。由于現(xiàn)如今的家用或著商用電腦的硬件配置水平,所以在硬件方面,系統(tǒng)也是可行的。在軟件方面,由于QT和SQLite是兩個非常成熟的開發(fā)工具,無論在平安性、可用性、可靠性方面都毫無置疑,因此軟件方面是可行的?!?〕經(jīng)濟(jì)可行性:經(jīng)濟(jì)可行性指我們所開發(fā)的軟件能夠為我們帶來的經(jīng)濟(jì)效益和設(shè)計開發(fā)該軟件所進(jìn)行的投入相比是否相宜,并且還得關(guān)注該軟件是否可以真正為用戶帶來一定的經(jīng)濟(jì)效益。此次所開發(fā)的系統(tǒng)就是為使用教務(wù)系統(tǒng)的人員節(jié)約工作時間,提升工作效率,保證工作質(zhì)量,方便管理和操作而設(shè)計完成的。經(jīng)過論證,在經(jīng)濟(jì)可行性上來說,開發(fā)該系統(tǒng)是完全可行的。該軟件的開發(fā)工作不需要花費(fèi)大量的財力和人力,并且是由個人獨(dú)立地完成設(shè)計,不僅可以節(jié)省許多費(fèi)用,同時也可提高個人的實際動手能力?!?〕本系統(tǒng)是根據(jù)高校教務(wù)管理的實際工作情況開發(fā)研制的,是通過查閱大量的資料的出的。本系統(tǒng)對用戶的要求,除了需要具備在MicrosoftWindows平臺上使用個人電腦的知識外,并不需要特別的技術(shù)能力。3.3總體設(shè)計的根本原那么考慮到本系統(tǒng)的設(shè)計、實現(xiàn)和后期維護(hù)的方便,以及系統(tǒng)用戶使用的便利,所以必須采取一定的設(shè)計原那么。其主要設(shè)計原那么有:〔1〕簡易性:在實現(xiàn)系統(tǒng)的功能的同時,盡量讓系統(tǒng)操作簡單易懂,符合大多數(shù)操作員習(xí)慣的用戶界面這對于一個系統(tǒng)來說是非常重要的?!?〕針對性:本系統(tǒng)設(shè)計是針對高校教務(wù)管理的需求定向開發(fā)設(shè)計,所以具有專業(yè)突出和很強(qiáng)的針對性。〔3〕實用性:要求本系統(tǒng)能夠滿足高校根本的教務(wù)管理的管理人員、學(xué)生的需要、老師的需要,因此具有良好的實用性。〔4〕一致性:頁面整體設(shè)計風(fēng)格以及命名規(guī)那么的一致性:整體頁面布局和用圖用色風(fēng)格及變量、類名和其他元素的命名規(guī)那么保持一致。〔5〕先進(jìn)性:作為新型的教務(wù)管理系統(tǒng),本系統(tǒng)采用Qt開發(fā)技術(shù)、Sqlite等被廣泛采用系統(tǒng)開發(fā)技術(shù)和數(shù)據(jù)庫,因此本設(shè)計具有良好的先進(jìn)性,具體表現(xiàn)在其具有良好的可擴(kuò)展性,可開發(fā)性。3.4系統(tǒng)需求分析所謂"需求分析",是指對要解決的問題進(jìn)行詳細(xì)的分析,弄清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)輸出什么。可以說,在軟件工程當(dāng)中的“需求分析〞就是確定要計算機(jī)“做什么〞,要到達(dá)什么樣的效果??梢哉f需求分析是做系統(tǒng)之前必做的。功能需求主要是為了明確所開發(fā)的軟件必須具備的功能。教務(wù)管理系統(tǒng)是來自學(xué)生,教師和系統(tǒng)管理人員三個方面的要求。學(xué)生的需求是查詢所有跟自己相關(guān)的信息,包括自己的個人信息、老師的一些根本信息,還有班級信息與自己的學(xué)籍信息。除此之外,學(xué)生可以修改自己的登錄系統(tǒng)的密碼。對于自己在校期間的一些獎罰也可以通過這個系統(tǒng)來查看。教師的需求是在學(xué)生需求的根底上,添加了對學(xué)生成績信息的管理,包括對成績的增加、修改、刪除等操作。這些操作對管理員來說也是可以操作的,但這些操作同樣也是區(qū)別與學(xué)生權(quán)限的一些操作。教師也可以修改自己的登錄密碼,不過對于教師與學(xué)生來說如果忘記密碼,那么他們將無法登錄到系統(tǒng)中,只能找管理員去查看用戶在系統(tǒng)中輸入的密碼或者修改用戶的密碼。系統(tǒng)管理人員是負(fù)責(zé)系統(tǒng)的管理和維護(hù),更新系統(tǒng)數(shù)據(jù)庫端的各種文件,系統(tǒng)管理人員應(yīng)該注重數(shù)據(jù)的平安性和保密性。系統(tǒng)管理人員是最高權(quán)限的管理員,可以修改用戶權(quán)限和刪除其信息。所以系統(tǒng)管理人員需要嚴(yán)格控制帳號與密碼,否那么,會造成系統(tǒng)使用混亂。當(dāng)然,系統(tǒng)管理人員也可以進(jìn)行學(xué)生、教師的所有操作。系統(tǒng)管理員還可以進(jìn)行用戶的信息管理與學(xué)生獎罰信息的管理。3.5系統(tǒng)總體層次圖按照需求分析可以將功能模塊分為以下四大功能模塊,如圖3-1所示。圖3-1功能模塊劃分示意圖1.通用模塊主要實現(xiàn)的是用戶修改密碼功能與登錄功能。用戶需要輸入自己的特有信息才可以登錄到系統(tǒng)中,并且登錄到系統(tǒng)后可以修改自己的登錄密碼,防止其他人用自己的帳號登錄到系統(tǒng)。2.教師模塊主要實現(xiàn)的是學(xué)生成績的管理,添加成績和刪除成績以及修改成績。對于已經(jīng)存在于系統(tǒng)中的成績,教師可以對成績進(jìn)行修改,并且教師可以查看所有學(xué)生的成績,如果要查看某個學(xué)生的成績那么需要知道這個學(xué)生的學(xué)號,當(dāng)然老師也可以使用學(xué)生的功能,查看某一個學(xué)生的個人信息。3.管理員模塊主要實現(xiàn)的是管理員可以管理用戶,對班級信息的管理、教師信息的管理、學(xué)生學(xué)籍檔案信息以及學(xué)生的獎罰信息的管理。具體來說,管理員可以查看所有用戶,可以通過用戶名檢索用戶,然后對其進(jìn)行刪除或者修改權(quán)限。管理員可以查看所有老師,可以添加班級信息與修改學(xué)生檔案,也可以通過獎罰模塊來更新某個學(xué)校的獎罰信息。3.5系統(tǒng)功能描述3.3.1學(xué)生功能模塊查看班級信息。查看個人信息。查看學(xué)籍信息。查看教師信息。查看個人考試成績。查看個人獎罰信息。3.3.2教師功能模塊添加學(xué)生某科成績。修改學(xué)生某科成績。刪除學(xué)生某科成績。查看所有學(xué)生成績或某一個學(xué)生的成績。查看自己的根本信息。查看班級信息。 3.3.3管理員功能模塊學(xué)生教師的所有功能都有。對教師信息的管理,包括添加、刪除、修改等。對班級信息的管理,包括添加、刪除、修改等。對學(xué)生學(xué)籍信息的管理,包括添加、刪除、修改等。對登錄到系統(tǒng)用戶進(jìn)行注冊。修改所有用戶的登錄密碼。添加學(xué)生的獎罰信息。對獎罰信息進(jìn)行管理。3.3.4通用模塊可以查看幫助信息。修改登錄到系統(tǒng)中用戶的登錄密碼.。3.4數(shù)據(jù)庫設(shè)計原那么數(shù)據(jù)庫是本系統(tǒng)的核心和根底。它設(shè)計的好壞直接影響著整個系統(tǒng)的質(zhì)量。數(shù)據(jù)是一切系統(tǒng)設(shè)計的根底,通俗地說,數(shù)據(jù)庫設(shè)計就像高樓大廈的根基一樣,如果設(shè)計的不合理、不完善,將在系統(tǒng)開發(fā)過程中,甚至到后期的系統(tǒng)維護(hù)、功能變更和功能擴(kuò)充時,引起較多問題,嚴(yán)重時甚至要重新設(shè)計,重做大量已完成工作。在數(shù)據(jù)庫設(shè)計過程中,需要遵循的一般原那么是:1)數(shù)據(jù)庫各表的設(shè)計要反響現(xiàn)實中的事物。數(shù)據(jù)表中的字段類型和大小要符合使用習(xí)慣。2〕較少數(shù)據(jù)庫的榮譽(yù)和數(shù)據(jù)的不一致性。書庫應(yīng)用的一個特點是對數(shù)據(jù)庫的頻繁操作,每次操作可能只會設(shè)計一個表,也可以同時設(shè)計多個表,也有可能對一個數(shù)據(jù)表進(jìn)行多個操作,在這種情況下,由于數(shù)據(jù)冗余和數(shù)據(jù)不一致時,可能會引起錯誤。3〕要有助于提高數(shù)據(jù)處理速度。程序訪問數(shù)據(jù)庫的速度依賴于硬件的速度,數(shù)據(jù)量的大小和數(shù)據(jù)表設(shè)計的優(yōu)劣,而前兩個因素是很難更改的。4〕要包成數(shù)據(jù)庫的平安。平安性是數(shù)據(jù)庫應(yīng)用軟件的重要要求。3.5邏輯結(jié)構(gòu)設(shè)計數(shù)據(jù)庫是信息管理的根底,數(shù)據(jù)庫結(jié)構(gòu)直接關(guān)系到各種功能的實現(xiàn)和程序運(yùn)行的效率,所以有必要設(shè)計一個完整性良好的數(shù)據(jù)庫。有時程序員對于軟件開發(fā)的出發(fā)點認(rèn)識不是很明確,總是認(rèn)為實現(xiàn)功能才是重要的,在簡單了解完根本需求后就急忙進(jìn)入編碼階段,對于數(shù)據(jù)庫設(shè)計思考的比較少、比較簡單,大多設(shè)計都只停留在外表上,這往往是要命的,會為系統(tǒng)留下很多隱患。要么是寫代碼開發(fā)過程中才發(fā)現(xiàn)問題,要么就是系統(tǒng)上線運(yùn)轉(zhuǎn)后沒多久就出現(xiàn)問題,還有可能給后期維護(hù)增加了很多工作量。如果到了那個時候再想修改數(shù)據(jù)庫設(shè)計或進(jìn)行優(yōu)化等同于推翻重來。數(shù)據(jù)庫是整個軟件應(yīng)用的根基,是軟件設(shè)計的起點,它起著決定性的質(zhì)變作用,因此我們必須對數(shù)據(jù)庫設(shè)計高度重視起來,培養(yǎng)設(shè)計良好數(shù)據(jù)庫的習(xí)慣,是一個優(yōu)秀的軟件設(shè)計師所必須具備的根本素質(zhì)條件。邏輯結(jié)構(gòu)設(shè)計的主要任務(wù)是將概念結(jié)構(gòu)設(shè)計的全局ER圖轉(zhuǎn)換為關(guān)系模式,并進(jìn)行標(biāo)準(zhǔn)化和優(yōu)化,然后為每個應(yīng)用設(shè)計外模式。在本系統(tǒng)中使用的是Sqlite數(shù)據(jù)庫。系統(tǒng)使用的數(shù)據(jù)庫名為manager.db,包括6個數(shù)據(jù)庫表,如下:user表:記錄登錄系統(tǒng)的用戶信息。score表:記錄學(xué)生成績信息。record表:記錄學(xué)生的信息。classtable表:記錄班級信息。teacher表:記錄教師信息。reward表:記錄學(xué)生獎懲信息。使用SQLite完成系統(tǒng)中各個數(shù)據(jù)表的字段設(shè)置如下:用戶表如表3-1所示,其中用戶名id是主鍵,字段名type代表了用戶類型,字段名passwd代表了登陸用戶的密碼。表3-1用戶表字段名類型長度可否為空說明typetext否idNUMBERIC10否主鍵passwdtext否學(xué)生成績表如表3-2所示,其中學(xué)生的成績單中學(xué)生學(xué)號Sid子段設(shè)置為學(xué)生成績表的主鍵、id子段代表學(xué)生學(xué)號、schoolyear代表了學(xué)年、term代表學(xué)期、stuscore代表成績。表3-2學(xué)生成績表字段名類型長度可否為空說明SidNUMBERIC10否主鍵idNUMBERIC否schoolyearNUMBERIC是termNUMBERIC是stuscoreNUMBERIC是學(xué)生信息表如表3-3所示,其中學(xué)生學(xué)號為學(xué)生信息表的主鍵,子段name代表學(xué)生的姓名、sex代表性別、age代表年齡、classname代表班級名、telnum代表聯(lián)系、address代表家庭住址、remark代表備注。表3-3學(xué)生信息表字段名類型長度可否為空說明IdNUMBERIC10否主鍵nameText是SexText是AgeNUMBERIC是classsnameNUMBERIC是telnumNUMBERIC是addressText是remarkText是班級信息表如表3-4所示,其中班級號id為班級信息表的主鍵,classname代表班級名、grade代表班級年級、schoolsystem代表了班級信息中的學(xué)制、major代表專業(yè)、boss代表班主任、remark代表備注。表3-4班級信息表字段名類型長度可否為空說明idNUMBERIC10否主鍵classnameText是gradeText是schoolsystemText是majorText是bossText是remarkText是獎懲信息表如表3-5所示,字段名id代表學(xué)生學(xué)號,并且將學(xué)生學(xué)號作為獎懲信息表的主鍵,字段名type代表了獎懲類型屬性值、content代表獎懲內(nèi)容。表3-5獎懲信息表字段名類型長度可否為空說明idNUMBERIC10否主鍵typeText否contentText否教師信息表如表3-6所示,其中教師編號id為教師信息表的主鍵,字段名teachjob代表的是教師職稱、teachage代表教師年齡、teachsex代表教師性別、teachname代表教師姓名、teachtelnum代表教師聯(lián)系。表3-6教師信息表字段名類型長度可否為空說明idNUMBERIC10否主鍵teachjobText是teachageNUMBERIC是teachsexText是teachnameText是teachtelnumNUMBERIC是這些表的設(shè)計實際上到目前為止僅僅只是列出了表中要有的屬性,并沒有規(guī)定他們的屬性管理。但在實際過程中,需要列出這些表之間相互的關(guān)系,這樣他們就可以根據(jù)主鍵或者外鍵進(jìn)行聯(lián)系,創(chuàng)立連接視圖,從而進(jìn)行修改數(shù)據(jù)。對一個數(shù)據(jù)庫來說,只能做到更優(yōu),不可能最優(yōu),并且根據(jù)實際需要,優(yōu)化方案也是有所差異的,大概需要我們關(guān)心的有它的讀取速度、存儲空間、可維護(hù)性以及可擴(kuò)展性等,而這些方面往往又是相互矛盾的。一般來說,在系統(tǒng)分析階段往往有很多需要關(guān)注的方面,系統(tǒng)各種功能性、可用性、可靠性、平安性需要求往往吸引了我們大局部的注意力,但是,還需要注意的是,性能也是很重要的非功能性需求,必須根據(jù)系統(tǒng)的特點確定其實時性需求、響應(yīng)時間的需求、硬件的配置等。最好是能有各種需求的量化指標(biāo)。設(shè)計階段可以說是以后系統(tǒng)性能的關(guān)鍵階段,在這個階段,有一個關(guān)系到以后幾乎所有性能調(diào)優(yōu)的過程,那就是數(shù)據(jù)庫的設(shè)計。在數(shù)據(jù)庫設(shè)計完成后,可以進(jìn)行初步的索引設(shè)計,好的索引設(shè)計可以指導(dǎo)編碼階段寫出高效的代碼,為整個系統(tǒng)的性能打下良好的根底。在數(shù)據(jù)庫的設(shè)計開發(fā)過程中,將數(shù)據(jù)庫的數(shù)據(jù)設(shè)計的嚴(yán)密而有邏輯性是非常必要的,如果將一些數(shù)據(jù)只是單純的存放到這里并沒有太多的實際意義,只有將這些數(shù)據(jù)相互聯(lián)系起來,然后在進(jìn)行二次開發(fā)處理這樣就簡單合理的多了,所以這些數(shù)據(jù)屬性的開發(fā)在后期需要再加以潤色,使他們更加符合邏輯結(jié)構(gòu),這樣對數(shù)據(jù)庫的平安性考慮也是有好處的。3.7工程生存期模型選擇針對本工程的開發(fā)特點,參考企業(yè)的生存模型周期和軟件體系,決定采用增量式模型。增量模型融合了瀑布模型的根本成分〔重復(fù)應(yīng)用〕和原型實現(xiàn)的迭代特征,該模型采用隨著日程時間的進(jìn)展而交錯的線性序列,每一個線性序列產(chǎn)生軟件的一個可發(fā)布的“增量〞。當(dāng)使用增量模型時,第1個增量往往是核心的產(chǎn)品,即第1個增量實現(xiàn)了根本的需求,但很多補(bǔ)充的特征還沒有發(fā)布。客戶對每一個增量的使用和評估都作為下一個增量發(fā)布的新特征和功能,這個過程在每一個增量發(fā)布后不斷重復(fù),直到產(chǎn)生了最終的完善產(chǎn)品。增量模型強(qiáng)調(diào)每一個增量均發(fā)布一個可操作的產(chǎn)品。如圖3-2所示為系統(tǒng)開發(fā)模型圖,在系統(tǒng)實現(xiàn)了根本功能后將系統(tǒng)所需要的功能逐步添加到系統(tǒng)結(jié)構(gòu)中,到最后一個增量添加完畢后系統(tǒng)根本開發(fā)完畢,后期進(jìn)行系統(tǒng)的根本測試來完善系統(tǒng)。圖3-2工程開發(fā)模型教務(wù)管理系統(tǒng)先是做出一個小的試用版本,再逐步添加其余的功能。這樣一來,用戶可以先試用最小版本的同時,提出更多明確的需求,這有助于下一階段的開發(fā),大大減少了開發(fā)的風(fēng)險。教務(wù)管理系統(tǒng)中,要求系統(tǒng)有可擴(kuò)充性。而使用增量模型可以保證系統(tǒng)的可擴(kuò)充性。用戶明白了需求的大局部,但也存在很不詳盡的地方。所以中間留有一些增量模型模塊,用以完善和更新功能模塊。本工程具備增量式模型的其他特點:工程復(fù)雜程度為中等。產(chǎn)品和文檔的使用率很高。工程風(fēng)險較低??尚行匝芯窟M(jìn)一步探討了該系統(tǒng)進(jìn)行開發(fā)的可行性。在對問題正確定義的根底上,通過分析該系統(tǒng),導(dǎo)出試探性的結(jié)果,然后復(fù)查并修正問題定義,再次分析問題……最終提出一個符合系統(tǒng)目標(biāo)的高層次的邏輯模型。然后根據(jù)系統(tǒng)的這個邏輯模型設(shè)想各種可能的物理模型,并且從技術(shù)上,經(jīng)濟(jì)上和運(yùn)行上分析系統(tǒng)的可行性。最后,提出一個推薦的行動方案??尚行苑治龅娜蝿?wù)是明確應(yīng)用工程開發(fā)的必要性和可行性。本章主要對系統(tǒng)開發(fā)的可行性進(jìn)行具體的分析,從用戶方角度考慮本系統(tǒng)是否可行,主要通過有力的數(shù)據(jù)和軟件運(yùn)行環(huán)境方面作為依據(jù)。通過經(jīng)濟(jì)可行性、技術(shù)可行性、運(yùn)行可行性等方面的分析說明本工程的技術(shù)成熟、完備,測試手段可靠,具有良好的市場拓展,它追求的是簡單、易學(xué)、易懂、易用,因此,本系統(tǒng)具有一定的開發(fā)前景,具有開發(fā)的價值。3.8本系統(tǒng)有待解決地方本系統(tǒng)由于時間倉促加上缺乏系統(tǒng)開發(fā)經(jīng)驗,系統(tǒng)在設(shè)計過程中不可防止地遇到了各種各樣的問題,如:1.有些數(shù)據(jù)輸入時沒有及時的進(jìn)行數(shù)據(jù)格式校驗,不能保證數(shù)據(jù)絕對正確性。2.由于時間關(guān)系,系統(tǒng)功能實現(xiàn)不夠完善,使用可能存在一些不方便。3.系統(tǒng)穩(wěn)定性還有待提高。4系統(tǒng)詳細(xì)設(shè)計4.1開發(fā)環(huán)境及過程簡介軟件開發(fā)流程即軟件設(shè)計思路和方法的一般過程,包括設(shè)計軟件的功能和實現(xiàn)的算法和方法、軟件的總體結(jié)構(gòu)設(shè)計和模塊設(shè)計、編程和調(diào)試、程序聯(lián)調(diào)和測試以及編寫、提交程序。本教務(wù)管理系統(tǒng)的設(shè)計是基于windows平臺的,將使用Qt開發(fā)工具并且結(jié)合slqite數(shù)據(jù)庫來完成系統(tǒng)的全部功能,編程語言將使用C++,利用其面向?qū)ο笈c面向過程相結(jié)合的特點,開發(fā)出一個界面良好,操作簡單的系統(tǒng)。詳細(xì)設(shè)計的主要任務(wù)是設(shè)計每個模塊的實現(xiàn)算法、所需的局部數(shù)據(jù)結(jié)構(gòu)。詳細(xì)設(shè)計的目標(biāo)有兩個:實現(xiàn)模塊功能的算法要邏輯上正確和算法描述要簡明易懂。詳細(xì)設(shè)計的主要任務(wù)有:1.為每個模塊確定采用的算法,選擇某種適當(dāng)?shù)墓ぞ弑磉_(dá)算法的過程,寫出模塊的詳細(xì)過程性描述。2.確定每一模塊使用的數(shù)據(jù)結(jié)構(gòu)。3.確定模塊接口的細(xì)節(jié),包括對系統(tǒng)外部的接口和用戶界面,對系統(tǒng)內(nèi)部模塊的接口,以及模塊輸入數(shù)據(jù)、輸出數(shù)據(jù)及局部數(shù)據(jù)的全部細(xì)節(jié)。在詳細(xì)設(shè)計結(jié)束時,應(yīng)該把上述結(jié)果寫入詳細(xì)設(shè)計說明書,并且通過復(fù)審形成正式文檔。交付給下一階段〔編碼階段〕的工作依據(jù)。4.要為每一個模塊設(shè)計出一組測試用例,以便在編碼階段對模塊代碼〔即程序〕進(jìn)行預(yù)定的測試,模塊的測試用例是軟件測試方案的重要組成局部,通常應(yīng)包括輸入數(shù)據(jù),期望輸出等內(nèi)容。概要設(shè)計是詳細(xì)設(shè)計的根底,必須在詳細(xì)設(shè)計之前完成,概要設(shè)計經(jīng)復(fù)查確認(rèn)后才可以開始詳細(xì)設(shè)計。概要設(shè)計,必須完成概要設(shè)計文檔,包括系統(tǒng)的總體設(shè)計文檔、以及各個模塊的概要設(shè)計文檔。每個模塊的設(shè)計文檔都應(yīng)該獨(dú)立成冊。詳細(xì)設(shè)計必須遵循概要設(shè)計來進(jìn)行。詳細(xì)設(shè)計方案的更改,不得影響到概要設(shè)計方案;如果需要更改概要設(shè)計,必須經(jīng)過工程經(jīng)理的同意。詳細(xì)設(shè)計,應(yīng)該完成詳細(xì)設(shè)計文檔,主要是模塊的詳細(xì)設(shè)計方案說明。和概要設(shè)計一樣,每個模塊的詳細(xì)設(shè)計文檔都應(yīng)該獨(dú)立成冊。概要設(shè)計里面的數(shù)據(jù)庫設(shè)計應(yīng)該重點在描述數(shù)據(jù)關(guān)系上,說明數(shù)據(jù)的來龍去脈,在這里應(yīng)該結(jié)合我們的一下結(jié)果數(shù)據(jù),說明這些結(jié)果數(shù)據(jù)的源點,我們這樣設(shè)計的目的和原因。詳細(xì)設(shè)計里的數(shù)據(jù)庫設(shè)計就應(yīng)該是一份完善的數(shù)據(jù)結(jié)構(gòu)文檔,就是一個包括類型、命名、精度、字段說明、表說明等內(nèi)容的數(shù)據(jù)字典。概要設(shè)計里的功能應(yīng)該是重點在功能描述,對需求的解釋和整合,整體劃分功能模塊,并對各功能模塊進(jìn)行詳細(xì)的圖文描述,應(yīng)該讓讀者大致了解系統(tǒng)做完后大體的結(jié)構(gòu)和操作模式。詳細(xì)設(shè)計那么是重點在描述系統(tǒng)的實現(xiàn)方式,各模塊詳細(xì)說明實現(xiàn)功能所需的類及具體的方法函數(shù),包括涉及到的sql語句等。軟件開發(fā)的最后需要交付使用,在使用之前需要進(jìn)行各種測試,測試編寫好的系統(tǒng),交給用戶使用,用戶使用后一個一個確實認(rèn)每個功能,只有所有功能全部可以正確使用后整體工程才算告一段落,當(dāng)然日后少不了維護(hù)等工作,還需要不停的跟蹤軟件的運(yùn)營狀況并持續(xù)維護(hù)升級,直到這個軟件被徹底淘汰為止。4.2主要功能模塊設(shè)計系統(tǒng)功能結(jié)構(gòu)圖使用結(jié)構(gòu)化設(shè)計方法,采用類似于結(jié)構(gòu)化分析的“由大到小〞、“自頂向下,逐層分解〞的根本思想描述系統(tǒng)。結(jié)構(gòu)化設(shè)計方法,首先以數(shù)據(jù)流圖為根底導(dǎo)出系統(tǒng)模塊結(jié)構(gòu)圖。在導(dǎo)出系統(tǒng)模塊結(jié)構(gòu)圖的過程中,以獨(dú)立性、低耦合性、高內(nèi)聚性、公共模塊作為模塊劃分的原那么。先將系統(tǒng)數(shù)據(jù)流圖中的加工轉(zhuǎn)換成模塊,再將各大模塊繼續(xù)劃分為較小的模塊,直到每一模塊都是功能單一的模塊。圖4-1系統(tǒng)功能結(jié)構(gòu)圖圖4-1的功能圖根本將系統(tǒng)中的全部功能模塊全部囊括進(jìn)去,在原有的四個主要大模塊下再進(jìn)行擴(kuò)展,將各自模塊的功能再次細(xì)分,然后將可以繼續(xù)分開的模塊繼續(xù)進(jìn)行功能劃分,這樣就形成了以上的整體功能圖。通過以上的功能圖不難發(fā)現(xiàn),有些功能是類似的,所以在開發(fā)工程中可以將某些類似的模塊集中開發(fā)。4.3系統(tǒng)的整體流程圖圖4-2系統(tǒng)流程圖如圖4-2所示,對于這個教務(wù)管理系統(tǒng)設(shè)計是:首先系統(tǒng)啟動的時候會有登錄界面,給不同的用戶提供不同的操作界面是為了平安方面的考慮,防止一些越權(quán)操作出現(xiàn)。只有在用戶登錄界面中將用戶類型與用戶名、密碼全部輸入并且通過了與系統(tǒng)中管理員提前預(yù)設(shè)的登錄信息相符合才可以登錄到系統(tǒng),否那么無法登錄,并且系統(tǒng)會給出一點的提示信息。不同的用戶登錄到系統(tǒng)中后都會有一些操作,但是這些操作有的是符合要求的,有些是不合理的,對于這些數(shù)據(jù)是否寫入數(shù)據(jù)庫要進(jìn)行一定的判斷,對于這些都需要在后期的開發(fā)過程中設(shè)立專有的類來封裝這些操作,對于不合理的數(shù)據(jù)系統(tǒng)無法存入數(shù)據(jù)庫,相反,對于一些合理的那么可以存入數(shù)據(jù)庫,但前提是沒有越權(quán)操作。4.3.1用戶注冊模塊設(shè)計如圖4-3所示是系統(tǒng)管理員注冊用戶的流程圖。用戶第一次使用系統(tǒng)時無法登錄系統(tǒng),需要先進(jìn)行注冊。程序不提供注冊功能,否那么會給系統(tǒng)帶來一定的平安隱患,用戶需要先讓管理員在登錄系統(tǒng)后繼續(xù)注冊,這樣教師或者學(xué)生才可以登錄到系統(tǒng)中,這樣的設(shè)計在實際開發(fā)過程中可以提高系統(tǒng)的平安性,可以提前在數(shù)據(jù)庫中存入可以登錄系統(tǒng)的用戶名與密碼以及與他們身份想匹配的信息,這樣就可以實現(xiàn)他們的數(shù)據(jù)交互。
圖4-3管理員注冊用戶流程圖管理員在提交注冊信息的時候,系統(tǒng)會將注冊信息進(jìn)行判斷然后選擇是否存入數(shù)據(jù)庫,包括倆次輸入的密碼是否相同,用戶名與用戶類型是否為空等信息。如果用戶信息輸入有誤,系統(tǒng)可以給用戶以提示,幫助用戶修改信息,從而完成注冊。假設(shè)信息完整無誤,注冊按鈕點擊后系統(tǒng)會將用戶注冊的信息寫入數(shù)據(jù)庫中,管理員可以返回主界面去繼續(xù)管理系統(tǒng),登錄系統(tǒng)會根據(jù)用戶類型來判斷用戶具有的權(quán)限,從而提供給用戶不同的界面。在實際情況下,有時會發(fā)生用戶忘記密碼的情況。在這種情況下,用戶將一直無法登錄到系統(tǒng)直到用戶聯(lián)系到管理員,管理員可以查看用戶的密碼或者幫助用戶修改密碼,只有這樣,用戶才可以再次登錄到系統(tǒng)中。4.3.2注冊用戶模塊設(shè)計用戶在登錄的時候需要與后臺的數(shù)據(jù)庫相交互,所以設(shè)計一個完整的數(shù)據(jù)庫交互很有必要。下面的圖從多個層次說明了數(shù)據(jù)庫中數(shù)據(jù)的交互與登錄界面之間的聯(lián)系,只有嚴(yán)格的數(shù)據(jù)交互設(shè)計才可以保證數(shù)據(jù)庫的平安性與系統(tǒng)的平安性。圖4-4登錄模塊的業(yè)務(wù)流程圖 在圖4-4中用業(yè)務(wù)流程圖的形式來表達(dá)用戶在登錄過程中數(shù)據(jù)的具體流程走向,在用戶登錄界面中的數(shù)據(jù)業(yè)務(wù)交給設(shè)計好的用戶登錄類來處理,用戶登錄類調(diào)用相應(yīng)的數(shù)據(jù)庫操作類,數(shù)據(jù)庫操作類使用相關(guān)的數(shù)據(jù)庫函數(shù)來獲得數(shù)據(jù)庫中的數(shù)據(jù),并且返回操作結(jié)果,當(dāng)操作結(jié)果返回到用戶登錄類后,登錄類會對結(jié)果做出判斷,從而返回給對應(yīng)的用戶登錄界面,這樣就可以根據(jù)返回的結(jié)果來決定用戶點擊登錄按鈕后具體出現(xiàn)的是什么界面,例如學(xué)生界面、教師界面或者管理員界面。在系統(tǒng)中有用戶與界面的交互,需要標(biāo)準(zhǔn)數(shù)據(jù)的輸入,對此本系統(tǒng)中方案使用正那么表達(dá)式.正那么表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)那么字符串〞,這個“規(guī)那么字符串〞用來表達(dá)對字符串的一種過濾邏輯。給定一個正那么表達(dá)式和另一個字符串,我們可以到達(dá)如下的目的:1.給定的字符串是否符合正那么表達(dá)式的過濾邏輯〔稱作“匹配〞〕。2.可以通過正那么表達(dá)式,從字符串中獲取我們想要的特定局部。此外,在登錄界面中,用戶要在用戶名文本框中進(jìn)行字符的輸入,但是考慮到實際情況,在教務(wù)管理系統(tǒng)中,用戶名一般都是以數(shù)字為主,所以在這個系統(tǒng)中,設(shè)計出的文本框中需要限制用戶的輸入,用戶沒法輸入字母或者其它特殊字符,只能輸入數(shù)字,并且規(guī)定為十位,對于這些規(guī)定除了在數(shù)據(jù)庫中對列值進(jìn)行限定外還可以使用正那么表達(dá)式來標(biāo)準(zhǔn)輸入。如圖4-5所示為系統(tǒng)的登陸流程圖。在登錄模塊中設(shè)計有用戶類型選擇,為了系統(tǒng)的平安性考慮,系統(tǒng)登錄需要用戶密碼、用戶名、與用戶類型全部匹配才可以登錄系統(tǒng)。在用戶輸入個人信息的時候登錄的時候,系統(tǒng)會判斷輸入的信息是否有誤:要求用戶登錄時輸入的密碼不能為空、用戶名不能為空、類型不能為空。當(dāng)信息完全正確時,系統(tǒng)會提供給相應(yīng)用戶相應(yīng)的操作界面,這樣可以滿足不同用戶的不同需求。圖4-5登錄流程圖4.3.3管理員管理模塊 教務(wù)管理人員有權(quán)利對系統(tǒng)中所有的數(shù)據(jù)進(jìn)行修改,包括老師信息、學(xué)生信息、學(xué)生成績信息、用戶登錄信息等等信息,他有最大的權(quán)限但同時對系統(tǒng)也有最大的威脅性,一旦管理員的操作不當(dāng)會給系統(tǒng)帶來災(zāi)難性的破壞,所以在管理員操作數(shù)據(jù)的時候要特別的設(shè)計提示信息,讓管理員對操作確認(rèn)后再進(jìn)行。 當(dāng)然,管理員也可以查看各類信息,對于沒有必要登錄到系統(tǒng)中的人員,管理員可以進(jìn)行刪除操作,或者是修改他的登錄密碼,這樣對于不想讓登錄到系統(tǒng)的人員就沒法登錄到系統(tǒng),有很好的平安性的考慮。 除此之外,管理員用戶還負(fù)責(zé)對學(xué)生的獎懲信息進(jìn)行管理。學(xué)生在校期間獲得的一系列的榮譽(yù)或者學(xué)校對學(xué)生的一些懲罰都將被管理員寫入教務(wù)管理系統(tǒng)中,當(dāng)然管理員也可以將寫入的獎懲信息刪除或者修改,這些都是管理員的任務(wù)。 如圖4-6所示為管理員數(shù)據(jù)流程圖,在這個系統(tǒng)中管理員的權(quán)限最大,但是管理員也是最危險的一個用戶,他能對系統(tǒng)中的所有信息進(jìn)行管理、操作,所以在實際應(yīng)用中,對管理員用戶而言要時刻小心信息的泄漏,那樣的話會對系統(tǒng)造成災(zāi)難性的破壞。如果管理員用戶忘記密碼并且系統(tǒng)只有一個管理員,那么系統(tǒng)需要編程人員對數(shù)據(jù)庫進(jìn)行查看后修改密碼或者告知管理員。圖4-6管理員數(shù)據(jù)流程圖4.3.4學(xué)生管理模塊 如圖4-7所示為學(xué)生管理數(shù)據(jù)流程圖。圖4-7學(xué)生管理數(shù)據(jù)流程圖在圖4-7所示的學(xué)生管理數(shù)據(jù)流程圖中可知學(xué)生在此教務(wù)管理系統(tǒng)中的權(quán)限最小,只有對信息的查看權(quán)限與對自己的登錄密碼的修改權(quán)限,這樣的設(shè)計是為了給學(xué)生提供非常直觀的操作,對于一些學(xué)生不需要的操作,系統(tǒng)做到了屏蔽,只有這樣才可以將系統(tǒng)的使用權(quán)限控制到平安范圍。學(xué)生在修改密碼的時候要進(jìn)行密碼的判斷,對于錯誤的密碼信息將無法寫入到數(shù)據(jù)庫中,這樣可以防止有人惡意登錄系統(tǒng)中修改某人的登錄密碼,學(xué)生沒有注冊功能,所以學(xué)生要登錄到系統(tǒng)需要先讓管理員注冊,只有這樣才可以登錄。4.3.5教師管理模塊圖4-8教師管理數(shù)據(jù)流程圖 如圖4-8所示為教師管理數(shù)據(jù)流程圖,在這個教務(wù)管理系統(tǒng)中老師與學(xué)生的最大的區(qū)別在于老師管理著學(xué)生的成績,老師對學(xué)生的成績可以執(zhí)行任何操作,包括增加、修改、刪除、與查看,當(dāng)然,這些操作管理員也可以,但這些主要是為了讓老師對學(xué)生進(jìn)行有效的管理,用最直觀的成績來管理學(xué)生。4.4數(shù)據(jù)庫的實現(xiàn)圖4-9數(shù)據(jù)庫實現(xiàn)后的效果圖 如圖4-9所示是數(shù)據(jù)庫實現(xiàn)后的效果圖,本論文中使用的數(shù)據(jù)庫是Sqlite數(shù)據(jù)庫,對于這個小型數(shù)據(jù)庫有對應(yīng)的可視化操作界面,所以當(dāng)使用數(shù)據(jù)庫SQL語言建立數(shù)據(jù)庫后可以看的很明顯的結(jié)果圖。如果在后期的系統(tǒng)使用中出現(xiàn)了數(shù)據(jù)的一些問題,可以很方便的查看數(shù)據(jù)庫,這是解決數(shù)據(jù)問題最徹底的方式。圖4-10數(shù)據(jù)庫查詢結(jié)果界面 如圖4-10所示,在這個界面中可以快速的查看數(shù)據(jù)庫中某個表的相關(guān)結(jié)構(gòu),也可以查看在這個數(shù)據(jù)表中存放的相關(guān)數(shù)據(jù),在實際開發(fā)過程中可以用這個界面來查看對數(shù)據(jù)庫的操作是否成功,方便、快捷。圖4-11使用SQL語言進(jìn)行操作界面 圖4-11展現(xiàn)的是使用SQL語言進(jìn)行操作的界面,在這個界面中可以輸入SQL語句來對數(shù)據(jù)庫進(jìn)行操作,包括增、刪、改、查等一系列操作。學(xué)生信息根本表的建立:CREATETABLErecord( idnumericPRIMARYKEY, nametext, sexnumeric, agenumeric, classnamenumeric, addressnumeric, remarknumeric, telnumnumberic);學(xué)生成績信息根本表的建立:CREATETABLEscore( idnumericPRIMARYKEY, mathnumeric, englishnumeric, sportnumeric, experiencenumeric, Cnumeric, systemnumeric);系統(tǒng)用戶信息根本表的建立:CREATETABLEuser( idnumericPRIMARYKEY, typetextNOTNULL, passwdtextNOTNULL);班級信息根本表的建立:CREATETABLEclasstable( idnumericPRIMARYKEY, classnametext, gradetext, schoolsystemtext, majortext, bosstext, remarktext);獎懲信息根本表的建立:CREATETABLEreward( idnumericPRIMARYKEY, typetextNOTNULL, contenttextNOTNULL);教師信息根本表的建立:CREATETABLEteacher( idnumericPRIMARYKEY, teachjobtext, teachtelnumnumeric, teachsexnumeric, teachagenumeric, teachnametext, remarktext);4.5數(shù)據(jù)備份及恢復(fù)策略針對不同的故障,制定恢復(fù)策略。數(shù)據(jù)庫系統(tǒng)可能發(fā)生各種各樣的故障,大致可以分為以下幾類:事務(wù)內(nèi)部故障系統(tǒng)故障介質(zhì)故障計算機(jī)病毒要保證數(shù)據(jù)一致性是對數(shù)據(jù)庫的最根本的要求。事務(wù)是數(shù)據(jù)庫的邏輯工作單位,只要數(shù)據(jù)庫管理系統(tǒng)能夠保證系統(tǒng)中一切事務(wù)的原子性、一致性、隔離性和持續(xù)性,也就保證了數(shù)據(jù)庫處于一致狀態(tài)。為了保證事務(wù)的原子性、一致性與持續(xù)性,數(shù)據(jù)庫管理系統(tǒng)必須對事務(wù)故障、系統(tǒng)故障和介質(zhì)故障進(jìn)行恢復(fù)。數(shù)據(jù)庫轉(zhuǎn)儲和登記日志文件是恢復(fù)中最經(jīng)常使用的技術(shù)?;謴?fù)的根本原理就是利用存儲在后備副本、日志文件和數(shù)據(jù)庫鏡像中的冗余數(shù)據(jù)來重建數(shù)據(jù)庫。事務(wù)不僅是恢復(fù)的根本單位,也是并發(fā)控制的根本單位,為了保證事務(wù)的隔離性和一致性,數(shù)據(jù)庫管理系統(tǒng)需要對并發(fā)操作進(jìn)行控制。4.6系統(tǒng)界面布局的實現(xiàn)說明如圖4-12所示,系統(tǒng)在實現(xiàn)功能的同時也需要搭建一個界面,通過這個界面用戶來操作系統(tǒng),系統(tǒng)想要的操作目的。在這個界面中有說明信息的標(biāo)簽、可以產(chǎn)生點擊事件的按鈕,以及可以輸入文本的文本框,在程序中可以對文本框可以接受的信息進(jìn)行限制,考慮到實際情況,學(xué)號一般是數(shù)字組成,所以在程序中會根據(jù)正那么表達(dá)式來限制輸入的內(nèi)容。圖4-12系統(tǒng)初步效果圖voidsetupUi(QWidget*reward){if(reward->objectName().isEmpty())reward->setObjectName(QString::fromUtf8("reward"));reward->resize(735,483);verticalLayout_2=newQVBoxLayout(reward);verticalLayout_2->setSpac
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南海區(qū)課題申報書
- 護(hù)理課題申報書范本
- 教學(xué)課題的申報書
- 合作購銷產(chǎn)品合同范例
- 商法學(xué)課題申報書
- 眼科課題申報書范文
- 江西省中醫(yī)課題申報書
- 【復(fù)習(xí)大串講】【中職專用】高二語文上學(xué)期期末綜合測試題(五)(職業(yè)模塊)(解析版)
- 做廣告物料合同范本
- 合作加工木炭合同范本
- 智能制造知識課件
- 《傷口換藥》課件
- 雙方責(zé)任及工程分工界面
- 2017醫(yī)學(xué)倫理知情同意書
- 學(xué)習(xí)適應(yīng)性測驗(AAT)
- 中醫(yī)學(xué)-導(dǎo)論課件
- 中國音樂學(xué)院:樂理三級筆試試卷(學(xué)生卷)
- 山東省非道路移動源排放監(jiān)管平臺用戶操作手冊
- 醫(yī)療機(jī)構(gòu)維修申請單
- 部編版小學(xué)六年級語文下冊全冊教案(詳案)
- 拱形屋面板高支模專項方案
評論
0/150
提交評論