軟件工程(QLGY2015) 第三次作業點評(含成績)


相關博文目錄:

團隊信息

本頁點評團隊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 19
20 天天向上
21 翱翔的飛鷹
22 團隊博客206

NABCD點評

團隊項目里一下子要做的幾個都是比較抽象的東西:

  • 協作與分工
  • 立項(NABCD大法。。)
  • 功能設計
  • 用例圖、類圖、時序圖等
  • 測試計划

前兩次作業分別是PSP和結對編程,上述幾個內容都沒有得到充分的有效訓練,導致同學們做這幾個環節整體流於形式。不能抓住重點。

簡單確定團隊成員之后,不應該直接就分工了。一般來說立項是第一位的,如果不能確定軟件要不要做,要做什么,分工有個屁用。而立項,根據《構建之法》,我們知道NABCD是一種有效的模型,大家稱為NABCD大法。不過我的角度看來,大家還只是在字面意義上去使用NABCD了,有NABCD和沒NABCD區別在哪?我認為以上的其他部分都可以圍繞NABCD的去做。

那好,我們就說用NABCD了:

N,我認為N一定要分析目標用戶群,搞清楚:誰是用戶,他們的需求是什么,現有的軟件解決了他們的什么問題,沒解決的問題是什么,然后,我們的Team才決定去做一個軟件解決這些用戶的需求。用戶可以是自己,也可以是班上的同學,也可以是網絡上的其他人,但一定要有用戶。沒人用,你做的都是無用功。一般來說,能搞明白面向的用戶是誰、能解決的核心問題,就是最基本的。需求也不是自己拍腦袋想出來的,多半你還是需要去和你的用戶溝通,做用戶需求分析,否則你想象出來的需求根本不存在,在整個項目周期內,需要反復從用戶哪里得到反饋。

A,這個地方你大可以針對N里的需求做分析、設計。分析的話可以做個基本需求分析、高級需求分析、擴展需求分析等。設計,才是你們需要用上用功能設計、用例圖、類圖、時序圖的地方。

B,好不容易做了分析、做了設計。總得說下如果要去實現的話,做好了這個軟件。用戶會不會被吸引去使用,怎樣才能被吸引?B要思考的就是我們的軟件經過A之后,會不會根本不夠吸引用戶去使用,如果是的話,那就要返回去思考N和A是否有問題。如果有問題,就一定要回歸分析、設計了。如果連自己都說服不了,不值得寫代碼。

C、如今早就是滿世界都是軟件了,你做一個一模一樣,完全功能都一樣,甚至更全的軟件估計都沒什么競爭價值了。那么問題來了,怎樣才有競爭力,競爭力意味着別人死活都比不過你。這個就要絞盡腦汁的。

D、請返回看你的N,如何讓他們用上軟件,解決他們的問題,並讓它們得到B,你的軟件他們會用多久呢?

以上幾個點,並非一次了事的事情,會貫穿整個軟件生命周期,需要隨時更新和調整。然后,就開始開工了,無論是瀑布模型還是敏捷開發,盡早往github上提交代碼啊。寫了一堆東西,一行代碼都沒看到呢?第一天就可以初始化項目目錄,工程文件,趕緊往github上提交唄。一個月時間不抓緊怎么能做出高質量的軟件。在經驗不夠的多的情況下,能一個team在一起協作多寫代碼才更真實吧,那些抽象的名詞也沒辦法不寫代碼只寫博客就能理解。盡早做出有人用的軟件才是真正的目標。

評分

7月8日更新,重要:

  1. 程序部分里的代碼提交部分單獨拆出評分,請還沒提交或者提交不完整的團隊,補交完整項目代碼,截止日期2015年7月15號。Fixed!
  2. 博客作業逾期(超過一周)未提及的,會直接倒扣分數。
團隊編號 NABCD(10) 程序(10) 運行與總結(10) 代碼提交(10) github 備注 總分(3:2:3:2)
截止時間 5月24 6月14 6月21 6月21
19 8 8 8 8 完整 80
4 6 8 7 8 完整 71
2 6 8 7 8 完整 71
3 7 6 7 7 完整 68
7 7 7.5 7 5 完整(7月10號更新提交) 67
13 7 7.5 7 4 提交了單個文件,無后綴名 請提交完整項目工程 65
14 6 7.5 7 4 提交了一個txt文件 請提交完整項目工程 62
20 5 7.5 7 4 提交了一個Md文件 請提交完整項目工程 59
12 7 7.5 7 0 無,博客有代碼 請提交完整項目工程 57
18 5 7.5 6 4 項目不完整 請提交完整項目工程 56
22 4 5 6 7 完整 54
6 6 7.5 6 0 無,博客有代碼 請提交完整項目工程 51
10 6 7.5 6 0 無,博客有代碼 請提交完整項目工程 51
11 6 5 4 4 提交了單個文件,無后綴名 請提交完整項目工程 48
15 3 3 7 5 有未實現代碼 請提交完整項目工程 46
16 5 7.5 4 2 提交了單個文件,無后綴名(7月15號更新提交) 命令行版變成GUI版?請提交完整項目工程;7月15更新:重寫了命令行版的總結。 46
9 6 7.5 4 0 無,博客有代碼 請提交完整項目工程 45
17 4 2 5 5 完整(7月10號更新提交) 41
21 6 2 6 0 無,博客有代碼 請提交完整項目工程 40
1 5 3 5 0 無,博客有代碼 請提交完整項目工程 36
5 5 4 2 3 提交了單個文件,無后綴名 命令行版變成GUI版?,請提交完整項目工程 35
8 7 -5 2 2 提交了單個文件,無后綴名(7月10號更新提交) 命令行版變成GUI版?,請提交完整項目工程,面向對象程序設計超過一周未提交 21

優:

  • 總體上每個團隊還是堅持到了最后,完成了大部分必要的環節
  • 一部分同學至少學會了完整提交github,如果能整個開發周期都在github上協作就更好了
  • 項目的立項和分析,NABCD環節,總體上有了個初步的接觸,想必以后做其他項目的時候大家會想到這個大法
  • 無論自己寫的還是基於已有代碼做的,都至少做了一些

劣:

  • 老師布置的環節有的團隊沒做完整,比如面向對象程序設計,運行和總結
  • 只要少數幾個團隊認真提交了github,一部分提交了單文件,另一部分沒提交,還有的沒看到代碼,也說明了團隊的程序開發並沒有全程使用github的版本化功能
  • 有很多博客內容摘抄的痕跡明顯,其實如果是引用別人的文章,至少要加引用說明,可以引用,但是一定要有結合自己項目理解並認真寫的部分,列個參考資料也比直接抄強
  • 整個團隊項目過程中,可能是由於期末同學們忙於各種考試的原因,體現出工程方法的比較少
  • 團隊的博客里應該說明團隊里每個成員的實際做的事情,以及協作解決問題的過程中如何使用工程方法解決的,但很多團隊博客只寫了博主自己干了什么
  • 團隊項目代碼做的質量並不如結對編程的代碼質量,可能是由於期末的原因吧,多人協作的項目至少要有足夠的代碼數量吧,很多太簡單了,還不如結對項目
  • 如果是基於已有項目的代碼,至少應該說明下,本項目基於之前誰誰誰的哪個版本的代碼上開始做,自己做的部分主要添加了哪些東西,最重要的是,自己做的部分是什么

未來改進點

  1. 第一周個人項目的時候,一定要嚴格考核每個同學的Git使用能力。比如可以設置只有通過Git考核的才能進入下一個環節(結對編程)項目,而不進入下一個環節就不能得下一個環節的分數,這樣寧缺毋濫的要求下,必然不會出現到了團隊項目還不會正確使用Git以及在Github上協同開發。單元測試也要嚴格通過。
  2. 結對編程的時候,一定要嚴格考核每個小組的編碼規范能力,以及兩人協同開發的能力。如果一個班級都采用一種語言開發,比如Java,那么此時可以要求在教師指定的編碼規范里挑選一種並且嚴格執行。協同開發,在Github上必須有兩人協作開發的fork-pull-request記錄。
  3. 團隊項目的時候,必須一開始就說明團隊博客地址+團隊項目的Github倉庫地址。必須為團隊項目在第一天就建立團隊項目的Github倉庫,並且每個階段都必須有所有團隊成員的fork-pull-request提交記錄。
  4. 選題要說明是重新開發的項目還是在已有項目上開發,如果是在已有項目上開發,應該在NABCD里重點說明已有項目的背景,及其需要改進的點,或者哪些新需求,這樣才能有的放矢,在后續的環節里明確說明團隊改進和新增部分的內容,而不能用已有項目本身的代碼充數。
  5. 對於學生來說,還是應該圍繞可運行的項目代碼為核心,任何一個環節都應該保證Github上提交的代碼是當前可執行的。
  6. 可以的情況下,應該要求必須反饋助教或者老師的建議,不反饋者直接扣分,否則給出的建議都沒有跟進。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM