版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于Django的學(xué)生信息安全管理系統(tǒng)設(shè)計(jì)摘要隨著疫情的不斷發(fā)展,擴(kuò)大,疫情影響到生活的各方各面,影響著人們的健康。學(xué)生在學(xué)校受到疫情影響也是巨大的,學(xué)校管理學(xué)生行程是相當(dāng)有難度的一件事,因此分級(jí)管理,以班級(jí)為單位的小團(tuán)體管理變得尤為重要。將班級(jí)學(xué)生的安全信息歸類(lèi)到系統(tǒng)中,利于管理和可視化查詢。系統(tǒng)采用python技術(shù),使用Django開(kāi)源框架,通過(guò)python自帶的輕量級(jí)數(shù)據(jù)庫(kù)sqlite進(jìn)行數(shù)據(jù)存放管理,平臺(tái)直接可以增刪改查班級(jí)與學(xué)生數(shù)據(jù)。整個(gè)系統(tǒng)操作方便、易于維護(hù)、靈活使用。關(guān)鍵詞:Django框架;sqlite數(shù)據(jù)庫(kù);安全信息管理系統(tǒng);目錄摘要 1Abstract 21引言 41.1 系統(tǒng)開(kāi)發(fā)的意義 41.2系統(tǒng)研究?jī)?nèi)容 42系統(tǒng)開(kāi)發(fā)技術(shù) 52.1python語(yǔ)言 52.2sqlite數(shù)據(jù)庫(kù) 72.2.1Sqlite的特點(diǎn) 82.2.2Sqlite的應(yīng)用 82.3MTV簡(jiǎn)介 92.4Django 112.4.1Django具有以下特點(diǎn) 122.4.2Django的應(yīng)用 143 系統(tǒng)分析 173.1可行性分析 183.1.1技術(shù)可行性 183.1.2經(jīng)濟(jì)可行性 183.1.4運(yùn)行可行性 193.2系統(tǒng)功能分析 194系統(tǒng)總體設(shè)計(jì) 214.1系統(tǒng)設(shè)計(jì)原則 214.2數(shù)據(jù)表設(shè)計(jì) 225系統(tǒng)測(cè)試 235.1測(cè)試的目的 235.2測(cè)試的步驟 245.3測(cè)試方法 24結(jié)論 25參考文獻(xiàn) 261引言系統(tǒng)開(kāi)發(fā)的意義從2020年初開(kāi)始,新冠疫情爆發(fā)擴(kuò)散,整個(gè)世界陷入了恐慌。社會(huì)的各方各面被疫情嚴(yán)重影響,一種前所未有的巨變和危機(jī)正在向人們襲來(lái)。不過(guò)好在中國(guó)政府管理得當(dāng),新冠疫情對(duì)社會(huì)的負(fù)面影響迅速得到了有效控制,社會(huì)經(jīng)濟(jì)開(kāi)始好轉(zhuǎn),百姓的生活節(jié)奏逐漸步入正軌,由此可見(jiàn)好的管理尤為重要。時(shí)間來(lái)到了2021年,也就是現(xiàn)在,疫情得到了很好地控制,大體上人們的生活已經(jīng)和疫情爆發(fā)前一致了,但是對(duì)疫情的管理工作卻仍不可懈怠。據(jù)統(tǒng)計(jì),截止至2021年4月5日,國(guó)內(nèi)現(xiàn)有確診病例累計(jì)已有102909人,現(xiàn)有確診431人,其中包括境外輸入確診5352人,江蘇省內(nèi)現(xiàn)有確診病例9人。這說(shuō)明疫情仍在蔓延,不可放松警惕。實(shí)現(xiàn)學(xué)生信息安全管理系統(tǒng)對(duì)學(xué)校學(xué)生安全有著實(shí)質(zhì)性的意義,從管理入手控制疫情走向,及時(shí)隔離疑似病例,這不僅是對(duì)學(xué)生安全負(fù)責(zé),更是學(xué)校本身能力的體現(xiàn)。由于我校學(xué)生數(shù)量大,學(xué)生的安全意識(shí)層次不齊,因此推出一款學(xué)生安全信息管理系統(tǒng),以班級(jí)為單位對(duì)學(xué)生行程信息,病情信息進(jìn)行跟蹤統(tǒng)計(jì)有著重要的意義。1.2系統(tǒng)研究?jī)?nèi)容系統(tǒng)采用MTV設(shè)計(jì)模式,該系統(tǒng)的功能主要包括用戶對(duì)班級(jí)疫情信息的查詢功能和管理員對(duì)系統(tǒng)內(nèi)信息的管理。此系統(tǒng)嚴(yán)格按照軟件工程的設(shè)計(jì)要求,在前期設(shè)計(jì)和后期開(kāi)發(fā)階段,采用軟件設(shè)計(jì)的模式,以此降低模塊間的耦合,提高系統(tǒng)穩(wěn)定性、再次使用率以及延展性。2系統(tǒng)開(kāi)發(fā)技術(shù)2.1python語(yǔ)言Python是由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究協(xié)會(huì)在20世紀(jì)90年代設(shè)計(jì)的,作為叫做ABC語(yǔ)言的替代品。Python向用戶提供了高效且實(shí)用的數(shù)據(jù)結(jié)構(gòu),這種結(jié)構(gòu)使用戶體驗(yàn)到了輕松且有效的編程快感。就目前Python被廣泛使用,得益于其語(yǔ)法、動(dòng)態(tài)數(shù)據(jù)類(lèi)型以及語(yǔ)言解釋的特性,隨著版本的連續(xù)更新和語(yǔ)言的新功能,逐漸被用于獨(dú)立,大項(xiàng)目的發(fā)展。Python解釋器易于擴(kuò)展,可在C或C++(或其他編程語(yǔ)言)中使用,以擴(kuò)展新的函數(shù)和數(shù)據(jù)類(lèi)型。一些用戶自定義軟件中Python備受青睞,其中,豐富的函數(shù)庫(kù)給用戶提供了適用于各種系統(tǒng)的源代碼或機(jī)器語(yǔ)言[1]。Python語(yǔ)言具有以下功能:風(fēng)格Python秉承設(shè)計(jì)的新風(fēng)格,使Python變得容易讀,易于維護(hù),以及各種用戶。設(shè)計(jì)和開(kāi)發(fā)是Python設(shè)計(jì)師的指導(dǎo)思想,對(duì)于特定的問(wèn)題,只需要有一個(gè)最好的方法來(lái)解決它。這可以表達(dá)為:有一個(gè)明顯且高效的方法可以做到這一點(diǎn)。這與Perl語(yǔ)言(另一種擁有類(lèi)似功能的高級(jí)動(dòng)態(tài)語(yǔ)言)的中心思想:高端動(dòng)態(tài)TMTowTDI完全相反。Python的作者故意設(shè)計(jì)限制性更強(qiáng)的語(yǔ)法來(lái)使不好的編程習(xí)慣的人無(wú)法編譯。比如縮進(jìn)規(guī)則就是Python中很重要的一項(xiàng)限制規(guī)則。Python和大多數(shù)其他語(yǔ)言之間的差異是模塊的邊界完全由這行中的首字符在每行的位置確定,這曾一度引起爭(zhēng)議。由于c的語(yǔ)言的誕生以來(lái),字符的排列方式和語(yǔ)言的語(yǔ)法具體含義是分開(kāi)的,這一點(diǎn)曾經(jīng)被認(rèn)為是變成的進(jìn)步。然而,通過(guò)強(qiáng)制性地方法來(lái)強(qiáng)迫程序員對(duì)語(yǔ)法語(yǔ)言進(jìn)行縮進(jìn)操作,Python通過(guò)這種方法確實(shí)能使程序更加易于閱讀和美觀[2]。設(shè)計(jì)定位Python的設(shè)計(jì)宗旨是優(yōu)雅、簡(jiǎn)潔。Python開(kāi)發(fā)人員摒棄了Perl“條條大路通羅馬”的概念,轉(zhuǎn)戰(zhàn)“最優(yōu)解”的戰(zhàn)術(shù)。Python開(kāi)發(fā)人員通常在設(shè)計(jì)Python語(yǔ)言時(shí),通常選擇最優(yōu)解且最沒(méi)有分歧的語(yǔ)法,這是python和Perl最大的差異,相對(duì)其中的源代碼而言,前者比后者更具備可讀性,對(duì)初學(xué)者而言更易上手,為python的推廣奠定了堅(jiān)實(shí)的基礎(chǔ)。對(duì)于不常用的函數(shù)庫(kù),python開(kāi)發(fā)者并不會(huì)立即更新補(bǔ)丁,因此,這在某些使用者觀念里認(rèn)為python的運(yùn)行速度達(dá)不到預(yù)期。然而你,在編程世界里也存在二八定律,并不是所有的編程程序都需要這一特點(diǎn),在某些情況下,使用JIT技術(shù)或使用C/C++彌補(bǔ)python在速度方面的缺陷是python設(shè)計(jì)人員更喜歡的方式。Python和Java的特點(diǎn)一樣是一種完全面向?qū)ο蟮木幊陶Z(yǔ)言,但前者相對(duì)于后者而言,處理內(nèi)容更廣泛、更方便,例如:大數(shù)據(jù)、圖像等,同時(shí)也沿用了后者的繼承、派生以及多重繼承,使得python的代碼更具有重復(fù)使用性。從函數(shù)式設(shè)計(jì)方面來(lái)看,python并沒(méi)有l(wèi)isp的函數(shù)式那么豐富,它只包含兩個(gè)標(biāo)準(zhǔn)函數(shù)庫(kù),即functools及itertools,它們可以在Haskell和標(biāo)準(zhǔn)ML中提供完整的函數(shù)編程工具。雖然Python大致上可以被歸類(lèi)為“腳本語(yǔ)言”,但基于它的優(yōu)點(diǎn),被廣泛應(yīng)用在一些大型軟件開(kāi)發(fā)項(xiàng)目中,如Google的BitTorrent、Zope還有Mnet。Python的青睞者更喜歡稱之為高級(jí)動(dòng)態(tài)編程語(yǔ)言,人們常說(shuō)的“腳本語(yǔ)言”僅僅是通過(guò)簡(jiǎn)單編程即可達(dá)成目標(biāo)的語(yǔ)言,如Linux系統(tǒng)中常用的shell腳本和VBScript,只能處理簡(jiǎn)單的任務(wù),不能與Python相比。Python可以用來(lái)集成和封裝用其他語(yǔ)言編寫(xiě)的程序。Google中的許多項(xiàng)目,如googleengine,使用C++程序語(yǔ)言編寫(xiě)高性能模塊,然后在其他適當(dāng)?shù)哪K中調(diào)用Python或Java/go。但Python在2004年被用于Google內(nèi)部。很多Python專家都被招進(jìn)了Google,因?yàn)樵诖酥埃麤Q定使用Python。Python被程序員們認(rèn)作是不同編程語(yǔ)言的粘合劑,用來(lái)集成和封裝其他程序語(yǔ)言,Google中的許多項(xiàng)目,如googleengine這個(gè)項(xiàng)目中,高性能模塊采用的是C++,其他應(yīng)用模塊則采用python或Java或Go。谷歌早在2004年就開(kāi)始使用Python編程,因此,谷歌招錄了很多python的專家為其服務(wù),他們的目的在于,我們也許可以使用Python,但我們必須得使用C++;在硬件控制方面必須使用C++,而Python只在緊急情況下才被采用,可見(jiàn),Python相對(duì)于其他傳統(tǒng)語(yǔ)言優(yōu)勢(shì)是非常明顯的,這體現(xiàn)在易于使用以及便于開(kāi)發(fā)上,Python的可擴(kuò)展性和高集成度使得程序員的開(kāi)發(fā)工作如虎添翼,程序員們可以使用Python的各種框架來(lái)快速完成一些復(fù)雜項(xiàng)目,這是傳統(tǒng)語(yǔ)言所難以企及的效率。但在底層架構(gòu)上,Python的劣勢(shì)也很顯而易見(jiàn),Python更多被用于粘合,而C和C++在硬件控制、底層架構(gòu)和一些安全層面都是不可代替的,在一些復(fù)雜度高的任務(wù)中,通常要用到C++和C來(lái)編寫(xiě)一些基礎(chǔ)模塊,這一點(diǎn)是Python難以做到的。執(zhí)行執(zhí)行Python時(shí),源代碼首先被寫(xiě)入在文件中。Py鍵入Python的字節(jié)代碼,然后對(duì)Python計(jì)算機(jī)進(jìn)行虛擬執(zhí)行復(fù)雜的代碼基本字節(jié)。這種機(jī)制與Java和J是對(duì)應(yīng)的。然而,python虛擬機(jī)比Java和J兩者更先進(jìn)。它有著非同一般的先進(jìn)級(jí)別,但并不意味著它比Java或Java.Net更強(qiáng)大,只是python更接近人類(lèi)語(yǔ)言。Python虛擬機(jī)在凈生產(chǎn)任務(wù)中可以說(shuō)是一種擁有更高層次的抽象虛擬機(jī)。除此之外,python也常被用在交互式場(chǎng)景中,如,不管是在Mac還是windows系統(tǒng)直接在終端即可激活python,且簡(jiǎn)單的操作指令即可滿足操作者的需求。2.2sqlite數(shù)據(jù)庫(kù)SQLite在2000年首次發(fā)行,由大約30,000行ANSIC碼組成的小型開(kāi)源嵌入式關(guān)系數(shù)據(jù)庫(kù),在2004年從版本2升級(jí)為版本3。SQLite遵循ACID特性,它有高效可靠和緊湊易用的特點(diǎn)。SQLite數(shù)據(jù)庫(kù)使用了模塊化的設(shè)計(jì)方式,它相對(duì)于傳統(tǒng)的數(shù)據(jù)庫(kù),沒(méi)有客戶端和服務(wù)器,這使得SQLite的體系和結(jié)構(gòu)變得簡(jiǎn)潔明了,易于使用。SQLite由3個(gè)子系統(tǒng)和8個(gè)獨(dú)立的模塊組成,在其中核心部分是VDBE。SQLite并沒(méi)有獨(dú)立的運(yùn)行進(jìn)程,他可以與他服務(wù)的應(yīng)用程序共享進(jìn)程,他可以很方便地把自己嵌入到應(yīng)用程序中去,從它所服務(wù)的應(yīng)用程序的開(kāi)始,到應(yīng)用程序的退出結(jié)束。SQLite的內(nèi)存及其小,滿足嵌入式系統(tǒng)的小內(nèi)存要求,應(yīng)用程序調(diào)用更迅速、簡(jiǎn)單,程序員并不需要知道SQLite的內(nèi)部是如何運(yùn)作的,直接調(diào)用函數(shù)即可。2.2.1Sqlite的特點(diǎn)SQLite同樣也是由索引、觸發(fā)器、表、視圖組成,體積比較小,僅有250Kb,最大可以支持2TB的數(shù)據(jù)。它有以下這些特點(diǎn):零配置:DBA及客戶機(jī)的服務(wù)器配置并不是剛需,與客戶機(jī)的服務(wù)器配置也是不需要的,它可以直接從磁盤(pán)上讀取數(shù)據(jù)。可移植性:支持windows、Linux、UNIX和MaciOS等大型操作系統(tǒng),同樣也可運(yùn)用在QNX、Symbian這樣的嵌入式平臺(tái)中。此外,SQLite的數(shù)據(jù)庫(kù)文件不管和大型操作系統(tǒng)還是嵌入式系統(tǒng)的字節(jié)順序或者是硬件體系結(jié)構(gòu)都兼容。緊湊性:Sqlite小于500KB,僅包含一個(gè)庫(kù)和一個(gè)頭文件簡(jiǎn)單性:Sqlite的API非常簡(jiǎn)單,使用方便,他的模塊化設(shè)計(jì)讓他可以自定義擴(kuò)展,功能齊全,并且在前端和后端都可以自由地進(jìn)行獨(dú)立編碼,可以很容易地獨(dú)立開(kāi)發(fā)每個(gè)子系統(tǒng)。自由授權(quán):開(kāi)源,源代碼完全對(duì)外開(kāi)放,且不需要版權(quán)授權(quán),這就說(shuō)明無(wú)論設(shè)計(jì)師將Sqlite的代碼在商業(yè)用途中使用或者其他一些非商業(yè)的用途使用,都不需要支付版權(quán)費(fèi)。事務(wù)性:Sqlite數(shù)據(jù)庫(kù)遵循事物的ACID屬性。可靠性:源代碼模塊清晰、注釋詳盡完整,注釋詳盡完整,它經(jīng)歷了完整且有效的測(cè)試,測(cè)試的代碼覆蓋了所有的核心代碼,這使得它非??煽俊R子眯裕航鉀Q沖突、動(dòng)態(tài)數(shù)據(jù)、同一數(shù)據(jù)端口可連接多個(gè)數(shù)據(jù)庫(kù)。2.2.2Sqlite的應(yīng)用通過(guò)以上這些介紹,我們知道Sqlite有著很強(qiáng)的性能優(yōu)勢(shì),它的用途非常廣泛。Sqlite的射擊目標(biāo)就是盡可能地簡(jiǎn)化,使其易于操作,方便管理容易配置,可以很容易地嵌入到應(yīng)用程序中。所以Sqlite可以再一些網(wǎng)站、應(yīng)用程序中被廣泛的使用。除此以Sqlite在操作系統(tǒng)、腳本、數(shù)據(jù)庫(kù)教學(xué)和一些嵌入式設(shè)備等場(chǎng)合也能有用武之地。在一些規(guī)模較小的網(wǎng)站中,使用Sqlite就可以不用配置環(huán)境,不需要占用服務(wù)器進(jìn)程也不需要購(gòu)買(mǎi)數(shù)據(jù)庫(kù)服務(wù)器,維護(hù)起來(lái)也非常簡(jiǎn)單、方便。而且在這些中小型網(wǎng)站中,使用Sqlite可以有很快的讀取速度,它不用遠(yuǎn)程連接數(shù)據(jù)庫(kù),這一特點(diǎn)可以提升網(wǎng)站的運(yùn)行速度。在嵌入式設(shè)備的應(yīng)用中,由于Sqlite有著輕量、占內(nèi)存少的特點(diǎn),所以應(yīng)用也是非常地廣泛。Sqlite不支持遠(yuǎn)程連接,所以使用Sqlite僅適合處理臨時(shí)的數(shù)據(jù)或者內(nèi)部數(shù)據(jù),這使得它能夠適用于本地的應(yīng)用程序,比如在個(gè)人電腦客戶端軟件中,使用Sqlite數(shù)據(jù)庫(kù)可以讓整個(gè)程序變得靈活輕便,增加運(yùn)行速度。由于Sqlite的完全開(kāi)源性,其源代碼沒(méi)有商業(yè)限制,所以在一些教程網(wǎng)站中可以講解SQL語(yǔ)句,以此來(lái)使學(xué)生學(xué)習(xí)了解SQL的通用語(yǔ)法以及學(xué)習(xí)數(shù)據(jù)庫(kù)的使用原理、設(shè)計(jì)實(shí)現(xiàn)方法。當(dāng)前,不管是企業(yè)還是事業(yè)單位或編程愛(ài)好者在開(kāi)發(fā)軟件時(shí)通常使用SQlite數(shù)據(jù)庫(kù),例如火狐瀏覽器、安卓設(shè)備、Solaris操作系統(tǒng)以及macOS操作系統(tǒng)等等。除此以外,Sqlite在車(chē)載導(dǎo)航系統(tǒng),軟件電子郵件和照片軟件以及機(jī)頂盒內(nèi)部軟件都廣泛使用了Sqlite數(shù)據(jù)庫(kù)管理數(shù)據(jù)。Sqlite由于其穩(wěn)定性和易用性讓它在各式各樣的嵌入式數(shù)據(jù)庫(kù)中有著非常不錯(cuò)的表現(xiàn)。[3]2.3MTV簡(jiǎn)介Django的MTV模式和MVC模式有著相同的本質(zhì),目的都是為了保持組件之間的松散耦合關(guān)系,兩者在定義上略有不同。Django的MTV模式如下:M模型T模板V視圖業(yè)務(wù)對(duì)象與數(shù)據(jù)庫(kù)關(guān)系對(duì)應(yīng)(ORM)展示頁(yè)面(HTML)業(yè)務(wù)邏輯,調(diào)用模型(M)和模板(T)除上述的三種模式外,還必須包含URL分發(fā)器,它的功能是將每個(gè)URL請(qǐng)求頁(yè)面分發(fā)到不同的視圖進(jìn)行處理。然后視圖調(diào)用相應(yīng)的模型和模板。MTV的響應(yīng)方式如下[4]:圖1MTV響應(yīng)模式1.web服務(wù)器,即中間件,接收HTTP請(qǐng)求
2.Django在URLconf中搜索相應(yīng)的view函數(shù)對(duì)HTTP請(qǐng)求進(jìn)行處理
3.view函數(shù)則調(diào)用后臺(tái)相應(yīng)的數(shù)據(jù)模型來(lái)訪問(wèn)數(shù)據(jù),并調(diào)用相應(yīng)的模板來(lái)向用戶展示頁(yè)面
4.view函數(shù)在處理完畢后向web服務(wù)器反饋HTTP響應(yīng)結(jié)果
5.Web服務(wù)器將響應(yīng)發(fā)送給客戶端松散耦合是這款設(shè)計(jì)模式的優(yōu)點(diǎn),每一個(gè)由Django驅(qū)動(dòng)的web程序都有明確的目的,其可以獨(dú)立更改且不影響其他程序正常使用,這就像應(yīng)用程序的URL是由開(kāi)發(fā)人員修改的,而這底層更改并不影響其他程序的實(shí)現(xiàn)。設(shè)計(jì)者可以直接改變HTML頁(yè)面的樣式,而無(wú)需修改Python代碼,同時(shí),數(shù)據(jù)庫(kù)管理員也可直接重命名系統(tǒng)中的數(shù)據(jù)表,只需要把表名重命名而不需要從大量的文件中搜索和替換。Django的MTV模式所對(duì)應(yīng)的python文件如下圖所示:圖2Django的MTV2.4DjangoDjango是一個(gè)用python編寫(xiě)的開(kāi)放源碼web框架,開(kāi)源的環(huán)境允許設(shè)計(jì)者搭建完整的web站點(diǎn)。通過(guò)使用Django,開(kāi)發(fā)人員可以使用少量代碼即可輕松地完成搭建網(wǎng)站所需的大部分工作。Django的架構(gòu)是MVC,即模型+視圖+控制器,MVC的有點(diǎn)并沒(méi)有被摒棄,依然涵蓋了快速開(kāi)發(fā)和維護(hù)成本低的優(yōu)點(diǎn)。Django被開(kāi)發(fā)于2003年,隨后三年,獲得了BSD許可,正式成為一個(gè)開(kāi)源的web框架。其名字源于比利時(shí)的著名音樂(lè)家——DejangoReinhardt,寓意著開(kāi)發(fā)者希望Django在編程世界里可以像音樂(lè)一樣美妙。位于堪薩斯州勞倫斯的一個(gè)新聞開(kāi)發(fā)團(tuán)隊(duì)是Django的開(kāi)發(fā)者。當(dāng)時(shí),Lawrence雜志《World》的程序員AdrianHorowitz和SimonWillison正在用Python編寫(xiě)在線新聞網(wǎng)站,他們的在線團(tuán)隊(duì)制作并維護(hù)了幾個(gè)當(dāng)?shù)匦侣劸W(wǎng)站。新聞的獨(dú)特之處在于快速的迭代,從開(kāi)發(fā)到上線通常短至幾個(gè)小時(shí)長(zhǎng)則幾天。為了趕上最后期限,Adrian和Simon不得不開(kāi)發(fā)一個(gè)高效的網(wǎng)絡(luò)應(yīng)用程序框架,它就是我們現(xiàn)在說(shuō)的Django。在2005年夏天,當(dāng)這個(gè)框架被制定出來(lái)的時(shí)候,它被用來(lái)創(chuàng)建許多世界范圍的在線網(wǎng)站。短時(shí)間內(nèi),成員JacobKaplanmoss便決定將這個(gè)框架作為開(kāi)源軟件向全世界發(fā)布。隨后的幾年時(shí)間內(nèi),Django項(xiàng)目已經(jīng)擁有了成千上萬(wàn)的用戶和貢獻(xiàn)者,并在世界范圍內(nèi)廣泛傳播。2.4.1Django具有以下特點(diǎn)Django是一個(gè)完整的堆棧web框架。所謂全棧框架,是指既封裝了網(wǎng)絡(luò)操作和線程操作,又提供了HTTP請(qǐng)求和響應(yīng)、數(shù)據(jù)庫(kù)讀寫(xiě)管理、HTML模板表示等功能的框架。你不能準(zhǔn)確地理解,所有的前端和后端開(kāi)發(fā)工作以及數(shù)據(jù)庫(kù)訪問(wèn)都是安排給整個(gè)堆棧工程師的,整個(gè)網(wǎng)站是由一個(gè)人構(gòu)建的。Django擁有完整的元素和功能。它擁有的各種工具有些是常用的,有些是不常用的。Django附帶了許多特性和工具。您不需要自己定義、組合、添加、刪除或修改它們。但是,在一些人眼里,這被視為臃腫呆板,無(wú)法讓程序員主動(dòng)。經(jīng)過(guò)開(kāi)發(fā)人員的長(zhǎng)期維護(hù)和不斷完善,員工擁有了扎實(shí)且豐富的實(shí)踐經(jīng)驗(yàn),公司的數(shù)據(jù)庫(kù)有豐富的在線文檔可供參考,開(kāi)發(fā)人員遇到問(wèn)題時(shí),即可進(jìn)入數(shù)據(jù)庫(kù)搜索相關(guān)文檔參考相關(guān)解決方案??刹迦牍芾淼腁pplication:Django自帶一個(gè)非常強(qiáng)大的命令行工具:django-admin,他可以幫助你完成初始化工作以及有關(guān)的數(shù)據(jù)庫(kù)配置工作。通過(guò)它你在創(chuàng)建一個(gè)新的Django項(xiàng)目之后,可以再一個(gè)項(xiàng)目中新建很多個(gè)Application,每個(gè)都是功能完整的模塊,項(xiàng)目下有所有所需的東西,而且這些都是在一個(gè)獨(dú)立的目錄中,每個(gè)Application都有自己的獨(dú)立目錄、自己的URL映射、Model定義和模板。在一個(gè)項(xiàng)目中可以有很多個(gè)相對(duì)獨(dú)立的應(yīng)用程序,只要在配置文件中進(jìn)行設(shè)置,即可打開(kāi)想要的應(yīng)用程序,不同的應(yīng)用程序之間可通過(guò)廣播調(diào)用的方式進(jìn)行調(diào)用,使用這種調(diào)用方式使得Django開(kāi)發(fā)的項(xiàng)目清晰的劃分各個(gè)功能,與此同時(shí),使得每個(gè)模塊的重復(fù)使用率得到了提升。自動(dòng)生成管理頁(yè)面:Django最吸引使用者的特點(diǎn)是自動(dòng)生成管理頁(yè)面。平常在web開(kāi)發(fā)中,最讓人頭疼的就是后臺(tái)管理功能的設(shè)計(jì)開(kāi)發(fā),這些功能在不同的web開(kāi)發(fā)工作中類(lèi)似且繁多。然而在Django中,它自動(dòng)就可以生成一個(gè)admin管理頁(yè)面,只需在設(shè)計(jì)模型時(shí)手動(dòng)添加相應(yīng)的管理元素,本質(zhì)上是內(nèi)置的應(yīng)用項(xiàng)目,同時(shí),也不僅是數(shù)據(jù)維護(hù)工具,它可以通過(guò)幾行代碼將數(shù)據(jù)庫(kù)模型之間的關(guān)系處理好,可以設(shè)置分頁(yè)顯示,設(shè)置幾行換一頁(yè),可以增加一個(gè)搜索框來(lái)搜索數(shù)據(jù)關(guān)鍵詞,可以篩選分類(lèi),還有系統(tǒng)日志的功能。這些功能非常完成,可以絕大部分的涵蓋程序員在web開(kāi)發(fā)中對(duì)后臺(tái)管理層面的操作,將以往非常麻煩且重復(fù)的工作變得簡(jiǎn)單可控。程序員們不需要再開(kāi)發(fā)后臺(tái)管理模塊了,甚至我們可以直接把這個(gè)管理功能交給客戶使用,對(duì)于非常復(fù)雜的項(xiàng)目,沒(méi)有計(jì)算機(jī)相關(guān)知識(shí)的人也可以很簡(jiǎn)單的對(duì)數(shù)據(jù)進(jìn)行增刪改查操作。強(qiáng)大的數(shù)據(jù)庫(kù)訪問(wèn)API:數(shù)據(jù)庫(kù)ORM組件是Django的自帶模型層,因此,不具備其他數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)的程序員也可以直接使用。靈活的路由系統(tǒng):Django具有正則表達(dá)式、名稱空間、路由、反向URL解析、轉(zhuǎn)發(fā)等功能。豐富的模板功能:Django提供了一種類(lèi)似于Jingia的模板語(yǔ)言,它不僅具有豐富的本地功能,還能夠自定義模板標(biāo)簽和過(guò)濾器。對(duì)于網(wǎng)頁(yè)設(shè)計(jì)者而言,Django的模板可以視為HTML頁(yè)面來(lái)設(shè)計(jì)。對(duì)于需要進(jìn)行動(dòng)態(tài)處理的地方,在目前可以用兩種模板元素來(lái)操作:一種是模板變量,比如{{name}},另一種是標(biāo)簽,例如{%load%}。我們可以對(duì)一個(gè)變量進(jìn)行加工操作,可以使用過(guò)濾器{fliter}這種方式進(jìn)行處理。過(guò)濾器的寫(xiě)法類(lèi)似于在Linux的Shell下通過(guò)管道符把多個(gè)不同的命令進(jìn)行連接,如{{name|excepe|linebreaks}}。標(biāo)簽的功能非常多,有些可以裝載到子模板中去,有些可以分支,循環(huán),還有些可以擴(kuò)展父模板。在它的代碼中不能出現(xiàn)直接的Python代碼,因?yàn)镈jango的設(shè)計(jì)理念認(rèn)為,在分工協(xié)作時(shí),程序員的主要工作并不是設(shè)計(jì)模板,這些工作應(yīng)該交給頁(yè)面設(shè)計(jì)師來(lái)做,所以在模板中不能有過(guò)多的程序的東西,來(lái)方便讓網(wǎng)頁(yè)設(shè)計(jì)師方便的進(jìn)行前端設(shè)計(jì)工作。Django的模板像類(lèi)一樣,是可以擴(kuò)展的。我們可以寫(xiě)一個(gè)父模板來(lái)定義頁(yè)面的主要框架,然后再視具體情況不同在子模板中分別實(shí)現(xiàn),針對(duì)要擴(kuò)展的內(nèi)容進(jìn)行其他設(shè)計(jì),對(duì)于不需要改變的地方就直接使用父模板的內(nèi)容和結(jié)構(gòu)就可以了?,F(xiàn)在網(wǎng)上有很多模板倉(cāng)庫(kù),程序員們只需要將一些模板下載下來(lái)稍加改動(dòng)就可以很好的契合自己的框架,只需要在view界面改變語(yǔ)句就可以實(shí)現(xiàn)跳轉(zhuǎn),再進(jìn)行一些細(xì)微的改變來(lái)適應(yīng)工作需要。Django的模板致辭自定義過(guò)濾器和標(biāo)簽,只要格式正確,按照要求就可以實(shí)現(xiàn)非常多的過(guò)濾器和標(biāo)簽,我們還可以將這些過(guò)濾器和標(biāo)簽建庫(kù),需要的時(shí)候拿出來(lái)使用就可以了,功能非常靈活。它可以很好地與類(lèi)python調(diào)用機(jī)制和視圖一起工作。Django被廣泛使用的原因在于其后臺(tái)管理系統(tǒng)只需配置代碼即可實(shí)現(xiàn)后臺(tái)數(shù)據(jù)管理和控制等功能特性[5]。完整的錯(cuò)誤信息提示:在開(kāi)發(fā)和調(diào)試期間,Django可以提供非常完整的錯(cuò)誤消息來(lái)幫助發(fā)現(xiàn)運(yùn)行時(shí)錯(cuò)誤或異常的問(wèn)題。2.4.2Django的應(yīng)用Django是一種非常高效且敏捷的開(kāi)源web框架,自從2005年發(fā)布以來(lái),已經(jīng)出現(xiàn)了非常多的基于Python和Django開(kāi)發(fā)設(shè)計(jì)的網(wǎng)站。以一個(gè)簡(jiǎn)單的Blog的開(kāi)發(fā)流程為例,介紹基于Python和Django的web開(kāi)發(fā)流程。開(kāi)發(fā)流程如圖3所示圖3Blog的開(kāi)發(fā)流程具體的開(kāi)發(fā)流程如下圖4Blog具體開(kāi)發(fā)流程[6]系統(tǒng)分析軟件生存周期中最重要的一步就是系統(tǒng)分析。只有通過(guò)需求分析,軟件功能和性能的總體概念才能被描述成一個(gè)巨體得到軟件需求規(guī)格說(shuō)明,然后才能為軟件的開(kāi)發(fā)奠定一個(gè)堅(jiān)實(shí)的基礎(chǔ)。軟件需求分析也是一個(gè)不斷理解的過(guò)程和逐步細(xì)化的過(guò)程。這個(gè)過(guò)程把軟件的調(diào)研階段需要的資料和數(shù)據(jù)進(jìn)行分析和設(shè)計(jì),一步步地將軟件范圍細(xì)化,從而得出一個(gè)可以詳細(xì)定義的程序,對(duì)軟件開(kāi)發(fā)所需的的各個(gè)元素和數(shù)據(jù)進(jìn)行分析和設(shè)計(jì),然后針對(duì)這些元素和數(shù)據(jù)找到可行的解決方案。需求分析任務(wù):分析師提供一個(gè)數(shù)據(jù)和功能表示,需求分析可以轉(zhuǎn)化為結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)和過(guò)程設(shè)計(jì)。項(xiàng)目完成后,仍需以軟件項(xiàng)目的用戶需求作為分析的對(duì)象。需求分析是一組活動(dòng)的總稱,作為一個(gè)系統(tǒng)分析師,必須和軟件榕湖進(jìn)行溝通合作。需求分析的任務(wù)是定義要開(kāi)發(fā)的軟件功能、性能等指標(biāo)[7]。3.1可行性分析一定期限內(nèi),用最低的時(shí)間成本發(fā)現(xiàn)問(wèn)題、解決問(wèn)題是可行性分析的目的。實(shí)踐是檢驗(yàn)真理的唯一途徑。本系統(tǒng)采用廣泛使用的Django框架和穩(wěn)定的Sqlite數(shù)據(jù)庫(kù)實(shí)現(xiàn),開(kāi)發(fā)環(huán)境是目前流行的源碼開(kāi)發(fā)工具Pycharm。所以本系統(tǒng)在技術(shù)上是可行的。確立了系統(tǒng)目標(biāo)之后,要從操作可行性、經(jīng)濟(jì)可行性、技術(shù)可行性、運(yùn)行可行性等方面對(duì)系統(tǒng)的新目標(biāo)是否能實(shí)現(xiàn)進(jìn)行分析[8]。本次系統(tǒng)可行性的介紹應(yīng)當(dāng)從以下這幾點(diǎn)進(jìn)行分析:3.1.1技術(shù)可行性本系統(tǒng)使用的開(kāi)發(fā)工具是Pycharm,采用的語(yǔ)言是Python,采用的數(shù)據(jù)庫(kù)是Sqlite,解決了數(shù)據(jù)存儲(chǔ)的問(wèn)題,主要研究系統(tǒng)模塊的布局和業(yè)務(wù)信息的存儲(chǔ)等。系統(tǒng)實(shí)用的Sqlite數(shù)據(jù)庫(kù)相對(duì)于其他數(shù)據(jù)庫(kù)也有著很多的優(yōu)點(diǎn)。本系統(tǒng)采用Django框架,基于MTV模式,使用SQLite數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)。并且要根據(jù)本系統(tǒng)的目標(biāo)來(lái)衡量所需的技術(shù)是否具備,一般應(yīng)從硬件和軟件性能要求、環(huán)境條件、操作人員的水平和數(shù)量等幾個(gè)方面來(lái)考慮和分析??紤]到系統(tǒng)實(shí)現(xiàn)的可行性,我們選擇了目前比較流行的Python來(lái)設(shè)計(jì)軟件的開(kāi)發(fā)和管理平臺(tái),并使用SQLite數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)。因此技術(shù)方面是可行的[9]。3.1.2經(jīng)濟(jì)可行性互聯(lián)網(wǎng)的發(fā)展推動(dòng)了社會(huì)的進(jìn)步,采用開(kāi)源的軟件開(kāi)發(fā),降低開(kāi)發(fā)成本,因此,軟件上線后并不需要購(gòu)買(mǎi)高額的服務(wù)器,采用云服務(wù)器,每月成本不超過(guò)二百元,數(shù)據(jù)維護(hù)成本低。經(jīng)濟(jì)成本也是衡量一個(gè)項(xiàng)目的關(guān)鍵因素,企業(yè)通常投資軟件系統(tǒng)開(kāi)發(fā)項(xiàng)目,軟件開(kāi)發(fā)與網(wǎng)站相比,企業(yè)利益和社會(huì)效益是投資者考慮的關(guān)鍵點(diǎn),就本系統(tǒng)而言,運(yùn)行后能否為用戶及時(shí)提供信息,提高用戶查詢速度以及使用信息的便利性,也是管理者后續(xù)是否繼續(xù)采用本系統(tǒng)的考慮因素,因此,企業(yè)需為市場(chǎng)調(diào)研預(yù)留一定的預(yù)算[10]。3.1.3操作可行性21世紀(jì)計(jì)算機(jī)已經(jīng)成為家電的一部分,人們離不開(kāi)計(jì)算機(jī),并在使用方面有著豐富的經(jīng)驗(yàn)。并且在開(kāi)發(fā)時(shí),要充分考慮用戶的習(xí)慣,盡可能方便用戶的操作,為用戶提供一個(gè)友好的界面,只要有一定計(jì)算機(jī)操作經(jīng)驗(yàn)的人員都可以使用本系統(tǒng)。而本系統(tǒng)是一個(gè)Web項(xiàng)目,面向的用戶對(duì)象只需要了解基本的計(jì)算機(jī)操作就可以了。本系統(tǒng)有著良好的操作界面,顯示內(nèi)容簡(jiǎn)單明了,操作人員不必具備較高的計(jì)算機(jī)知識(shí),也不必進(jìn)行專門(mén)培訓(xùn),只要對(duì)本系統(tǒng)稍微接觸一陣子就可以上手所有的操作[11]。對(duì)于本系統(tǒng)的使用用戶而言,用戶只需要掌握一定的上網(wǎng)經(jīng)驗(yàn)就可以使用。系統(tǒng)經(jīng)過(guò)精心的設(shè)計(jì)和測(cè)試,具有方便、靈活、易于維護(hù)、操作簡(jiǎn)單的優(yōu)點(diǎn),能夠滿足客戶多樣性的需求,同時(shí)也有助于公司內(nèi)部管理,管理層和用戶點(diǎn)點(diǎn)鼠標(biāo)即可滿足需求,因此從以上幾方面來(lái)看,本系統(tǒng)開(kāi)發(fā)在操作方面完全具有可行性[13]。3.1.4運(yùn)行可行性新系統(tǒng)規(guī)定的運(yùn)行模式則需要運(yùn)行可行性來(lái)衡量,新系統(tǒng)建立后不能和其他任務(wù)同時(shí)運(yùn)行,原因避免和原始任務(wù)發(fā)生沖突。高性能的配置和軟件為計(jì)算機(jī)的普及起到了極大的促進(jìn)作用,也使計(jì)算機(jī)的價(jià)格下降到了大眾可接受范圍。因此,計(jì)算機(jī)用戶在計(jì)算機(jī)配置上不斷更新,以滿足他們?cè)絹?lái)越高的需求。系統(tǒng)的軟硬件要求不是特別高,所以系統(tǒng)在運(yùn)行中是可行的[15]。3.2系統(tǒng)功能分析系統(tǒng)主要功能如下:管理員功能:班級(jí)信息管理:可以添加班級(jí)信息,修改班級(jí)名稱,刪除不需要的班級(jí)圖5班級(jí)信息管理學(xué)生信息管理:可以添加學(xué)生個(gè)人信息,包括學(xué)生姓名、所屬班級(jí)、年齡、性別、入學(xué)時(shí)間、家庭住址、近日健康狀況、是否被隔離、是否停留重點(diǎn)區(qū)域、是否接觸外來(lái)人員、周?chē)巳籂顩r、今日家人情況(是否發(fā)燒發(fā)熱)、當(dāng)前位置是否是風(fēng)險(xiǎn)區(qū)、是否返校等信息圖6學(xué)生信息管理賬戶安全管理:添加或刪除用戶賬號(hào)和管理員賬號(hào)。用戶權(quán)限為查看和搜索信息,管理員權(quán)限為增刪改查信息。圖7賬戶安全管理數(shù)據(jù)可視化管理:統(tǒng)計(jì)武漢市學(xué)生信息,匯總為圖表,直觀顯示出來(lái)圖8數(shù)據(jù)可視化管理注銷(xiāo)系統(tǒng):回到登錄界面。4系統(tǒng)總體設(shè)計(jì)4.1系統(tǒng)設(shè)計(jì)原則對(duì)每個(gè)模塊具有的功能和具體特點(diǎn),本系統(tǒng)應(yīng)實(shí)現(xiàn)以下這些目標(biāo):(1)穩(wěn)定性。軟件系統(tǒng)應(yīng)穩(wěn)定運(yùn)行,而不應(yīng)收到計(jì)算機(jī)本身內(nèi)部硬件配置的影響而變的不穩(wěn)定或不能正常運(yùn)行。(2)準(zhǔn)確性。系統(tǒng)管理員的指令生成權(quán)限,而軟件中的權(quán)限數(shù)據(jù)應(yīng)基于系統(tǒng)管理員的操作指導(dǎo)生成,數(shù)據(jù)庫(kù)原始更改的實(shí)際狀態(tài)應(yīng)與所有前端用戶的操作更改保持一致,以防出現(xiàn)錯(cuò)誤記錄、數(shù)據(jù)對(duì)齊錯(cuò)誤等。(3)安全性。軟件系統(tǒng)中的數(shù)據(jù)應(yīng)當(dāng)定期備份。數(shù)據(jù)庫(kù)中應(yīng)至少有一個(gè)具有最高權(quán)限的賬號(hào)。這樣,用戶就可以避免誤用,造成不必要的損失。(4)獨(dú)立性。每個(gè)功能模塊都要盡可能地獨(dú)立,來(lái)減少與其他模塊的耦合,盡可能根據(jù)客戶的需要選擇安裝模塊[16]。學(xué)生安全信息管理系統(tǒng)的功能模塊圖如圖5所示管理員功能學(xué)生信息安全管理系統(tǒng)管理員功能學(xué)生信息安全管理系統(tǒng)普通用戶功能普通用戶功能分類(lèi)展示分類(lèi)詳情發(fā)布回收垃圾搜索班級(jí)信息管理學(xué)生信息管理賬戶安全管理分類(lèi)展示分類(lèi)詳情發(fā)布回收垃圾搜索班級(jí)信息管理學(xué)生信息管理賬戶安全管理圖9學(xué)生信息安全管理系統(tǒng)功能模塊圖4.2數(shù)據(jù)表設(shè)計(jì)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)、管理是采用數(shù)據(jù)庫(kù)的目的,按照數(shù)據(jù)結(jié)構(gòu)來(lái)實(shí)現(xiàn)位于計(jì)算機(jī)的存儲(chǔ)設(shè)備,類(lèi)似于倉(cāng)庫(kù),數(shù)據(jù)集可以被組織和共享存儲(chǔ)在計(jì)算機(jī)中。數(shù)據(jù)庫(kù)中的數(shù)據(jù)不是隨機(jī)組織的,而是有一定的模型,因此,數(shù)據(jù)冗余的情況較少,獨(dú)立性強(qiáng)。同時(shí),它具有很好的擴(kuò)展性,特定數(shù)據(jù)用戶可進(jìn)行共享。數(shù)據(jù)庫(kù)的概念模型完全不同于任何數(shù)據(jù)庫(kù)系統(tǒng),它是獨(dú)立的個(gè)體,因此,有必要分析實(shí)際情況中使用的數(shù)據(jù)庫(kù)系統(tǒng),關(guān)系模型轉(zhuǎn)換計(jì)算機(jī)可識(shí)別的關(guān)系模型,在轉(zhuǎn)型過(guò)程中,應(yīng)遵循以下三個(gè)原則:1.實(shí)體和關(guān)系一一對(duì)應(yīng)2.所有的主鍵必須是非空(NOTNULL)3.對(duì)于二進(jìn)制連接,外鍵應(yīng)該按照一對(duì)多、弱對(duì)實(shí)、一對(duì)一、多對(duì)多等定義[16]。數(shù)據(jù)庫(kù)表設(shè)計(jì)如下:圖10數(shù)據(jù)表列表5系統(tǒng)測(cè)試5.1測(cè)試的目的軟件測(cè)試在軟件推廣使用前來(lái)說(shuō)是十分關(guān)鍵的一步,一般來(lái)說(shuō),測(cè)試應(yīng)在維護(hù)階段之前完成。軟件工程界產(chǎn)生了新的觀點(diǎn),測(cè)試應(yīng)貫徹軟件開(kāi)發(fā)的每個(gè)階段,以確保軟件的每一步都在預(yù)期內(nèi),一旦出現(xiàn)偏差盡快修復(fù),以免造成后期無(wú)法逆轉(zhuǎn)的局面。事實(shí)上,就軟件開(kāi)發(fā)而言,不管開(kāi)發(fā)者采用何種方法,測(cè)試者怎么測(cè)試,某些漏洞還是無(wú)法避免的,盡管新的編程語(yǔ)言或與時(shí)俱進(jìn)的測(cè)試方法可以減少漏洞,但也不可避免的會(huì)出現(xiàn)一些無(wú)法預(yù)知的錯(cuò)誤。統(tǒng)計(jì)表明,軟件測(cè)試占項(xiàng)目總工程的40%左右。測(cè)試成本占開(kāi)發(fā)總成本的30%-50%。后期軟件維護(hù)階段,可以討論在軟件使用壽命上降低成本,但事實(shí)上,軟件的維護(hù)工作可以被稱作是軟件的二次開(kāi)發(fā),乃至是多次,而且這些開(kāi)發(fā)還必須包含大量的測(cè)試操作。首先,測(cè)試不僅僅是修復(fù)一個(gè)bug。通過(guò)分析錯(cuò)誤的原因和特征以及錯(cuò)誤分配,項(xiàng)目經(jīng)理可以識(shí)別當(dāng)前軟件設(shè)計(jì)過(guò)程中的不足。同時(shí),這種分析有利于設(shè)計(jì)出針對(duì)本系統(tǒng)的有效檢測(cè)方法,提高工作效率。[17]。5.2測(cè)試的步驟和開(kāi)發(fā)過(guò)程相類(lèi)似,測(cè)試的過(guò)程必須一步步地完成。大型軟件系統(tǒng)一般都由幾個(gè)子系統(tǒng)組成,每個(gè)子系統(tǒng)又有幾個(gè)模塊組成。因此,軟件系統(tǒng)測(cè)試包括以下步驟:(1)模塊測(cè)試:編碼和詳細(xì)的設(shè)計(jì)過(guò)程錯(cuò)誤通常是本測(cè)試的步驟。(2)系統(tǒng)測(cè)試:在這個(gè)測(cè)試步驟中,經(jīng)常會(huì)發(fā)現(xiàn)軟件設(shè)計(jì)錯(cuò)誤,也可能會(huì)發(fā)現(xiàn)需求錯(cuò)誤。(3)驗(yàn)收測(cè)試:在這個(gè)測(cè)試步驟中,經(jīng)常會(huì)發(fā)現(xiàn)系統(tǒng)需求手冊(cè)中的錯(cuò)誤[18]。5.3測(cè)試方法系統(tǒng)測(cè)試主要是選擇黑盒測(cè)試,簡(jiǎn)單而言,將一個(gè)黑匣子看作是測(cè)試對(duì)象,操作員不需要考慮內(nèi)部節(jié)后或?qū)傩?,只需按照?biāo)準(zhǔn)的操作流程、常規(guī)檢查,結(jié)果是否達(dá)標(biāo),即可完成測(cè)試。也因?yàn)檫@樣的流程,黑盒測(cè)試常被稱之為數(shù)據(jù)驅(qū)動(dòng)測(cè)試或功能測(cè)試。黑盒測(cè)試主要檢查以下羅列的漏洞情況:1.至少測(cè)試一次程序模塊的所有獨(dú)立執(zhí)行路徑。2.對(duì)于所有的邏輯決策,“真”或“假”兩種情況至少要被測(cè)試一次。3.在循環(huán)的邊界和運(yùn)行的邊界內(nèi)執(zhí)行循環(huán)體。4.測(cè)試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性[19]。
結(jié)論通過(guò)這個(gè)系統(tǒng)的設(shè)計(jì)、開(kāi)發(fā),得出以下感悟:(1)學(xué)習(xí)一項(xiàng)新技術(shù),最重要的是實(shí)踐,只有多做,才能盡快掌握。(2)經(jīng)驗(yàn)在一個(gè)系統(tǒng)開(kāi)發(fā)中是最重要的。如果經(jīng)驗(yàn)不足,就難免會(huì)有很多考慮不周到的地方。(3)系統(tǒng)功能要更完善,網(wǎng)站的界面必須美觀、有特色、友好、功能齊全。但是由于經(jīng)驗(yàn)不足,我設(shè)計(jì)了一個(gè)簡(jiǎn)單的圖形界面。只開(kāi)發(fā)了基本功能。(4)在這個(gè)開(kāi)發(fā)中,我參考了很多本科實(shí)習(xí)管理系統(tǒng)的例子,吸收了其他一些信息管理系統(tǒng)的優(yōu)點(diǎn),完善了自己的畢業(yè)設(shè)計(jì),但還有很多不足之處需要以后進(jìn)一步研究。在論文后期的修改過(guò)程中,我發(fā)現(xiàn)問(wèn)題需要更深入的探討。我感覺(jué)有很多的地方還需要進(jìn)行改進(jìn),還有很多的參考文獻(xiàn)需要深入學(xué)習(xí)。如果還有時(shí)間,本系統(tǒng)功能肯定能更加完善。今后,我會(huì)不斷充實(shí)自己,努力探索。保持認(rèn)真求實(shí)的學(xué)習(xí)態(tài)度,不怕困難,鍥而不舍的精神,是我在這次畢業(yè)設(shè)計(jì)中獲得的最大收獲。我認(rèn)為這是一種意志訓(xùn)練,實(shí)踐能力也不斷的提高,這為我今后的學(xué)習(xí)和工作的意志得到了磨練。最后,感謝:論文導(dǎo)師和各個(gè)專業(yè)課老師,是你們的耐心指導(dǎo)幫助我順利完成了畢業(yè)論文。從備受尊敬的老師給我傳授了扎實(shí)而廣泛的專業(yè)知識(shí),還學(xué)到了人生的真諦,向我的導(dǎo)師表示衷心的感謝和誠(chéng)摯的敬意。另外,感謝我的同學(xué)們,如果沒(méi)有你的熱心幫助,我不可能成功地完成我的論文。非常感謝所有幫助我的人。
參考文獻(xiàn)[1]嵩天,黃天羽,禮欣.Python語(yǔ)言:程序設(shè)計(jì)課程教學(xué)改革的理想選擇[J].中國(guó)大學(xué)教學(xué),2016(02):42-47.[2]曾經(jīng),王志章,吉偉平,等.測(cè)井資料標(biāo)準(zhǔn)化PYTHON語(yǔ)言
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Tims中國(guó)(中國(guó))秋招面試題及答案
- 大專生理考試題及答案
- 高血壓孕婦的日常護(hù)理技巧
- 2026黑龍江哈爾濱市公安局阿城分局招聘警務(wù)輔助人員25人考試備考題庫(kù)必考題
- 中共嘉興市委宣傳部所屬事業(yè)單位公開(kāi)選聘工作人員2人考試備考題庫(kù)必考題
- 北京市大興區(qū)瀛海鎮(zhèn)社區(qū)衛(wèi)生服務(wù)中心面向社會(huì)招聘臨時(shí)輔助用工3人備考題庫(kù)必考題
- 南充市審計(jì)局2025年公開(kāi)遴選公務(wù)員(3人)備考題庫(kù)必考題
- 嘉興市南湖區(qū)人民政府辦公室下屬事業(yè)單位公開(kāi)選聘事業(yè)單位工作人員1人考試備考題庫(kù)附答案
- 安遠(yuǎn)縣2025年公開(kāi)遴選鄉(xiāng)鎮(zhèn)敬老院院長(zhǎng)備考題庫(kù)必考題
- 廣東東莞市招聘事業(yè)編制教師廣州專場(chǎng)招聘392人考試備考題庫(kù)必考題
- (二診)綿陽(yáng)市2023級(jí)高三第二次診斷考試地理試卷A卷+B卷(含答案)
- 金融行業(yè)客戶身份識(shí)別管理辦法
- 2026年及未來(lái)5年中國(guó)半導(dǎo)體熱電系統(tǒng)行業(yè)市場(chǎng)全景監(jiān)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 2026福建廈門(mén)市高崎出入境邊防檢查站招聘警務(wù)輔助人員30人考試參考試題及答案解析
- 抖音續(xù)火花合同里協(xié)議
- 河南豫能控股股份有限公司及所管企業(yè)2026屆校園招聘127人筆試備考試題及答案解析
- 2026年醫(yī)院太平間服務(wù)外包合同
- 小學(xué)六年級(jí)英語(yǔ)2026年上學(xué)期語(yǔ)法填空綜合題集
- 海洋電子信息產(chǎn)業(yè)現(xiàn)狀與發(fā)展路徑研究
- 2024-2025學(xué)年蘇教版四年級(jí)數(shù)學(xué)上冊(cè) 第二單元專練:經(jīng)濟(jì)問(wèn)題和促銷(xiāo)問(wèn)題(買(mǎi)幾送幾)原卷版+解析
- 人教版九年級(jí)英語(yǔ)上冊(cè)閱讀理解10篇(含答案)
評(píng)論
0/150
提交評(píng)論