相關博文目錄:
第一次作業點評
第二次作業點評
第三次作業點評
本頁點評團隊1-22,其他組見:http://www.cnblogs.com/xiaozhi_5638/p/4490764.html
團隊編号
部落格園團隊部落格
1
FOR THE DREAM
2
思甜雅
3
平常心
4
沉睡魔咒
5
藍色夢想
6
進擊的代碼
7
追夢人
8
One Piece
9
四傻大鬧齊工大
10
粉末
11
Dream high
12
軟體工程學習小組
13
蹿吧 妮兒
14
代碼海洋
15
KING
16
奔跑的蝸牛
17
狩獵的時間到了
18
非常4+1
19
20
天天向上
21
翺翔的飛鷹
22
團隊部落格206
團隊項目裡一下子要做的幾個都是比較抽象的東西:
協作與分工
立項(NABCD大法。。)
功能設計
用例圖、類圖、時序圖等
測試計劃
前兩次作業分别是PSP和結對程式設計,上述幾個内容都沒有得到充分的有效訓練,導緻同學們做這幾個環節整體流于形式。不能抓住重點。
簡單确定團隊成員之後,不應該直接就分工了。一般來說立項是第一位的,如果不能确定軟體要不要做,要做什麼,分工有個屁用。而立項,根據《建構之法》,我們知道NABCD是一種有效的模型,大家稱為<code>NABCD大法</code>。不過我的角度看來,大家還隻是在字面意義上去使用NABCD了,有NABCD和沒NABCD差別在哪?我認為以上的其他部分都可以圍繞NABCD的去做。
那好,我們就說用NABCD了:
N,我認為N一定要分析目标使用者群,搞清楚:誰是使用者,他們的需求是什麼,現有的軟體解決了他們的什麼問題,沒解決的問題是什麼,然後,我們的Team才決定去做一個軟體解決這些使用者的需求。使用者可以是自己,也可以是班上的同學,也可以是網絡上的其他人,但一定要有使用者。沒人用,你做的都是無用功。一般來說,能搞明白面向的使用者是誰、能解決的核心問題,就是最基本的。需求也不是自己拍腦袋想出來的,多半你還是需要去和你的使用者溝通,做使用者需求分析,否則你想象出來的需求根本不存在,在整個項目周期内,需要反複從使用者哪裡得到回報。
A,這個地方你大可以針對N裡的需求做分析、設計。分析的話可以做個基本需求分析、進階需求分析、擴充需求分析等。設計,才是你們需要用上用功能設計、用例圖、類圖、時序圖的地方。
B,好不容易做了分析、做了設計。總得說下如果要去實作的話,做好了這個軟體。使用者會不會被吸引去使用,怎樣才能被吸引?B要思考的就是我們的軟體經過A之後,會不會根本不夠吸引使用者去使用,如果是的話,那就要傳回去思考N和A是否有問題。如果有問題,就一定要回歸分析、設計了。如果連自己都說服不了,不值得寫代碼。
C、如今早就是滿世界都是軟體了,你做一個一模一樣,完全功能都一樣,甚至更全的軟體估計都沒什麼競争價值了。那麼問題來了,怎樣才有競争力,競争力意味着别人死活都比不過你。這個就要絞盡腦汁的。
D、請傳回看你的N,如何讓他們用上軟體,解決他們的問題,并讓它們得到B,你的軟體他們會用多久呢?
以上幾個點,并非一次了事的事情,會貫穿整個軟體生命周期,需要随時更新和調整。然後,就開始開工了,無論是瀑布模型還是靈活開發,盡早往github上送出代碼啊。寫了一堆東西,一行代碼都沒看到呢?第一天就可以初始化項目目錄,工程檔案,趕緊往github上送出呗。一個月時間不抓緊怎麼能做出高品質的軟體。在經驗不夠的多的情況下,能一個team在一起協作多寫代碼才更真實吧,那些抽象的名詞也沒辦法不寫代碼隻寫部落格就能了解。盡早做出有人用的軟體才是真正的目标。
7月8日更新,重要:
程式部分裡的代碼送出部分單獨拆出評分,請還沒送出或者送出不完整的團隊,補交完整項目代碼,截止日期2015年7月15号。Fixed!
部落格作業逾期(超過一周)未提及的,會直接倒扣分數。
NABCD(10)
程式(10)
運作與總結(10)
代碼送出(10)
github
備注
總分(3:2:3:2)
截止時間
5月24
6月14
6月21
完整
80
71
68
7.5
完整(7月10号更新送出)
67
送出了單個檔案,無字尾名
請送出完整項目工程
65
送出了一個txt檔案
62
送出了一個Md檔案
59
無,部落格有代碼
57
項目不完整
56
54
51
48
有未實作代碼
46
送出了單個檔案,無字尾名(7月15号更新送出)
指令行版變成GUI版?請送出完整項目工程;7月15更新:重寫了指令行版的總結。
45
41
40
36
指令行版變成GUI版?,請送出完整項目工程
35
-5
送出了單個檔案,無字尾名(7月10号更新送出)
指令行版變成GUI版?,請送出完整項目工程,面向對象程式設計超過一周未送出
優:
總體上每個團隊還是堅持到了最後,完成了大部分必要的環節
一部分同學至少學會了完整送出github,如果能整個開發周期都在github上協作就更好了
項目的立項和分析,NABCD環節,總體上有了個初步的接觸,想必以後做其他項目的時候大家會想到這個大法
無論自己寫的還是基于已有代碼做的,都至少做了一些
劣:
老師布置的環節有的團隊沒做完整,比如面向對象程式設計,運作和總結
隻要少數幾個團隊認真送出了github,一部分送出了單檔案,另一部分沒送出,還有的沒看到代碼,也說明了團隊的程式開發并沒有全程使用github的版本化功能
有很多部落格内容摘抄的痕迹明顯,其實如果是引用别人的文章,至少要加引用說明,可以引用,但是一定要有結合自己項目了解并認真寫的部分,列個參考資料也比直接抄強
整個團隊項目過程中,可能是由于期末同學們忙于各種考試的原因,展現出工程方法的比較少
團隊的部落格裡應該說明團隊裡每個成員的實際做的事情,以及協作解決問題的過程中如何使用工程方法解決的,但很多團隊部落格隻寫了部落客自己幹了什麼
團隊項目代碼做的品質并不如結對程式設計的代碼品質,可能是由于期末的原因吧,多人協作的項目至少要有足夠的代碼數量吧,很多太簡單了,還不如結對項目
如果是基于已有項目的代碼,至少應該說明下,本項目基于之前誰誰誰的哪個版本的代碼上開始做,自己做的部分主要添加了哪些東西,最重要的是,自己做的部分是什麼
第一周個人項目的時候,一定要嚴格考核每個同學的Git使用能力。比如可以設定隻有通過Git考核的才能進入下一個環節(結對程式設計)項目,而不進入下一個環節就不能得下一個環節的分數,這樣甯缺毋濫的要求下,必然不會出現到了團隊項目還不會正确使用Git以及在Github上協同開發。單元測試也要嚴格通過。
結對程式設計的時候,一定要嚴格考核每個小組的編碼規範能力,以及兩人協同開發的能力。如果一個班級都采用一種語言開發,比如Java,那麼此時可以要求在教師指定的編碼規範裡挑選一種并且嚴格執行。協同開發,在Github上必須有兩人協作開發的fork-pull-request記錄。
團隊項目的時候,必須一開始就說明團隊部落格位址+團隊項目的Github倉庫位址。必須為團隊項目在第一天就建立團隊項目的Github倉庫,并且每個階段都必須有所有團隊成員的fork-pull-request送出記錄。
選題要說明是重新開發的項目還是在已有項目上開發,如果是在已有項目上開發,應該在NABCD裡重點說明已有項目的背景,及其需要改進的點,或者哪些新需求,這樣才能有的放矢,在後續的環節裡明确說明團隊改進和新增部分的内容,而不能用已有項目本身的代碼充數。
對于學生來說,還是應該圍繞可運作的項目代碼為核心,任何一個環節都應該保證Github上送出的代碼是目前可執行的。
可以的情況下,應該要求必須回報助教或者老師的建議,不回報者直接扣分,否則給出的建議都沒有跟進。