期末考試是學期結束后的一次重要考試,它能夠客觀地反映學生在整個學期的學習成果。這是一份經過專家審核的期末總結樣本,希望能夠給同學們提供一些參考和借鑒。
數據庫期末課程設計(匯總16篇)篇一
本程序以c語言的棧的相關知識為基礎,通過控制兩個棧(運算數棧和運算符棧)的進出的棧操作,來實現對包含加、減、乘、除、括號運算符及sqrt和abs函數的任意整型表達式的求解運算。
從程序的編寫來看,感覺這次自己真的學到了好多,特別是對程序的開發流程。從最初的選定程序,到最終的程序運行成功,讓我感到如果是僅僅掌握課本上的知識是遠遠不能夠很好的應用到實際的編程中去的。在這個過程中還需要我們更多的去考慮到實際條件的種種限制和約束。
我在寫本程序的過程中也遇到了很多的問題,當然本程序的核心問題就是對兩個棧的壓出棧操作,需要做優先級判斷,并要考慮什么時候進棧,什么時候出棧等操作。我采用了課本上第52-54頁講的通過一個二維字符串數組來控制比較“+-*、()as=”共9個運算符的優先級控制。對異常,如除數為0、被開方數小于0等異常也進行了精心的處理。對操作過程中要用到的y、n、a、s等字符也進行了改進,最終本程序可以不區分大小寫就完成相關操作。
總之,經過本次專業課程設計,讓我掌握了開發應用軟件的基本流程,運用所學編程技能的基本技巧,也讓我初步了解了軟件設計的基本方法,提高進行工程設計的基本技能及分析、解決實際問題的能力,為以后畢業設計和工程實踐等打下良好的基礎。相信通過這次的課程設計,我對所學的《數據結構(c語言版)》和各種編程語言都有了一個全新的認識。我也會積極吸取本次課程設計的經驗,繼續研究數據結構和所學的各種編程語言。
數據庫期末課程設計(匯總16篇)篇二
數據庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與斗志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡并期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(老大勸我學),我接觸到microsoft公司的產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的。課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++里面的class,int,覺得vb的sub,var看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“是用于創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由于對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本數據庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是數據庫站出來的時候啦,于是我又裝上了sqlserver,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校后,隨著這學期的數據庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什么就學什么。我們有時候很容易被一些專業名詞說嚇著,包括什么建模,軟件工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,justdoit!我記得我做這個數據庫之前,我們老師說要做好前期分析,我就在網上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網去搜索,這是一個信息橫流的世界,有google,baidu就沒有不能解決的知識難題。以及后來的數據庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什么架構,c/s模式?模式有很多,怎么選擇?我就上網搜索現在最流行的架構是什么。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。justdoit!前期工作準備好后,那么我就得把我暑假學的加以實踐。這個時候我更加深入的了解了利用操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,我完成了我的數據庫課程設計--基于數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次數據庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數據庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次數據庫課程設計,不過這只是我學習路上的驛站,未來十年的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,justdoit!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境?。?/p>
我很慶幸我參加了這次數據庫大賽,讓我確實打開了眼界。
(最后,很感激學校給了我們這次動手實踐的機會,讓我們學生有了一個共同學習,增長見識,開拓視野的機會。也感謝老師們對我們無私忘我的指導,我會以這次課程設計大賽作為對自己的激勵,繼續學習。畢竟學習就是一個justdoit的過程?。?。
數據庫期末課程設計(匯總16篇)篇三
一、課程設計的目的本課程設計通過實際設計一個小型數據庫管理系統,或者設計與實現一個頗具規模的數據庫應用系統,使學生進一步理解所學到的原理性知識,培養學生開發大型系統軟件的能力。
二、課程設計教學的基本內容和要求。
可由指導教師給定參考題目,允許學生自行設計題目,但必須經指導教師批準才可用。下面給出課程設計的幾個參考題目:
本項目對dbms的實現技術進行研究,通過建立和維護動態數據結構,實現數據的動態存儲,研究實現dbms核心功能的算法及數據結構,設計sql語言處理程序,在此基礎上,設計開發dbms原型系統,同時,也對系統軟件的研制方法進行有益的探索。
1.設計一個小型數據庫管理系統。
背景資料:
1)圖書室有各種圖書一萬多冊。
2)每種圖書都有書名、書號(isbn)、一名或多名作者(譯者)、出版社、定價、內容簡介:
3)借書證記錄有借閱者的姓名、所在單位、職業等。
4)憑借書證借書,每次最多能借8本書。借書期限最長為30天。
設計要求:
1)進行需求分析,編寫數據字典。
2)設計e-r圖。
3)實現新進圖書的數據錄入。
4)實現對所有購進圖書的分類查詢和分類統計。
5)能夠按書名、作者等分類查詢現有圖書的數量。
6)記錄借閱者的個人資料和所借圖書的書名、書號數據等。
3.員工薪資管理。
背景資料:
1)某單位現有1000名員工,其中有管理人員、財務人員、技術人員和銷售人員。
2)該單位下設4個科室,即經理室、財務科、技術科和銷售科。
3)工資由基本工資、福利補貼和獎勵工資構成,失業保險和住房公積金在工資中。
扣除。
4)每個員工的基本資料有姓名、性別、年齡、單位和職業(如經理、工程師、銷。
售員等)。
5)每月個人的最高工資不超過3000元。工資按月發放,實際發放的工資金額為。
工資減去扣除。
設計要求:
1)進行需求分析,編寫數據字典。
2)設計e-r圖。
3)實現按照科室錄入個人的基本資料、工資和扣除金額的數據。
4)計算個人的實際發放工資。
5)按科室、職業分類統計人數和工資金額。
6)實現分類查詢。
7)能夠刪除辭職人員的數據。
4.庫存物資管理。
背景資料:
1)有一個存放商品的倉庫,每天都有商品出庫和入庫。
2)每種商品都有名稱、生產廠家、型號、規格等。
3)出入庫時必須填寫出入庫單據,單據包括商品名稱、生產廠家、型號、規格、數量、日期、時間、入庫單位(或出庫單位)名稱、送貨(或提貨)人姓名。
設計要求:
1)進行需求分析,編寫數據字典。
2)設計e-r圖。
3)設計出入庫單據的錄入。
4)實現按商品名稱、出入庫日期的查詢。
5)實現分別按日、月和年對出入庫商品數量的統計。
5、學生學籍管理系統。
設計內容:主要的數據表,學生基本情況數據表,學生成績數據表,課程表,代碼表等。
主要功能模塊:
1)實現學生基本情況的錄入、修改、刪除等基本操作。
2)對學生基本信息提供靈活的查詢方式。
3)完成一個班級的學期選課功能。
4)實現學生成績的錄入、修改、刪除等基本操作。
5)能方便的對學生的個學期成績進行查詢。
6)具有成績統計、排名等功能。
7)具有留級、休學等特殊情況的處理功能。
8)能輸出常用的各種報表。
9)具有數據備份和數據恢復功能。
設計要求:進行需求分析,編寫數據字典。設計e-r圖。
學生成績表的設計,要考慮到不同年級的教學計劃的變化情況。
對于新生班級,應該首先進行基本情況錄入、選課、然后才能進行成績錄入。
6、銀行儲蓄系統。
設計內容:定期存款單,活期存款帳,存款類別代碼表等。
功能模塊。
1)實現儲戶開戶登記。
2)辦理定期存款帳。
3)辦理定期取款手續。
4)辦理活期存款帳。
5)辦理活期取款手續。
6)實現利息計算。
7)輸出明細表。
8)具有數據備份和數據恢復功能。
設計要求:要進行實際調研,系統功能在實現時參照實際的儲蓄系統的功能。同時要考慮銀行系統數據的安全與保密工作。數據要有加密功能。進行需求分析,編寫數據字典。設計e-r圖。
7、設備管理系統。
設計內容:設備明細帳表,設備使用單位代碼表,國家標準設備分類表等。
功能模塊:
1)實現設備的錄入、刪除、修改等基本操作。
2)實現國家標準設備代碼的維護。
3)能夠對設備進行方便的檢索。
4)實現設備折舊計算。
5)能夠輸出設備分類明細表。
6)具有數據備份和數據恢復功能。
設計要求:進行需求分析,編寫數據字典。設計e-r圖,具體設備編碼參考國家統一編碼方法,功能實現也要考慮通用性。
8、醫院藥品進銷存系統。
設計內容:藥品分類代碼表,藥品庫存表,供貨商信息表,采購信息表等。
功能模塊:
1)新藥品的入庫。
2)過期藥品的出庫登記、處理記錄。
3)藥品庫存檢索。
4)供貨商信息檢索。
5)藥品采購記錄管理。
6)藥品用藥說明信息管理。
7)輸出相應的數據報表。
8)具有數據備份和數據恢復功能。
設計要求:具體項目內容去醫院進行調研,藥品編碼也應參考國家統一編碼方法。
1.課程設計應按教學計劃的安排統一進行。
2.指導老師提前與學生見面,介紹課程設計的目的、意義、要求等。
3.每位學生自行選擇題目,在教師指導下獨立完成程序的設計、開發和調試等工作。
4.在指導老師的監督下學生分組完成課程設計答辯,答辯過程由學生主導,輪流擔任答辨委員。以此來加強和督促學生重視課程設計,達到課程設計效果。
6.指導老師在課程設計結束后1周內給出課程設計評語與成績,并報送有關單位。
四、評分標準。
課程設計成績采用五級(優、良、中、及格、不及格)評分制,指導教師依據課程設計報告、實際調試結果和答辯情況評定成績。注意:選擇第一個題目的,成績至少為良好。
五、其他。
1.對先修課程的要求:要求學生修過計算機導論、高級語言程序設計、數據庫原理及應用等課程。
2.注意事項:除了一人一題,學生還可以自行組團完成一個功能較完整的實用系統,每組人數限制在5人以內,每組一名負責人,并分工明確。
3.第11周周日舉行答辯。
附件:
一、可行性研究報告、項目開發計劃。
二、需求分析、數據要求說明。
四、詳細設計說明書。
六、總結。
1.正文宋體小四號字。
2.文中英文用新羅馬(timenewroman),四號。
3.源程序清單用英文新羅馬五號。
數據庫期末課程設計(匯總16篇)篇四
今天進行了一次完整的數據庫設計的過程,其實一直來說我都是非常害怕數據庫的設計的,因為在剛剛接觸的時候,我就知道,數據庫設計其實是一個項目的開端,因為數據庫設計實際上就是業務的設計,在需求清晰的時候,完成清晰流暢的業務設計又是一大難點。
一下為我自己的心得經驗希望大家批評指正!
對需求的認知完全沒有歧義;
有時更加困難的是一個實體會發生多個維度的分類,那么就把他的拆分維度一一分開;
“頻道”概念在消息分發時是一個非常靈活的概念;
總結,其實我在今天的數據庫設計中就學習到這些,學習是一個逐漸進步的過程,也是一個自我折磨的過程,希望我可以在這條路上走的再遠一點。
數據庫期末課程設計(匯總16篇)篇五
跟老板做了兩個算是比較大的項目,數據庫主體都是我設計的。第一個感覺很失?。坏诙€現在正在用,雖然總結了第一個的教訓,但感覺還是有些遺憾。把這過程中的一些心得記在這里,以便日后用到時來查閱。若以后還有機會再設計數據庫——現在倒還有些期待,呵呵,再有新的體會,也全部補充到這里。
隨著磁盤容量的大幅飆升,這一點已經不會產生什么問題。當然冗余歸冗余,不能把數據的關聯弄的亂七八糟的。
本科數據庫課程中學的知識直接拿來,在實際中會出大問題。滿足三級范式的數據庫結構會讓你面對大量的連表查詢,應用程序中會用到大量的數據庫訪問,既繁瑣(煩死你)又使程序運行速度減慢。
這一點主要是用動軟代碼生成器自動生成代碼時,如果varchar的最大長度指定為max,在自動生成代碼時,它無法生成這一最大長度,需要手動補進去。
現在感覺用個var1000)就夠了。
數據庫表(尤其是動態表格),在你把所有字段都設計好了之后,再添加幾個備注字段和預留字段。
之前我覺得這樣做沒多大意義,因為預留字段的列名是沒有實際意義的。這樣程序中使用的時候就會讓人費解。但現在覺得還是有必要的,很有必要的,即便在用到時需要自己十分清楚之前預留的無意義字段現在表示什么意義。不過我的第二個數據庫中還是沒采用,這也是遺憾之處啊。
個人感覺用note1、note2、r1(r表示reserve)、r2、r3,2個備注字段和3個預留字段就足夠了,再多的話就不容易記住哪個字段具體表示什么意義了,容易暈。類型就都用var200)吧。
數據庫期末課程設計(匯總16篇)篇六
功能要求:
(1)錄入編目:新書錄入,辦理借書證(補辦),銷毀借書證;
(2)借書還書:借書(續借),還書,館際互借;
(4)系統設置:權限,口令,重登錄。
對于一個給定的應用環境,按照數據庫設計的步驟,構造最優的數據庫模式,建立數據庫及其應用系統,使之能有效的存取數據,滿足各種用戶的應用需求。
1.主要內容。
(1)概念結構設計。
選擇局部應用。
逐一設計分e-r圖。
消除沖突,合并分e-r圖。
消除不必要的冗余,設計基本e-r圖。
(2)邏輯結構設計。
e-r圖向關系模型的轉換。
關系模型的優化。
2)軟件設計。
(1)熟悉高級語言使用環境。
(2)熟悉數據庫管理系統使用環境。
(3)設計數據庫(表及其關系)。
(4)針對局部應用設計應用程序。
(5)完成所要求的主要功能。
三、課程設計要求。
1、做好文檔。
本課程設計文檔要求是:
(1)調試記錄:調試中遇到的問題要做記錄,并說明解決的方法。如果未解決,要記錄問題的現象。
(2)程序清單:它包括數據結構和文本文件,程序要帶注釋。
四、考核方式與評分辦法。
1、課程設計結束時,要求學生寫出課程設計報告打印上交,并提交可運行的軟件系統。課程設計報告模板上傳到公共磁盤文件夾中,請嚴格按要求完成,格式不合格,課程設計成績做不及格處理,請大家重視。
2、學生課程設計的成績主要根據學生的設計過程和報告綜合評定得出,此部分占70%。出勤情況占30%。
數據庫期末課程設計(匯總16篇)篇七
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的.方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。
課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程?!扒Ю镏惺加谧阆隆?,通過這次課程設計,我深深體會到這句千古名言的真正含義。我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。
數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算后所得到的新結構仍然是原來的結構類型?!皵祿Y構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介于數學、計算機硬件和計算機軟件三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序的重要基礎。通過這次模具設計,我在多方面都有所提高。
在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須采用標準英文大寫,同時在制作顯示菜單的窗口,大小根據菜單條數設計。最后采用printf輸出程序設計界面。
這次的程序軟件基本上運行成功,可以簡單的建立鏈式循環鏈表,并進行輸出,及循環語句的運用和選擇語句的控制。由于時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來c語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用c語言方面的知識,我們可以設計出更完善的軟件。
通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久后我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
數據庫期末課程設計(匯總16篇)篇八
2、課題目的。
該網站主要面向的對象是所有有需求的用戶,本院的學生都可以在其上面下載課件,在線測試和留言。該網站的系統管理員可以進行用戶管理,系統信息的維護等工作。老師則擁有權限可以上傳課件,上傳和發布作業,查看學生提交的作業,查看學生在線考試的分數記錄,回答學生留言板的問題。該網站也不排除其他人員對網站的訪問,同樣可以對該網站自由的訪問和操作。
2.2課程背景。
隨著計算機在中國的廣泛普及,數值化管理手段的逐步完善,越來越多的學生逐漸習慣于是用信息化手段進行學習信息,這樣也方便的老師使用信息化手段對學生進行管理。而信息化應用在教學管理中的應用是實現教學管理科學化、現代化的關鍵。因此,該網站為本書店提供了搞笑,準確,快速的管理模式,實現管理規范化、科學化。
3、項目概述。
3.1網站需求分析。
后臺包括信息管理(包括信息管理、公告管理)、課件管理(包括課件的添加管理、顯示管理)、回復管理(帖子的回復管理、刪除管理、熱帖的顯示管理)、管理員管理(查看會員信息、查看留言及回復)、權限管理(管理員增加、管理員修改、管理員刪除)。
3.3主要內容及功能:本網站系統功能主要分為五大類:
(1)教學大綱和通知部分:教學大綱單獨設計頁面。通知和新聞發布部分在要在首頁顯示,發布通知是管理員的權限。
(2)課件發布系統:管理員可以發布課件,課件管理。老師可以上傳課件。學生可以下載網上發布后的課件。
(3)作業發布系統:老師可以上傳作業發布,學生可以下載作業,管理員擁有管理作業和刪除以前老師發布的作業權利(防止積累過多)。
(4)網上測試系統:在線自測(題目全為選擇題),有題庫管理系統隨機生成,每套題目有50道題目組成,在試卷的管理中隨機生成的試卷分等級比如分簡單和較難的試題(這些要在生成前學生選擇的)。
(5)論壇系統學生可以提交問題,然后由老師或者其他同學進行回答。學生對問題進行回復,編輯,刪除等操作在管理員對其進行檢查后顯示,老師可以及時進行解答。
圖3-1后臺信息管理功能圖。
(6)實訓案例系統:管理員可以發布作品和管理。老師可以上傳一些學生的優秀作品,學生可以下載發布出的作品。
本系統性能力易于使用,具體有較高的擴展性和可維護性。這就需求數據庫結構能充分滿足各種信息的輸入與輸出,實現有組織地動態地存儲大量關聯數據,方便用戶訪問系統中的數據,它與文件系統的重要區別是數據的充分共享,交叉訪問,與應用程序的高度獨立性。
4、項目特點。
通過數據庫課程網站,比較低的成本實現優質教育教學資源的共享,打破現有的教育教學質量受制于教學資源不足的瓶頸,通過免費為師生提供優質教育教學質量。
(4)信息的整體性。
一、選題背景及意義:
數據庫技術主要研究如何存儲、使用和管理數據,是計算機技術中發展最快、應用最廣的技術之一。作為計算機軟件的一個重要分支,數據庫技術一直是倍受信息技術界關注的一個重點。尤其是在信息技術高速發展的今天,數據庫技術的應用可以說是深入到了各個領域。當前,數據庫技術已成為現代計算機信息系統和應用系統開發的核心技術,數據庫已成為計算機信息系統和應用系統的組成核心,更是未來“信息高速公路”的支撐技術之一。因此,為了更好的認識和掌握數據庫技術的現狀及發展趨勢,本文對有關數據庫發展的文獻進行了收集整理,以求在對現有相關理論了解、分析的基礎上,對數據庫發展進行綜合論述,對數據庫技術發展的總體態勢有比較全面的認識,從而推動數據庫技術研究理論的進一步發展。
二、論文綜述。
1、數據庫技術發展歷程:許多年以來在數據庫技術領域很少有重大的技術創新能夠引起人們對整個數據庫發展歷程的回顧與反思。db29中推出的purexml技術,對過去數十年來關系型數據庫的最基本的數據組織方式進行了重大的創新,第一次讓我們對數據庫的歷史,以及過去支撐其發展壯大的理論基礎和外部挑戰從新的角度進行審視。今天我們很少去回顧數據庫的歷史,對于絕大多數it技術人員,數據庫等同于關系型數據庫,數據則和表緊密聯系。e-r模型幾乎是我們描述世界的唯一方式,sql語言是數據庫信息訪問處理的唯一手段。關系型數據庫已經成為了一種宗教式的信仰,數據相關的所有理論問題似乎都已經解決。
然而歷史的發展總是在我們不經意間產生轉折,所有重大技術的產生及發展都有其生存的土壤。40年前數據庫的誕生并不是關系型數據庫,第一代的數據庫第一次實現了數據管理與應用邏輯的分離,采用層次結構來描述數據,是層次型數據庫(ims)。第二代數據庫奠基于上世紀70年代e.fcodd博士提出的關系型理論以及sql語言的發明。實現了數據建模和數據操作處理的標準化,關系型數據庫在其后的20多年的時間取得了長足的發展,得到了廣泛的應用。技術的演進主要集中在性能、擴展性和安全性等方面的提升,其基本的理論框架和技術理念并沒有大的變化。
與之相反,在過去的20多年里,it產業發生了重大的變化和一系列技術及理念的創新。數據庫所生存的外部土壤隨著internet以及在網絡環境下it系統互聯互通相互協作的趨勢,對信息管理技術提出了新的挑戰。
三、論文提綱。
(一)數據庫技術概論。
(二)數據庫技術發展現狀------關系數據庫技術仍然是主流。
1、發展現狀概述。
2、oracle概念及應用。
3、access概念及應用。
4、sql概念及應用。
5、db2概念及應用。
6、發展現狀總結。
1、下一代數據庫技術的發展主流―――面向對象的數據庫技術與關系數據庫技術。
2、演繹面向對象數據庫技術。
3、數據庫技術發展的新方向――――非結構化數據庫。
4、數據庫技術發展的又一趨勢―――數據庫技術與多學科技術的有機結合。
5、未來數據庫技術及市場發展的兩大方向―――數據倉庫和電子商務。
6、數據庫技術的實踐性發展―――面向專門應用領域的數據庫技術。
(四)當代與未來數據庫研究的熱點―――數據挖掘、知識發現與數據倉庫。
1、數據挖掘技術。
3、知識發現技術。
4、小結。
5、結論。
四、論文寫作進度安排。
(一)開題報告:論文題目、系別、專業、年級、姓名、導師。
(二)目的意義和國內研究概況。
(三)論文的理論依據、研究方法、研究內容。
(四)研究結論。
(五)預期的結果。
(六)進度安排。
數據庫期末課程設計(匯總16篇)篇九
本次課程設計,使我對《數據結構》這門課程有了更深入理解?!稊祿Y構》是一門實踐性較強課程,為了學好這門課程,必須在掌握理論知識同時,加強上機實踐。
我課程設計題目是線索二叉樹運算。剛開始做這個程序時候,感到完全無從下手,甚至讓我覺得完成這次程序設計根本就是不可能,于是開始查閱各種資料以及參考文獻,之后便開始著手寫程序,寫完運行時有很多問題。特別是實現線索二叉樹刪除運算時很多情況沒有考慮周全,經常運行出現錯誤,但通過同學間幫助最終基本解決問題。
在本課程設計中,我明白了理論與實際應用相結合重要性,并提高了自己組織數據及編寫大型程序能力。培養了基本、良好程序設計技能以及合作能力。這次課程設計同樣提高了我綜合運用所學知識能力。并對vc有了更深入了解?!稊祿Y構》是一門實踐性很強課程,上機實習是對學生全面綜合素質進行訓練一種最基本方法,是與課堂聽講、自學和練習相輔相成、必不可少一個教學環節。
上機實習一方面能使書本上知識變“活”,起到深化理解和靈活掌握教學內容目;另一方面,上機實習是對學生軟件設計綜合能力訓練,包括問題分析,總體結構設計,程序設計基本技能和技巧訓練。此外,還有更重要一點是:機器是比任何教師更嚴厲檢查者。因此,在“數據結構”學習過程中,必須嚴格按照老師要求,主動地、積極地、認真地做好每一個實驗,以不斷提高自己編程能力與專業素質。
通過這段時間課程設計,我認識到數據結構是一門比較難課程。需要多花時間上機練習。這次程序訓練培養了我實際分析問題、編程和動手能力,使我掌握了程序設計基本技能,提高了我適應實際,實踐編程能力。總來說,這次課程設計讓我獲益匪淺,對數據結構也有了進一步理解和認識。
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。
課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程?!扒Ю镏惺加谧阆隆?,通過這次課程設計,我深深體會到這句千古名言的真正含義。我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。
數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算后所得到的新結構仍然是原來的結構類型?!皵祿Y構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介于數學、計算機硬件和計算機軟件三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序的重要基礎。通過這次模具設計,我在多方面都有所提高。
在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須采用標準英文大寫,同時在制作顯示菜單的窗口,大小根據菜單條數設計。最后采用printf輸出程序設計界面。
這次的程序軟件基本上運行成功,可以簡單的建立鏈式循環鏈表,并進行輸出,及循環語句的運用和選擇語句的控制。由于時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來c語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用c語言方面的知識,我們可以設計出更完善的軟件。
通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久后我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
數據庫期末課程設計(匯總16篇)篇十
兩個星期時間非??炀瓦^去了,這兩個星期不敢說自己有多大進步,獲得了多少知識,但起碼是了解了項目開發部分過程。雖說上過數據庫上過管理信息系統等相關課程,但是沒有親身經歷過相關設計工作細節。這次實習證實提供了一個很好機會。
通過這次課程設計發現這其中需要很多知識我們沒有接觸過,去圖書館查資料時候發現我們前邊所學到僅僅是皮毛,還有很多需要我們掌握東西我們根本不知道。同時也發現有很多已經學過東西我們沒有理解到位,不能靈活運用于實際,不能很好用來解決問題,這就需要我們不斷大量實踐,通過不斷自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用東西。從各種文檔閱讀到開始需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統設計開發過程。很多東西書上寫很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統時候才發現其中難度。經常做到后面突然就發現自己一開始設計有問題,然后又回去翻工,在各種反復中不斷完善自己想法。
我想有這樣問題不止我一個,事后想想是一開始著手做時候下手過于輕快,或者說是根本不了解自己要做這個系統是給誰用。因為沒有事先做過仔細用戶調查,不知道整個業務流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免,不然會給后來工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后課程設計要特別注意這一塊設計。
按照要求,我們做是機票預訂系統。說實話,我對這個是一無所知,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計下場我已經嘗過了,結果就是出來一個四不像設計方案,沒有什么實際用處。沒有前期調查,僅從指導書上那幾條要求著手是不夠。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們生活經驗,根據可行性研究結果和客戶要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言規范性以及我們在編程時要有嚴謹態度,同時在寫程序時如有一定量注釋,既增加了程序可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫創建、修改、刪除方法有了一定了解,通過導入表和刪除表、更改表學會了對于表一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價一般過程,為畢業設計打下基礎。
很多事情不是想象中那么簡單,它涉及到各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面設計根本無法繼續,感覺像是被前面做各種圖限制了。在做關系模型轉換時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引部分,對一些比較經常使用搜索列,外鍵上建立索引,這樣可以明顯加快檢索速度,最后別忘記重要安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難事在你嘗試之后你可能會發現原來她并沒有你以前覺得那樣,自己也是可以。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我最大感想!
以上基本是這次實習體會了,設計進行非常艱難,編碼非常不容易,才發現做一個項目最重要不在于如何實現,而是實現之前需求分析和模塊設計。創新很難,有些流行系統其實現并不難,難在于對市場分析和準確定位。設計,是一個任重道遠過程。
數據庫期末課程設計(匯總16篇)篇十一
首先簡單地闡述本人所要實現系統的目的,然后應較詳細的敘述本系統所要實現的功能。
*******************。
二、概要設計。
1、系統功能模塊框圖設計。
根據功能描述,建立系統的體系結構,即將整個系統分解成若干子功能模塊,并用框圖表示各功能模塊之間的銜接關系,并簡要說明各模塊的功能。
程序流程框圖如圖所示:(僅供參考)。
圖1程序流程圖。
2、數據庫設計。
包括數據庫的組成說明,數據庫中各表的結構說明(包括字段名、字段類型等),可以包含圖片例如下表:
表1學生信息表。
三、詳細設計。
詳細說明主要窗體的實現過程,包括窗體的設計圖片及其上所包含的控件名和屬性設置;
詳細說明主要操作的代碼實現過程,包括過程間的調用關系(注:在此給出不完全代碼)。如下所示:
1、賬號登錄。
帳號登錄模塊中登錄與注冊兩按鈕,單擊注冊會進入注冊模塊中,單擊登錄會進入系統進行下一步的操作,帳號文本框與數據庫相連接,當在帳號文本框輸入帳號后點擊登錄按鈕后,會在數據庫中進行查詢看數據庫中是否會有該帳號,且該帳號的密碼是否與密碼框中輸入的相同,如果相同會進入系統,如果不存在該賬號或密碼與帳號不相匹配,則會提示“帳號或密碼錯誤”,帳號文本框會得到焦點,讓重新輸入。
(1)窗體截圖(如圖2)。
圖2注冊窗體。
(2)功能實現。
2、學生信息查詢窗體。
圖3查詢窗體。
四、調試中存在的問題及解決方法。
包括調試過程中遇到的主要問題及采取的解決方法。例如:
1、注冊賬號出現的錯誤。
數據庫中帳號被設為主鍵,當注冊時的帳號與數局庫中的帳號有相同時就會出錯。
2、解決方法:在寫入數據庫前先進行查詢數據庫。
五、心得體會。
本人在本次實習中取得的收獲、遇到的困難、如何面對和克服各種困難、本系統的不足之處,將要改進的思想等。
六、參考文獻。
[2][3]。
七、附錄。
包括全部源程序清單(程序中應有足夠的注釋)。
數據庫期末課程設計(匯總16篇)篇十二
新的課程理念強調課程設計必須從學生的角度出發,要與學生的經歷和經驗相聯系,所倡導的是以人為本,以學生為主體,關注學生終身可持續發展,注重各種能力和創新意識的培養。在本書中,編者能從理論上向讀者闡述數學課堂教學中教育觀,引領讀者課堂教學設計方案,能從數學課堂中概念教學,命題教學,復習課等教學各環節使讀者從中受益非淺,在我十幾年的教學生涯中,深深體會到一堂課的成敗與課前的教學設計密不可分,如若你課前能做大量的準備工作,對課的重點,難點進行充分的研究,了解課的地位,對教學目標的制定,課堂中的板書,課堂語言嚴謹性準確性能作準備,大量公開課的成功應歸功于課的設計。
數學課堂要生活化,新課程倡導用具體的,有趣的,富有挑戰性的素材,引導學生投入數學活動,使課堂教學內容不再空洞,枯燥,拉近數學與現實的距離,讓學生感受到數學來源于生活,產生樂于接受的心理。比如:在引入分數時,新課程利用比身高的例子,利用名人姚明的身高作比較,讓學生體會到數學的實用性;在講角的比較大小時,利用學生熟悉的足球射門,來比較誰的進球機會大;在學圓的周長時,教學一開始設計了這樣一個問題:兩個遙控模型機器人分別沿兩種不同形狀的賽道進行比賽,一種是邊長為4.7米的正方形,另一種是直徑為6米的圓形,如果它們同時,同速從一點出發,那么誰先到達原出發點呢函數的引入時,每個人與他的生日的對應關系,衣服上的紐扣與紐門的對應關系。通過引入生活中的例子,可豐富學生的感性認識,激發學生的學習興趣。
在數學教學設計中,我們總是在教導學生,學習科學知識的重要性,而形成科學態度,科學精神更重要。所謂科學態度,就是實事求是的態度,所謂科學精神,就是懷疑的,批判的,探索的,創造的精神。可是這種態度和精神不可能離開學科教學,離開學科發展的實際過程單獨進行說教。它必須滲透在學科教學的過程之中。教學模式具有多樣性,具體如何選擇,要根據學生的知識水平,學習動機,學習能力,學習風格和學習態度來選擇,也可根據教師的自身的不同的特長,數學素養和教學風格來選擇。
數學課堂設計要發揮學生的主體性,在我認為,教師在課堂中,應該更多扮演一種引導者和激發者的角色。激發了學生求知欲望后,教師就應及時地將新課的內容有計劃,有層次,由淺入深地展示給學生,并讓學生參與新知識建立的過程,促使學生對新知識加以理解和掌握。同時,在教學過程中要有意識地結合教學內容向學生顯示”怎樣思考"的信息,提高思維能力。
課堂教學結構雖有其比較穩定的活動程序,但決不是固定的,要根據不同的教學任務,教學內容和本班學生的實際情況加以調整,并有機地結合起來。優化教學過程,就要全面考慮教學過程的各因素,使每節課安排的程序成為一個科學有序的組合,每一個環節都成為這個整體的有機組成部分。這些問題是新,舊知識的結合點,教師應幫助學生理解新知,根據學生已有的知識,提出最近發展區之間的問題,以實現知識遷移。
教師要調動學生學習積極性,引導學生打開思路去想問題。本階段,如在幾何直觀教學中應引導學生通過動手,動口,動腦加以分析解答,調動多種感官同時參與學習過程,參與探索知識的過程。根據學生的質疑,教師可以把握大量的反饋信息,從而有針對性地進行疏導,釋疑,解惑,提高課堂教學的效率。教師尤其要鼓勵低差學生質疑,耐心地給予解答。
《數學教學設計》能從數學教學的各個環節,使我們體會到數學設計中應考慮各要素,根據課的內容,學生做好課前設計,為課堂教學提供充分素材,達到課堂教學的目的。
數據庫期末課程設計(匯總16篇)篇十三
2數據庫設計理論是數據庫理論的應用和延伸。
2.1數據庫理論在數據庫設計中的指導應用。
2.2數據庫設計理論是對數據庫理論的延伸。
3.1處理好數據庫設計經驗和數據庫設計理論的關系。
3.3課程設計是提升學生綜合應用能力的關鍵。
4結語。
數據庫期末課程設計(匯總16篇)篇十四
本文目錄。
兩個星期的時間非??炀瓦^去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到后面突然就發現自己一開始的設計有問題,然后又回去翻工,在各種反復中不斷完善自己的想法。
我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統是給誰用的。因為沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設計要特別注意這一塊的設計。
按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什么實際用處。沒有前期的調查,僅從指導書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周的時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言的規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規范性以及我們在編程時要有嚴謹的態度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的了解,通過導入表和刪除表、更改表學會了對于表的一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,為畢業設計打下基礎。
很多事情不是想象中的那么簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關系模型轉換的時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難的事在你嘗試之后你可能會發現原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我的最大感想!
以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在于如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現并不難,難的在于對市場的分析和準確定位。設計,是一個任重道遠的過程。
返回目錄。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到microsoft?產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++里面的class,int,覺得vb的sub,var?看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“.net是用于創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由于對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本數據庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是數據庫站出來的時候啦,于是我又裝上了sql?server,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校后,隨著這學期的數據庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什么就學什么。我們有時候很容易被一些專業名詞說嚇著,包括什么建模,軟件工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just?do?it!我記得我做這個數據庫之前,我們老師說要做好前期分析,我就在網上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網去搜索,這是一個信息橫流的世界,有google,baidu就沒有不能解決的知識難題。以及后來的數據庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什么架構,c/s模式?模式有很多,怎么選擇?我就上網搜索現在最流行的架構是什么。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。just?do?it!前期工作準備好后,加以實踐。這個時候我更加深入的了解了利用操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次數據庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數據庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次數據庫課程設計,不過這只是我學習路上的驛站,的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just?do?it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境??!
我很慶幸我參加了這次數據庫大賽,讓我確實打開了眼界。
(最后,很感激學校給了我們這次動手實踐的機會,讓我們學生有了一個共同學習,增長見識,開拓視野的機會。也感謝老師們對我們無私忘我的指導,我會以這次課程設計大賽作為對自己的激勵,繼續學習。畢竟學習就是一個just?do?it的過程!)。
數據庫期末課程設計(匯總16篇)篇十五
姓名:學號:班級:指導教師:
目錄。
1.概述。4。
1.1問題的提出。4。
1.1.1選題背景與意義。4。
1.1.2開發工具簡介。5。
2.可行性分析。5。
2.1社會可行性。5。
2.2技術可行性。5。
2.3經濟可行性。6。
3.需求分析。6。
3.1系統業務流程圖。7。
3.4.2員工信息維護功能。8。
3.4.3工資信息維護功能。8。
3.5系統的數據需求。10。
3.5.1總結出數據信息。10。
3.5.3數據流圖的數據字典。12。
4.總體設計。13。
4.1系統結構的總體設計。14。
4.2.1員工基本信息維護模塊。14。
4.2.2工資信息維護模塊。15。
4.2.3查詢信息模塊。15。
4.2.4計算工資模塊。15。
4.2.5打印模塊。15。
4.2.6登陸模塊。15。
5.詳細設計。16。
6.測試。18。
7.調試。19。
8.結論。19。
9.參考文獻。21。
1.概述。
1.1問題的提出。
工資管理系統是一個數據庫管理系統,是針對企業的工資管理業務進行計算機處理而開發的應用軟件。它提供關于公司老員工及新員工信息和工資有效管理等事務的信息,由于需要添加和修改員工的信息和工資信息、刪除離職員工信息和在職員工信息修改以及修改其他一些數據,工資管理系統由系統維護、輸入、查詢、修改、輸出、統計等子模塊組成,功能基本涵蓋普通企業的工資管理業務范圍。企業應用本系統后,可以有效的提高工資管理水平。
1.1.1選題背景與意義。
現代科學的發展,使計算機進入了幾乎一切領域,計算機已經是家喻戶曉、無人不知了。從科學研究到工農業生產,從企業生產管理到家庭生活,各行各業都廣泛地使用著計算機,可以說沒有計算機,就沒有現代化,計算機知識已經成為當代知識分子結構中不可缺少的一個重要組成部分。隨著經濟的發展,企業正面向著大型化、規?;l展,而對于大中型企業,員工、職稱等跟工資管理有關的信息隨之急劇增加。在這種情況下單靠人工來處理員工的工資不但顯得力不從心,而且極容易出錯。
在這種情況下,我們建立一個工資管理系統是必要的,該整個系統操作簡便、界面友好、靈活、實用、安全的要求出發,完成人事、工資管理的全過程,包括新進員工加入時人事檔案的建立、老員工的轉出、職位等的變動引起職工信息的修改、員工信息查詢、統計等人事管理工作以及新進員工工資的新增、老員工工資修改等工資管理工作。經過實際使用證明,本文所設計的人事工資管理系統可以滿足本單位人事、工資管理方面的需要。
該設計主要介紹了本課題的開發背景,需求分析和功能設計等過程。
1.1.2開發工具簡介。
1)pd:powerdesigner,就是一個容易畫出數據流圖和生成數據庫的邏輯模型和物理模型。該軟件很容易實現把數據流圖轉化成相應的數據庫的邏輯模型和物理模型。
2)solserver:它是一種關系數據庫管理系統,能處理大量的數據和管理眾多的并發用戶,保證了數據的完整性,并提供許多高級管理和數據分布能力。
3)visualstudio.net:向開發人員提供了用于在操作系統之間和語言之間集成解決方案的工具。開發人員可將現有的業務邏輯方便地轉換為可重復使用的xmlweb服務、封裝進程并使它們能夠用于任何平臺上的應用程序。
2.可行性分析。
2.1社會可行性。
c/s模式系統以服務器作為數據處理和存儲平臺,在終端設計有專門的應用程序進行數據的采集和初次處理,再將數據傳遞到服務器端,用戶必須使用客戶端應用程序才能對數據進行操作。c/s模式具有專業化程度高、開發手段靈活、運行速度快等特點,但受到維護成本大、適應性弱等問題的影響。本系統利用了c/s模式,符合企事業單位的管理要求,為其實現較為先進的工資管理提供了有利的支持。
2.2技術可行性。
使用powerbuilder開發傳統意義上的c/s模式結構的數據庫系統,可以利用其提供的許多對于數據庫訪問與控制的有效機制,開發過程并不是很長且難度適中。我們曾學習了《數據庫原理及應用》,掌握了數據庫的基本原理及數據庫的設計方法,在此基礎上我們又深入學習了powerbuilder的數據庫系統開發。
2.3經濟可行性。
成本:本系統要求的計算機配置不是很高,需要設備購置費用較低,其他設備的購置成本也在承擔能力之中。本系統運行費用較低,系統使用方便簡潔。
收益:應用本系統能在一定時期內產生明顯的收益,此外應用本系統提高了工作效率從而提高了管理水平;節省了人力,減輕了有關人員手工處理的工作負擔;即使給管理者提供相應的輔助決策信息。
3.需求分析。
需求分析的過程可以說是一個對具體問題的反復理解和抽象的過程。理解就是對現實問題的。理解,要弄清楚究竟需要解決什么問題。抽象就是除去問題的表面,提取問題的本質,建立問題的邏輯模型,以便于以后階段的系統的設計實現。需求分析階段是軟件產品生存命期中的一個重要階段,其根本任務是確定用戶對軟件系統的需求。所謂需求是指用戶對軟件的功能和性能的要求,就是用戶希望軟件能什么事情,完成什么樣的功能,達到什么性能。通常需求分為兩種類型:一種是功能性需求,一種是非功能性需求,這一點也需要有一種清楚的認識。功能性需求是指需要計算機系統解決的問題,也就是對數據的處理要求,這是一類最主要的需求。非功能性需求是指實際使用環境所要求的需求,往往是一些限制要求,例如:性能要求,可靠性要求,安全保密要求,等等。軟件需求一般包含三個層次―業務需求、用戶需求和功能需求,還包括非功能需求。業務需求:反映了組織機構或客戶對系統、產品高層次的目標要求,它們在項目視圖與范圍文檔中予以說明。用戶需求:描述了用戶使用產品必須要完成的任務和具備的功能,這在使用實例文檔或方案腳本說明中予以說明。功能需求:定義了開發人員必須實現的軟件功能,使得用戶能完成他們的任務,從而滿足其業務需求。系統目的是能夠用計算機實現對各種工資進行日常管理,如添加、刪除、修改員工信息,能夠根據員工的等級、職位以及出勤情況、獎金、津貼情況等進行工資的計算,能夠使員工、部門方便地查詢和統計各種信息,最后能生成報表反饋給員工等。
3.1系統業務流程圖。
通過對企業原先手工進行員工工資管理業務的情況,可以設計出它的業務流程圖,如圖4-1所示。
用戶登錄數據輸入工資計算存儲數據。
工資查詢報表匯總。
3.2系統的功能劃分。
1.工資信息設置部分:包括設置員工的基本工資和其他項目的金額,如獎金等。
并且負責設置員工工資的計算公式。
2.工資信息管理部分:包括統計出勤、計算工資、查詢工資和導出工資表。
3.系統部分:包括添加用戶和修改密碼。
3.3系統的功能要求。
1.整體結構合理,風格一致,模塊化結構,界面清晰,接口靈活,操作簡便。
2.開發方法,文檔規范化,便于管理,可擴充。
3.完善的數據輸入,維護,輸出。
4.自檢性能高,用戶誤輸、錯輸均有提示。
5.容錯性能高,某個用戶的操作錯誤不會引起整個系統的癱瘓,每一功能的操。
作都有信息提示以免重復操作,錯誤操作有警告,以便用戶及時改正。
3.4用戶的功能需求:
3.4.1登陸功能。
該系統要有登陸功能。管理員要進行員工信息維護或者進行計算員工工資。
時,必須首先進行登陸。同理,員工也要先進行登陸才能進行各種查詢等操作。
1.用戶權限設置,修改密碼。
2.綜合初始系統設置。
3.4.2員工信息維護功能。
該系統要能夠添加員工信息、刪除員工信息和修改員工信息等功能。一個單位的員工不是一成不變的,總是在不斷地變化,如有的員工被招聘進入公司,這時就要添加員工的基本信息;當員工辭職或者由于其它原因離開公司,這時就要刪除員工的基本信息;當員工進行調動時,就要修改員工的基本信息了。
1.追加員工信息。
2.刪除員工信息。
3.修改員工信息。
4.自動更新數據庫。
3.4.3工資信息維護功能。
1.該系統要能夠輸入員工基本工資:為了方便系統的計算員工的工資,系統應。
該能夠輸入員工基本工資、獎金、津貼等一些工資數據,以計算員工的月工資或者年工資等。
2.該系統要能夠修改員工基本工資:員工的工資不是一成不變的,它會發生變。
化,這時就要求能夠修改員工的工資等。
3.該系統要能夠刪除員工基本工資:當員工由于某種原因離開公司后,由于員。
工的基本信息已經刪除了,所以也要刪除員工的基本工資等信息。
3.4.4查詢功能。
一個員工或者部門要更好了解自己工資、出勤情況、獎金、津貼等情況,可以進行相關的查詢,為了有更好地適應性,查詢應該可以根據各種情況進行查詢,能夠進行單項查詢或者按一定的條件范圍進行查詢,如能夠查詢單個員工的工資情況,能夠查詢每個部門的工資情況和月工資的統計情況。
1.根據員工姓名查詢員工的工資情況。
2.根據員工編號等查詢員工的工資情況。
3.根據員工學歷等各種條件組合查詢員工的工資情況。
3.4.5計算功能。
1.系統應該能夠根據員工的基本工資、員工的出勤情況、資金和津貼情況進行。
工資的計算。
2.系統應該根據能夠根據加班的時間、加班的類別等計算出員工所得的津貼工。
資。
3.系統應該能夠根據各種員工在公司的工作表現、,計算出給員工的獎金。
4.系統應該能夠計算各個部門的工資情況。
5.統計功能:為了更好地了解員工的人數情況、員工的工資情況、部門的工資。
情況或者發放工資,系統應該能夠對各個部門的總工資進行統計。
3.4.6打印功能。
每月發放工資時,要求能夠打印本月的工資表、隨工資發給每個員工的工資條以及一些統計表等,如工資統計表。
1.打印工資信息。
2.打印工資條。
3.打印各種圖表。
3.4.7退出功能。
員工或管理員可利用退出功能退出系統。
3.5系統的數據需求。
3.5.1總結出數據信息。
對上述系統功能需求,可心分析、歸納出其相應必須管理的信息包括員工基本信息、員工的等級信息、員工出勤情況信息、員工津貼信息等,其數據及其屬性需求分析如下:
1.員工基本信息:員工號、員工姓名、性別、工資等級、職稱、所在部門、住。
址、電話等;
2.部門信息:部門號,部門名稱;
3.員工考勤信息:員工號、日期、上午、下午、遲到、早退等。
4.工資等級信息:等級號、等級名稱、職位、基本工資;
5.員工津貼信息:員工號、加班時間、加班類別等。
3.5.2數據流程圖如下。
0層圖如下所示:
3.5.3數據流圖的數據字典。
下面介紹一下一些主要的數據流的數據詞典。一、
系統管理數據流數據詞典。
1.數據流名稱:管理員登陸信息。
說明:它的作用是將管理員的id、密碼等讓工資管理系統檢查,看是否允。
許登陸。
數據流來源:管理員數據流去向:工資管理系統2.數據流名稱:非法登陸信息。
說明:它的作用是把用戶要查詢的信息提交給工資管理系統,讓其顯示查詢。
的信息。
數據流來源:管理員數據流去向:工資管理系統4.數據流名稱:添加員工信息。
說明:它的作用是把要添加的員工信息提交給工資管理系統,讓其處理該信。
息。
數據流來源:管理員數據流去向:工資管理系統5.數據流名稱:更新員工信息。
說明:它的作用是把要更新的員工信息提交給工資管理系統,讓其處理該信。
息。
數據流來源:管理員數據流去向:工資管理系統6.數據流名稱:打印信息。
說明:它的作用是讓工資管理系統反饋一些打印信息,如工資條、報表等,
以便用戶更好地了解相關信息。
數據流來源:工資管理系統數據流去向:管理員二、
在用戶數據流數據詞典。
1.數據流名稱:業績記錄表。
說明:每月執行一次,由各部門主管填寫本部門員工的業績;部門主管和。
公司高級管理人員則由總經理指定。
數據流來源:工資管理系統數據流去向:管理員2.數據流名稱:工資標準表。
包含結構:員工編號、姓名、基本工資、生活補貼、崗位補貼,還有一些其它的數據詞典,在此不一一列出。
3.6系統的性能需求。
1.硬件要求。設備名稱說明:處理器奔騰iii以上,256mb。內存256mb,內存越大,速度越快。硬盤40gb以上。
2.軟件要求。(1)windows以上操作系統,iis服務,配置。net框架。
(2)需要有一個數據庫服務器,提供數據庫的連接,這里選用。
microsoftsqlserver2000來為數據庫提供連接,當然要一臺計算機來運行程序。這樣就可以了。
4.總體設計。
要設計和詳細設計。首先做概要設計,它是將軟件的需求轉化為數據結構和軟件的系統結構。然后是詳細設計,即過程設計,通過對結構表示進行細化,得到軟件的詳細的數據結構和算法。
4.1系統結構的總體設計。
根據上面對需求的分析,我們可以得到系統的模塊層次結構,層次結構如下所示:
4.2各個模塊的功能描述如下4.2.1員工基本信息維護模塊。
信息子模塊。
4.2.2工資信息維護模塊。
本模塊的功能是能夠完成工資信息的輸入、修改和刪除等操作。它也包括兩個子模塊,輸入工資信息子模塊、修改工資信息子模塊和刪除工資信息子模塊。
4.2.3查詢信息模塊。
本模塊的功能是能夠對單個員工工資信息、員工基本信息情況、部門工資情況、總工資情況等進行單項查詢或者一定范圍查詢、多項查詢等。
4.2.4計算工資模塊。
本模塊的功能是能夠計算員工工資的獎金情況、計算員工的津貼情況、計算員工月工資、年工資及進行一些相應的統計計算等。它包括一些子模塊,如計算津貼子模塊、計算獎金子模塊、統計工資子模塊等。
4.2.5打印模塊。
本模塊的功能是能夠打印工資條以及一些部門報表、工資報表等,以反饋一些信息給員工。
4.2.6登陸模塊。
本模塊的功能是:根據員工的登陸時的輸入信息,看是否要讓該員工登陸系統。
主要是用戶登錄的一個界面,判斷登錄的用戶是管理員還是普通用戶,進入后將面對的是主界面,從而進行相關的操作。
登錄的界面主要由用戶名和密碼的信息,還有一些標題設置,確定和取消的按鈕組成。通過標題可以知道此系統的大概內容,由此,登錄界面的設計完成。
4.2.7退出模塊。
本模塊的功能是可以讓員工或管理員隨時利用該模塊退出系統。
5.詳細設計。
概要設計完成了軟件系統的總體設計,規定了各個模塊的功能及模塊之間的聯系,進一步就要考慮實現各個模塊規定的功能,這就是要進行詳細設計。在詳細設計階段,要決定名個模塊的實現算法,并精確地表達這些算法。下面主要實現一些重點模塊的算法。
5.1生成報表。
用jackson系統設計方法設計報表,如下所示:
5.2查詢模塊的詳細設計。
在該模塊中,要查詢信息,首先要進行登陸,然后輸入要查詢的信息,如員工號,接著系統連接數據庫,在數據庫中查找是否有和輸入信息相應的信息,如果有,則顯示相應的查找結果;如果沒有,則提示找不到相應的信息或者提示出錯。流程圖如下所示:
在完成了詳細設計、編碼之后,就要進入軟件測試階段了。軟件測試是指根據軟件開發各階段的規格說明各程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用途去運行程序,以發現程序錯誤的過程。軟件測試分為黑盒測試和白盒測試。黑盒測試主要看模塊的功能是否實現;白盒測試主要對模塊內部的檢查。
6.1黑盒測試。
黑盒測試主要是為了發現以下幾類錯誤:1)是否有不正確或遺漏了的功能。
6.2白盒測試。
白盒測試是對軟件的過程性細節做細致的檢查。白盒測試主要想對模塊進行如下的檢查:
1)對程序的模塊的所有獨立的執行路徑至少測試一次。
2)對所有的邏輯判定,取”真”與取”假”的兩種情況都能至少測試一次;3)在循環的邊界和運行界限內執行循環體;4)測試內部數據結構的有效性,等等。
因此在對程序進行白盒測試測試時,測試用例要有:條件組合覆蓋測試用例和路徑測試用例。
在測試完成之后,還要對程序進行調試。可用下面的幾種方法進行調試。
1)強行排錯:可以通過內存全部來排錯,也可在程序特定部位設置打印語句來排錯。
2)回溯法排錯。這是在小程序中常用的一種有效的排錯方法。3)歸納法排錯。它是一種從特殊推斷一般的系統化思考方法。4)演繹法排錯軟件工程課程設計報告等。
8.結論。
員工工資管理系統是一個典型的信息管理系統,通過軟件工程方面的選擇課題、需求分析、概要設計、詳細設計、程序模塊、系統測試等幾個步驟來實現。開發本系統的過程中,首先熟悉員工工資發放管理的流程、步驟;其次在系統需求分析過程中,要透過現象看本質,敏銳觀察到員工工資管理中存在的各種問題,并在總體設計把握好對問題的分析、理解,進而解決問題。
在我們的共同努力下,我們基本完成了這個系統。由于時間、條件和個人水平的限制,軟件相對較簡單,如果要將該軟件用于具體單位,還需針對單位的實際情況對軟件進行進一步的完善。
本軟件的特點和優點:
1.本軟件可以工資核算正確無誤、快速輸出,提高企業的管理水平和管理效率。2.可以對工資的各個項目隨時作增加和刪除。
3.可以分別查詢單個工人每個月的工資,包括工資的各個細節項目。4.可以查詢各部門以及全公司的員工的工資報表。
本軟件需要改進的地方有:
1.基本工資的設定太籠統,不能滿足有些單位的需要。2.員工管理部分比較少需要結合人事管理軟件使用。
4.軟件的界面美觀性方面需要很大的改進。5.幫助文檔比較簡單。
課程設計對一個學生來說是一個非常的重要的學習過程。從對powerdesigner,軟件開發過程的一知半解,到完成這個系統的基本設計,雖然這個系統還存在這樣那樣的缺點,但是我在專業知識方面學到的東西是非常多的。而設計過程中也遇到了很多的困難,在老師和同學的幫助之下最終我還是克服了困難完成了設計。這個過程更使我學到了面對困難應該持有的積極態度。
總的來說,這次的課程設計是非常有意義的,在我的人生學習的路上起到了一個里程碑的作用,讓我有一個質的飛躍!
衷心感謝何老師給予我們這次機會,讓我們對軟件的開發過程還是對程序的編寫步驟都有了更加深刻的認識。
9.參考文獻。
[1]楊文龍《軟件工程》,電子工業出版社,
[2]張國藩,《軟件工程》。北京:清華大學出版社,
[3]鄭人杰殷人昆陶永雷,《實用軟件件工程》.清華大學出版社,2001。
[4]薩師煊王珊,《數據庫系統概論》,高等教育出版社2003。
[5]丁寶康,《數據庫原理》,經濟科學出版社,2000。
[6]林福泉,《sqlserver中小企業實務應用》,中國鐵道出版社,2002。
[8]周紅芳,《powerdesigner基礎應用與系統開發》,電子工業出版社,
[10]薛華成,《管理信息系統》,清華大學出版社,2002。
[11]湯庸葉小平湯娜,《數據庫理論及應用基礎》,清華大學出版社,2004。
microstft編著。
[13]譚桂華魏亮,《visualc#高級編程范例》,清華大學出版社。
[14]章立民,《用實例學,電子工業出版社。
數據庫期末課程設計(匯總16篇)篇十六
兩個星期的時間非??炀瓦^去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到后面突然就發現自己一開始的設計有問題,然后又回去翻工,在各種反復中不斷完善自己的想法。
我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統是給誰用的。因為沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設計要特別注意這一塊的設計。
按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什么實際用處。沒有前期的調查,僅從指導書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周的時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言的規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規范性以及我們在編程時要有嚴謹的態度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的了解,通過導入表和刪除表、更改表學會了對于表的一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,為畢業設計打下基礎。
很多事情不是想象中的那么簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關系模型轉換的時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難的事在你嘗試之后你可能會發現原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我的最大感想!
以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在于如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現并不難,難的在于對市場的分析和準確定位。設計,是一個任重道遠的過程。
數據庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與斗志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡并期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到microsoft產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++里面的class,int,覺得vb的sub,var看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“.net是用于創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由于對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本數據庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是數據庫站出來的時候啦,于是我又裝上了sqlserver2019,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校后,隨著這學期的數據庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什么就學什么。我們有時候很容易被一些專業名詞說嚇著,包括什么建模,軟件工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,justdoit!我記得我做這個數據庫之前,我們老師說要做好前期分析,我就在網上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網去搜索,這是一個信息橫流的世界,有google,baidu就沒有不能解決的知識難題。以及后來的數據庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什么架構,c/s模式?模式有很多,怎么選擇?我就上網搜索現在最流行的架構是什么。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。justdoit!前期工作準備好后,加以實踐。這個時候我更加深入的了解了利用操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次數據庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數據庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次數據庫課程設計,不過這只是我學習路上的驛站,的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,justdoit!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!
我很慶幸我參加了這次數據庫大賽,讓我確實打開了眼界。
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間??傮w上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義??赡芫拖瘛胺妒讲惶菀子猛ㄋ滓锥姆绞浇忉尅币粯?,在“讓工具用圖標表述我的思維”時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡“學以致用”,而且這樣的“數據驅動型”軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。
編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交“可運行的代碼”。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實“遇到的問題數跟人的能力是成正比的”。