範文齋

位置:首頁 > 個人範文 > 心得體會

2016年數據庫課程設計心得體會範文

數據庫課程設計心得體會

2016年數據庫課程設計心得體會範文

由於平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規範化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬於比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者後更是如此。

雖然這次是一個數據庫課程設計,由於本人在選擇項目的時候是本着對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對於ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對於相當有經驗的架構師一類人說可能會很容易,但是我們作爲學生,連足夠的編碼經驗都沒有,卻首先被教授並要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利於項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程並不會太短。

回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我並沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化爲圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨着我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行爲,很多次我能深切感覺到,其實我的大腦(未於別人比較)本身就是在使用一種更接近關係數據庫的方式來記憶,所以我很可恨自然的設計出符合三範式的表結構來,即便我不知道這些範式的確切含義。可能就像“範式不太容易用通俗易懂的方式解釋”一樣,在“讓工具用圖標表述我的思維”時費了一番力氣。

從我作爲項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因佔多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:

使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。

使用了新的開發語言(python,actionscript3),因爲我一直比較喜歡“學以致用”,而且這樣的“數據驅動型”軟件的整套自實現的庫都已經完成了,但是由於語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩餘時間了。

編碼流程的不妥,我比較喜歡從底層的庫開始開發,因爲一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交“可運行的代碼”。

實踐目的的不同,我輕易不放棄鍛鍊的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因爲現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以爲自己很了不起,其實“遇到的問題數跟人的能力是成正比的”。

數據庫課程設計心得體會

兩個星期的時間非常快就過去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是瞭解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。

通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用於實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。

從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看着也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到後面突然就發現自己一開始的設計有問題,然後又回去翻工,在各種反覆中不斷完善自己的想法。

我想有這樣的問題不止我一個,事後想想是一開始着手做的時候下手過於輕快,或者說是根本不瞭解自己要做的這個系統是給誰用的。因爲沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什麼功能就忙着開發,這是作爲設計開發人員需要特別警惕避免的,不然會給後來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以後的課程設計要特別注意這一塊的設計。

按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎麼一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什麼實際用處。沒有前期的調查,僅從指導書上那幾條要求着手是不夠的。

在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,採用client/server結構,將機票預定系統劃分爲兩個子系統:客戶端子系統,服務器端子系統。在兩週的時間裏,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由於忘記了一些java語言的規範使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規範性以及我們在編程時要有嚴謹的'態度,同時在寫程序時如有一定量的註釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。

我們學習並應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的瞭解,通過導入表和刪除表、更改表學會了對於表的一些操作,爲了建立一個關係數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,爲畢業設計打下基礎。

很多事情不是想象中的那麼簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺後面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關係模型轉換的時候碰到有些實體即可以認爲是實體又可以作爲屬性,爲了避免冗餘,儘量按照屬性處理了。

物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最後才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最後別忘記重要的安全性設置,限制用戶訪問權限,新建用戶並和數據庫用戶做相應的映射。

不管做什麼,我們都要相信自己,不能畏懼,不能怕遇到困難,什麼都需要去嘗試,有些你開始認爲很難的事在你嘗試之後你可能會發現原來她並沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以後從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇於嘗試,這是這次課程設計給我的最大感想!

以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在於如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現並不難,難的在於對市場的分析和準確定位。設計,是一個任重道遠的過程。