程序设计团队项目
目錄
- 程序設(shè)計(jì)團(tuán)隊(duì)項(xiàng)目
- 團(tuán)隊(duì)作業(yè)(一):團(tuán)隊(duì)展示
- 任務(wù)一:團(tuán)隊(duì)組建
- 任務(wù)二:團(tuán)隊(duì)展示
- 其他
- 團(tuán)隊(duì)作業(yè)(二):項(xiàng)目選題
- 任務(wù)一:團(tuán)隊(duì)選題
- 任務(wù)二:需求分析
- 其他
- 團(tuán)隊(duì)作業(yè)(三):確定分工
- 團(tuán)隊(duì)作業(yè)(四):描述設(shè)計(jì)
- 博客模板
- 團(tuán)隊(duì)作業(yè)(五):沖刺總結(jié)
- 團(tuán)隊(duì)項(xiàng)目列表
- 基本要求
- 參考項(xiàng)目
- 團(tuán)隊(duì)作業(yè)(一):團(tuán)隊(duì)展示
程序設(shè)計(jì)團(tuán)隊(duì)項(xiàng)目
團(tuán)隊(duì)作業(yè)(一):團(tuán)隊(duì)展示
參考鄒欣老師的博客《現(xiàn)代軟件工程講義 4 團(tuán)隊(duì)和流程》和《現(xiàn)代軟件工程講義 5 團(tuán)隊(duì)合作的階段》,在接下來(lái)的時(shí)間里,我們將嘗試以團(tuán)隊(duì)為單位完成一些任務(wù)。
任務(wù)一:團(tuán)隊(duì)組建
- 3-5人一組,建立團(tuán)隊(duì)
- 認(rèn)真選擇你的隊(duì)友,不必限于同一個(gè)寢室/班級(jí)
- 組建團(tuán)隊(duì)后,選出一名隊(duì)長(zhǎng),并確定隊(duì)名
- 每個(gè)團(tuán)隊(duì)新建一個(gè)博客園賬號(hào),之后將以團(tuán)隊(duì)為單位,撰寫并提交博客
任務(wù)二:團(tuán)隊(duì)展示
使用團(tuán)隊(duì)博客園賬號(hào),每隊(duì)發(fā)表一篇隨筆,內(nèi)容包括:
- 隊(duì)員姓名與學(xué)號(hào)(標(biāo)記組長(zhǎng))
- 隊(duì)名:要求有亮點(diǎn)與個(gè)性
- 隊(duì)員風(fēng)采:介紹每一位隊(duì)員的風(fēng)格、擅長(zhǎng)的技術(shù)、編程的興趣、希望的軟工角色、一句話宣言等
- 團(tuán)隊(duì)的首次合照:有圖有真相,合照風(fēng)格可以發(fā)揮創(chuàng)意
- 團(tuán)隊(duì)的特色描述,主要描述有別于其他所有團(tuán)隊(duì)的特點(diǎn)或核心競(jìng)爭(zhēng)力,言簡(jiǎn)意賅
- 可參考福州大學(xué)團(tuán)隊(duì)展示作業(yè),如:【軟件工程實(shí)踐 · 團(tuán)隊(duì)項(xiàng)目】 第一次作業(yè),充分發(fā)揮本小組成員的創(chuàng)意.
其他
- 本次作業(yè)提交截止時(shí)間為本周日23:59
- 隊(duì)長(zhǎng)或隊(duì)員在自己的博客中附上團(tuán)隊(duì)博客的鏈接,并在此處提交
- 每隊(duì)提交一份即可
團(tuán)隊(duì)作業(yè)(二):項(xiàng)目選題
任務(wù)一:團(tuán)隊(duì)選題
參考『Java程序設(shè)計(jì)』課程 團(tuán)隊(duì)項(xiàng)目備選題目 ,確定本小組的項(xiàng)目題目。
【注意】:原則上各小組選題不能重復(fù),如有重復(fù),請(qǐng)小組之間協(xié)商確定。
- 初步熟悉團(tuán)隊(duì)git的協(xié)作方式。項(xiàng)目后續(xù)的代碼、文檔都要通過github增量式管理。實(shí)現(xiàn)文檔的版本化和增量式管理。
- 初步確立團(tuán)隊(duì)任務(wù)計(jì)劃,將團(tuán)隊(duì)的任務(wù)計(jì)劃添加到github的團(tuán)隊(duì)項(xiàng)目issues里。后續(xù)根據(jù)時(shí)間進(jìn)度,在每個(gè)階段統(tǒng)計(jì)open/closed的統(tǒng)計(jì)情況,同時(shí)通過工具自動(dòng)生成燃盡圖。( 生成燃盡圖的方式可參考使用Github生成燃盡圖)
- 采訪老師或有開發(fā)經(jīng)驗(yàn)的學(xué)長(zhǎng),訪談他們關(guān)于項(xiàng)目開發(fā)經(jīng)驗(yàn)、團(tuán)隊(duì)組織方式、團(tuán)隊(duì)成員協(xié)作、時(shí)間周期安排等包括但不限于上述內(nèi)容的采訪。采訪前,準(zhǔn)備好相應(yīng)的提綱,做好功課。
任務(wù)二:需求分析
- 參考藍(lán)墨云班課中資源,撰寫本項(xiàng)目的《需求規(guī)格說明書》,并提交至碼云。
- 各小組發(fā)表一篇隨筆,內(nèi)容為:撰寫《需求規(guī)格說明書》的工作流程、組員分工和組員工作量比例。
- 在隨筆中附《需求規(guī)格說明書》的Git鏈接(markdown文件及pdf文件,tip:pdf可由markdown轉(zhuǎn)pdf工具得到)。
《需求規(guī)格說明書》要求:
- 參考《軟件需求規(guī)格說明書》國(guó)標(biāo)規(guī)范文本,撰寫對(duì)應(yīng)項(xiàng)目的軟件需求規(guī)格說明書。
- 除形式上滿足規(guī)范文本要求外,整體內(nèi)容必須圍繞項(xiàng)目實(shí)質(zhì)展開,對(duì)所要開發(fā)的項(xiàng)目確保盡力做到清晰完整準(zhǔn)確。
- 采用分層形式描述,隨著“層”的深入,描述的內(nèi)容細(xì)節(jié)越具體。
- 使用一致的圖形符號(hào)和文字描述內(nèi)容。
- 所有的縮寫須事先定義。
- 圖文并茂,通篇文檔有一個(gè)統(tǒng)一的樣式風(fēng)格(對(duì)于該md文件,要求團(tuán)隊(duì)內(nèi)每個(gè)人都需進(jìn)行相應(yīng)的commit,作為團(tuán)隊(duì)開發(fā)的第一次嘗試)。
- 將自己置于讀者的立場(chǎng)——如果對(duì)軟件項(xiàng)目不熟悉的人員,通過閱讀這份文檔,能否完全讀懂軟件要做什么。
- 訪問軟件項(xiàng)目的真實(shí)用戶,確保軟件真正體現(xiàn)用戶的需求,為軟件最終可用奠定基礎(chǔ)。
- 需求規(guī)格說明書里描述的細(xì)分功能、邊界范圍等,限定于本學(xué)期期末驗(yàn)收時(shí)能達(dá)到的功能,最終答辯驗(yàn)收將對(duì)照需求規(guī)格說明書進(jìn)行。 亮點(diǎn)以及未來(lái)預(yù)期完成的功能,可在需求規(guī)格說明書里獨(dú)立專章描述。
- 團(tuán)隊(duì)協(xié)作,加強(qiáng)分工,需要描述每個(gè)成員的具體分工及占整個(gè)文檔任務(wù)的工作量比例。
- Checklist:
- 引言(5 ')
- 用戶場(chǎng)景(15 ')
- 類圖(10 ')
- 界面原型(15 '),建議使用墨刀
- 功能描述(20 ')
- 驗(yàn)收驗(yàn)證標(biāo)準(zhǔn)(20 ')
- 文檔的圖表、文字、樣式統(tǒng)一且符合規(guī)范(15 ')
其他
- 本次作業(yè)提交截止時(shí)間為本周日23:59
- 組長(zhǎng)或組員在自己的博客中附上團(tuán)隊(duì)博客的鏈接,并在此處提交
- 每隊(duì)提交一份即可,在博客中注明本次博客撰寫人
團(tuán)隊(duì)作業(yè)(三):確定分工
修改完善上周提交的需求規(guī)格說明書,并在博客中描述:上次的《需求規(guī)格說明書》初稿有哪些不足?修改需同時(shí)體現(xiàn)在Github的MarkDown文件與PDF中。(提示:功能考慮不全或需求文檔描述缺少的地方。)(5')
討論制定團(tuán)隊(duì)的編碼規(guī)范,討論之前和討論之后,隊(duì)員閱讀《構(gòu)建之法》第四章內(nèi)容,并討論總結(jié)。將代碼規(guī)范和編碼原則發(fā)布在隨筆上,并說說你們這么選擇的理由。(5')
通過Powerdesigner完成團(tuán)隊(duì)項(xiàng)目的數(shù)據(jù)庫(kù)設(shè)計(jì),并在隨筆中提供相應(yīng)ER圖。(10')
進(jìn)行項(xiàng)目的后端架構(gòu)設(shè)計(jì),要與需求規(guī)格說明書中的界面原型設(shè)計(jì)相對(duì)應(yīng)。(15')
- 確定團(tuán)隊(duì)分工。請(qǐng)參考"分而治之(WBS - Work Breakdown Structure)",提供下述內(nèi)容:(15')
- 利用象限法確定各個(gè)核心需求的優(yōu)先級(jí),依據(jù)需求優(yōu)先級(jí)確定團(tuán)隊(duì)Alpha 版本需要實(shí)現(xiàn)的功能,在博客中敘述并給出相應(yīng)的WBS圖。
- 在團(tuán)隊(duì)管理軟件中(比如Github的Issue,Leangoo等)將各個(gè)葉子結(jié)點(diǎn)的功能加入,并確定每個(gè)子功能的工作量,在博客中給出分配后的截圖。值得注意的是,與學(xué)習(xí)技術(shù)相關(guān)的任務(wù)也需要考慮在工作量中,開發(fā)需要檢驗(yàn)產(chǎn)出,學(xué)習(xí)同樣要有結(jié)果。PM可以用小Demo演示或?qū)W習(xí)心得博客作為學(xué)習(xí)任務(wù)的檢驗(yàn)。
- 給出團(tuán)隊(duì)各個(gè)成員(用學(xué)號(hào)代替姓名)認(rèn)領(lǐng)的工作,列出當(dāng)前團(tuán)隊(duì)的TODOList,并在最后給出燃盡圖。
- 描述組員在上述任務(wù)中的分工和工作量比例。
- 以上內(nèi)容發(fā)表成一篇隨筆,Alpha 版本的發(fā)布時(shí)間安排在5月下旬,請(qǐng)各個(gè)團(tuán)隊(duì)注意時(shí)間結(jié)點(diǎn),盡快開始開發(fā)。
- 附錄
- Github項(xiàng)目生成燃盡圖的方式
團(tuán)隊(duì)作業(yè)(四):描述設(shè)計(jì)
同學(xué)們已經(jīng)做了需求的分析,也做了詳細(xì)的系統(tǒng)設(shè)計(jì),畫過了一些小小的類圖/用例圖,對(duì)自己要做什么應(yīng)該有比較清晰的認(rèn)識(shí)了。接下來(lái),我們要怎么做便成了問題。有同學(xué)會(huì)說,我大概已經(jīng)知道怎么做了,在腦海里比劃著,很多東西都有大致的想法,45度仰頭思考片刻,有了一張宏偉的藍(lán)圖,感覺差不多可以施工了。
等等!好像不是自己一個(gè)人干,旁邊還有幾個(gè)身手不錯(cuò)的搭檔,況且這對(duì)一個(gè)人來(lái)說,工作量還是很大的,那就大伙分工合作吧,給大家講講自己的藍(lán)圖,然后開始分工:
- 張三做前端
- 李四做后端
- 王五來(lái)搞數(shù)據(jù)庫(kù)
- ...
大家熱火朝天地干起了屬于自己的活,若干天后,某些部分功能做得差不多了,感覺可以試試,說我們來(lái)整合聯(lián)調(diào)一下:
- 接口怎么是這樣的?跟我想的不一樣啊
- 不是應(yīng)該有個(gè)XXX類嗎?
- 這里不是應(yīng)該用多態(tài)嗎?
- 不對(duì),你的調(diào)用順序錯(cuò)了!
- 我要的數(shù)據(jù)沒有啊!
- ...
哪里出問題了呢?很顯然是溝通問題,一個(gè)人的想法和理解,即使自己覺得很完整,很美好,但是能讓別人理解一致嗎?不見得,同一件事情,如果不溝通清楚,兩個(gè)人的理解可能是千差萬(wàn)別的,所以需要有充分的溝通,盡可能減少歧義的溝通。
溝通要借助工具,我們?nèi)粘J褂米匀徽Z(yǔ)言溝通,也是一種工具,只是這種工具常常存在歧義,那么我們用什么能更加準(zhǔn)確地描述自己的設(shè)計(jì)呢?這里推薦UML給大家。
至于UML的基礎(chǔ)知識(shí),課上我們講過了。這里個(gè)人理解:把UML作為一種溝通工具來(lái)使用。溝通什么呢?溝通設(shè)計(jì)思想。
問題既然拋出來(lái)了,一個(gè)團(tuán)隊(duì)如何去描述討論結(jié)果,并且確認(rèn)大家理解一致,我們可能需要用到:
- 用例圖
- 時(shí)序圖
- 狀態(tài)圖
- 活動(dòng)圖
要做什么?
- 大家準(zhǔn)備如何分工合作
- 找到自己負(fù)責(zé)部分的核心(或最復(fù)雜)模塊做UML練習(xí)
博客模板
- 團(tuán)隊(duì)分工(5分)
描述團(tuán)隊(duì)的每個(gè)成員分別完成了UML圖的哪些部分,可以選擇多種方式呈現(xiàn),推薦泳道圖。
- UML(需求規(guī)格說明書里已經(jīng)練習(xí)過了整個(gè)系統(tǒng)的UML設(shè)計(jì),這里不需要對(duì)整個(gè)系統(tǒng)建模,只需要每個(gè)團(tuán)隊(duì)成員找到自己負(fù)責(zé)部分的核心或最復(fù)雜模塊做UML練習(xí))(20分)
- 用例圖(必選)
- 類圖(必選)
- 活動(dòng)圖(必選)
- 狀態(tài)圖(必選)
注:對(duì)于每個(gè)圖,需描述對(duì)應(yīng)的是系統(tǒng)哪部分、這部分面臨什么樣的問題、這樣的設(shè)計(jì)解決了哪些問題?
- 工具選擇(大家可以共享經(jīng)驗(yàn),相互推薦,談?wù)劄槭裁催x擇這個(gè)工具)(5分)
- 最快的可以手畫在紙上,拍照上傳,后面再電子化
- 推薦用上課講過的WhiteStarUML
- Visio
- ROSE
- 搜索選擇其它工具(包括一些在線工具)...
因?yàn)橐粋€(gè)團(tuán)隊(duì)為完成一個(gè)項(xiàng)目,為了信息完整,須將每個(gè)人的成果匯集到一篇博客中,由組長(zhǎng)提交到作業(yè)中。
團(tuán)隊(duì)作業(yè)(五):沖刺總結(jié)
沖刺(7次 Scrum)
團(tuán)隊(duì)在日期區(qū)間[13-15周]內(nèi),任選7天進(jìn)行沖刺,沖刺當(dāng)天發(fā)布一篇隨筆,共7篇。具體的博文規(guī)范如下:
- 第 1 篇 Scrum 沖刺博客對(duì)整個(gè)沖刺階段起到領(lǐng)航作用,應(yīng)該主要包含四個(gè)部分的內(nèi)容:
- 各個(gè)成員在 Alpha 階段認(rèn)領(lǐng)的任務(wù)
- 明日各個(gè)成員的任務(wù)安排
- 整個(gè)項(xiàng)目預(yù)期的任務(wù)量(使用整數(shù)表示,與項(xiàng)目預(yù)估的總工作小時(shí)數(shù)一致。比如項(xiàng)目A預(yù)估需120小時(shí)才能完成,則任務(wù)量為120。)
- 團(tuán)隊(duì)成員貢獻(xiàn)值的計(jì)算規(guī)則
- 第 2-6篇 Scrum 沖刺博客是沖刺階段的主要產(chǎn)出,主要包含四個(gè)部分的內(nèi)容:
- 各個(gè)成員今日完成的任務(wù)(如果完成的任務(wù)為開發(fā)或測(cè)試任務(wù),需給出對(duì)應(yīng)的Github代碼簽入記錄截圖;如果完成的任務(wù)為調(diào)研任務(wù),需給出對(duì)應(yīng)的調(diào)研總結(jié)博客鏈接;如果完成的任務(wù)為學(xué)習(xí)技術(shù)任務(wù),需給出學(xué)習(xí)總結(jié)博客鏈接)
- 各個(gè)成員遇到的問題
- 明日各個(gè)成員的任務(wù)安排
- 各個(gè)成員今日對(duì)項(xiàng)目的貢獻(xiàn)量(使用整數(shù)表示,如無(wú)產(chǎn)出則為0,整個(gè)沖刺階段所有成員的貢獻(xiàn)量總和應(yīng)與項(xiàng)目預(yù)期任務(wù)量相近)
- 第 7篇 Scrum 沖刺是對(duì)沖刺階段的總結(jié),主要包含兩個(gè)部分的內(nèi)容:
- 各個(gè)成員今日完成的任務(wù)(要求同上)
- 項(xiàng)目的發(fā)布說明,主要包含:本版本的新功能,軟件對(duì)運(yùn)行環(huán)境的要求,系統(tǒng)已知的問題和限制,軟件的發(fā)布方式以及發(fā)布地址。
除上述博客內(nèi)容外,每次 Scrum 沖刺博客都需要提供當(dāng)天站立式會(huì)議照片一張,發(fā)布項(xiàng)目燃盡圖,并描述項(xiàng)目整體的進(jìn)展情況。
參考博客:
http://www.cnblogs.com/ruangong3165/p/6048364.html
http://www.cnblogs.com/CSLaker/p/6079765.html
團(tuán)隊(duì)項(xiàng)目列表
基本要求
- 平臺(tái)Java、Java Web,Android或iOS平臺(tái)
- 內(nèi)容
- 游戲
- 工具
- 自定義
- ...
- 代碼量不要低于2500行
參考項(xiàng)目
歡迎關(guān)注“rocedu”微信公眾號(hào)(手機(jī)上長(zhǎng)按二維碼)
做中教,做中學(xué),實(shí)踐中共同進(jìn)步!
原文地址:https://www.cnblogs.com/rocedu/p/10565072.html
推薦網(wǎng)站:博客園、新浪微博、扇貝背單詞、DKY背單詞小組、有道云筆記、豆瓣讀書
版權(quán)聲明:自由轉(zhuǎn)載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
如果你覺得本文對(duì)你有幫助,請(qǐng)點(diǎn)一下左下角的“好文要頂”和“收藏該文”
轉(zhuǎn)載于:https://www.cnblogs.com/rocedu/p/10565072.html
總結(jié)
- 上一篇: 镶牙一颗要多少钱?
- 下一篇: 关于cookie与本地 存储的区别的问题