手機(jī)閱讀

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲(優(yōu)質(zhì)10篇)

格式:DOC 上傳日期:2023-11-20 14:26:55 頁碼:8
數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲(優(yōu)質(zhì)10篇)
2023-11-20 14:26:55    小編:ZTFB

心得體會是我們對于一段經(jīng)歷的感悟和總結(jié)。寫心得體會時要注意避免主觀偏差,多方面、客觀地分析問題。小編為大家準(zhǔn)備了幾篇優(yōu)秀的心得體會,希望能夠給大家提供一些寫作靈感。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇一

兩個星期時間非常快就過去了,這兩個星期不敢說自己有多大進(jìn)步,獲得了多少知識,但起碼是了解了項(xiàng)目開發(fā)部分過程。雖說上過數(shù)據(jù)庫上過管理信息系統(tǒng)等相關(guān)課程,但是沒有親身經(jīng)歷過相關(guān)設(shè)計(jì)工作細(xì)節(jié)。這次實(shí)習(xí)證實(shí)提供了一個很好機(jī)會。

通過這次課程設(shè)計(jì)發(fā)現(xiàn)這其中需要很多知識我們沒有接觸過,去圖書館查資料時候發(fā)現(xiàn)我們前邊所學(xué)到僅僅是皮毛,還有很多需要我們掌握東西我們根本不知道。同時也發(fā)現(xiàn)有很多已經(jīng)學(xué)過東西我們沒有理解到位,不能靈活運(yùn)用于實(shí)際,不能很好用來解決問題,這就需要我們不斷大量實(shí)踐,通過不斷自學(xué),不斷地發(fā)現(xiàn)問題,思考問題,進(jìn)而解決問題。在這個過程中我們將深刻理解所學(xué)知識,同時也可以學(xué)到不少很實(shí)用東西。從各種文檔閱讀到開始需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。親身體驗(yàn)了一回系統(tǒng)設(shè)計(jì)開發(fā)過程。很多東西書上寫很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設(shè)計(jì)一個系統(tǒng)時候才發(fā)現(xiàn)其中難度。經(jīng)常做到后面突然就發(fā)現(xiàn)自己一開始設(shè)計(jì)有問題,然后又回去翻工,在各種反復(fù)中不斷完善自己想法。

我想有這樣問題不止我一個,事后想想是一開始著手做時候下手過于輕快,或者說是根本不了解自己要做這個系統(tǒng)是給誰用。因?yàn)闆]有事先做過仔細(xì)用戶調(diào)查,不知道整個業(yè)務(wù)流程,也不知道用戶需要什么功能就忙著開發(fā),這是作為設(shè)計(jì)開發(fā)人員需要特別警惕避免,不然會給后來工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后課程設(shè)計(jì)要特別注意這一塊設(shè)計(jì)。

按照要求,我們做是機(jī)票預(yù)訂系統(tǒng)。說實(shí)話,我對這個是一無所知,沒有訂過機(jī)票,也不知道航空公司是怎么一個流程。盲目開始設(shè)計(jì)下場我已經(jīng)嘗過了,結(jié)果就是出來一個四不像設(shè)計(jì)方案,沒有什么實(shí)際用處。沒有前期調(diào)查,僅從指導(dǎo)書上那幾條要求著手是不夠。

在需求分析過程中,我們通過上網(wǎng)查資料,去圖書館查閱相關(guān)資料,結(jié)合我們生活經(jīng)驗(yàn),根據(jù)可行性研究結(jié)果和客戶要求,分析現(xiàn)有情況及問題,采用client/server結(jié)構(gòu),將機(jī)票預(yù)定系統(tǒng)劃分為兩個子系統(tǒng):客戶端子系統(tǒng),服務(wù)器端子系統(tǒng)。在兩周時間里,不斷地對程序及各模塊進(jìn)行修改、編譯、調(diào)試、運(yùn)行,其間遇到很多問題:由于忘記了一些java語言規(guī)范使得在調(diào)試過程中一些錯誤沒有發(fā)現(xiàn),通過這次課程設(shè)計(jì),我對調(diào)試掌握得更加熟練了,意識到了程序語言規(guī)范性以及我們在編程時要有嚴(yán)謹(jǐn)態(tài)度,同時在寫程序時如有一定量注釋,既增加了程序可讀性,也可以使自己在讀程序時更容易。

我們學(xué)習(xí)并應(yīng)用了sql語言,對數(shù)據(jù)庫創(chuàng)建、修改、刪除方法有了一定了解,通過導(dǎo)入表和刪除表、更改表學(xué)會了對于表一些操作,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評價一般過程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。

很多事情不是想象中那么簡單,它涉及到各種實(shí)體、屬性、數(shù)據(jù)流程、數(shù)據(jù)處理等等。很多時候感覺后面設(shè)計(jì)根本無法繼續(xù),感覺像是被前面做各種圖限制了。在做關(guān)系模型轉(zhuǎn)換時候碰到有些實(shí)體即可以認(rèn)為是實(shí)體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。

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

不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認(rèn)為很難事在你嘗試之后你可能會發(fā)現(xiàn)原來她并沒有你以前覺得那樣,自己也是可以。如果沒有自信,沒有目標(biāo),沒有信心就不可能把事情做好,當(dāng)其他人都在迷茫時候,自己一定要堅(jiān)信目標(biāo),大學(xué)畢業(yè)出去即面臨找工作,從學(xué)習(xí)這個專業(yè),到以后從事這方面工作都需要不斷地去學(xué)習(xí)去實(shí)踐,這次實(shí)踐可以給我們敲一個警鐘,我們面臨畢業(yè),面臨擇業(yè),需要這些實(shí)踐經(jīng)驗(yàn),在困難面前要勇于嘗試,這是這次課程設(shè)計(jì)給我最大感想!

以上基本是這次實(shí)習(xí)體會了,設(shè)計(jì)進(jìn)行非常艱難,編碼非常不容易,才發(fā)現(xiàn)做一個項(xiàng)目最重要不在于如何實(shí)現(xiàn),而是實(shí)現(xiàn)之前需求分析和模塊設(shè)計(jì)。創(chuàng)新很難,有些流行系統(tǒng)其實(shí)現(xiàn)并不難,難在于對市場分析和準(zhǔn)確定位。設(shè)計(jì),是一個任重道遠(yuǎn)過程。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇二

在這次課程設(shè)計(jì)中,我們小組設(shè)計(jì)的是一個倉庫管理系統(tǒng),通過設(shè)計(jì)這個系統(tǒng),可以更方便地實(shí)現(xiàn)信息的瀏覽,查詢,添加等操作和報表輸出等功能,具體包括能實(shí)現(xiàn)產(chǎn)品入庫管理,可以填寫入庫單,確認(rèn)產(chǎn)品入庫;產(chǎn)品出庫管理,可以填寫出庫單,確認(rèn)出庫;借出管理,憑借條借出,然后能夠還庫;初始庫存設(shè)置,設(shè)置庫存的初始值,庫存的上下警戒限;可以進(jìn)行盤庫,反映每月,年的庫存情況;可以查詢產(chǎn)品入庫情況,出庫情況,當(dāng)前庫存情況,可以按出庫單,入庫單,產(chǎn)品,時間進(jìn)行查詢;雖然這個系統(tǒng)的功能還不是很完善,還有很多功能尚未實(shí)現(xiàn),但這也是我們共同努力的結(jié)果,只要有更多的時間,我相信我們能完成的更好。

通過這次將近一個星期的課程設(shè)計(jì)實(shí)訓(xùn),我對數(shù)據(jù)庫在生活中的廣泛應(yīng)用有了更深的體會,同時也加深了對access20xx的認(rèn)識,了解了相關(guān)的access的知識,尤其是對數(shù)據(jù)庫的`原理與開發(fā)程序的應(yīng)用有了更進(jìn)一步的認(rèn)識和了解。由于不會vb編程,很多功能實(shí)現(xiàn)起來很困難,但好在access有查詢、宏和窗體,特別是宏操作可以將幾個操作結(jié)合在一起,可以執(zhí)行多個查詢,可以調(diào)用多次窗體。例如,在某個窗體中要顯示設(shè)備代碼表信息,所以這個窗體中建立一個子窗體用于設(shè)備代碼表的顯示,我們打開窗體后又對設(shè)備代碼表進(jìn)行了跟新,所以窗體中顯示的并不是最新數(shù)據(jù),我們往往需要及時看到設(shè)備代碼表跟新后的最新數(shù)據(jù),窗體不會自動跟新我們就不會看到最新數(shù)據(jù),所以這時候我們就會用一個宏操作在對設(shè)備代碼表跟新之后關(guān)閉窗體在打開窗體,這樣窗體就相當(dāng)于完成了一次跟新操作。又例如,在一個表a中剛剛追加了一條記錄,我們要將每次剛剛新添加的記錄跟新到另一個表b中,用一個查詢是很難完成的,經(jīng)過認(rèn)真思考,得到了解決的辦法是,需要三個步驟,第一步,在表a中添加標(biāo)志字段,設(shè)置默認(rèn)值為‘否’。第二步,編寫跟新查詢將標(biāo)志字段為‘否’的數(shù)據(jù)跟新到表b中。第三步,編寫跟新查詢將表a中標(biāo)志字段為‘否’的跟新為‘是’。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇三

做了一個星期的程序設(shè)計(jì)終于做完了,在這次程序設(shè)計(jì)課中,真是讓我獲益匪淺,我突然發(fā)現(xiàn)寫程序還挺有意思的。

由于上學(xué)期的c語言跟這學(xué)期的數(shù)據(jù)結(jié)構(gòu)都算不上真正的懂,對于書上的稍微難點(diǎn)的知識就是是而非的,所以我只是對老師的程序理解,我也試著去改變了一些變量,自己也盡量多的去理解老師做程序的思路。當(dāng)我第一天坐在那里的時候,我就不知道該做些什么,后來我只有下來自己看了一遍書來熟悉下以前學(xué)過的知識。

通過這次的程序設(shè)計(jì),發(fā)現(xiàn)一個程序設(shè)計(jì)就是算法與數(shù)據(jù)結(jié)構(gòu)的結(jié)合體,自己也開始對程序產(chǎn)生了前所未有的興趣,以前偷工減料的學(xué)習(xí)也不可能一下子寫出一個程序出來,于是我就認(rèn)真看老師寫的程序,發(fā)現(xiàn)我們看懂了一個程序其實(shí)不難,難的是對于一個程序的思想的理解,我們要掌握一個算法,不僅僅限于讀懂,主要的是要理解老師的思路,學(xué)習(xí)老師的解決問題的方法。

這次試驗(yàn)中,我發(fā)現(xiàn)書本上的知識是一個基礎(chǔ),但是我基礎(chǔ)都沒掌握,更別說寫出一個整整的程序了。自己在寫程序的時候,也發(fā)現(xiàn)自己的知識太少了,特別是基礎(chǔ)知識很多都是模模糊糊的一個概念,沒有落實(shí)到真正的程序,所以自己寫的時候也感到萬分痛苦,基本上涉及一個知識我就會去看看書,對于書本上的知識沒掌握好。在飯后閑暇時間我也總結(jié)了一下,自己以前上課也認(rèn)真的聽了,但是還是寫不出來,這主要?dú)w結(jié)于自己的練習(xí)太少了,而且也總是半懂就不管了。在改寫老師的程序中也出現(xiàn)了很多的問題,不斷的修改就是不斷的學(xué)習(xí)過程,當(dāng)我們?nèi)硇牡耐度肫渲袝r,實(shí)際上是一件很有樂趣的事情。

對于以后的學(xué)習(xí)有了幾點(diǎn)總結(jié):

第三,多做習(xí)題,看題型,針對題型來有選擇復(fù)習(xí);

數(shù)據(jù)結(jié)構(gòu)看上去很復(fù)雜,但你靜下心來把書掃上幾遍,分解各個知識點(diǎn),這一下來,學(xué)數(shù)據(jù)結(jié)構(gòu)的思路就會很清晰了。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會篇本程序以c語言的棧的相關(guān)知識為基礎(chǔ),通過控制兩個棧(運(yùn)算數(shù)棧和運(yùn)算符棧)的進(jìn)出的棧操作,來實(shí)現(xiàn)對包含加、減、乘、除、括號運(yùn)算符及sqrt和abs函數(shù)的任意整型表達(dá)式的求解運(yùn)算。

從程序的編寫來看,感覺這次自己真的`學(xué)到了好多,特別是對程序的開發(fā)流程。從最初的選定程序,到最終的程序運(yùn)行成功,讓我感到如果是僅僅掌握課本上的知識是遠(yuǎn)遠(yuǎn)不能夠很好的應(yīng)用到實(shí)際的編程中去的。在這個過程中還需要我們更多的去考慮到實(shí)際條件的種種限制和約束。

我在寫本程序的過程中也遇到了很多的問題,當(dāng)然本程序的核心問題就是對兩個棧的壓出棧操作,需要做優(yōu)先級判斷,并要考慮什么時候進(jìn)棧,什么時候出棧等操作。我采用了課本上第52-54頁講的通過一個二維字符串?dāng)?shù)組來控制比較“+-__、()as=”共9個運(yùn)算符的優(yōu)先級控制。對異常,如除數(shù)為0、被開方數(shù)小于0等異常也進(jìn)行了精心的處理。對操作過程中要用到的y、n、a、s等字符也進(jìn)行了改進(jìn),最終本程序可以不區(qū)分大小寫就完成相關(guān)操作。

總之,經(jīng)過本次專業(yè)課程設(shè)計(jì),讓我掌握了開發(fā)應(yīng)用軟件的基本流程,運(yùn)用所學(xué)編程技能的基本技巧,也讓我初步了解了軟件設(shè)計(jì)的基本方法,提高進(jìn)行工程設(shè)計(jì)的基本技能及分析、解決實(shí)際問題的能力,為以后畢業(yè)設(shè)計(jì)和工程實(shí)踐等打下良好的基礎(chǔ)。相信通過這次的課程設(shè)計(jì),我對所學(xué)的《數(shù)據(jù)結(jié)構(gòu)(c語言版)》和各種編程語言都有了一個全新的認(rèn)識。我也會積極吸取本次課程設(shè)計(jì)的經(jīng)驗(yàn),繼續(xù)研究數(shù)據(jù)結(jié)構(gòu)和所學(xué)的各種編程語言。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇四

今天進(jìn)行了一次完整的數(shù)據(jù)庫設(shè)計(jì)的過程,其實(shí)一直來說我都是非常害怕數(shù)據(jù)庫的設(shè)計(jì)的,因?yàn)樵趧倓偨佑|的時候,我就知道,數(shù)據(jù)庫設(shè)計(jì)其實(shí)是一個項(xiàng)目的開端,因?yàn)閿?shù)據(jù)庫設(shè)計(jì)實(shí)際上就是業(yè)務(wù)的設(shè)計(jì),在需求清晰的時候,完成清晰流暢的業(yè)務(wù)設(shè)計(jì)又是一大難點(diǎn)。

一下為我自己的心得經(jīng)驗(yàn)希望大家批評指正!

對需求的認(rèn)知完全沒有歧義;

有時更加困難的是一個實(shí)體會發(fā)生多個維度的分類,那么就把他的拆分維度一一分開;

“頻道”概念在消息分發(fā)時是一個非常靈活的概念;

總結(jié),其實(shí)我在今天的數(shù)據(jù)庫設(shè)計(jì)中就學(xué)習(xí)到這些,學(xué)習(xí)是一個逐漸進(jìn)步的過程,也是一個自我折磨的過程,希望我可以在這條路上走的再遠(yuǎn)一點(diǎn)。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇五

這次數(shù)據(jù)庫課程設(shè)計(jì)用的是microsoftvisualfoxpro6.0,而我們平時用的microsoftsqlserver,雖然對vfp完全陌生,但在老師的指引下,我們近乎完美的完成了課程設(shè)計(jì)。當(dāng)然過程是艱辛的。

面對著完全陌生的操作環(huán)境vfp,許多同學(xué)開始埋怨,要求用sql,用我們學(xué)過的asp等來完成設(shè)計(jì)。但我們慢慢發(fā)現(xiàn)用vfp做課程設(shè)計(jì)其實(shí)很有優(yōu)勢,于是它的這個優(yōu)勢激發(fā)了我們?nèi)チ私馑挠?。老師先將vfp中基本的建數(shù)據(jù)庫,建表以及建表單等向我們演示了一遍,我們也仿照著做了,發(fā)覺并不是很難。但想到這次課程設(shè)計(jì)做的是一套學(xué)生學(xué)籍和成績管理系統(tǒng),我們又開始茫然了。那天,老師給我們看了一段可以讓文字循環(huán)移動的代碼,這使我們產(chǎn)生了好奇心理,有了快速了解它的沖動。因?yàn)橛妹嫦驅(qū)ο蟮恼Z言做特效,這還是第一次。下課之后我把那段我們不了解的語言寫的特效代碼發(fā)到了vfp論壇上請人幫忙解釋,最后我們完全理解了那段代碼的意思。

這次課程設(shè)計(jì)我們克服了炎熱的天氣(學(xué)校機(jī)房之前沒裝空調(diào)……后來設(shè)計(jì)完才裝……),也克服對新知識的恐懼感以及畏難情緒。我們懂得了團(tuán)隊(duì)合作的重要性,也懂得了團(tuán)隊(duì)中如何交流、如何分工,如何集體討論難點(diǎn)。我們充分利用了網(wǎng)絡(luò)資源(技術(shù)論壇,共享的實(shí)例等)。

由于平時接觸的都是一些私人項(xiàng)目,這些項(xiàng)目大都是一些類庫,其他人的交流相對可以忽略不計(jì),因此也就不考慮規(guī)范化的文檔。實(shí)際上從學(xué)習(xí)的經(jīng)歷來看,我們接觸的知識體系都是屬于比較老或比較傳統(tǒng)的,與現(xiàn)在發(fā)展迅速的it行業(yè)相比很多情況已不再適用,尤其是當(dāng)開源模式逐漸走近開發(fā)者后更是如此。

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

回到數(shù)據(jù)庫設(shè)計(jì)上了,這次的數(shù)據(jù)庫設(shè)計(jì)我是嚴(yán)格按照數(shù)據(jù)庫建模的步驟來進(jìn)行的,老實(shí)說我并沒有感覺這樣的流程對開發(fā)帶來多大的幫助,反倒是覺得將思維轉(zhuǎn)化為圖表很浪費(fèi)時間??傮w上來說這次的項(xiàng)目也不是很大,而且在數(shù)據(jù)庫的設(shè)計(jì)上比較保守,也就是說實(shí)際上數(shù)據(jù)庫設(shè)計(jì)還可以再完善完善的。隨著我對計(jì)算機(jī)領(lǐng)域的拓寬和加深,我也會靜下心來思考在接觸計(jì)算機(jī)之前的行為,很多次我能深切感覺到,其實(shí)我的大腦(未于別人比較)本身就是在使用一種更接近關(guān)系數(shù)據(jù)庫的方式來記憶,所以我很可恨自然的設(shè)計(jì)出符合三范式的表結(jié)構(gòu)來,即便我不知道這些范式的確切含義。可能就像"范式不太容易用通俗易懂的方式解釋"一樣,在"讓工具用圖標(biāo)表述我的思維"時費(fèi)了一番力氣。

從我作為項(xiàng)目的提出人和實(shí)現(xiàn)者來看,這是個失敗的項(xiàng)目,結(jié)合幾次教學(xué)項(xiàng)目的的實(shí)踐,發(fā)現(xiàn)這也已經(jīng)不是第一次了。主觀原因占多數(shù),比如,嘗試新的開發(fā)方式,根據(jù)設(shè)計(jì)花了太多的時間來抽象出公用的庫而忽略業(yè)務(wù)邏輯。就這次項(xiàng)目而言,失敗的原因有以下幾點(diǎn):

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

使用了新的開發(fā)語言(python,actionscript3),因?yàn)槲乙恢北容^喜歡"學(xué)以致用",而且這樣的"數(shù)據(jù)驅(qū)動型"軟件的整套自實(shí)現(xiàn)的庫都已經(jīng)完成了,但是由于語言本身的差異,遷移時問題很多,當(dāng)發(fā)現(xiàn)這一點(diǎn)是,已沒有多少有效剩余時間了。

編碼流程的不妥,我比較喜歡從底層的庫開始開發(fā),因?yàn)橐坏鞙y試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導(dǎo)致整個項(xiàng)目沒有任何可視化模型,所以這次的項(xiàng)目無法提交"可運(yùn)行的代碼"。

實(shí)踐目的的不同,我輕易不放棄鍛煉的機(jī)會,事實(shí)上,有機(jī)會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因?yàn)楝F(xiàn)在能完全用來的學(xué)習(xí)的時間比較多,等到工作時再這樣做的可能性就很小了,因此當(dāng)然要抓緊機(jī)會了。不過還有一個隱藏原因,總以為自己很了不起,其實(shí)"遇到的問題數(shù)跟人的能力是成正比的"。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇六

本文目錄。

兩個星期的時間非??炀瓦^去了,這兩個星期不敢說自己有多大的進(jìn)步,獲得了多少知識,但起碼是了解了項(xiàng)目開發(fā)的部分過程。雖說上過數(shù)據(jù)庫上過管理信息系統(tǒng)等相關(guān)的課程,但是沒有親身經(jīng)歷過相關(guān)的設(shè)計(jì)工作細(xì)節(jié)。這次實(shí)習(xí)證實(shí)提供了一個很好的機(jī)會。

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

從各種文檔的閱讀到開始的需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。親身體驗(yàn)了一回系統(tǒng)的設(shè)計(jì)開發(fā)過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設(shè)計(jì)一個系統(tǒng)的時候才發(fā)現(xiàn)其中的難度。經(jīng)常做到后面突然就發(fā)現(xiàn)自己一開始的設(shè)計(jì)有問題,然后又回去翻工,在各種反復(fù)中不斷完善自己的想法。

我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統(tǒng)是給誰用的。因?yàn)闆]有事先做過仔細(xì)的用戶調(diào)查,不知道整個業(yè)務(wù)的流程,也不知道用戶需要什么功能就忙著開發(fā),這是作為設(shè)計(jì)開發(fā)人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設(shè)計(jì)要特別注意這一塊的設(shè)計(jì)。

按照要求,我們做的是機(jī)票預(yù)訂系統(tǒng)。說實(shí)話,我對這個是一無所知的,沒有訂過機(jī)票,也不知道航空公司是怎么一個流程。盲目開始設(shè)計(jì)的下場我已經(jīng)嘗過了,結(jié)果就是出來一個四不像的設(shè)計(jì)方案,沒有什么實(shí)際用處。沒有前期的調(diào)查,僅從指導(dǎo)書上那幾條要求著手是不夠的。

在需求分析過程中,我們通過上網(wǎng)查資料,去圖書館查閱相關(guān)資料,結(jié)合我們的生活經(jīng)驗(yàn),根據(jù)可行性研究的結(jié)果和客戶的要求,分析現(xiàn)有情況及問題,采用client/server結(jié)構(gòu),將機(jī)票預(yù)定系統(tǒng)劃分為兩個子系統(tǒng):客戶端子系統(tǒng),服務(wù)器端子系統(tǒng)。在兩周的時間里,不斷地對程序及各模塊進(jìn)行修改、編譯、調(diào)試、運(yùn)行,其間遇到很多問題:由于忘記了一些java語言的規(guī)范使得在調(diào)試過程中一些錯誤沒有發(fā)現(xiàn),通過這次課程設(shè)計(jì),我對調(diào)試掌握得更加熟練了,意識到了程序語言的規(guī)范性以及我們在編程時要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。

我們學(xué)習(xí)并應(yīng)用了sql語言,對數(shù)據(jù)庫的創(chuàng)建、修改、刪除方法有了一定的了解,通過導(dǎo)入表和刪除表、更改表學(xué)會了對于表的一些操作,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評價的一般過程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。

很多事情不是想象中的那么簡單的,它涉及到的各種實(shí)體、屬性、數(shù)據(jù)流程、數(shù)據(jù)處理等等。很多時候感覺后面的設(shè)計(jì)根本無法繼續(xù),感覺像是被前面做的各種圖限制了。在做關(guān)系模型轉(zhuǎn)換的時候碰到有些實(shí)體即可以認(rèn)為是實(shí)體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。

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

不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認(rèn)為很難的事在你嘗試之后你可能會發(fā)現(xiàn)原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標(biāo),沒有信心就不可能把事情做好,當(dāng)其他人都在迷茫的時候,自己一定要堅(jiān)信目標(biāo),大學(xué)畢業(yè)出去即面臨找工作,從學(xué)習(xí)這個專業(yè),到以后從事這方面的工作都需要不斷地去學(xué)習(xí)去實(shí)踐,這次實(shí)踐可以給我們敲一個警鐘,我們面臨畢業(yè),面臨擇業(yè),需要這些實(shí)踐經(jīng)驗(yàn),在困難面前要勇于嘗試,這是這次課程設(shè)計(jì)給我的最大感想!

以上基本是這次實(shí)習(xí)的體會了,設(shè)計(jì)進(jìn)行的非常艱難,編碼非常不容易,才發(fā)現(xiàn)做一個項(xiàng)目最重要的不在于如何實(shí)現(xiàn),而是實(shí)現(xiàn)之前的需求分析和模塊設(shè)計(jì)。創(chuàng)新很難,有些流行的系統(tǒng)其實(shí)現(xiàn)并不難,難的在于對市場的分析和準(zhǔn)確定位。設(shè)計(jì),是一個任重道遠(yuǎn)的過程。

返回目錄。

首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到microsoft?產(chǎn)品。那個時候我已經(jīng)學(xué)過vc和asp,因?yàn)閣indows程序設(shè)計(jì)實(shí)驗(yàn)的課的關(guān)系,接觸過vb,但是沒有專門去學(xué)他,因?yàn)榱?xí)慣了c++里面的class,int,覺得vb的sub,var?看著就不是很順心。我是一個好奇心很強(qiáng)的人,突然看到了一個號稱“.net是用于創(chuàng)建下一代應(yīng)用程序的理想而又現(xiàn)實(shí)的開發(fā)工具”,而且主推c#語言,由于對c語言的一貫好感,我?guī)缀跏橇⒖虒λa(chǎn)生了興趣。我就開始了對c#的學(xué)習(xí),任何語言都不是孤立存在的,所以數(shù)據(jù)交互是很重要的,暑假的時候我把我們這學(xué)期的課本數(shù)據(jù)庫系統(tǒng)概論看了一遍。我記得以前用c語言編程的時候,數(shù)據(jù)是在內(nèi)存中申請空間,譬如使用數(shù)組等等。很耗費(fèi)內(nèi)存空間。這個時候就是數(shù)據(jù)庫站出來的時候啦,于是我又裝上了sql?server,以前學(xué)asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。

通過一個暑假的學(xué)習(xí),基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學(xué)期的課程設(shè)計(jì)打下了鋪墊。

來到學(xué)校后,隨著這學(xué)期的數(shù)據(jù)庫課程大賽開始了,我有一個看法就是我自己應(yīng)該具備的能力不是我會多少,而是我應(yīng)該具備快速學(xué)會東西的能力。遇到什么就學(xué)什么。我們有時候很容易被一些專業(yè)名詞說嚇著,包括什么建模,軟件工程,數(shù)據(jù)分析,數(shù)據(jù)挖掘等等。我身邊就有很多同學(xué)被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實(shí)都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發(fā)明工具是很難,但是用一個工具就容易多了,just?do?it!我記得我做這個數(shù)據(jù)庫之前,我們老師說要做好前期分析,我就在網(wǎng)上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網(wǎng)去搜索,這是一個信息橫流的世界,有g(shù)oogle,baidu就沒有不能解決的知識難題。以及后來的數(shù)據(jù)庫分析的時候用到的powerdesigner也是一樣。

開發(fā)的時候我想過用什么架構(gòu),c/s模式?模式有很多,怎么選擇?我就上網(wǎng)搜索現(xiàn)在最流行的架構(gòu)是什么。結(jié)果搜到了mvc架構(gòu),就是你啦。我決定用這個架構(gòu),不會,沒關(guān)系,咱學(xué)。just?do?it!前期工作準(zhǔn)備好后,加以實(shí)踐。這個時候我更加深入的了解了利用操縱數(shù)據(jù)庫的知識。并且對數(shù)據(jù)庫里面的存儲過程有了比較深入的了解。經(jīng)過大概2個多星期的奮斗,數(shù)據(jù)集的圖書館管理系統(tǒng)。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術(shù)應(yīng)用獎。

與其臨淵羨魚,不如退而結(jié)網(wǎng)。這次數(shù)據(jù)庫課程設(shè)計(jì)給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數(shù)據(jù)庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術(shù)的好奇,出于對一切未知的求知。我完成了這次數(shù)據(jù)庫課程設(shè)計(jì),不過這只是我學(xué)習(xí)路上的驛站,的核心技術(shù)就是xml[至少微軟是這么宣傳的],我會繼續(xù)學(xué)習(xí)它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,just?do?it!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學(xué)習(xí)思想。古語說的好:學(xué)無止境??!

我很慶幸我參加了這次數(shù)據(jù)庫大賽,讓我確實(shí)打開了眼界。

(最后,很感激學(xué)校給了我們這次動手實(shí)踐的機(jī)會,讓我們學(xué)生有了一個共同學(xué)習(xí),增長見識,開拓視野的機(jī)會。也感謝老師們對我們無私忘我的指導(dǎo),我會以這次課程設(shè)計(jì)大賽作為對自己的激勵,繼續(xù)學(xué)習(xí)。畢竟學(xué)習(xí)就是一個just?do?it的過程?。?。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇七

由于平時接觸的都是一些私人項(xiàng)目,這些項(xiàng)目大都是一些類庫,其他人的交流相對可以忽略不計(jì),因此也就不考慮規(guī)范化的文檔。實(shí)際上從學(xué)習(xí)的經(jīng)歷來看,我們接觸的知識體系都是屬于比較老或比較傳統(tǒng)的,與現(xiàn)在發(fā)展迅速的it行業(yè)相比很多情況已不再適用,尤其是當(dāng)開源模式逐漸走近開發(fā)者后更是如此。

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

回到數(shù)據(jù)庫設(shè)計(jì)上了,這次的數(shù)據(jù)庫設(shè)計(jì)我是嚴(yán)格按照數(shù)據(jù)庫建模的步驟來進(jìn)行的,老實(shí)說我并沒有感覺這樣的流程對開發(fā)帶來多大的幫助,反倒是覺得將思維轉(zhuǎn)化為圖表很浪費(fèi)時間??傮w上來說這次的項(xiàng)目也不是很大,而且在數(shù)據(jù)庫的設(shè)計(jì)上比較保守,也就是說實(shí)際上數(shù)據(jù)庫設(shè)計(jì)還可以再完善完善的。隨著我對計(jì)算機(jī)領(lǐng)域的拓寬和加深,我也會靜下心來思考在接觸計(jì)算機(jī)之前的行為,很多次我能深切感覺到,其實(shí)我的大腦(未于別人比較)本身就是在使用一種更接近關(guān)系數(shù)據(jù)庫的方式來記憶,所以我很可恨自然的設(shè)計(jì)出符合三范式的表結(jié)構(gòu)來,即便我不知道這些范式的確切含義??赡芫拖?范式不太容易用通俗易懂的方式解釋"一樣,在"讓工具用圖標(biāo)表述我的思維"時費(fèi)了一番力氣。

從我作為項(xiàng)目的提出人和實(shí)現(xiàn)者來看,這是個失敗的項(xiàng)目,結(jié)合幾次教學(xué)項(xiàng)目的的實(shí)踐,發(fā)現(xiàn)這也已經(jīng)不是第一次了。主觀原因占多數(shù),比如,嘗試新的開發(fā)方式,根據(jù)設(shè)計(jì)花了太多的時間來抽象出公用的庫而忽略業(yè)務(wù)邏輯。就這次項(xiàng)目而言,失敗的原因有以下幾點(diǎn):

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

使用了新的開發(fā)語言(python,actionscript3),因?yàn)槲乙恢北容^喜歡"學(xué)以致用",而且這樣的"數(shù)據(jù)驅(qū)動型"軟件的整套自實(shí)現(xiàn)的庫都已經(jīng)完成了,但是由于語言本身的差異,遷移時問題很多,當(dāng)發(fā)現(xiàn)這一點(diǎn)是,已沒有多少有效剩余時間了。

編碼流程的不妥,我比較喜歡從底層的庫開始開發(fā),因?yàn)橐坏鞙y試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導(dǎo)致整個項(xiàng)目沒有任何可視化模型,所以這次的項(xiàng)目無法提交"可運(yùn)行的代碼"。

實(shí)踐目的的不同,我輕易不放棄鍛煉的機(jī)會,事實(shí)上,有機(jī)會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因?yàn)楝F(xiàn)在能完全用來的學(xué)習(xí)的時間比較多,等到工作時再這樣做的可能性就很小了,因此當(dāng)然要抓緊機(jī)會了。不過還有一個隱藏原因,總以為自己很了不起,其實(shí)"遇到的問題數(shù)跟人的能力是成正比的"。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇八

本程序以c語言的棧的相關(guān)知識為基礎(chǔ),通過控制兩個棧(運(yùn)算數(shù)棧和運(yùn)算符棧)的進(jìn)出的棧操作,來實(shí)現(xiàn)對包含加、減、乘、除、括號運(yùn)算符及sqrt和abs函數(shù)的任意整型表達(dá)式的求解運(yùn)算。

從程序的編寫來看,感覺這次自己真的學(xué)到了好多,特別是對程序的開發(fā)流程。從最初的選定程序,到最終的程序運(yùn)行成功,讓我感到如果是僅僅掌握課本上的知識是遠(yuǎn)遠(yuǎn)不能夠很好的應(yīng)用到實(shí)際的編程中去的。在這個過程中還需要我們更多的去考慮到實(shí)際條件的種種限制和約束。

我在寫本程序的過程中也遇到了很多的問題,當(dāng)然本程序的核心問題就是對兩個棧的壓出棧操作,需要做優(yōu)先級判斷,并要考慮什么時候進(jìn)棧,什么時候出棧等操作。我采用了課本上第52-54頁講的通過一個二維字符串?dāng)?shù)組來控制比較“+-*、()as=”共9個運(yùn)算符的優(yōu)先級控制。對異常,如除數(shù)為0、被開方數(shù)小于0等異常也進(jìn)行了精心的處理。對操作過程中要用到的y、n、a、s等字符也進(jìn)行了改進(jìn),最終本程序可以不區(qū)分大小寫就完成相關(guān)操作。

總之,經(jīng)過本次專業(yè)課程設(shè)計(jì),讓我掌握了開發(fā)應(yīng)用軟件的基本流程,運(yùn)用所學(xué)編程技能的基本技巧,也讓我初步了解了軟件設(shè)計(jì)的基本方法,提高進(jìn)行工程設(shè)計(jì)的基本技能及分析、解決實(shí)際問題的能力,為以后畢業(yè)設(shè)計(jì)和工程實(shí)踐等打下良好的基礎(chǔ)。相信通過這次的課程設(shè)計(jì),我對所學(xué)的《數(shù)據(jù)結(jié)構(gòu)(c語言版)》和各種編程語言都有了一個全新的認(rèn)識。我也會積極吸取本次課程設(shè)計(jì)的經(jīng)驗(yàn),繼續(xù)研究數(shù)據(jù)結(jié)構(gòu)和所學(xué)的各種編程語言。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇九

跟老板做了兩個算是比較大的項(xiàng)目,數(shù)據(jù)庫主體都是我設(shè)計(jì)的。第一個感覺很失?。坏诙€現(xiàn)在正在用,雖然總結(jié)了第一個的教訓(xùn),但感覺還是有些遺憾。把這過程中的一些心得記在這里,以便日后用到時來查閱。若以后還有機(jī)會再設(shè)計(jì)數(shù)據(jù)庫——現(xiàn)在倒還有些期待,呵呵,再有新的體會,也全部補(bǔ)充到這里。

隨著磁盤容量的大幅飆升,這一點(diǎn)已經(jīng)不會產(chǎn)生什么問題。當(dāng)然冗余歸冗余,不能把數(shù)據(jù)的關(guān)聯(lián)弄的亂七八糟的。

本科數(shù)據(jù)庫課程中學(xué)的知識直接拿來,在實(shí)際中會出大問題。滿足三級范式的數(shù)據(jù)庫結(jié)構(gòu)會讓你面對大量的連表查詢,應(yīng)用程序中會用到大量的數(shù)據(jù)庫訪問,既繁瑣(煩死你)又使程序運(yùn)行速度減慢。

這一點(diǎn)主要是用動軟代碼生成器自動生成代碼時,如果varchar的最大長度指定為max,在自動生成代碼時,它無法生成這一最大長度,需要手動補(bǔ)進(jìn)去。

現(xiàn)在感覺用個var1000)就夠了。

數(shù)據(jù)庫表(尤其是動態(tài)表格),在你把所有字段都設(shè)計(jì)好了之后,再添加幾個備注字段和預(yù)留字段。

之前我覺得這樣做沒多大意義,因?yàn)轭A(yù)留字段的列名是沒有實(shí)際意義的。這樣程序中使用的時候就會讓人費(fèi)解。但現(xiàn)在覺得還是有必要的,很有必要的,即便在用到時需要自己十分清楚之前預(yù)留的無意義字段現(xiàn)在表示什么意義。不過我的第二個數(shù)據(jù)庫中還是沒采用,這也是遺憾之處啊。

個人感覺用note1、note2、r1(r表示reserve)、r2、r3,2個備注字段和3個預(yù)留字段就足夠了,再多的話就不容易記住哪個字段具體表示什么意義了,容易暈。類型就都用var200)吧。

數(shù)據(jù)庫課程設(shè)計(jì)心得體會及收獲篇十

兩個星期的時間非??炀瓦^去了,這兩個星期不敢說自己有多大的進(jìn)步,獲得了多少知識,但起碼是了解了項(xiàng)目開發(fā)的部分過程。雖說上過數(shù)據(jù)庫上過管理信息系統(tǒng)等相關(guān)的課程,但是沒有親身經(jīng)歷過相關(guān)的設(shè)計(jì)工作細(xì)節(jié)。這次實(shí)習(xí)證實(shí)提供了一個很好的機(jī)會。

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

從各種文檔的閱讀到開始的需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)。親身體驗(yàn)了一回系統(tǒng)的設(shè)計(jì)開發(fā)過程。很多東西書上寫的很清楚,貌似看著也很簡單,思路非常清晰。但真正需要自己想辦法去設(shè)計(jì)一個系統(tǒng)的時候才發(fā)現(xiàn)其中的難度。經(jīng)常做到后面突然就發(fā)現(xiàn)自己一開始的設(shè)計(jì)有問題,然后又回去翻工,在各種反復(fù)中不斷完善自己的想法。

我想有這樣的問題不止我一個,事后想想是一開始著手做的時候下手過于輕快,或者說是根本不了解自己要做的這個系統(tǒng)是給誰用的。因?yàn)闆]有事先做過仔細(xì)的用戶調(diào)查,不知道整個業(yè)務(wù)的流程,也不知道用戶需要什么功能就忙著開發(fā),這是作為設(shè)計(jì)開發(fā)人員需要特別警惕避免的,不然會給后來的工作帶來很大的麻煩,甚至可能會需要全盤推倒重來。所以以后的課程設(shè)計(jì)要特別注意這一塊的設(shè)計(jì)。

按照要求,我們做的是機(jī)票預(yù)訂系統(tǒng)。說實(shí)話,我對這個是一無所知的,沒有訂過機(jī)票,也不知道航空公司是怎么一個流程。盲目開始設(shè)計(jì)的下場我已經(jīng)嘗過了,結(jié)果就是出來一個四不像的設(shè)計(jì)方案,沒有什么實(shí)際用處。沒有前期的調(diào)查,僅從指導(dǎo)書上那幾條要求著手是不夠的。

在需求分析過程中,我們通過上網(wǎng)查資料,去圖書館查閱相關(guān)資料,結(jié)合我們的生活經(jīng)驗(yàn),根據(jù)可行性研究的結(jié)果和客戶的要求,分析現(xiàn)有情況及問題,采用client/server結(jié)構(gòu),將機(jī)票預(yù)定系統(tǒng)劃分為兩個子系統(tǒng):客戶端子系統(tǒng),服務(wù)器端子系統(tǒng)。在兩周的時間里,不斷地對程序及各模塊進(jìn)行修改、編譯、調(diào)試、運(yùn)行,其間遇到很多問題:由于忘記了一些java語言的規(guī)范使得在調(diào)試過程中一些錯誤沒有發(fā)現(xiàn),通過這次課程設(shè)計(jì),我對調(diào)試掌握得更加熟練了,意識到了程序語言的規(guī)范性以及我們在編程時要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,同時在寫程序時如有一定量的注釋,既增加了程序的可讀性,也可以使自己在讀程序時更容易。

我們學(xué)習(xí)并應(yīng)用了sql語言,對數(shù)據(jù)庫的創(chuàng)建、修改、刪除方法有了一定的了解,通過導(dǎo)入表和刪除表、更改表學(xué)會了對于表的一些操作,為了建立一個關(guān)系數(shù)據(jù)庫信息管理系統(tǒng),必須得經(jīng)過系統(tǒng)調(diào)研、需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)、物理設(shè)計(jì)、系統(tǒng)調(diào)試、維護(hù)以及系統(tǒng)評價的一般過程,為畢業(yè)設(shè)計(jì)打下基礎(chǔ)。

很多事情不是想象中的那么簡單的,它涉及到的各種實(shí)體、屬性、數(shù)據(jù)流程、數(shù)據(jù)處理等等。很多時候感覺后面的設(shè)計(jì)根本無法繼續(xù),感覺像是被前面做的各種圖限制了。在做關(guān)系模型轉(zhuǎn)換的時候碰到有些實(shí)體即可以認(rèn)為是實(shí)體又可以作為屬性,為了避免冗余,盡量按照屬性處理了。

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

不管做什么,我們都要相信自己,不能畏懼,不能怕遇到困難,什么都需要去嘗試,有些你開始認(rèn)為很難的事在你嘗試之后你可能會發(fā)現(xiàn)原來她并沒有你以前覺得的那樣,自己也是可以的。如果沒有自信,沒有目標(biāo),沒有信心就不可能把事情做好,當(dāng)其他人都在迷茫的時候,自己一定要堅(jiān)信目標(biāo),大學(xué)畢業(yè)出去即面臨找工作,從學(xué)習(xí)這個專業(yè),到以后從事這方面的工作都需要不斷地去學(xué)習(xí)去實(shí)踐,這次實(shí)踐可以給我們敲一個警鐘,我們面臨畢業(yè),面臨擇業(yè),需要這些實(shí)踐經(jīng)驗(yàn),在困難面前要勇于嘗試,這是這次課程設(shè)計(jì)給我的最大感想!

以上基本是這次實(shí)習(xí)的體會了,設(shè)計(jì)進(jìn)行的非常艱難,編碼非常不容易,才發(fā)現(xiàn)做一個項(xiàng)目最重要的不在于如何實(shí)現(xiàn),而是實(shí)現(xiàn)之前的需求分析和模塊設(shè)計(jì)。創(chuàng)新很難,有些流行的系統(tǒng)其實(shí)現(xiàn)并不難,難的在于對市場的分析和準(zhǔn)確定位。設(shè)計(jì),是一個任重道遠(yuǎn)的過程。

數(shù)據(jù)庫課程設(shè)計(jì)大賽的塵囂漸漸遠(yuǎn)去,懷著對這次大賽的些許不舍,懷著對當(dāng)初課程設(shè)計(jì)開始時候的豪情萬丈的決心的留戀,懷著通過這次課程設(shè)計(jì)積累的信心與斗志,我開始寫這篇文章,為自己的足跡留下哪怕是微不足道但是對自己彌足珍貴的痕跡并期望與大家共勉。

首先,讓我的記憶追溯到大二暑假,在老大的指引下(),我接觸到microsoft產(chǎn)品。那個時候我已經(jīng)學(xué)過vc和asp,因?yàn)閣indows程序設(shè)計(jì)實(shí)驗(yàn)的課的關(guān)系,接觸過vb,但是沒有專門去學(xué)他,因?yàn)榱?xí)慣了c++里面的class,int,覺得vb的sub,var看著就不是很順心。我是一個好奇心很強(qiáng)的人,突然看到了一個號稱“.net是用于創(chuàng)建下一代應(yīng)用程序的理想而又現(xiàn)實(shí)的開發(fā)工具”,而且主推c#語言,由于對c語言的一貫好感,我?guī)缀跏橇⒖虒λa(chǎn)生了興趣。我就開始了對c#的學(xué)習(xí),任何語言都不是孤立存在的,所以數(shù)據(jù)交互是很重要的,暑假的時候我把我們這學(xué)期的課本數(shù)據(jù)庫系統(tǒng)概論看了一遍。我記得以前用c語言編程的時候,數(shù)據(jù)是在內(nèi)存中申請空間,譬如使用數(shù)組等等。很耗費(fèi)內(nèi)存空間。這個時候就是數(shù)據(jù)庫站出來的時候啦,于是我又裝上了sqlserver2019,以前學(xué)asp的時候用的是access,那個時候只是照著人家做,理論是什么也不是很清楚。

通過一個暑假的學(xué)習(xí),基本搞清楚了理論方面的東西,具體怎么用也不是很清楚。但是這為這學(xué)期的課程設(shè)計(jì)打下了鋪墊。

來到學(xué)校后,隨著這學(xué)期的數(shù)據(jù)庫課程大賽開始了,我有一個看法就是我自己應(yīng)該具備的能力不是我會多少,而是我應(yīng)該具備快速學(xué)會東西的能力。遇到什么就學(xué)什么。我們有時候很容易被一些專業(yè)名詞說嚇著,包括什么建模,軟件工程,數(shù)據(jù)分析,數(shù)據(jù)挖掘等等。我身邊就有很多同學(xué)被這些紙老虎所唬住,而沒有勇氣去接觸他們,總是說這個太難了之類的退堂鼓的話,他們低估了自己的潛力同時也壓抑住了他們自己的好奇心。其實(shí)都是紙老虎,又不是什么國家科研難題,只是去用一些工具,發(fā)明工具是很難,但是用一個工具就容易多了,justdoit!我記得我做這個數(shù)據(jù)庫之前,我們老師說要做好前期分析,我就在網(wǎng)上搜索用什么分析工具好。最后我選擇了roseuml建模工具。在此之前,我腦袋里面沒有軟件建模的思想,什么uml建模對我而言就是一張空白的紙。但是真正接觸后并沒有想象的那么難,有什么不懂的上網(wǎng)去搜索,這是一個信息橫流的世界,有g(shù)oogle,baidu就沒有不能解決的知識難題。以及后來的數(shù)據(jù)庫分析的時候用到的powerdesigner也是一樣。

開發(fā)的時候我想過用什么架構(gòu),c/s模式?模式有很多,怎么選擇?我就上網(wǎng)搜索現(xiàn)在最流行的架構(gòu)是什么。結(jié)果搜到了mvc架構(gòu),就是你啦。我決定用這個架構(gòu),不會,沒關(guān)系,咱學(xué)。justdoit!前期工作準(zhǔn)備好后,加以實(shí)踐。這個時候我更加深入的了解了利用操縱數(shù)據(jù)庫的知識。并且對數(shù)據(jù)庫里面的存儲過程有了比較深入的了解。經(jīng)過大概2個多星期的奮斗,數(shù)據(jù)集的圖書館管理系統(tǒng)。并最后非常榮幸的獲得了大賽的一等獎以及以及新技術(shù)應(yīng)用獎。

與其臨淵羨魚,不如退而結(jié)網(wǎng)。這次數(shù)據(jù)庫課程設(shè)計(jì)給我的最大的印象就是如果自己有了興趣,就動手去做,困難在你的勇氣和毅力下是抬不了頭的。從做這個數(shù)據(jù)庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。出于對知識的渴望,出于對新技術(shù)的好奇,出于對一切未知的求知。我完成了這次數(shù)據(jù)庫課程設(shè)計(jì),不過這只是我學(xué)習(xí)路上的驛站,的核心技術(shù)就是xml[至少微軟是這么宣傳的],我會繼續(xù)學(xué)習(xí)它,包括jave公司的j2ee我也很想試試,語言本來就是相通的,justdoit!語言并不重要畢竟它僅僅是工具,用好一個工具并不是一件值得為外人道的事情,主要是了解學(xué)習(xí)思想。古語說的好:學(xué)無止境啊!

我很慶幸我參加了這次數(shù)據(jù)庫大賽,讓我確實(shí)打開了眼界。

由于平時接觸的都是一些私人項(xiàng)目,這些項(xiàng)目大都是一些類庫,其他人的交流相對可以忽略不計(jì),因此也就不考慮規(guī)范化的文檔。實(shí)際上從學(xué)習(xí)的經(jīng)歷來看,我們接觸的知識體系都是屬于比較老或比較傳統(tǒng)的,與現(xiàn)在發(fā)展迅速的it行業(yè)相比很多情況已不再適用,尤其是當(dāng)開源模式逐漸走近開發(fā)者后更是如此。

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

回到數(shù)據(jù)庫設(shè)計(jì)上了,這次的數(shù)據(jù)庫設(shè)計(jì)我是嚴(yán)格按照數(shù)據(jù)庫建模的步驟來進(jìn)行的,老實(shí)說我并沒有感覺這樣的流程對開發(fā)帶來多大的幫助,反倒是覺得將思維轉(zhuǎn)化為圖表很浪費(fèi)時間??傮w上來說這次的項(xiàng)目也不是很大,而且在數(shù)據(jù)庫的設(shè)計(jì)上比較保守,也就是說實(shí)際上數(shù)據(jù)庫設(shè)計(jì)還可以再完善完善的。隨著我對計(jì)算機(jī)領(lǐng)域的拓寬和加深,我也會靜下心來思考在接觸計(jì)算機(jī)之前的行為,很多次我能深切感覺到,其實(shí)我的大腦(未于別人比較)本身就是在使用一種更接近關(guān)系數(shù)據(jù)庫的方式來記憶,所以我很可恨自然的設(shè)計(jì)出符合三范式的表結(jié)構(gòu)來,即便我不知道這些范式的確切含義??赡芫拖瘛胺妒讲惶菀子猛ㄋ滓锥姆绞浇忉尅币粯?,在“讓工具用圖標(biāo)表述我的思維”時費(fèi)了一番力氣。

從我作為項(xiàng)目的提出人和實(shí)現(xiàn)者來看,這是個失敗的項(xiàng)目,結(jié)合幾次教學(xué)項(xiàng)目的的實(shí)踐,發(fā)現(xiàn)這也已經(jīng)不是第一次了。主觀原因占多數(shù),比如,嘗試新的開發(fā)方式,根據(jù)設(shè)計(jì)花了太多的時間來抽象出公用的庫而忽略業(yè)務(wù)邏輯。就這次項(xiàng)目而言,失敗的原因有以下幾點(diǎn):

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

使用了新的開發(fā)語言(python,actionscript3),因?yàn)槲乙恢北容^喜歡“學(xué)以致用”,而且這樣的“數(shù)據(jù)驅(qū)動型”軟件的整套自實(shí)現(xiàn)的庫都已經(jīng)完成了,但是由于語言本身的差異,遷移時問題很多,當(dāng)發(fā)現(xiàn)這一點(diǎn)是,已沒有多少有效剩余時間了。

編碼流程的不妥,我比較喜歡從底層的庫開始開發(fā),因?yàn)橐坏鞙y試通過,將很容易將它放到不同的表示層下。但如果庫沒有測試成功,將導(dǎo)致整個項(xiàng)目沒有任何可視化模型,所以這次的項(xiàng)目無法提交“可運(yùn)行的代碼”。

實(shí)踐目的的不同,我輕易不放棄鍛煉的機(jī)會,事實(shí)上,有機(jī)會就一定要比以前有所突破,總是照搬以前的做法還不如就不做呢。這個前提是因?yàn)楝F(xiàn)在能完全用來的學(xué)習(xí)的時間比較多,等到工作時再這樣做的可能性就很小了,因此當(dāng)然要抓緊機(jī)會了。不過還有一個隱藏原因,總以為自己很了不起,其實(shí)“遇到的問題數(shù)跟人的能力是成正比的”。

您可能關(guān)注的文檔