經(jīng)過了一學(xué)期的《軟件工程》課程,通過課上的學(xué)習(xí)和項目的實戰(zhàn),我對軟件工程的概念和方法有了深刻的認識寺庄,也在小組4個人的共同努力下,完成了一個有可能上線為許多人使用的琴房預(yù)約系統(tǒng)力崇。我在這門課上投入了非常多的時間和精力斗塘,超過了之前上過的所有課程,也有許多收獲亮靴,以下是我對一學(xué)期課程的總結(jié)馍盟。
一、需求工程的重要性
在以往所有的大作業(yè)中茧吊,我們開發(fā)面向的都是大作業(yè)要求贞岭、助教和老師,需求在作業(yè)要求中已經(jīng)確定搓侄。不過這次大作業(yè)瞄桨,需要我們對給定的題目進行調(diào)研,對需求進行建模讶踪,撰寫用戶故事和需求文檔讲婚。我們需要決定自己需要實現(xiàn)的功能,最終的目標不再是簡單地完成一個作業(yè)俊柔,而是要完成一個系統(tǒng)筹麸,一件產(chǎn)品活合,就像一個創(chuàng)業(yè)公司一樣,不光是技術(shù)能力物赶,更重要的是需要把握用戶的需求白指,才能讓自己的產(chǎn)品在市場上有競爭力,在激烈的斗爭中生存下來酵紫。
當我們開發(fā)的是一項規(guī)模龐大的產(chǎn)品時告嘲,簡單的口述甚至是文字描述難以向其他人描述清楚需求,必須通過規(guī)范的文檔奖地,才能讓團隊中的其他人特別是開發(fā)人員理解清楚所要實現(xiàn)的功能橄唬。事實上,需求文檔在我們項目的開發(fā)過程中起到了很重要的指導(dǎo)作用参歹,例如長期預(yù)約這個功能點仰楚,助教在項目開始并沒有提到,而是通過我們對藝教中心琴房實地的調(diào)查才了解到的犬庇,最終也轉(zhuǎn)化為我們的項目的一個亮點僧界。
二、過程管理的重要性
首先臭挽,要想開發(fā)一個出色的產(chǎn)品捂襟,一個優(yōu)秀的團隊是不可或缺的。很榮幸能和三位認真負責欢峰,精益求精的同學(xué)一起合作葬荷,小組內(nèi)分工明確,各司其職纽帖,氛圍融洽宠漩,難忘在 608 一起度過的一個個夜晚。
其次抛计,對代碼的管理十分重要哄孤。首先是 Git 的使用照筑,之前個人作業(yè)或者簡單的小組合作作業(yè)吹截,對代碼的管理或許顯得不那么重要,但在本次項目持續(xù)整個學(xué)期的開發(fā)和上萬的代碼量凝危、繁多的功能點面前波俄,就必須有規(guī)范的代碼管理,否則會使開發(fā)變得極其混亂蛾默。在今后的工作當中懦铺,代碼管理是100%需要做的事,感謝本次項目開發(fā)讓我對代碼管理支鸡,包括代碼管理工具的使用得到了很大的鍛煉冬念。
除此之外趁窃,測試也是為了保證產(chǎn)品質(zhì)量所必須花很大功夫做的事。在本次項目中急前,我們每個人對自己所實現(xiàn)的功能都做了單元測試醒陆,特別是后端,之后大家一起做了功能測試裆针,還進行了鎖的測試和性能測試刨摩。在項目開發(fā)的初期,我們并沒有做很多測試世吨,更多的關(guān)注點放在了盡快開發(fā)新功能上澡刹。隨著代碼量的增加,可能出現(xiàn)的 bug 也越來越多耘婚,調(diào)試也變得更加困難罢浇,不經(jīng)過充分的測試,很難保證函數(shù)和功能的正確性边篮。事實上己莺,我更希望能一邊開發(fā)一邊寫單元測試,但由于精力有限戈轿,只能先保證開發(fā)的進度凌受,但我總是不放心,也的確出了不少 bug思杯。我現(xiàn)在仍然不敢保證我們的系統(tǒng) 100% 不會有 bug胜蛉,但測試過程中的確發(fā)現(xiàn)了許多問題,也都進行了修復(fù)色乾。
還有一點是代碼的可維護性誊册,可拓展性。面對復(fù)雜多變的需求暖璧,需要從系統(tǒng)設(shè)計開始案怯,到數(shù)據(jù)庫的設(shè)計,到功能的實現(xiàn)澎办,都要保證可維護性和可拓展性嘲碱。在我們的開發(fā)過程中,為了適應(yīng)新功能局蚀,數(shù)據(jù)庫和接口的設(shè)計都發(fā)生了許多次變化麦锯。我們無法預(yù)知未來的所有需求,就必須要早做準備琅绅,以免大規(guī)模重構(gòu)系統(tǒng)扶欣,損失大量時間的同時,也可能產(chǎn)生新的 bug。
三料祠、個人能力的成長
- 代碼能力得到巨大提升骆捧,對大型項目的開發(fā)不再感到恐懼。
- 能夠熟練使用 Node.js 和 Koa髓绽,不過在項目中沒有開發(fā)前端凑懂,因此前端開發(fā)的能力沒有鍛煉,不過也在其他三人的開發(fā)過程中學(xué)到了不少東西梧宫。
- 從持續(xù)集成實驗到本項目接谨,學(xué)會了如何編寫單元測試
- Git 的使用更加熟練
- 數(shù)據(jù)庫的使用
- 寫各種文檔的能力
- 團隊合作
- 。塘匣。脓豪。。忌卤。扫夜。
最后,感謝老師一學(xué)期的指導(dǎo)驰徊,感謝助教的努力笤闯,感謝優(yōu)秀的隊友,這門課上學(xué)到的東西讓我受益匪淺棍厂。