- 相關(guān)推薦
上機(jī)課心得
在平日里,心中難免會(huì)有一些新的想法,可以通過寫心得體會(huì)的方式將其記錄下來,這樣我們就可以提高對思維的訓(xùn)練。那么好的心得體會(huì)是什么樣的呢?以下是小編為大家收集的上機(jī)課心得,希望能夠幫助到大家。
持續(xù)一個(gè)月的數(shù)據(jù)庫實(shí)訓(xùn),讓我參與了軟件工程化的開發(fā)過程。其中體會(huì)最深的便是我們這個(gè)實(shí)訓(xùn)網(wǎng)的幾個(gè)之最:
一.項(xiàng)目最大:項(xiàng)目大是因?yàn)槲覀冞@個(gè)事業(yè)起點(diǎn)網(wǎng)站涉及到用戶眾多-高校,企業(yè),學(xué)生,老師,專家,第二個(gè)原因是網(wǎng)站的功能多-用戶管理,網(wǎng)上實(shí)習(xí),網(wǎng)上競賽,畢業(yè)實(shí)習(xí)設(shè)計(jì),項(xiàng)目管理,人才庫管理,人才推薦,搜索 ... 項(xiàng)目大很容易造成系統(tǒng)范圍的泛濫,在我們的開發(fā)初期,由于需求不太明確,功能實(shí)現(xiàn)沒有重點(diǎn),造成了需求范圍的擴(kuò)大,給項(xiàng)目開發(fā)進(jìn)度造成了嚴(yán)重的滯后性。然后我們召開了會(huì)議討論了這個(gè)問題,一致認(rèn)同先把項(xiàng)目的基本功能實(shí)現(xiàn),將網(wǎng)站的基本架構(gòu)搭建起來,最后再在這個(gè)基礎(chǔ)上繼續(xù)增加我們網(wǎng)站的其他功能。因此在這個(gè)過程中,我深刻體會(huì)到了軟件工程初期階段的需求分析以及概要設(shè)計(jì)的重要性,這兩個(gè)文檔是指導(dǎo)我們后期開發(fā)的最重要的依據(jù)。
二.數(shù)據(jù)庫表最多:如此龐大的系統(tǒng),就需要龐大的數(shù)據(jù)庫來支持,所以項(xiàng)目大的直接后果就是我們的數(shù)據(jù)庫表特別多,而且表與表之間的依賴關(guān)系也復(fù)雜,實(shí)體類之間的關(guān)系眾多,設(shè)計(jì)起來有一定的難度。數(shù)據(jù)庫的另外一個(gè)問題是-數(shù)據(jù)表的屬性,數(shù)據(jù)表屬性的設(shè)計(jì)完全是依賴于我們剛開始做的需求分析文檔,如果需求分析不完整的話,就會(huì)造成數(shù)據(jù)庫表屬性的缺失,從用戶的角度看,就會(huì)覺得你的系統(tǒng)提供的數(shù)據(jù)不夠全面,信息量小。
三.開發(fā)團(tuán)隊(duì)最大:我們團(tuán)隊(duì)一共有十四個(gè)人,這個(gè)對于我們的項(xiàng)目經(jīng)理來說,是一個(gè)相當(dāng)嚴(yán)峻的問題,畢竟十四個(gè)人的團(tuán)隊(duì)相當(dāng)于其他幾個(gè)小組加起來的人數(shù)總和,管理起來有相當(dāng)大的難度。對于我們這些小組成員來說,由于溝通渠道太多,造成了我們項(xiàng)目中遇到問題,不知道去跟哪個(gè)小組成員溝通。為了解決這個(gè)問題,我們在團(tuán)隊(duì)中又選出了三個(gè)小組長,小組成員遇到問題,先去咨詢小組長,然后小組長提供反饋信息。
四.項(xiàng)目各個(gè)模塊間藕合度高:網(wǎng)站涉及的各個(gè)功能模塊之間的聯(lián)系緊密,模塊之間的接口設(shè)計(jì)的好壞是項(xiàng)目最終集成成功與否的最重要因素。用戶管理這一個(gè)部分要為每個(gè)模塊提供接口,主要是用戶的編號以及用戶的類型等。每個(gè)頁面之間的鏈接也是其中重要的模塊接口。這個(gè)問題由于我們前期做好了充分的溝通以及按照概要設(shè)計(jì)中的接口說明去設(shè)計(jì)自己的模塊,所以后期的模塊整合沒有遇到什么太大的不兼容性等問題。
接下來就談?wù)勎疫@一個(gè)月中的工作:
需求分析階段:需求分析階段我完成了網(wǎng)上競賽模塊的需求分析,其中遇到的主要問題是閱讀材料后發(fā)現(xiàn)網(wǎng)上實(shí)習(xí),網(wǎng)上競賽,畢業(yè)設(shè)計(jì)指導(dǎo)這幾個(gè)模塊的功能是類似的,提取需求分析后不夠明確,經(jīng)過幾次跟湯老師的交流后,確定了這幾個(gè)模塊之間的具體差別,網(wǎng)上競賽模塊的基本需求也大致確定了,網(wǎng)上競賽模塊的基本功能就是學(xué)生通過網(wǎng)站報(bào)名參加競賽,企業(yè)審核通過后,專家對作品進(jìn)行評分,排名。
概要設(shè)計(jì)階段:在需求分析的基礎(chǔ)上,對網(wǎng)上競賽模塊進(jìn)行了比較具體的概要設(shè)計(jì),流程圖(ipo圖以及用例圖);這個(gè)階段的主要難點(diǎn)是對網(wǎng)上競賽業(yè)務(wù)流程的描述,如何實(shí)現(xiàn)學(xué)生報(bào)名,企業(yè)發(fā)布,專家評審的步驟操作,與及跟其他模塊對該模塊的限制。
數(shù)據(jù)庫設(shè)計(jì)階段:我負(fù)責(zé)整合初步數(shù)據(jù)庫設(shè)計(jì)說明書,分配組員按照各自的功能模塊的具體需求設(shè)計(jì)自己模塊需要的數(shù)據(jù)表,然后對這些數(shù)據(jù)表進(jìn)行整合。在這個(gè)過程中遇到的問題就是數(shù)據(jù)庫實(shí)在是太大了,最后下來一共有30多張表,表與表之間的關(guān)系復(fù)雜,關(guān)聯(lián)性大,需要設(shè)置的外鍵較多,很難將所有的屬性字段給提取出來,屬性的類型設(shè)置也是一個(gè)問題,采用數(shù)值型還是采用字符串性在數(shù)據(jù)庫設(shè)計(jì)中尤為重要,因?yàn)樵诤笈_(tái)搜索方面,數(shù)值型比較快捷,而在數(shù)據(jù)顯示方面,字符串型又有直接讀出不用轉(zhuǎn)換的好處。每個(gè)表的主鍵我們采用了用實(shí)體的編號去標(biāo)記它,因?yàn)檫@樣實(shí)體間關(guān)聯(lián)起來會(huì)更加簡單。數(shù)據(jù)庫的設(shè)計(jì)關(guān)鍵是要對整個(gè)項(xiàng)目的整體的把握,并且要細(xì)化對每個(gè)實(shí)體類的具體屬性要求。
詳細(xì)設(shè)計(jì)階段:我覺得是最重要的一個(gè)方面,一個(gè)完整的詳細(xì)設(shè)計(jì)說明應(yīng)該可以幫助程序員完成具體的實(shí)現(xiàn),程序員可以不用考慮模塊之間的耦合問題,只需要將單一的功能按照邏輯順序編寫出來就可以了。網(wǎng)站整體構(gòu)架搭好了,我們就可以在里面填充自己的功能了。但是因?yàn)闀r(shí)間太倉促了,我們這個(gè)階段也就縮水了,帶來后面的問題就是后期代碼編寫的時(shí)候比較混亂,函數(shù)接口較難統(tǒng),界面風(fēng)格多樣化。這個(gè)階段,我的主要工作是跟隊(duì)友一起設(shè)計(jì)出了網(wǎng)上競賽模塊的學(xué)生,企業(yè),管理員,高校以及專家的界面。
編碼階段:我們是用asp.net開發(fā)的,主要任務(wù)就是從工具中選出你想要的控件,然后在控件響應(yīng)函數(shù)中填充代碼,完成相應(yīng)的事件響應(yīng)。這里遇到的最大問題是頁面的排版問題,因?yàn)樽约菏堑谝淮伍_發(fā)網(wǎng)站,造成了自己設(shè)計(jì)的界面風(fēng)格單調(diào),不太美觀,現(xiàn)在就盡量做到頁面的整齊。這個(gè)階段主要做的就是:寫代碼→編譯→調(diào)試→寫代碼。
這一個(gè)月中我學(xué)到了很多東西,技術(shù)方面就是學(xué)會(huì)了用asp.net編寫網(wǎng)站,最重要的是讓我經(jīng)歷了軟件工程化的所有階段,讓我對整個(gè)軟件工程有了感性的認(rèn)識(shí),而且將大學(xué)三年所學(xué)到的知識(shí)進(jìn)行了一次系統(tǒng)的串聯(lián),更重要的是學(xué)會(huì)了如何跟項(xiàng)目團(tuán)隊(duì)中的成員溝通問題,這是一個(gè)寶貴的實(shí)踐經(jīng)驗(yàn)。