前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件項目總結范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。
該方案涉及的主要對象是軟件經理和各模塊的軟件研發負責人,SPME方案架構如圖1所示。圖1中,SPME方案覆蓋整個項目的啟動、規劃、執行、監控和收尾5大過程組,并貫穿始終。(1)啟動規劃階段。首先軟件經理和項目規劃、產品經理、整個項目的項目經理、硬件、測試等同事進行充分溝通,確定項目范圍,給出項目詳細信息;其次根據項目信息,由軟件經理牽頭組織各模塊研發負責人或具體的開發工程師,進行需求評估,劃分出項目階段,進行WBS分解,確定出開發環境和代碼組織、人力規劃、時間點計劃等,達成一致的范圍和成本基準;最后由軟件經理畫出關鍵時間點的時間軸圖,建立時間基線。該階段以確定了范圍、成本、進度基準,輸出了文檔為結束標志。(2)執行和監控階段。各模塊的研發工程師按照WBS分解進行軟件研發,同時用一頁紙嵌入式軟件項目管理表[1]進行研發問題的狀態跟蹤,這樣以便后續參考和作為進展匯報給軟件經理。軟件經理進行進度和攻關問題的跟蹤,同時每周要輸出周報將研發進展或一些變更情況及時通知到整個項目組。該階段一直持續到軟件版本被驗收通過。(3)項目收尾階段。各模塊研發負責人進行各模塊技術提煉和總結,完善一頁紙嵌入式軟件項目管理表并匯報給軟件經理,軟件經理再根據項目詳細信息等1~5份過程文檔記錄,進行整體復盤總結。
2SPME方案模板和具體應用
筆者選用了較為通用的Excel工具,基于這個方案給出管理模板,如圖2所示。整個文檔是一個工作簿(book),圖1中提到的各文檔分別作為該book的一個個對應的工作表(sheet),圖2最下方的Excel表的各工作表信息僅展開了文檔“1.項目信息”這個sheet的內容,相應還有其他sheet,這樣整個項目用一個Excel文檔就可以非常方便地跟蹤起來。(1)項目信息。項目信息需要和項目組各方確認,并要特別注意規劃階段將項目的關聯性和圖2SPME方案模板特殊共性需求信息討論清楚,確定后由軟件經理將各項信息記錄下來,也可根據實際需要進行豐富或裁剪。項目啟動后,“1.項目信息”要最先共享給整個開發團隊成員,作為研發啟動的標志。這樣在多項目并行研發時,可以使整個團隊目標清晰,并充分利用各項目間共性部分,對特殊部分單獨搭建以防干擾其他項目,使軟件研發事半功倍。(2)WBS分解。軟件經理組織各模塊研發負責人或具體的開發工程師一起評估需求,劃分出項目階段,進行WBS分解,最終結果記錄在“2.WBS分解”的sheet中。這個過程是明確項目軟件研發范圍基準、時間基準和成本基準的過程,所以WBS分解出的工作包需和各負責人討論達成共識,有爭議的要和項目組其他人員,比如:硬件、市場、測試、規劃等同事商定。確定下來后必須評估出開始結束時間,并進行編號。WBS是項目執行的主干和績效考核的基本依據。(3)時間軸圖。完成“2.WBS分解”確認好時間點和邏輯關系后,由軟件經理將各重要的工作包節點,特別是模塊開發完成、版本、送測、上市等節點按照時間順序標注出來,形成一個直觀的時間圖表,記錄在“3.時間軸圖”sheet中。這些時間點就是整個軟件研發的時間基準。在執行和監控過程中要不斷地進行核實,并標注出當前進展到哪,以便向項目利益相關者進行進度匯報,并可以從宏觀上明晰項目狀態。(4)過程問題跟蹤和周報。在項目執行監控階段中,軟件經理將WBS分解出的各工作包分配到各模塊的負責人,標志著研發執行工作正式開始。在多項目并行的情況下,具體的研發工作由各模塊負責人采用一頁紙嵌入式軟件項目管理方式[1]進行研發跟蹤,軟件經理則采用“4.過程問題跟蹤表”,“5.周報”將精力集中在各項目的進度和攻關問題的管理上。其中,過程問題跟蹤表,一是用作WBS工作包的進展跟蹤;二是將研發過程中新增的重要問題和變更記錄下來,安排處理并跟蹤處理進展,這樣可以避免耗時耗力地去翻郵件查詢相關問題信息,或遺忘等效率低下的現象。執行過程中,軟件經理至少每周要安排對軟件版本進行構建和測試,具體的周期時間可根據實際進行調整,整個研發團隊從軟件版本的測試情況,對研發工作的進展進行核實,由軟件經理收集各模塊的研發負責人匯報的開發進展,結合各項目過程問題跟蹤表記錄的一些問題和狀態,梳理出周報。周報側重于目前識別出的主要風險和需要領導協調的事宜,軟件研發整體進展和下周計劃,其中下周計劃要細分到各軟件模塊,使得每個團隊成員都有明確的目標和任務。周報是項目報告績效和監控風險的重要工具,需要每周固定時間以郵件或其他方式共享給整個項目團隊成員和相關領導,以便使相關信息能及時傳遞到位,新增需求和變更的迭代開發[3]。風險問題引起高層領導的重視和推動,使得整個團隊步調整齊,從而達到預定目標。(5)復盤報告。軟件版本被驗收后,及時進行復盤總結。主要涉及客戶分析,并針對主要需求,相關過程問題和教訓等項進行總結,同時將開發負責人完善的一頁紙嵌入式軟件項目管理表附入到“6.復盤總結”sheet中。至此整個項目過程就通過層層的文檔化,匯成了一份完整的軟件研發項目總結,可以通過復盤會議等形式對整個項目團隊或相關的項目團隊進行共享。以上給出了SPME方案模板和具體應用。模版是基于Excel的建議格式,使用者可以根據SPME方案的思想和各自的需求進行定制和擴展。這樣通過一個Excel文檔就可以跟蹤整個項目,從而使多個并行研發的嵌入式項目,有了統一的軟件研發管理模式,可以更清晰、快速、有效地進行問題跟蹤和信息傳遞,暴露項目研發中的風險,有效地降低人力協調和溝通成本,便于歸檔和追溯,能更快更好地進行項目交接和對比總結。
3結語
軟件工程課程主要介紹了軟件問題定義、項目計劃、需求分析、設計、維護等軟件開發過程中的各種問題。通過市場調查、觀摩學習、講座、校企合作,發現軟件行業在軟件設計、軟件維護、軟件測試三方面就業崗位多,人才缺口大。結合學生學習的特點,參照國家相關職業標準,確定軟件工程,培養人才方向崗位定位在軟件設計、軟件測試、軟件維護三個崗位,因此教學中將重點放在軟件設計、軟件維護、軟件測試上。文中以“學生信息管理系統”項目為載體,將項目開發過程中用到的各項工作技能按照工作過程分解任務,項目分解成一個個的子案例,以任務分解的方式完成技能的案例教學,體現工作過程的完整性。三個崗位的工作任務、職業能力、知識結構之間的關系,,整個教學過程是一個循序漸進的過程,每個崗位有明確的工作任務,每個工作任務對應不同的職業能力,知識的表現形式也就不同。為了與崗位工作任務相適應,在項目教學中培養學生的職業能力,使學生做到“學中做,做中學”;在設計教學項目案例上做到項目難度適中、易理解、易操作、易掌握、有針對性和代表性,并且包含上述三個工作崗位的工作任務與職業能力相關知識,最終達到項目驅動,任務分解的教學目的,同時學生也能進一步理解工作過程中需要掌握的技能。
二、三元整合在教學中的應用
案例教學、項目驅動、任務分解的教學方法有各自特點,如何將這些教學方法整合在一個具體的項目中,并發揮其優點是教學中要重點解決的問題。將“學生信息管理系統”項目進行分解,每一個子項目對應一個具體的工作任務。對每個子項目按以下的教學步驟進行教學:
1.項目分解,確定每一個子項目的工作任務根據項目完成的時間限制、要求,將項目分解成子項目,不同的子項目對應不同的工作任務。如“學生信息管理系統”可分解為“學生管理、課程管理、成績管理、信息查詢”四個子項目,且每個子項目對應不同的工作任務。把工作任務獨立、花費時間少的稱為小任務;反之,工作任務需要多個教學單元經過綜合實踐才能完成的,稱為大任務。在教學中又可將大任務分解為小任務,通過分析總結,最終使學生能掌握自上而下逐步求精分析問題解決問題的能力。
2.理論講解,案例演示教師結合案例演示,講解子項目中對應的工作任務,讓學生真實理解工作過程中這個子項目到底要做些什么,怎么做,哪些知識是已知的,哪些知識是未知的,提出問題,充分調動學生的好奇心與求知欲。
3.學生分組討論,協同合作根據學生興趣、成績、實踐動手能力將學生分成4到5個人為一個小組。小組成員共同討論完成項目的開發。工作任務完成過程中,讓學生輪換擔當不同的角色,使其能體驗不同角色在不同階段的職責與任務,既培養學生團隊協作能力,又發揮了各自特長,調動了學生的積極性,從而提高了學習興趣。
4.學生各自完成工作任務通過項目分工,團隊中的每個成員都有明確的任務,結合教師的案例演示進行工作任務的模擬練習,讓學生對工作任務的完成有了真正的認識,從而培養學生的職業能力。
5.總結工作任務成果,評審驗收首先,學生對自己完成的子項目進行展示、總結,哪些完成,哪些沒有完成,原因在什么地方;其次,教師對每個團隊項目完成的情況進行比較,并將各團隊工作成果與案例演示中的工作成果進行比較,總結規律和技巧,使團隊中的每個學生知道自己在做什么,做得如何,哪些地方需要改進,哪些知識需要完善,自己發揮了什么作用,將實踐上升到理論高度,進而培養學生的職業能力。
6.拓展第二課堂,培養學生的研究、創新性學習能力在案例教學與學生實踐的基礎上,學生對工作過程中所要完成的工作任務有了基本的了解和認識。對于學習興趣高、實踐能力強的同學,選擇自己感興趣的方面跟老師一起參加項目研發,在教師的指導下,了解跟蹤軟件開發新技術發展趨勢,更加深入了解軟件工程精髓,進而培養自己創新性學習能力。
三、總結
一、項目實施方案概述
軟件產品,特別是行業解決方案軟件產品不同于一般的商品,用戶購買軟件產品之后,不能立即進行使用,需要軟件公司的技術人員在軟件技術、軟件功能、軟件操作等方面進行系統調試、軟件功能實現、人員培訓、軟件上線使用、后期維護等一系列的工作,我們將這一系列的工作稱為軟件項目實施。大量的軟件公司項目實施案例證明,軟件項目是否成功、用戶的軟件使用情況是否順利、是否提高了用戶的工作效率和管理水平,不僅取決于軟件產品本身的質量,軟件項目實施的質量效果也對后期用戶應用的情況起到非常重要的影響。項目實施規范主要包括項目啟動階段、需求調研確認階段、軟件功能實現確認階段、數據標準化初裝階段、系統培訓階段、系統安裝測試及試運行階段、總體驗收階段、系統交接階段等八個階段工作內容,每個階段下面有不同的工作事項,各個階段之間都是承上啟下關系,上一階段的順利完成是保證下一階段的工作開展的基礎。下面將按照每個項目實施階段分別介紹。
二、項目實施方案介紹
(一)項目啟動階段
此階段處于整個項目實施工作的最前期,由成立項目組、前期調研、編制總體項目計劃、啟動會四個階段組成。
此階段主任務:
公司:在合同簽定后,指定項目經理,成立項目組,授權項目組織完成項目目標。
公司項目組:進行前期項目調研,與用戶共同成立項目實施組織,編制《總體項目計劃》,召開項目啟動會。
商務經理:配合公司項目組,將積累的項目和用戶信息轉交給項目組。將項目組正式介紹給用戶,配合項目組建立與用戶的聯系。
用戶:成立項目實施組織,配合前期調研和召開啟動會,簽署《總體項目計劃》和《項目實施協議》。
1、成立項目組
部門經理接到實施申請后,任命項目經理,指定項目目標,由部門經理及項目經理一起指定項目組成員及成員任務,并報總經理簽署《項目任務書》。
2、前期調研
項目經理及項目組成員,在商務人員配合下,建立與用戶的聯系,對合同、用戶進行調研。填寫《用戶及合同信息表》。在項目商務談判中,商務經理積累了大量的信息,項目組首先應收集商務和合同信息,并與商務經理一起識別那些個體和組織是項目的干系人,確定他們的需求和期望,如何滿足和影響這些需求、期望以確保項目能夠成功。
3、編制《項目總體計劃》
《項目總體計劃》是一個文件或文件的集合,隨著項目信息不斷豐富和變化,會被不斷變更,主要介紹項目目標、主要項目階段、里程碑、可交付成果。通常包括以下幾方面內容:
項目描述,項目目標、主要項目階段、里程碑、可交付成果。所計劃的職責分配(包括用戶的);
溝通管理計劃,確定項目干系人對信息和溝通的需要:即什么人何時需要什么信息以及通過什么方式將信息提供給他們。質量管理計劃,確定適合于項目的質量標準和如何滿足其要求。如果有必要,可以包括上述每一個計劃,詳細程度根據每個具體項目的要求而定。未解決事宜和未定的決策。
4、啟動會
項目組與用戶共同召開的宣布項目實施正式開始的會議。
會程安排如下:
共同組建項目實施組織,實施組織的權利和職責;雙方簽署《項目實施協議》。
項目組介紹《項目總體計劃》和《項目實施協議》,包括以下內容:
項目目標、主要項目階段、里程碑、可交付成果。所計劃的職責分配(包括用戶的);
項目實施中項目管理的必要性和如何進行項目管理,項目的質量如何控制;
項目實施中用戶的參與和領導的支持的重要作用;
階段驗收、技術交接和項目結束后如何對用戶提供后續服務。
(二)需求調研確認階段
此階段的主要工作是軟件公司的項目實施人員向用戶調查用戶對系統的需求,包括管理流程調研、功能需求調研、報表要求調研、查詢需求調研等,實施人員調研完成后,會編寫《需求調研分析手冊》,并交付用戶進行確認,待用戶對《需求調研分析手冊》上所提到的需求確認完畢后,項目實施人員將以此為依據進行軟件功能的實現。如果用戶又提出新的需求,實施人員將分析需求的難度及對整個系統的影響程度來確定是否給予實現。需求調研階段具體包括如下內容:
1、進行需求調研準備
2、編制《需求調研計劃》
3、內部評審是否通過《需求調研計劃》,項目組、部門經理、商務等人員根據合同要求和項目實際情況對《需求調研計劃》草稿進行評審,如評審通過,則在稍后的時間內簽署,如評審不通過則重新修改。
4、用戶是否簽署《需求調研計劃》,如用戶簽署《需求調研計劃》,則作為以后需求調研工作的指南。否則重新修改。
5、《需求調研計劃》是否有變更,如果計劃存在變更,則執行變更控制流程,否則按計劃進行后續工作。
6、編寫及發出《需求調研通知》,項目組編寫《需求調研通知》,確定進行需求調研的相關事宜,發給用戶,為順利完成需求調研工作做準備
7、需求調研,項目組以《需求調研手冊》為依據,從業務流程、單據使用、打印格式、報表查詢幾個方面展開深入和全面的調研,并搜集用戶的個性化需求。
8、需求調研分析根據調研的結果,項目組和公司其他技術部門將進一步進行分析,確定合理、可行的需求,將分析結果形成《需求分析報告》草稿。
9、內部評審是否通過《需求分析報告》。項目組、部門經理、公司其他技術部門的人員對《需求分析報告》草稿進行評審,如評審通過,則在稍后由用戶簽署,如評審不通過則重新修改,直至內部評審通過。
10、編寫及發出《需求分析報告確認通知》。項目組編寫《需求分析報告確認通知》,發給用戶,確定進行需求確認的相關事宜,告之相關部門及人員安排好工作,準時參與需求確認工作,為順利完成需求確認工作做準備。
11、用戶是否確認《需求分析報告》。如果用戶確認,并簽署了《需求分析報告》,則需求調研階段工作結束,進行后續的軟件功能實現的工作;如沒有確認,則進一步進行調研、分析,直至用戶最終確認并簽署《需求分析報告》。雙方簽署了《需求分析報告》,需求調研工作結束之后,如果用戶提出新的需求或是變更已有的需求,則執行需求新增及變更流程。
(三)軟件功能實現確認階段
此階段的主要工作是項目實施人員根據需求調研階段確認的《需求調研分析手冊》中的用戶需求內容進行具體軟件功能的實現工作。在軟件功能實現的過程中,項目實施人員將記錄軟件實現的詳細過程。便于公司售后服務之用。每一個實施技術人員必須嚴格按照要求記錄、存檔。按照調研要求的所有功能實現完畢后,項目實施人員將編制《軟件功能確認表》,將定制好軟件功能待用戶確認,用戶根據《軟件功能確認表》上的功能逐一確定軟件功能是否達到要求,對不滿足要求的功能,項目實施人員將會記錄下來并進行功能修改,直到滿足用于要求。
(四)數據標準化初裝階段
此階段的主要工作是項目實施人員指導用戶進行系統標準化資料的準備工作,并對用戶進行初裝資料的軟件操作培訓,以便用戶能夠及時的將標準資料錄入系統,初裝完成后,項目實施人員會對資料初裝的情況進行核查,為以后具體業務功能的開展做好基礎。
(五)系統培訓階段
系統培訓階段工作是整個項目實施工作中比較重要的工作,用戶對軟件的操作功能是否熟練將直接影響到后面的軟件應用效果,所以軟件公司和用戶雙方要對此階段的工作給予足夠的重視。要充分認識培訓的重要性和艱巨性。在項目實施之前對用戶的相關人員進行系統和規范的產品培訓是非常必要的,達到讓用戶了解軟件產品,最終自己能夠解決使用中的具體的問題。
此階段的培訓工作中將用戶參加產品培訓的人員劃分為三個層次:決策層、技術層、操作層,對不同層次的用戶參加產品培訓人員的培訓內容分別是:
決策層:領導在實施中的作用與重要性、決策查詢。
維護層:系統維護知識、操作方法。
操作層:操作方法。
具體的培訓工作流程為:
1、調研培訓信息:在培訓開始前3天由用戶實施負責人,將參加培訓的部門和人員情況填入《受訓部門匯總表》、《受訓人員情況一覽表》。
2、編制培訓計劃:結合調研結果,與用戶實施負責人商議具體培訓內容、時間,場地,人員等。項目組編制《培訓計劃》。
3、簽署培訓計劃:用戶簽署《培訓計劃》,進一步確認培訓安排。
4、發培訓通知:培訓開始前2天,按照簽署的《培訓計劃》,將培訓內容、時間,場地,人員等信息通知用戶實施負責人。
5、搭建培訓環境:公司項目組在培訓開始前,將培訓環境搭建及檢查妥當,將培訓提綱及培訓手冊準備好。
6、組織培訓:公司項目組培訓負責人與用戶實施負責人組織相關人員參加培訓,按培訓制度嚴格考核。由用戶將考勤情況填入《培訓人員簽到表》。
7、培訓考核:公司項目組培訓負責人與用戶實施負責人組織受訓人員參加上機及理論考試。
8、培訓總結:公司項目組培訓負責人與用戶實施負責人一起將出勤情況及考核情況做出總結,填入《培訓及考核統計表》,及時向相關負責人
匯報。
(六)系統安裝測試及試運行階段
此階段的主要工作是在用戶真實環境下,對用戶網絡及硬件設備進行測試,對軟件系統進行容量、性能壓力等測試測試及試運行的目的在于確保系統各項功能均能正常使用,并且符合用戶簽署的《需求分析報告》中描述的需求,同時把盡可能多的潛在問題在正式運行之前發現并改正;同時目的還在于在正式運行前用戶的有關人員能進一步提高操作水平,掌握操作規范。此階段的主要工作內容為:
1、 編制計劃:與用戶實施負責人商議具體測試及試運行時間,地點,人員等安排,項目組編制《測試及試運行計劃》。
2、簽署計劃:用戶簽署《測試及試運行計劃》,進一步確認測試及試運行安排。
3、發測試及試運行通知:在測試及試運行開始前2天,按照簽署的《測試及試運行計劃》,將時間,地點,人員等信息通知用戶實施負責人。
4、搭建環境及數據準備:在試運行開始前搭建好軟件環境、硬件環境、網絡環境、調通線路;檢查軟件、硬件、網絡、線路等各個環節是否有問題;
5、組織測試及試運行:用戶相關各級領導給予全面配合,組織相關人員進行測試及試運行。
6、測試及試運行總結:測試及試運行完成,總結試運行中設備、軟件的運行情況,總結試運行中業務流程和操作環節的情況,以書面總結形式將測試及試運行結果通知相關負責人。
公司項目組負責擔當指揮,檢查用戶人員組織情況并給予指導,跟蹤檢查如下情況:
跟蹤單據流轉狀況。
跟蹤新資料登錄環節。
觀察業務流程執行狀況。
觀察操作人員操作表現。
觀察系統運行速度及異常表現。
觀察關鍵數據的正確性。
及時糾正錯誤操作、對于新發生的問題及時與相關人員溝通,確定解決辦法。
(七)總體驗收階段。
此階段是對項目總體的完成情況進行驗收。驗收分階段進行,在每一項目階段結束時,用戶對這一階段的可交付成果進行驗收,在測試及試運行結束后,對系統進行總體驗收。
需要驗收的可交付成果:
主要項目階段
階段組成
主要里程碑
可交付成果
在計算機專業教學改革中,我們嘗試把項目實戰引入到專業的實踐教學體系中。項目實戰課程安排在第五學期,學生在此之前已經學習了大部分的專業課程,具備了進行項目開發的專業基礎。教學時間設定為72學時,教學場所安排在具有職業場景的軟件開發實訓室。總體上,項目實戰劃分為三個階段:演練階段、實戰階段、創新階段,各個階段循序漸進,逐步提升。其中,演練階段12學時,實戰階段24學時,創新階段36學時。如果某一項目的完成時間不夠充裕,學生可以在課后抽時間去完成。每一階段都完成一個項目,項目的開發按照企業工作過程來進行。
(一)演練階段
在演練階段,選擇能夠涵蓋基本技能的典型項目,并補充軟件工程的知識,讓學生接觸完整的軟件開發過程,提供真實情境下的技能演練機會。對于欠缺的知識和技能,學生進行項目驅動式的學習,老師也給學生進行有針對性的輔導。通過演練階段,讓每個學生達到可以開發項目的水平。
(二)實戰階段
在實戰階段,選擇相對復雜的企業真實項目,讓學生組建項目團隊去合作完成。一般3~5人為一個項目小組,每個人在項目小組中擔任一種角色,并按照企業工作流程去完成該項目。老師在此期間主要發揮項目指導、監督、評價的作用。通過實戰階段,學生接觸到了企業真實項目,達到了積累開發經驗、提高開發能力的目標。
(三)創新階段
在創新階段,主要選擇企業外包項目或學校實際項目,項目的開放性、實用性更強,對開發人員的要求也更高。每個小組的項目互不相同,根據項目難度決定項目小組人數,一般分配5~10人為一組。這一階段不僅考驗專業技術,而且強調創意、創新精神。通過創新階段,可以進一步提高學生的綜合實踐能力和創新能力。
二、項目實戰教學過程
每個階段的教學過程,為一次完整的項目開發過程。依據軟件開發流程,把項目開發劃分為六個步驟,依次為項目啟動、需求分析、項目設計、項目編碼、項目測試和項目提交。
(一)項目啟動
每個項目的第一次課設定為項目啟動會議。首先,進行項目分組,老師把全班學生分為若干個項目小組,小組內進行組員角色分配,每個小組選定一名項目經理;其次,老師介紹軟件項目,讓學生明確項目功能和應交付成果;最后,學生進行小組討論,制訂項目計劃,明確分工,安排進度。
(二)需求分析
需求分析就是分析軟件用戶的需求是什么,即明確擬開發的軟件系統有哪些功能,解決做什么的問題。各項目小組在聽完老師對項目的介紹后,進一步以討論、提問、辯論的方式交流信息,探討思路,明確需求,達成共識,并編制軟件需求說明書。
(三)項目設計
這個步驟的主要任務是對如何實現軟件系統進行設計,解決軟件系統怎樣做的問題。小組內部共同查閱資料,展開討論,進行軟件體系結構的設計,包括模塊劃分、各模塊功能、各模塊接口、數據庫結構設計等。
(四)項目編碼
項目編碼的主要任務就是我們常提到的軟件編程,使用適當的程序設計語言和開發工具編寫具體的程序模塊。在項目團隊中,學生根據各自在小組的分工以及與其他組員的合作形式,按照確定好的工作步驟完成編碼任務。當組內成員遇到難題時,要互相幫助,合作學習。在項目編碼階段,編程任務較為繁重,因此要求各項目小組要合理規劃項目的編程時間和編程模塊任務,各組員要在規定時間內完成分配的任務,以確保項目進度。
(五)項目測試
項目組需要完成單元測試、集成測試、系統測試、可用性測試等項目測試工作,查找和發現軟件中可能存在的錯誤和缺陷,并進行修正,以確保所開發項目的正確性和完整性。事實上,軟件測試工作貫穿于整個軟件開發的全過程。
(六)項目提交
項目組在服務器上安裝和調試項目軟件,確保軟件能夠正常運行。所有學生都要分組進行項目答辯,展示項目成果,回答其他小組或老師的提問。同時,要求提交相應的技術文檔,包括需求說明書、設計說明書、用戶操作手冊、項目總結報告等。
三、教師在項目實戰教學中的職責
項目實戰是以學生為中心,教師職責不再只是傳授知識,而更多的是擔任組織管理、技術支持、評價咨詢等角色。
(一)項目選取
在項目選取時,要充分考慮學生的學習興趣,貼近現實生活,而且項目難度要循序漸進,從基礎到綜 合、從實踐到創新,讓各項目小組經過努力都可以達到預期目標。根據三個階段的特點,分別選取不同類型的項目。
(二)項目介紹
為了讓學生明確項目任務,由教師向學生介紹所開發項目的基本情況。介紹時,要說明項目學習目標、項目主要任務、項目角色分配、項目成果形式、項目評價方式、完成項目時間等,并提供一個經典的范例項目,供大家學習、參考、借鑒。在學生們進行小組討論之后,教師要回答項目小組的有關提問。
(三)項目指導
在項目開發階段,教師要輪流在各項目小組間進行監督與指導,了解學生們參與項目開發的動態情況,對各組的項目進度做到心中有數,以確保整個項目開發計劃順利實施。當一些小組因某些問題而陷入困境時,老師要及時進行指導,但并不是直接幫忙解決,而是通過提出有效的問題,引導學生去找出解決方案。
(四)項目評價
在項目結束時,要進行成果交流和項目答辯,由教師和學生共同進行項目評價。項目評價包括小組評價和個人評價兩種形式,既注重項目成果,也關注學習過程。小組評價是對各個項目小組的成果質量、合作情況及平時表現進行評分,綜合考察各小組的技術水平、創新能力以及團結協作精神。個人評價是對學生個人在項目開發中的表現進行評分,包括自我評價、組內貢獻評價、學習態度評價、能力發展評價等。
(五)項目總結
對于每個項目,都要組織項目總結會。對項目進行總結時,可以先讓各項目小組進行自我總結,講一講參與項目的收獲及反思,然后再由教師進行項目情況總結。在總結中,教師要講明項目中的關鍵點,揭示出項目中包含的理論,并分析存在的優點與不足。通過總結,要給學生以鼓舞,增強學生參與項目開發的動力。
(六)項目反饋
對于項目實戰課程,建立雙向的反饋機制。一方面,老師對每個小組都要給予反饋,對項目情況進行評論,對存在問題提出建議,并寫出書面的反饋意見,并且是積極的、建設性的反饋意見;另一方面,對參加該課程的學生開展問卷調查,征求學生的反饋意見,包括學生對課程開設、項目內容、項目難度等方面的滿意度,學生在軟件流程、業界規范、實現技術等方面的收獲,以及學生對項目實戰課程的個人建議等。這些反饋意見可作為今后教學改進的方向。
四、項目實戰教學效果分析
我們在連續三屆的計算機專業畢業班中開展了項目實戰教學,應用效果不錯,學生滿意度較高。在問卷調查中,80%的學生表示,深刻了解了軟件開發的過程;90%的學生認為,積累了一些經驗,有較大收獲。同時,項目組所承接的企業項目也得到了企業單位的肯定。與傳統模式進行對比分析,項目實戰模式在項目訓練方面有如下特點:
(一)學習載體的轉變
真實項目不同于日常教學的驗證性實驗或課程設計式項目,是有著真實意義的任務,因此學生對真實項目更感興趣,更有成就感,也會更大地激發學生的學習熱情和學習潛能。
(二)學習過程的轉變
以真實工作過程來組織教學過程,使學生能切身了解職業崗位技能需求,理解軟件開發的流程,提高對軟件開發的認識。完成項目過程就是積累經驗的過程,可以充分鍛煉學生的項目管理、開發、測試、編寫技術文檔等技能。
(三)學習方式的轉變
在項目實戰中,以自主學習、合作學習、團隊協作為主,經常會遇到一些問題,帶著問題去學習,對于學習能力的培養非常重要。同時,通過項目團隊的工作方式能有效鍛煉學生的溝通能力、組織能力以及合作能力。因此,對于計算機專業來講,引入項目實戰是一種有效的嘗試,對學生綜合實踐能力的培養大有益處,教學效果良好。
五、結束語
[關鍵詞] 軟件項目管理 需求管理 溝通與協作 風險管理
一、引言
從上個世紀中期到現在,軟件產業迅猛發展。軟件產業在推動人類社會發展的同時,軟件危機產生了,這是因為落后的軟件生產方式無法滿足迅速增長的計算機軟件需求。軟件危機的產生促使人們開始研究軟件開發的技術手段和管理方法。
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成, 通過計劃、組織、控制等一系列活動, 合理地配置和使用各種資源, 而對成本、人員、進度、質量、風險等進行分析和管理, 以達到既定目標的過程。項目管理更強調項目負責人的作用和團隊的協作精神, 其組織形式靈活, 更加關注人的因素, 關注客戶和服務客戶, 著重于提高軟件項目研發的效率和質量。在本文中,對軟件項目管理中的需求管理、員工之間的溝通與協作、軟件項目風險管理等方面進行了闡述。本文最后介紹了軟件項目管理的幾項經典技術。
二、需求管理
軟件需求是每個軟件開發的開端與基礎。在項目需求分析階段,雙方必須全面地盡可能細致地討論項目的應用背景、功能要求、性能要求、操作界面要求、與其他軟件的接口要求,以及對項目進行評估的各種評價標準。在進行需求分析時,可以首先分析客戶原有系統的建設情況,對客戶的原有產品進行分析,明確建設目標等。
需求管理對軟件項目能否最終實現產生至關重要的影響。任何的軟件項目都必須進行合理的、細致的、一致的需求管理,只有這樣才能制定正確合理的軟件開發計劃,軟件項目才能順利地開發完成。
三、溝通與協作
軟件項目管理中的溝通與協作是指信息的交流, 是使信息發揮積極作用和達到目標的手段;協作是指和諧地在一起工作的活動。溝通技術可分分四類:(1)正式書面溝通, 包括項目文檔和備忘錄、項目里程碑和交貨時間表、需求變更和錯誤跟蹤規程、數據字典、系統分析模型( 用例圖等) ;(2)正式口頭溝通, 包括狀態審查會、需求評審會、設計評審會、代碼評審會、用戶測試, 項目定期例會等;(3)非正式口頭溝通, 包括小組碰頭會、同行討論、與直屬業務領導討論等;(4)電子溝通, 包括電子郵件、內部BBS 等。協作技術包括資源合理配置、開發步驟有序化、工作目標一致化、提高關心程度、信息共享等。
四、風險管理
軟件項目風險管理是指對在軟件開發過程中所遇到的預算和進度等方面的問題進行分析,尋求風險應對方法,做好風險管理計劃。
針對軟件項目中的風險管理問題,不少專家、組織提出了自己的風險管理模型。 常見的主要風險管理模型如下。
1.SEI的連續風險管理模型(CRM)。SEI CRM模型的風險管理原則是不斷地評估可能造成惡劣后果的因素;決定最迫切需要處理的風險;實現控制風險的策略;評測并確保風險策略實施的有效性。CRM模型要求在項目生命期的所有階段都關注風險識別和管理,它將風險管理劃分為五個步驟:風險識別、分析、計劃、跟蹤、控制。
2.Barry Boehm模型。Boehm模型的思想核心是:10大風險因素列表。針對每個風險因素,都給出了一系列的風險管理策略。在實際操作時,Boehm以10大風險列表為依據,總結當前項目具體的風險因素,評估后進行計劃和實施,在下一次定期召開的會議上再對這10大風險因素的解決情況進行總結,產生新的10大風險因素表,依此類推。Boehm模型的基本形式可描述為:RE = P (UO) 3 L (UO) ,其中RE表示風險或者風險所造成的影響;P (UO)表示令人不滿意的結果所發生的概率;L (UO)表示糟糕的結果會產生的破壞性的程度。
3.軟件工程風險模型( SER IM) . SER IM模型要求從技術和商業兩個角度對軟件風險管理進行剖析,考慮的問題涉及開銷、進度、技術性能等。它還提供了一些指標和模型來估量和預測風險,由于這些數據來源于大量的實際經驗,因此具有很強的說服力。
五、軟件項目管理技術
1.CMM。CMM是美國卡納基梅隆大學軟件工程研究所(CMU /SEI)提出的軟件研發項目管理的一系列方法,它基于組織對關鍵過程域的支持,定義了軟件過程成熟度的五個級別。級別1 (初始級)描述了不成熟,或者說是未定義過程的組織。級別2 (可重復級) ,級別3 (已定義級) ,級別4 (已管理級)和級別5 (優化級)分別描述了軟件過程成熟度級別遞增的組織。和這些級別相關的KPA是:級別2:需求管理,軟件項目計劃,軟件項目跟蹤和監控,軟件子合同管理,軟件質量保證,軟件配置管理。級別3:組織級過程焦點,組織級過程定義,培訓大綱,集成軟件管理,軟件產品工程,組間協調,同行評審。級別4:定量過程管理,軟件質量管理。級別5:缺陷預防,技術更新管理,過程更改管理。
2.CMMI。CMM I被看作是把各種CMM集成為一個系列的模型中。CMM I的基礎源模型包括: 軟件CMM2. 0版(草稿C) , EIA - 731系統工程,以及IPD CMM( IPD) 0. 98a版。CMM I也描述了5個不同的成熟度級別:級別1 (初始級)代表了以不可預測結果為特征的過程成熟度。過程包括了一些特別的方法、符號、工作和反應管理,成功主要取決于團隊的技能。級別2 (已管理級)代表了以可重復項目執行為特征的過程成熟度。組織使用基本紀律進行需求管理、項目計劃、項目監督和控制、供應商協議管理、產品和過程質量保證、配置管理、以及度量和分析。
3.PSP。PSP ( Personal Software Process,個體軟件過程)是由CMU /SE I開發出來的,它的推出在軟件工程界引起了極大的轟動,可以說是由定向軟件工程走向定量軟件工程的一個標志。PSP為基于個體和小型群組軟件過程的優化提供了具體而有效的途徑,例如如何制訂計劃,如何控制質量,如何與其他人相互協作等等。在軟件設計階段, PSP的著眼點在于軟件缺陷的預防,其具體辦法是強化設計約束準則,而不是設計方法的選擇。因此, PSP保障軟件產品質量的一個重要途徑是提高設計質量。
六、小結
本文分析研究了軟件項目管理中的需求管理、員工之間的溝通與協作、軟件項目風險管理。最后結合實踐,提出并分析了軟件項目管理技術。我們相信隨著軟件工程的發展和進一步成熟,軟件項目管理技術的發展會取得更大的進步。在實際項目中,我們要堅持改善軟件工程的管理,并在實踐中總結適合自身的經驗,這樣才有利于管理技術的進步和軟件項目的順利完成,創造出更高的品質、更大的效益。
參考文獻:
[1]Php Metzger,John Boddie. 軟件項目管理-過程控制與人員管理[M]. 北京:電子工業出版社,2002.
[2] Rajeev T Shandilya. 王克仁譯. 軟件項目管理[M]. 北京:科學技術出版社, 2002.
[3] 楊根興,金榮得,宗宇偉.軟件需求的不確定性與解決途徑.計算機應用與軟件.