第一次迭代開發心得
引言
在本科時期第一次完整嘗試著去做自己的專案,而且也是以一個team的方式,其中也出現了很多問題,然而還是在學長的幫助下和團隊的共同努力下,共同克服了這些問題。
問題
主要的問題可以歸為如下幾類:
- 技術類問題
- 分工問題
- 突發情況
How to handle?
一、技術問題
技術問題應該是遇到的最常見的問題,一方面自己的知識儲備不足,另一方面專案需求可能過高導致,不管是哪一方面又都得克服,就比如一開始的web工程,jsp、servlet、javabean之前都不是很熟悉,對於過濾機制等又不知道是如何運作,那時是一頭霧水的,還好團隊有人對這些方面比較熟悉,在隊友的幫助下能夠大致理解了web工程的運作機制,此外,自己也去學習了一些先進的框架,如Struts2,也特地去學習了一番,找到了一張框架圖,理解起來就更加容易了:
https://blog.csdn.net/qq_37230121/article/details/80229927
第二個遇到的問題在於結果傳遞的方式,我們想要實時傳遞我們的結果,實現解析程式和web程式的通訊,暫時想到的辦法是利用socket通訊實現二者的通訊,但是這樣存在的一個弊端是結果的實時性不夠快,看到網上的辦法可能又需要使用websocket方法來實現即時的通訊,總是現在的思路是這樣。
幾個殘留的問題一是我們要實現動態圖顯示結果,需要呼叫另個一個程式的介面,二是我們需要將spqrql結果顯示,那樣的話就又需要對結果進行進一步的整理,如何整理也將是一個問題。
二、分工問題
我們團隊每個人掌握的技能都比較雜,所以我們的分工相對來說採取的是一個動態的方法,一個人不是固定的去做某一件事,當其他成員遇到問題或者某個模組急需要解決時,我們又都得抽出精力一起去應付,雖然過程可能比較複雜,但是好在靈活,能夠一起使勁解決問題,這應該只是我們這種基礎偏弱的隊伍才會發生的問題,我想,積累了一定的經驗後,一個大的團隊應該是真正分成了幾個小的模組分成小組來做,每組有專攻,而不像我們團隊每個人都是“全能高手”,所以對於比較成熟的團隊,我覺得還是應該分成小組,小組只有在對接時才會進行協商,技術問題也應該是在小組內解決,這種每個人都是全棧工程師的也只有我們學生了吧,hh。
三、突發情況
由於這學期和上學期的安排有所調整,又是採用的新的教材,專案過程中總會有一些偶然的突發情況,要麼就是老師突然加需求了,要麼就是程式伺服器突然出問題了,關於前者,其實我們遇到的不是很多,應付起來也不是很急,主要是我們團隊工作的比較勤快,許多工作都能按期完成甚至提前完成,有的組進度可能調整的比較慢,老師增添需求後就會應付不過來。
我們也會遇到伺服器出問題,有時是資料庫的問題,有時是結果解析伺服器的問題,給我們的教訓就是伺服器資料一定要做好備份,否則出了問題當你要重新構建時,資料就全部丟失,表格甚至也要重新搭建,耗時費力。
在結果解析程式伺服器上面,我們在和伺服器通訊時遇到了很大的問題,並且卡了很久,最後是在學長的幫助下解決,這方面主要是對伺服器的構造不夠了解,花了很長時間來檢查出問題所在,也算是學習到了通訊方面的知識。
總結
總之,這一次迭代是以疲憊結束的,驗收標準一出來,大家又對著驗收標準瘋狂檢查bug,另一方面又要補全自己的功能,連續兩三天大家整天盯著電腦,也都快成了圖書館的常客,驗收的過程中也出現了異常,本來沒有bug的專案不知道怎麼就出現了bug- -,還需要之後來排除,幸運的是最後彌補了過來,最後的評分還是以一個令人滿意的方式結尾。
另一個體會是,做一個專案和做一個程式思考角度又真的有很大的不同,程式更多講究效率,專案更多注重的是健壯性,所以我們在寫程式碼時又非常注意結構的完整和美觀,一方面希望自己能養成良好的模組思維,另一方面也是養成良好的習慣,最後希望大家繼續努力,完成自己的第一個專案!