學習中的快樂,產生于對學習內容的興趣和深入。世上所有的人都是喜歡學習的,只是學習的方法和內容不同而已。心得體會對于我們是非常有幫助的,可是應該怎么寫心得體會呢?下面是小編幫大家整理的優秀心得體會范文,供大家參考借鑒,希望可以幫助到有需要的朋友。
數據庫課程設計的心得體會篇一
一周的課程設計結束了,在這次的課程設計中不僅檢驗了我所學習的知識,也培養了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情的.方法和技巧。在設計過程中,和同學們相互探討,相互學習,相互監督。我學會了運籌帷幄,學會了寬容,學會了理解,也學會了做人與處世,這次課程設計對我來說受益良多。
課程設計是我們專業課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業工作前一個必不少的過程。“千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義。我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩健地在社會大潮中奔跑打下堅實的基礎。我這次設計的科目是數據結。
數據結構,是一門研究非數值計算的程序設計問題中計算機的操作對象(數據元素)以及它們之間的關系和運算等的學科,而且確保經過這些運算后所得到的新結構仍然是原來的結構類型。“數據結構”在計算機科學中是一門綜合性的專業基礎課。數據結構是介于數學、計算機硬件和計算機軟件三者之間的一門核心課程。數據結構這一門課的內容不僅是一般程序設計(特別是非數值性程序設計)的基礎,而且是設計和實現編譯程序、操作系統、數據庫系統及其他系統程序的重要基礎。通過這次模具設計,我在多方面都有所提高。
在界面設置中使用函數調用while。其中文本顯示顏色和背景顏色都可以任意按照自己的喜好,任意改變,但改變的時候必須采用標準英文大寫,同時在制作顯示菜單的窗口,大小根據菜單條數設計。最后采用printf輸出程序設計界面。
這次的程序軟件基本上運行成功,可以簡單的建立鏈式循環鏈表,并進行輸出,及循環語句的運用和選擇語句的控制。由于時間和知識上的限制,使得程序規模相對較小,即功能還不很全面,應用也不很普遍。原來c語言可是涉及很多知識,而不是枯燥無聊的簡單的代碼部分而已,利用c語言方面的知識,我們可以設計出更完善的軟件。
通過這次的課程設計,更是讓我深刻認識到自己在學習中的不足,同時也找到了克服這些不足的方法,這也是一筆很大的資源。在以后的時間中,我們應該利用更多的時間去上機實驗,加強自學的能力,多編寫程序,相信不久后我們的編程能力都會有很大的提高能設計出更多的更有創新的作品。
數據庫課程設計的心得體會篇二
做了一個星期的程序設計終于做完了,在這次程序設計課中,真是讓我獲益匪淺,我突然發現寫程序還挺有意思的。
由于上學期的c語言跟這學期的數據結構都算不上真正的懂,對于書上的稍微難點的知識就是是而非的,所以我只是對老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當我第一天坐在那里的時候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學過的知識。
通過這次的程序設計,發現一個程序設計就是算法與數據結構的結合體,自己也開始對程序產生了前所未有的興趣,以前偷工減料的學習也不可能一下子寫出一個程序出來,于是我就認真看老師寫的程序,發現我們看懂了一個程序其實不難,難的是對于一個程序的思想的理解,我們要掌握一個算法,不僅僅限于讀懂,主要的是要理解老師的思路,學習老師的解決問題的方法。
這次試驗中,我發現書本上的知識是一個基礎,但是我基礎都沒掌握,更別說寫出一個整整的程序了。自己在寫程序的時候,也發現自己的知識太少了,特別是基礎知識很多都是模模糊糊的一個概念,沒有落實到真正的程序,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對于書本上的知識沒掌握好。在飯后閑暇時間我也總結了一下,自己以前上課也認真的聽了,但是還是寫不出來,這主要歸結于自己的練習太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現了很多的問題,不斷的修改就是不斷的學習過程,當我們全身心的投入其中時,實際上是一件很有樂趣的事情。
對于以后的學習有了幾點總結:
第三,多做習題,看題型,針對題型來有選擇復習;
數據結構看上去很復雜,但你靜下心來把書掃上幾遍,分解各個知識點,這一下來,學數據結構的思路就會很清晰了。
數據庫課程設計心得體會篇本程序以c語言的棧的相關知識為基礎,通過控制兩個棧(運算數棧和運算符棧)的進出的棧操作,來實現對包含加、減、乘、除、括號運算符及sqrt和abs函數的任意整型表達式的求解運算。
從程序的編寫來看,感覺這次自己真的`學到了好多,特別是對程序的開發流程。從最初的選定程序,到最終的程序運行成功,讓我感到如果是僅僅掌握課本上的知識是遠遠不能夠很好的應用到實際的編程中去的。在這個過程中還需要我們更多的去考慮到實際條件的種種限制和約束。
我在寫本程序的過程中也遇到了很多的問題,當然本程序的核心問題就是對兩個棧的壓出棧操作,需要做優先級判斷,并要考慮什么時候進棧,什么時候出棧等操作。我采用了課本上第52-54頁講的通過一個二維字符串數組來控制比較“+-__、()as=”共9個運算符的優先級控制。對異常,如除數為0、被開方數小于0等異常也進行了精心的處理。對操作過程中要用到的y、n、a、s等字符也進行了改進,最終本程序可以不區分大小寫就完成相關操作。
總之,經過本次專業課程設計,讓我掌握了開發應用軟件的基本流程,運用所學編程技能的基本技巧,也讓我初步了解了軟件設計的基本方法,提高進行工程設計的基本技能及分析、解決實際問題的能力,為以后畢業設計和工程實踐等打下良好的基礎。相信通過這次的課程設計,我對所學的《數據結構(c語言版)》和各種編程語言都有了一個全新的認識。我也會積極吸取本次課程設計的經驗,繼續研究數據結構和所學的各種編程語言。
數據庫課程設計的心得體會篇三
本文目錄
數據庫課程設計心得體會
數據庫課程設計心得體會
兩個星期的時間非常快就過去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到后面突然就發現自己一開始的設計有問題,然后又回去翻工,在各種反復中不斷完善自己的想法。
我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統是給誰用的。因為沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設計要特別注意這一塊的設計。
按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什么實際用處。沒有前期的調查,僅從指導書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周的時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言的規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規范性以及我們在編程時要有嚴謹的態度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的了解,通過導入表和刪除表、更改表學會了對于表的一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,為畢業設計打下基礎。
很多事情不是想象中的那么簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關系模型轉換的時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難的事在你嘗試之后你可能會發現原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我的最大感想!
以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在于如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現并不難,難的在于對市場的分析和準確定位。設計,是一個任重道遠的過程。
數據庫課程設計心得體會2篇 |
返回目錄
首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到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的過程!)
數據庫課程設計的心得體會篇四
這次數據庫課程設計用的是microsoftvisualfoxpro6.0,而我們平時用的microsoftsqlserver,雖然對vfp完全陌生,但在老師的指引下,我們近乎完美的完成了課程設計。當然過程是艱辛的。
面對著完全陌生的操作環境vfp,許多同學開始埋怨,要求用sql,用我們學過的asp等來完成設計。但我們慢慢發現用vfp做課程設計其實很有優勢,于是它的這個優勢激發了我們去了解它的欲望。老師先將vfp中基本的建數據庫,建表以及建表單等向我們演示了一遍,我們也仿照著做了,發覺并不是很難。但想到這次課程設計做的是一套學生學籍和成績管理系統,我們又開始茫然了。那天,老師給我們看了一段可以讓文字循環移動的代碼,這使我們產生了好奇心理,有了快速了解它的沖動。因為用面向對象的語言做特效,這還是第一次。下課之后我把那段我們不了解的語言寫的特效代碼發到了vfp論壇上請人幫忙解釋,最后我們完全理解了那段代碼的意思。
這次課程設計我們克服了炎熱的天氣(學校機房之前沒裝空調……后來設計完才裝……),也克服對新知識的恐懼感以及畏難情緒。我們懂得了團隊合作的重要性,也懂得了團隊中如何交流、如何分工,如何集體討論難點。我們充分利用了網絡資源(技術論壇,共享的實例等)。
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義。可能就像"范式不太容易用通俗易懂的方式解釋"一樣,在"讓工具用圖標表述我的思維"時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡"學以致用",而且這樣的"數據驅動型"軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。
編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交"可運行的代碼"。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實"遇到的問題數跟人的能力是成正比的"。
數據庫課程設計的心得體會篇五
今天進行了一次完整的數據庫設計的過程,其實一直來說我都是非常害怕數據庫的設計的,因為在剛剛接觸的時候,我就知道,數據庫設計其實是一個項目的開端,因為數據庫設計實際上就是業務的設計,在需求清晰的時候,完成清晰流暢的業務設計又是一大難點。
一下為我自己的心得經驗希望大家批評指正!
數據庫設計應該遵循以下幾個原則:
對需求的認知完全沒有歧義;
有時更加困難的是一個實體會發生多個維度的分類,那么就把他的拆分維度一一分開;
“頻道”概念在消息分發時是一個非常靈活的概念;
總結,其實我在今天的數據庫設計中就學習到這些,學習是一個逐漸進步的過程,也是一個自我折磨的過程,希望我可以在這條路上走的再遠一點。
數據庫課程設計的心得體會篇六
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義。可能就像"范式不太容易用通俗易懂的方式解釋"一樣,在"讓工具用圖標表述我的思維"時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡"學以致用",而且這樣的"數據驅動型"軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。
編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交"可運行的代碼"。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實"遇到的問題數跟人的能力是成正比的"。
數據庫課程設計的心得體會篇七
兩個星期的時間非常快就過去了,這兩個星期不敢說自己有多大的進步,獲得了多少知識,但起碼是了解了項目開發的部分過程。雖說上過數據庫上過管理信息系統等相關的課程,但是沒有親身經歷過相關的設計工作細節。這次實習證實提供了一個很好的機會。
通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不少很實用的東西。
從各種文檔的閱讀到開始的需求分析、概念結構設計、邏輯結構設計、物理結構設計。親身體驗了一回系統的設計開發過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設計一個系統的時候才發現其中的難度。經常做到后面突然就發現自己一開始的設計有問題,然后又回去翻工,在各種反復中不斷完善自己的想法。
我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統是給誰用的。因為沒有事先做過仔細的用戶調查,不知道整個業務的流程,也不知道用戶需要什么功能就忙著開發,這是作為設計開發人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設計要特別注意這一塊的設計。
按照要求,我們做的是機票預訂系統。說實話,我對這個是一無所知的,沒有訂過機票,也不知道航空公司是怎么一個流程。盲目開始設計的下場我已經嘗過了,結果就是出來一個四不像的設計方案,沒有什么實際用處。沒有前期的調查,僅從指導書上那幾條要求著手是不夠的。
在需求分析過程中,我們通過上網查資料,去圖書館查閱相關資料,結合我們的生活經驗,根據可行性研究的結果和客戶的要求,分析現有情況及問題,采用client/server結構,將機票預定系統劃分為兩個子系統:客戶端子系統,服務器端子系統。在兩周的時間里,不斷地對程序及各模塊進行修改、編譯、調試、運行,其間遇到很多問題:由于忘記了一些java語言的規范使得在調試過程中一些錯誤沒有發現,通過這次課程設計,我對調試掌握得更加熟練了,意識到了程序語言的規范性以及我們在編程時要有嚴謹的態度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。
我們學習并應用了sql語言,對數據庫的創建、修改、刪除方法有了一定的了解,通過導入表和刪除表、更改表學會了對于表的一些操作,為了建立一個關系數據庫信息管理系統,必須得經過系統調研、需求分析、概念設計、邏輯設計、物理設計、系統調試、維護以及系統評價的一般過程,為畢業設計打下基礎。
很多事情不是想象中的那么簡單的,它涉及到的各種實體、屬性、數據流程、數據處理等等。很多時候感覺后面的設計根本無法繼續,感覺像是被前面做的各種圖限制了。在做關系模型轉換的時候碰到有些實體即可以認為是實體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。
物理結構設計基本沒有碰到問題,這一塊和安全性、完整性不覺就會在物理結構設計中添加一些安全設置:主鍵約束、check約束、default定義等。最后才做索引的部分,對一些比較經常使用搜索的列,外鍵上建立索引,這樣可以明顯加快檢索的速度,最后別忘記重要的安全性設置,限制用戶訪問權限,新建用戶并和數據庫用戶做相應的映射。
不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認為很難的事在你嘗試之后你可能會發現原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標,沒有信心就不可能把事情做好,當其他人都在迷茫的時候,自己一定要堅信目標,大學畢業出去即面臨找工作,從學習這個專業,到以后從事這方面的工作都需要不斷地去學習去實踐,這次實踐可以給我們敲一個警鐘,我們面臨畢業,面臨擇業,需要這些實踐經驗,在困難面前要勇于嘗試,這是這次課程設計給我的最大感想!
以上基本是這次實習的體會了,設計進行的非常艱難,編碼非常不容易,才發現做一個項目最重要的不在于如何實現,而是實現之前的需求分析和模塊設計。創新很難,有些流行的系統其實現并不難,難的在于對市場的分析和準確定位。設計,是一個任重道遠的過程。
數據庫課程設計大賽的塵囂漸漸遠去,懷著對這次大賽的些許不舍,懷著對當初課程設計開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設計積累的信心與斗志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡并期望與大家共勉。
首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到microsoft 產品。那個時候我已經學過vc和asp,因為windows程序設計實驗的課的關系,接觸過vb,但是沒有專門去學他,因為習慣了c++里面的class,int,覺得vb的sub,var 看著就不是很順心。我是一個好奇心很強的人,突然看到了一個號稱“.net是用于創建下一代應用程序的理想而又現實的開發工具”,而且主推c#語言,由于對c語言的一貫好感,我幾乎是立刻對他產生了興趣。我就開始了對c#的學習,任何語言都不是孤立存在的,所以數據交互是很重要的,暑假的時候我把我們這學期的課本數據庫系統概論看了一遍。我記得以前用c語言編程的時候,數據是在內存中申請空間,譬如使用數組等等。很耗費內存空間。這個時候就是數據庫站出來的時候啦,于是我又裝上了sql server2019,以前學asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。
通過一個暑假的學習,基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學期的課程設計打下了鋪墊。
來到學校后,隨著這學期的數據庫課程大賽開始了,我有一個看法就是我自己應該具備的能力不是我會多少,而是我應該具備快速學會東西的能力。遇到什么就學什么。我們有時候很容易被一些專業名詞說嚇著,包括什么建模,軟件工程,數據分析,數據挖掘等等。我身邊就有很多同學被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發明工具是很難,但是用一個工具就容易多了,just do it!我記得我做這個數據庫之前,我們老師說要做好前期分析,我就在網上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網去搜索,這是一個信息橫流的世界,有google,baidu就沒有不能解決的知識難題。以及后來的數據庫分析的時候用到的powerdesigner也是一樣。
開發的時候我想過用什么架構,c/s模式?模式有很多,怎么選擇?我就上網搜索現在最流行的架構是什么。結果搜到了mvc架構,就是你啦。我決定用這個架構,不會,沒關系,咱學。just do it!前期工作準備好后,加以實踐。這個時候我更加深入的了解了利用操縱數據庫的知識。并且對數據庫里面的存儲過程有了比較深入的了解。經過大概2個多星期的奮斗,數據集的圖書館管理系統。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術應用獎。
與其臨淵羨魚,不如退而結網。這次數據庫課程設計給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數據庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術的好奇,出于對一切未知的求知。我完成了這次數據庫課程設計,不過這只是我學習路上的驛站,的核心技術就是xml[至少微軟是這么宣傳的],我會繼續學習它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just do it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學習思想。古語說的好:學無止境啊!
我很慶幸我參加了這次數據庫大賽,讓我確實打開了眼界。
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我——針對探究型項目——的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義。可能就像“范式不太容易用通俗易懂的方式解釋”一樣,在“讓工具用圖標表述我的思維”時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡“學以致用”,而且這樣的“數據驅動型”軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。
編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交“可運行的代碼”。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實“遇到的問題數跟人的能力是成正比的”。
數據庫課程設計的心得體會篇八
由于平時接觸的都是一些私人項目,這些項目大都是一些類庫,其他人的交流相對可以忽略不計,因此也就不考慮規范化的文檔。實際上從學習的經歷來看,我們接觸的知識體系都是屬于比較老或比較傳統的,與現在發展迅速的it行業相比很多情況已不再適用,尤其是當開源模式逐漸走近開發者后更是如此。
雖然這次是一個數據庫課程設計,由于本人在選擇項目的時候是本著對自己有實際應用價值的角度考慮的,所以其中也涉及到一些數據庫以外的設計。對于ooa/ood的開發模式有時不免要提出一些疑問,uml是設計階段的工具,而它基本涵蓋了軟件設計的方方面面,也就是說按照這一軟件工程的正常流程,在動手寫第一句代碼之前,開發人員已經非常熟悉軟件產品了,這對于相當有經驗的架構師一類人說可能會很容易,但是我們作為學生,連足夠的編碼經驗都沒有,卻首先被教授并要求先ooa再oop,這樣直接導致的。問題就是文檔與編碼對不上號,在修改代碼的時候基本不會再去審查文檔和先前的分析。甚至根本就是現有代碼再有文檔,即便是這種情況,代碼與文檔還是不對應。不可否認,在傳統軟件工程的詳細設計之前的項目過程中還是有很多利于項目開發的部分的。所以我就一直在尋找適合我針對探究型項目的開發模式,這次的項目也算是一次嘗試,當然這個過程并不會太短。
回到數據庫設計上了,這次的數據庫設計我是嚴格按照數據庫建模的步驟來進行的,老實說我并沒有感覺這樣的流程對開發帶來多大的幫助,反倒是覺得將思維轉化為圖表很浪費時間。總體上來說這次的項目也不是很大,而且在數據庫的設計上比較保守,也就是說實際上數據庫設計還可以再完善完善的。隨著我對計算機領域的拓寬和加深,我也會靜下心來思考在接觸計算機之前的行為,很多次我能深切感覺到,其實我的大腦(未于別人比較)本身就是在使用一種更接近關系數據庫的方式來記憶,所以我很可恨自然的設計出符合三范式的表結構來,即便我不知道這些范式的確切含義。可能就像范式不太容易用通俗易懂的方式解釋一樣,在讓工具用圖標表述我的思維時費了一番力氣。
從我作為項目的提出人和實現者來看,這是個失敗的項目,結合幾次教學項目的的實踐,發現這也已經不是第一次了。主觀原因占多數,比如,嘗試新的開發方式,根據設計花了太多的時間來抽象出公用的庫而忽略業務邏輯。就這次項目而言,失敗的原因有以下幾點:
使用了新的開發環境(vim),這是首次在脫離高級ide的情況下編碼。
使用了新的開發語言(python,actionscript3),因為我一直比較喜歡學以致用,而且這樣的數據驅動型軟件的整套自實現的庫都已經完成了,但是由于語言本身的差異,遷移時問題很多,當發現這一點是,已沒有多少有效剩余時間了。編碼流程的不妥,我比較喜歡從底層的庫開始開發,因為一旦庫測試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導致整個項目沒有任何可視化模型,所以這次的項目無法提交可運行的代碼。
實踐目的的不同,我輕易不放棄鍛煉的機會,事實上,有機會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因為現在能完全用來的學習的時間比較多,等到工作時再這樣做的可能性就很小了,因此當然要抓緊機會了。不過還有一個隱藏原因,總以為自己很了不起,其實遇到的問題數跟人的能力是成正比的。