我的软件工程之路(二)
引:
————————————————————————
上次寫了一篇《我的軟件工程之路(一)》,如果你沒看過,可以先去看看,名字后面掛了一個(一),當然就意味著要繼續(xù)寫下去,所以這篇文章就應運而生了。
?
兩個月的時間過去了,又緊鑼密鼓地學習了兩個月,我依然是個菜鳥,只是這個菜鳥不是菜得那么離譜了……
————————————————————————
?
看過我上一篇文章《我的軟件工程之路(一)》的網(wǎng)友,如果你足夠留心,你會在文章下面的“我的進度心情表”中發(fā)現(xiàn)最后的日期是11月6日,機房收費系統(tǒng)總結。說實在的,機房收費系統(tǒng),我做了三遍,你肯定納悶,干嘛一個系統(tǒng)做三遍啊?
?
其實在完成三遍之前,我也不知道一個系統(tǒng)做那么多遍干嘛。別著急,聽我說。
?
做第一遍之前,我學習了VB6和SqlServer數(shù)據(jù)庫,敲了很多小Demo,后面照著代碼,敲了一個學生信息管理系統(tǒng)。然后仿照師兄的機房收費系統(tǒng)(做好的,沒有源碼),利用在學生信息管理系統(tǒng)中積累的經驗,完成了第一遍機房收費系統(tǒng)(現(xiàn)在看起來,好像搭了一個雞窩)。在這個過程中,基本上我對“系統(tǒng)”已經不恐懼了,不管三七二十一,反正我做的這個能跑起來了,而且對代碼有了那么一點感覺,你可以管它叫做“代碼親和力”,呵呵。
?
接著,我學習了軟件工程概論,UML和ROSE,C#和設計模式,分層(三層架構,MVC),VB.NET,這在上一篇“我的進度心情表”中也有體現(xiàn)。這個時候,我開始利用面向對象思想重構機房收費系統(tǒng),也可以說是利用上面學習的這些門課的知識重構機房收費系統(tǒng):寫文檔,畫UML圖,分層,套用設計模式,最后用VB.NET實現(xiàn)設計。第二次做機房收費系統(tǒng),其實是把前面學到的知識應用到實際項目中去,查漏補缺,鞏固所學并加深理解。可以說這次做機房收費系統(tǒng),我的軟件工程思想有了質的變化,軟件工程這個大門向我敞開了。
?
完成了開發(fā),測試,總結,然后進入了下階段的學習,這個時候,我學習了版本控制,也就是學習SVN,搭建SVN環(huán)境,然后我們組建了4個人的小組,選出項目經理,總之就是搭建出一個與企業(yè)相類似的環(huán)境,進行機房收費系統(tǒng)的設計與開發(fā),測試。這個階段,我了解了企業(yè)中到底是怎么開發(fā)軟件的,鍛煉了我的合作開發(fā)能力。
?
看到這里,我想你應該有些明白我為什么做了三次了,三次做《機房收費系統(tǒng)》的目的不是重復,不是為了更加熟練,我們在進行項目驅動式學習,但并不是盲目地進行項目驅動式學習,我們在遵循一種學習理論:隨機通達教學法(核心主張是,對同一內容的學習,要在不同時間、在重新安排的情景下、帶著不同目的以及從不同的角度多次進行,以此達到高級知識獲得的目標。具體來說,對同一內容的學習要有不同時間多次進行,每次的情境都是經過改組的,而且目的不同,分別著眼于問題的不同側面。由于在各次學習的情境方面會有互不重合的方面,這種反復并非為鞏固知識技能而進行的簡單重復,而是把概念具體到一定實例中,并與具體情境聯(lián)系起來。每個概念的教學都要涵蓋充分的實例,分別用于說明不同方面的含義,各實例都可能同時涉及到其它概念。在這種學習中,學習者可以形成對概念的多角度理解,并與具體情境聯(lián)系起來。形成背景性經驗。這種教學有利于學習者針對情境建構用于指引問題解決的圖式。)
這個過程,學習軟件工程,學寫文檔,畫UML圖,再到設計模式,三層架構,最后利用所學重構個人版機房收費系統(tǒng),再學習SVN,合作開發(fā)機房收費系統(tǒng),說長不長,說短不短。迷茫過,快樂過,痛苦過,興奮過。引用曾流行的一句話,叫:痛并快樂著。
?
回憶點點滴滴,曾為不會寫文檔而糾結,到現(xiàn)在機房收費系統(tǒng)的文檔寫了N個版本,不會畫UML圖糾結,到現(xiàn)在機房收費系統(tǒng)的版本達到了8.0,還不算前期小規(guī)模的畫。不會分層,不懂MVC,自己找資料,東一榔錘西一棒槌的打出去,這是米老師(我的導師,有興趣的網(wǎng)友可以在百度搜一下米新江)故意培養(yǎng)我們自己的去尋找食物的能力,“狼一樣的學生”是這樣慢慢煉成的吧。
?
很想用師兄的一段話來形容這段過程的學習,《機房收費系統(tǒng)》就像一塊磨刀石,將我們磨的越來越鋒利;同時它又是一個大消化系統(tǒng),將我們需要用到的軟件工程,UMl,C#,設計模式,MVC這些東西都消化了進去。
?
合作開發(fā)機房收費系統(tǒng)完成,意味著我的一個階段終結。暫時告別了C/S結構系統(tǒng)的學習,迎來了B/S結構。
?
先不急著說,這中間,我們還做了一個很有趣的項目。
以前我們利用SNS(SocialNetworkingServices,即社會性網(wǎng)絡服務)克服了傳統(tǒng)學習環(huán)境的弊端,實行開放式學習,讓全世界的老師變成提高班學生的老師,我們看很多公開課,看很多名校的授課視頻,看很多大牛的錄制的視頻。
?
這次,經米老師授意,我們嘗試了自己錄制視頻,我們稱它為視頻項目,從寫項目計劃書,日報,完善講課內容,整理資料,錄制,最后收尾,一周的時間,算是對自己這段時間學習的總結,也算是為了他人貢獻自己的一點力量吧。
我們把這段時間的學習,比較有代表性的地方錄成了視頻。主要集中在,UML、設計模式和三層架構在機房收費系統(tǒng)中的應用。我負責的是三層架構在機房收費系統(tǒng)中的實現(xiàn),一共錄了9集,一集20分鐘所有的樣子。不管以后能不能用上,能保留下一份自己的勞動成果,還是非常開心的。當然也希望對后來者有所幫助,哪怕供師弟師妹來批判,也挺有意思的。
?
不能總停留在“機房收費系統(tǒng)”的時代,畢竟,那個時代,現(xiàn)在暫時終結了,留下來的都是些深入骨髓的東西。
?
新時代來臨!
?
從這次附錄的《我的進度心情表》中可以看到,我進入了B/S的學習,這里我是從牛腩老師的新聞發(fā)布系統(tǒng)、孫鑫老師的Html和天轟穿老師的Asp.net起步的。對于這三位,大家可以去網(wǎng)上搜一搜,我不過多介紹。
?
對于新聞發(fā)布系統(tǒng),有以前的基礎,后臺代碼還容易搞定,可能是剛開始接觸Web開發(fā),各方面不太熟悉,前臺界面總是出這樣那樣的問題,折騰來折騰去,掐指數(shù)一數(shù),整整兩周才能跑起來。雖然新聞發(fā)布系統(tǒng)很小,真的很小,但仍然有各種不明白,各種不理解,都羅列在那了,這么做能實現(xiàn),為什么這么做能實現(xiàn),有沒有更好地方法,這里能不能優(yōu)化,那里是不是可以改進。問號挺多的。
?
孫鑫老師和天轟穿老師的教學視頻看完了,也認真做了筆記,但還在對學習所得進行整理歸納之中,這里先不和大家分享了,相信后續(xù)的《我的軟件工程之路》文章中會有介紹。后面還會針對asp.net,jquery,css,html,xml,javascript深入學習,學習成果還是會在后續(xù)文章中提及。
?
任重道遠,恨不得趕緊把所有的東西都倒進腦子里。還是像我上一篇文章中說的,“腦子里不成一鍋漿糊,永遠不會豁然開朗”、“永遠不要指望只學一本書,就能掌握這門課的全部”。對于暫時的問號,我是沒有什么抵觸的,這是學習階段必須經歷的嘛,我有信心能順利通過。問題先掛著吧,等學完下面的幾門課,估計對新聞發(fā)布系統(tǒng)中一些東西的理解就不可同日而語了,給自己打個氣。
?
其實,我的博客,每一篇文章,都是學習過程中的點點滴滴,《我的軟件工程之路》系列文章只是把那些點點滴滴進行一個匯總和提煉吧。B/S學習的方面說得很少,期待下期吧。
?
老規(guī)矩,附:《我的進度心情表》 ??微博裁下來的,絕對保真,哈哈,下次考慮用CSDN的迷你博客
轉載于:https://www.cnblogs.com/javaspring/archive/2011/12/22/2656574.html
總結
以上是生活随笔為你收集整理的我的软件工程之路(二)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lhgdialog 4.2.0 正式版发
- 下一篇: 数据结构之【树形结构】复习题