程式設計團隊項目
目錄
-
- 團隊作業(一):團隊展示
- 任務一:團隊組建
- 任務二:團隊展示
- 其他
- 團隊作業(二):項目選題
- 任務一:團隊選題
- 任務二:需求分析
- 《需求規格說明書》要求:
- 團隊作業(三):确定分工
- 團隊作業(四):描述設計
- 部落格模闆
- 團隊作業(五):沖刺總結
- 團隊項目清單
- 基本要求
- 參考項目
- 團隊作業(一):團隊展示
參考鄒欣老師的部落格《現代軟體工程講義 4 團隊和流程》和《現代軟體工程講義 5 團隊合作的階段》,在接下來的時間裡,我們将嘗試以團隊為機關完成一些任務。
- 3-5人一組,建立團隊
- 認真選擇你的隊友,不必限于同一個寝室/班級
- 組建團隊後,選出一名隊長,并确定隊名
- 每個團隊建立一個部落格園賬号,之後将以團隊為機關,撰寫并送出部落格
使用團隊部落格園賬号,每隊發表一篇随筆,内容包括:
- 隊員姓名與學号(标記組長)
- 隊名:要求有亮點與個性
- 隊員風采:介紹每一位隊員的風格、擅長的技術、程式設計的興趣、希望的軟工角色、一句話宣言等
- 團隊的首次合照:有圖有真相,合照風格可以發揮創意
- 團隊的特色描述,主要描述有别于其他所有團隊的特點或核心競争力,言簡意赅
- 可參考福州大學團隊展示作業,如:【軟體工程實踐 · 團隊項目】 第一次作業,充分發揮本小組成員的創意.
- 本次作業送出截止時間為本周日23:59
- 隊長或隊員在自己的部落格中附上團隊部落格的連結,并在此處送出
- 每隊送出一份即可
參考『Java程式設計』課程 團隊項目備選題目 ,确定本小組的項目題目。
【注意】:原則上各小組選題不能重複,如有重複,請小組之間協商确定。
- 初步熟悉團隊git的協作方式。項目後續的代碼、文檔都要通過github增量式管理。實作文檔的版本化和增量式管理。
- 初步确立團隊任務計劃,将團隊的任務計劃添加到github的團隊項目issues裡。後續根據時間進度,在每個階段統計open/closed的統計情況,同時通過工具自動生成燃盡圖。( 生成燃盡圖的方式可參考使用Github生成燃盡圖)
- 采訪老師或有開發經驗的學長,訪談他們關于項目開發經驗、團隊組織方式、團隊成員協作、時間周期安排等包括但不限于上述内容的采訪。采訪前,準備好相應的提綱,做好功課。
- 參考藍墨雲班課中資源,撰寫本項目的《需求規格說明書》,并送出至碼雲。
- 各小組發表一篇随筆,内容為:撰寫《需求規格說明書》的工作流程、組員分工群組員工作量比例。
- 在随筆中附《需求規格說明書》的Git連結(markdown檔案及pdf檔案,tip:pdf可由markdown轉pdf工具得到)。
- 參考《軟體需求規格說明書》國标規範文本,撰寫對應項目的軟體需求規格說明書。
- 除形式上滿足規範文本要求外,整體内容必須圍繞項目實質展開,對所要開發的項目確定盡力做到清晰完整準确。
- 采用分層形式描述,随着“層”的深入,描述的内容細節越具體。
- 使用一緻的圖形符号和文字描述内容。
- 所有的縮寫須事先定義。
- 圖文并茂,通篇文檔有一個統一的樣式風格(對于該md檔案,要求團隊内每個人都需進行相應的commit,作為團隊開發的第一次嘗試)。
- 将自己置于讀者的立場——如果對軟體項目不熟悉的人員,通過閱讀這份文檔,能否完全讀懂軟體要做什麼。
- 通路軟體項目的真實使用者,確定軟體真正展現使用者的需求,為軟體最終可用奠定基礎。
- 需求規格說明書裡描述的細分功能、邊界範圍等,限定于本學期期末驗收時能達到的功能,最終答辯驗收将對照需求規格說明書進行。 亮點以及未來預期完成的功能,可在需求規格說明書裡獨立專章描述。
- 團隊協作,加強分工,需要描述每個成員的具體分工及占整個文檔任務的工作量比例。
- Checklist:
- 引言(5 ')
- 使用者場景(15 ')
- 類圖(10 ')
- 界面原型(15 '),建議使用墨刀
- 功能描述(20 ')
- 驗收驗證标準(20 ')
- 文檔的圖表、文字、樣式統一且符合規範(15 ')
- 組長或組員在自己的部落格中附上團隊部落格的連結,并在此處送出
- 每隊送出一份即可,在部落格中注明本次部落格撰寫人
- 修改完善上周送出的需求規格說明書,并在部落格中描述:上次的《需求規格說明書》初稿有哪些不足?修改需同時展現在Github的MarkDown檔案與PDF中。(提示:功能考慮不全或需求文檔描述缺少的地方。)(5')
- 讨論制定團隊的編碼規範,讨論之前和讨論之後,隊員閱讀《建構之法》第四章内容,并讨論總結。将代碼規範和編碼原則釋出在随筆上,并說說你們這麼選擇的理由。(5')
- 通過Powerdesigner完成團隊項目的資料庫設計,并在随筆中提供相應ER圖。(10')
- 進行項目的後端架構設計,要與需求規格說明書中的界面原型設計相對應。(15')
- 确定團隊分工。請參考"分而治之(WBS - Work Breakdown Structure)",提供下述内容:(15')
- 利用象限法确定各個核心需求的優先級,依據需求優先級确定團隊Alpha 版本需要實作的功能,在部落格中叙述并給出相應的WBS圖。
- 在團隊管理軟體中(比如Github的Issue,Leangoo等)将各個葉子結點的功能加入,并确定每個子功能的工作量,在部落格中給出配置設定後的截圖。值得注意的是,與學習技術相關的任務也需要考慮在工作量中,開發需要檢驗産出,學習同樣要有結果。PM可以用小Demo示範或學習心得部落格作為學習任務的檢驗。
- 給出團隊各個成員(用學号代替姓名)認領的工作,列出目前團隊的TODOList,并在最後給出燃盡圖。
- 描述組員在上述任務中的分工和工作量比例。
- 以上内容發表成一篇随筆,Alpha 版本的釋出時間安排在5月下旬,請各個團隊注意時間結點,盡快開始開發。
- 附錄
- Github項目生成燃盡圖的方式
同學們已經做了需求的分析,也做了詳細的系統設計,畫過了一些小小的類圖/用例圖,對自己要做什麼應該有比較清晰的認識了。接下來,我們要怎麼做便成了問題。有同學會說,我大概已經知道怎麼做了,在腦海裡比劃着,很多東西都有大緻的想法,45度仰頭思考片刻,有了一張宏偉的藍圖,感覺差不多可以施工了。
等等!好像不是自己一個人幹,旁邊還有幾個身手不錯的搭檔,況且這對一個人來說,工作量還是很大的,那就大夥分工合作吧,給大家講講自己的藍圖,然後開始分工:
- 張三做前端
- 李四做後端
- 王五來搞資料庫
- ...
大家熱火朝天地幹起了屬于自己的活,若幹天後,某些部分功能做得差不多了,感覺可以試試,說我們來整合聯調一下:
- 接口怎麼是這樣的?跟我想的不一樣啊
- 不是應該有個XXX類嗎?
- 這裡不是應該用多态嗎?
- 不對,你的調用順序錯了!
- 我要的資料沒有啊!
哪裡出問題了呢?很顯然是溝通問題,一個人的想法和了解,即使自己覺得很完整,很美好,但是能讓别人了解一緻嗎?不見得,同一件事情,如果不溝通清楚,兩個人的了解可能是千差萬别的,是以需要有充分的溝通,盡可能減少歧義的溝通。
溝通要借助工具,我們日常使用自然語言溝通,也是一種工具,隻是這種工具常常存在歧義,那麼我們用什麼能更加準确地描述自己的設計呢?這裡推薦UML給大家。
至于UML的基礎知識,課上我們講過了。這裡個人了解:把UML作為一種溝通工具來使用。溝通什麼呢?溝通設計思想。
問題既然抛出來了,一個團隊如何去描述讨論結果,并且确認大家了解一緻,我們可能需要用到:
- 用例圖
- 時序圖
- 狀态圖
- 活動圖
要做什麼?
- 大家準備如何分工合作
- 找到自己負責部分的核心(或最複雜)子產品做UML練習
- 團隊分工(5分)
描述團隊的每個成員分别完成了UML圖的哪些部分,可以選擇多種方式呈現,推薦泳道圖。
- UML(需求規格說明書裡已經練習過了整個系統的UML設計,這裡不需要對整個系統模組化,隻需要每個團隊成員找到自己負責部分的核心或最複雜子產品做UML練習)(20分)
- 用例圖(必選)
- 類圖(必選)
- 活動圖(必選)
- 狀态圖(必選)
注:對于每個圖,需描述對應的是系統哪部分、這部分面臨什麼樣的問題、這樣的設計解決了哪些問題?
- 工具選擇(大家可以共享經驗,互相推薦,談談為什麼選擇這個工具)(5分)
- 最快的可以手畫在紙上,拍照上傳,後面再電子化
- 推薦用上課講過的WhiteStarUML
- Visio
- ROSE
- 搜尋選擇其它工具(包括一些線上工具)...
因為一個團隊為完成一個項目,為了資訊完整,須将每個人的成果彙集到一篇部落格中,由組長送出到作業中。
沖刺(7次 Scrum)
團隊在日期區間[13-15周]内,任選7天進行沖刺,沖刺當天釋出一篇随筆,共7篇。具體的博文規範如下:
- 第 1 篇 Scrum 沖刺部落格對整個沖刺階段起到領航作用,應該主要包含四個部分的内容:
- 各個成員在 Alpha 階段認領的任務
- 明日各個成員的任務安排
- 整個項目預期的任務量(使用整數表示,與項目預估的總工作小時數一緻。比如項目A預估需120小時才能完成,則任務量為120。)
- 團隊成員貢獻值的計算規則
- 第 2-6篇 Scrum 沖刺部落格是沖刺階段的主要産出,主要包含四個部分的内容:
- 各個成員今日完成的任務(如果完成的任務為開發或測試任務,需給出對應的Github代碼簽入記錄截圖;如果完成的任務為調研任務,需給出對應的調研總結部落格連結;如果完成的任務為學習技術任務,需給出學習總結部落格連結)
- 各個成員遇到的問題
- 各個成員今日對項目的貢獻量(使用整數表示,如無産出則為0,整個沖刺階段所有成員的貢獻量總和應與項目預期任務量相近)
- 第 7篇 Scrum 沖刺是對沖刺階段的總結,主要包含兩個部分的内容:
- 各個成員今日完成的任務(要求同上)
- 項目的釋出說明,主要包含:本版本的新功能,軟體對運作環境的要求,系統已知的問題和限制,軟體的釋出方式以及釋出位址。
除上述部落格内容外,每次 Scrum 沖刺部落格都需要提供當天站立式會議照片一張,釋出項目燃盡圖,并描述項目整體的進展情況。
參考部落格:
http://www.cnblogs.com/ruangong3165/p/6048364.html
http://www.cnblogs.com/CSLaker/p/6079765.html
- 平台Java、Java Web,Android或iOS平台
- 内容
- 遊戲
- 工具
- 自定義
- 代碼量不要低于2500行
歡迎關注“rocedu”微信公衆号(手機上長按二維碼)
做中教,做中學,實踐中共同進步!

- 原文位址:https://www.cnblogs.com/rocedu/p/10565072.html
- 推薦網站:部落格園、新浪微網誌、扇貝背單詞、DKY背單詞小組、有道雲筆記、豆瓣讀書
- 版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你覺得本文對你有幫助,請點一下左下角的“好文要頂”和“收藏該文”