前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件項目總結主題范文,僅供參考,歡迎閱讀并收藏。
論文摘要:為提高軟件企業(yè)的管理水平,對軟件項目管理存在的一些問題進行了深入的分析,指出了軟件項目管理中常見的不足之處:項目計劃問題、管理意識問題、項目干系人相關問題、項目團隊內分Z-協(xié)作問題、溝通意識問題、項目風險管理意識問題、項目收尾問題通過分析找出了原因.提出了改進措施
軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量風險等進行分析和管理的活動。軟件項日管理最早出現(xiàn)于7o年代中期,當時美國國防部專門立項研究軟件項目失敗的原因,發(fā)現(xiàn)70%的項目失敗是I如于管理不善引起的。而并不是因為技術能力。從而得出一個結論,即管理是影響項目全局的因素,而技術只影響局部。所以軟件項目管理至關重要。在關系到軟件項目成功與否的眾多因素中,項目規(guī)劃、需求變化、軟件質量、風險管理等都是與項目管理直接相關的因素。因此,提高軟件項目管理的能力對軟件組織的軟件生產(chǎn)力的提高是最為重要的。本人對目前軟件企業(yè)實施項目管理的狀況進行了分析,結合軟件項目管理的理論知識,以期找出在軟件項目管理中常見的問題。促進軟件項目管理的應用研究。完善軟件項目管理在軟件企業(yè)的實施。
1軟件項目管理存在的主要問題
1.1項目計劃問題
項目計劃是—個用來協(xié)調所有其他計劃,以指導項目執(zhí)行和控制的文件。項目計劃是項目經(jīng)理實施項目管理控制的基礎。制定計劃的過程就是—個對項目逐漸了解掌握的過程,通過認真地制定汁劃,項目經(jīng)理可以知道哪些要素是明確的。哪些要素是需要逐漸明確的,通過漸近明細不斷完善項目計劃。目前的問題主要有:一是項目計劃的制定不夠嚴謹,隨意性大.可操作性差,因而實施中無法遵循。如項目計劃過于粗略.落實粒度(“Breakdown”)不足,不能做到任務、進度、資源三落實。二是缺乏貫穿項目全程的詳細項目計劃,甚至采用每周來制定下周工作計劃的逐周項目計劃方式,其實質是“項目失控合法化”。三是項目進度的檢查(與進度計劃對比)和控制不足。不能維護項目計劃的嚴肅性。
1.2管理意識問題
在軟件企業(yè)中。項目經(jīng)理大多是技術骨干,在技術方面的知識比較深厚,但是項目管理知識、項目管理必備的技能,項目管理的經(jīng)驗都有待提高。部分項目經(jīng)理沒有意識到自己是項目經(jīng)理的角色。不是從總體上去管理整個項目而是埋頭干具體的技術工作,其計劃不周造成項目組成員任務分配不均.忙的忙、閑的閑,這將影響項目的最終實施。有些項目經(jīng)理對于一些不服從管理的技術人員,沒有較好的管理方法,不好安排的工作只好th己做。
1.3項目干系人相關問題
項目千系人(“STAKEHOLDER”)是指參與項目和受項目活動影響的人,包括項目發(fā)起人、項目組、協(xié)助人、顧客、使用者、供應商,甚至是項目的反對人。人們的需求和期望在項目的開始直至結束都是非常重要的。不同的干系人其期望和追求的目標往往相差甚遠,因此對項目十系人的愿望進行平衡是相當困難的事情。例如政府部門的不少對群眾辦公的信息系統(tǒng),上層管理機關往往希望能夠采集盡可能多的信息項以便對數(shù)據(jù)進行多種多樣的系統(tǒng)分析,并對信息進行有效控制而增加一些審批流程;基層對外辦公的窗口則因為辦公速度的壓力希望減少信息的輸入;而辦事群眾則希望相關政府機構能夠簡化工作流程,加快辦事速度。如果對項目所有干系人沒有進行足夠的溝通,使其盡可能地參與項目,則可能因為項目開始時項目范圍和一些具體要求不夠完整清晰,或某個項目干系人后期認識的變化而提出新的要求,造成工期的延長,成本的增加,甚至項目的完全失敗。
1.4項目團隊內分工協(xié)作問題
由于項目開發(fā)的各階段不同角色、同一階段不同角色的責任各不相同,項目經(jīng)理把工作責任分畫給團隊成員時通常會出現(xiàn)一些不良現(xiàn)象。首先是山于分工不夠清晰而造成工作相互推諉、責任互相推卸的現(xiàn)象;另外是出現(xiàn)“自家打掃¨前雪”的現(xiàn)象,即雖然分工比較清晰但是各成員只顧完成自己的那部分任務而不愿意與他人協(xié)作。
1.5溝通意識問題
項目溝通管理包括確保及時、正確地產(chǎn)生、收集、、存儲和最終處理所需項目信息的過程。它是人、思路和信息之間的關鍵紐帶,是成功所必須的。雖然整個項目是項目經(jīng)理負責,但是在決定這個業(yè)務單元山某個或者某兩個人完成后,項目經(jīng)理只能起管理上的控制、建議和指導的角色,不能對具體的內容進行過多的干預在軟件企業(yè)中,項目經(jīng)理大多是技術骨干,而項目組成員也都是“高科技人員”,都具有“從專業(yè)或學術出發(fā)、工作自主性大、自我欣賞、以自我為中心”等共同的特點。因此妨礙溝通因素主要是“感覺和態(tài)度問題”,也就是溝通意識和習慣的問題。在系統(tǒng)的實施階段或軟件開發(fā)的試運行階段,項目成員基本上是持續(xù)在客戶方進行工作,這種情況非常容易忽視溝通。如果沒有足夠的溝通意識和溝通制度、溝通工具,就有可能造成信息不暢,從而加大項目失敗的風險。
1.6項目風險管理意識問題
項目風險管理是指為了最好地達到項目的目標,識別、分配、應對項目生命周期內風險的科學與藝術。風險管理對選擇項目、確定項目范圍和制定現(xiàn)實的進度計劃和成本估算有積極的影響,并有助于項目千系人了解項目的本質,使團隊成員參與確定優(yōu)勢和劣勢。目前項目風險管理意識的問題主要有兩種情況。第一是項目經(jīng)理沒有充分分析可能的風險,對付風險的策略考慮比較簡單,在做項目規(guī)劃時常常沒有做專門的風險管理it~’l文檔,而是合并在項目計劃書中。第二是項目經(jīng)理沒有充分意識到風險管理的重要性。對計劃書中風險管理的章節(jié)簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對后面的風險防范起不了什么指導作用。
1.7項目收尾問題
項目經(jīng)驗總結是項目經(jīng)理和項目組人員在項目完成后就取得的教訓寫的報告,是項目收尾的一個重要組成部分??偨Y在本項目中哪些方法和事情使項目進行得更好、哪些對項目制造了麻煩、以后應在項目中避免什么情況。哪些事情應在后面的項目中堅持等等。項目經(jīng)理在項目結束時有些是因為項目人員已經(jīng)不足或不全,或是因為有新的項目要接沒有時問,總體對項目經(jīng)驗總結的重視程度不夠。有些是項目經(jīng)驗總結一再拖延,有些是交上來的報告質量較低,敷衍了事。
2加強軟件項目管理的建議及措施
2.I制定相符的項目計劃
制定計劃的精髓不在于寫出一份好看的文檔,而在于運用您的智慧去應對各種問題和面臨風險并盡可能做出前瞻性的思考。計劃是用來指導工作的,制定項目計劃必須把握項目it~,l的粒度,粒度越細則控制力度越大,但項目管理的成本越高,反之則控制力度越小。兇此必須按照特定的項目量體裁衣,該詳細就詳細,該簡略的就簡略,制定相符的項目計劃。許多組織都有項目計劃制定的指導原則。例如,美國國防部的2l67標準“軟件開發(fā)計劃”用于指導那些為國防部開發(fā)軟件的開發(fā)商制定軟件開發(fā)計劃。電氣和電子工程師協(xié)會(IEEE)的1058.1標準描述了“軟件項目管理計劃”的主要內容。表l給出了“1EEFYI,T:,準軟件管理計劃”的格式。遵循那些標準和方針有利于項41汁劃的制定和執(zhí)行一旦it~,l被負責任地完成,他就可以給閂己一個和管理層或客戶交流和協(xié)商的基礎,幫助其在項目過程中防范各種題的出現(xiàn),保證項H的按時完成.
2.2使用w BS(WorkBreakdownStructure)和資源負荷直方圖,合理分配任務
項目經(jīng)理應使用工作分解結構WBS將項目工作范圍進行分解,為了避免有些雖然工作分解結構WBS沒汁合理,但項目任務無法有效、合理地分配給相關成員,可采用資源負荷直方圖把工作任務合理分配并達到“負載均衡”。另外.技術骨r在擔任項目經(jīng)理之前,最好能系統(tǒng)地學習項目管理知識,特別是其中的人力資源管理、溝通管理,并且在實際工作中不斷提高角已的管理素質,豐富項目管理的經(jīng)驗,提高項目管理的意識。
2.3項目組成員應互相協(xié)作、互相配合
項41經(jīng)理通過使用WBS將工作范尉進行分解.并將工作責任分配給團隊成員,同時應強調不同分工、不同環(huán)節(jié)的成員應 當相互協(xié)作,共同完成任務。雖然項目的進行有不同階段的劃分,但各階段還是相互聯(lián)系的。上一階段工作的結束不能只交付階段性成果,往往要通過多次溝通才能更為清晰地披下一階段成員所接受,其有效性、合理性也要被下一階段的工作所檢查,通過檢驗有時也有必要對上一階段的工作結果進行相應的凋整。因此,項H組成員都應根據(jù)需要相互協(xié)作,相互配合,共同完成任務。
24加強溝通意識
項目溝通管理指出:“管理者要用70%的時問用十與人溝通,而項目經(jīng)理需要花費90%或更多的時間來溝通”從溝通的效果和效率角度出發(fā),一股應注意下面四種情況:首先是溝通之前對溝通的基本慨念和目標進行清晰的界定其次是不能凱溺十溝通本身,而必須時刻清楚溝通的目的;意到溝通是有成本的,溝通的時間就是成本,客戶在為這些成本買單第三是一些規(guī)則,包括時和回合的限制、耐心聽完對方的I舌,進行“集中”決策。最后是為了做好事件.必須事先進行明確,進行充分的授權。另外,項目經(jīng)理及其項14組成員要對項14下系人進行分析,項目1:系人分析要記錄重要的I:系人的人名、組織、他們各在項目中的角色、每個I:系人的實際情況、他們各自的項目利益大小、以及各自對項目的影響程度,以及管理這些項14 r系人的有關建’義等。通過溝通協(xié)調.以驅動他們對項目的支持,減少其對項41的阻力,以確保項41獲得成功
2.5加強風險管理意識
項目經(jīng)理必須通過學項41管理知,掌握項H風險管理的必備知,加強對項14汁劃中的風險管理汁劃的審核,提高項41組的管理意識??偨Y本行業(yè)項目中常見的風險及其對策作為風險管理汁劃中必要的『x【險內容,并切實評估相應對策的有效性和可行性。
2.6重視項目經(jīng)驗總結
項41經(jīng)理及管理人員應對項目經(jīng)驗總結引起足夠重視。在制度上鼓勵和JJu強項目經(jīng)驗總結工作,使得項41經(jīng)驗總結及時并且具有指導意義而不是敷衍了事,為以后的項41人員更好地工作提供一個極好的資源和依據(jù)。
一引言
項目管理技術是軟件工程專業(yè)的一門重要專業(yè)課。其教學任務是使學生了解和掌握項目管理的基本概念、基本原理和工程化方法。內容涉及項目管理知識體系(PMBOK)九大知識領域和五個標準化過程組,幾乎涵蓋了軟件項目從立項到結束的方方面面,是一門具有相當廣度的課程。然而,該課程的教學效果卻不容樂觀。
其一、項目管理技術的理論知識多脫胎于工程管理領域,由于國內軟件工程專業(yè)建設剛剛起步,相關教材往往照搬工程管理理論,缺乏完全針對軟件開發(fā)的必要整理和篩選。因此同軟件開發(fā)實踐結合并不十分緊密。
其二、而傳統(tǒng)的教學方式往往重理論而輕實踐,教師將理論知識“滿堂灌”給學生,學生“死記硬背”理論條文,并不懂得如何將理論用于實際軟件開發(fā)。這種僅以理論的多寡深淺作為對學生評價激勵唯一標準的教學手段,必然導致培養(yǎng)的人才實用性不強,職業(yè)能力較差,工程化程度較低。達不到項目管理技術的教學要求。
因此,需要對軟件項目管理技術的教學進行改革。二基于具體項目的軟件項目管理教學軟件工程項目相比一般工程項目具有更強的復雜性和更多的不可控因素,傳統(tǒng)的項目管理教學所傳授的知識常常不易使理論知識和實際開發(fā)吻合,給學生造成“學習無用之感”;課程本身也難以完全包括軟件開發(fā)過程的全部情況。最好的方法是通過一個具體軟件項目的開發(fā)過程,使學生接受項目管理的理念,而軟件項目的開發(fā)設備相對單一,團隊人數(shù)相對較少,相比一般工程項目更易進行實踐演練。
可以看出,項目管理進行過程將根據(jù)實際情況不斷進行計劃變更、計劃控制和計劃執(zhí)行的搏弈和循環(huán)。由于軟件項目有以下特點:
(1)軟件產(chǎn)品是無形的,不可捉摸的,無法感覺形狀,設計也難以直觀表示,很難確定產(chǎn)品質量或估計開發(fā)工作量。
(2)由于軟件的拷貝生產(chǎn)輕而易舉,因此,幾乎全部的軟件項目成本在開發(fā)過程中,而不是在制造過程。
(3)軟件開發(fā)過程屬于勞動密集型過程,尚未實現(xiàn)完全自動化,因此對軟件項目開發(fā)進度的計劃和控制比對一般工程項目更加復雜。
(4)軟件是邏輯實體,本身很容易修改,但由于其復雜性,又很難正確地修改,在缺乏溝通的情況下,對個別模塊的修改可能會帶來新的錯誤。
(5)軟件不像其他產(chǎn)品會因使用而磨損,和一般工程產(chǎn)品不同,軟件產(chǎn)品的維護常常通過增加新模塊功能完成升級。為保證新版本的穩(wěn)定性,常常需要對新版本的重新設計因此,軟件過程主要集中于軟件項目的開發(fā)過程,而在這一過程中,相比一般工程項目,項目管理過程組的核心循環(huán)表現(xiàn)得更加突出?;诰唧w項目對軟件開發(fā)過程進行闡述將更有利于學生理解軟件開發(fā)過程中的項目管理。由于課程目標并不在于具體技術細節(jié)的學習,而在于體會軟件開發(fā)過程中的項目管理。因此在項目選擇中,不能使學生投入過多精力在技術細節(jié)上,而應更多的關注軟件項目管理的溝通、計劃和控制。我們選擇計算機學院行政管理系統(tǒng)網(wǎng)站作為實踐項目讓學生組隊開發(fā),這一項目屬于MIS(信息管理系統(tǒng))項目類,難度不大,且能充分體現(xiàn)軟件項目需求不明確、多變、溝通復雜等特點。作為計算機學院的學生,學生對項目的需求的理解也將更加實際。
2.1基于項目驅動的評價體系“為了解決軟件問題,重要的第一步就是將整個軟件開發(fā)任務看做一個可控的、可度量的以及可改進的過程?!睂㈨椖抗芾矸椒ㄟ\用于具體軟件項目開發(fā)的實踐或在實踐中改進現(xiàn)有方法,能夠幫助學生更好的掌握項目管理技術。在實際教學中,我們將學生分成若干團隊,每個團隊8~13人,充分使學生體會到團隊感,增加管理意識。項目經(jīng)理是靠干出來的,不是靠背出來的。為使學生在具體項目實踐中更加投入,必須改革原有的基于卷面成績的評價體系。我們提出基于項目驅動的評價體系,使學生自覺將課堂所學的理論知識及時用于項目。學生的總評成績將由團隊項目評分、演練與總結評分、期末論文評分三部分組成:
(1)團隊項目評分:60%其中20%由教師根據(jù)團隊分階段提交的項目資料給出;剩下40%由每個團隊的“項目經(jīng)理”根據(jù)團隊的成員的表現(xiàn)給出。而項目經(jīng)理的打分權限則取決于項目完成時專家對項目的評審得分。
(2)演練與總結評分:20%項目結束后各個團隊成員對整個項目管理過程進行總結,評價和反思項目經(jīng)理的管理過程,教師根據(jù)學生個人上課時有關項目的各種演練表現(xiàn)以及項目總結報告進行評分。
(3)期末論文評分:20%要求學生對項目管理九大知識領域進行一定深度的論述。為確保評價體系更加公平、公開、公正,我們規(guī)定:
(1)項目經(jīng)理享有計劃和分配項目團隊資源,為項目組成員進行打分的權利,同時具有帶領項目組完成所有課堂演練環(huán)節(jié),完成項目開發(fā)的義務。作為獎勵,項目經(jīng)理可以直接獲得滿分的演練與總評成績;作為制約,項目經(jīng)理為自己所打分數(shù)只得在項目評審得分5%上下浮動,如果項目經(jīng)理引起過團隊半數(shù)以上成員不滿,將被彈劾,一旦彈劾,相應權利和獎勵同時消失。
(2)項目評審后,項目經(jīng)理將得到“項目評審得分*團隊開發(fā)人數(shù)”的可分配分數(shù),項目經(jīng)理根據(jù)項目組分數(shù)分配方法給團隊成員打分,上限為40。
(3)項目評審時將邀請學院軟件工程專家、需方代表不少于5人組成專家組對各團隊項目進行公開評審,評審將從需方滿意度、項目開發(fā)文檔、項目開發(fā)過程三個角度進行打分。團隊最終得分通過delphi法得到??梢钥闯?,在以上的評價體系中,基于項目驅動的評分所占比重相當大,不僅注重項目的結果,同時注重項目開發(fā)過程。學生的分數(shù)在一定程度上模擬了現(xiàn)實生活的“獎金”,而項目團隊則更加貼近現(xiàn)實生活中的軟件開發(fā)公司。為了使項目成功,學生必須自覺地實踐和探索科學的項目管理方法,不論成功與失敗都將成為學生寶貴的經(jīng)驗和教訓。評分中,由于個體學生所能獲得的成績與其所在團隊成績緊密相關,因此,為整個團隊獲得高分而努力的開發(fā)過程極大地培養(yǎng)了學生的團隊協(xié)作精神。通過教學實踐,這一評價體系調動了學生的學習主動性,起到了較好的作用。超級秘書網(wǎng)
2.2基于項目過程的知識傳授和情景演練表1顯示了項目管理九大知識領域在五個標準化過程組中的作用。可以看出在不同的過程組中,各知識領域所起的作用是不同的。配合實際項目開發(fā)的過程,為使所傳授的知識能夠及時用于實際項目,我們顛覆了原有教材順序,按軟件項目五個過程組所涉及的知識領域對教學順序進行重新安排,基本做到項目進行階段與所傳授的相關知識同步。每次課程教學前后都及時安排對相關內容的情景演練。由表2所示教學實施安排表可以看出,項目管理的九大知識領域幾乎都能做到安排于項目情景中進行傳授,起到了理論對實踐的指導或總結作用。可以看出,每次演練環(huán)節(jié)一般都是對上次所本傳授知識的總結或當次所傳授知識的及時操練,知識點覆蓋較全面。通過設身處地去當一名項目經(jīng)理或軟件工程師,增加了學生對軟件開發(fā)項目的感性認識和興趣,提高了他們的管理才能。通過知識傳授和情景演練的密切配合,使學生對軟件項目的管理過程理解得更加深刻。
二結論
基于具體項目的項目管理教學使學生能夠體會項目管理各知識領域的作用,領會各種方法、規(guī)范所適用的環(huán)境。通過實際開發(fā)后自己總結提煉的經(jīng)驗和教訓,學生將更加接受項目管理的理念和知識,培養(yǎng)了團隊合作精神。在學期末進行的教學效果調查中,83%的學生認為這種教學方法效果良好。學生普遍反映“項目管理枯燥的理論知識變活了,知道怎么用了,印象更加深刻了?!?/p>
項目管理是軟件工程重要的專業(yè)課,在今后的教學實踐中,我們將繼續(xù)改進教學方法,做到量體裁衣,因地制宜,加強教學效果。
參考文獻:
[1]韓萬江,姜立新.軟件項目管理案例教程[M].北京:機械工業(yè)出版社.2005.
[2]張海藩.軟件工程[M].北京:人寫作論文民郵電出版社,2002.
關鍵詞:項目管理;軟件開發(fā);應用
中圖分類號:C93文獻標志碼:A文章編號:1673-291X(2010)31-0239-02
軟件行業(yè)是一個極具挑戰(zhàn)性和創(chuàng)造性的新行業(yè),管理上沒有成熟的經(jīng)驗可供借鑒。而項目管理應該說對于軟件企業(yè)、尤其是那些以應用開發(fā)為主的軟件企業(yè),是行之有效的管理方法。因此,項目管理在軟件開發(fā)中的應用日益受到重視。
一、項目管理的簡要釋義
1.項目管理的定義。按照PMI的定義,項目管理(Project Management,PM)是在項目活動中應用一系列知識、技能、工具和技術,以滿足或超過項目關系人對項目的要求和期望。
2.為什么需要項目管理。目前,企業(yè)面臨著一些比較明顯的挑戰(zhàn):縮短產(chǎn)品生命周期、看準產(chǎn)品投放市場的時間、產(chǎn)品的復雜性和技術性越來越強、全球市場的發(fā)展、提高效率節(jié)約成本等。而這些挑戰(zhàn)所帶來的影響力在近期內不會減輕,為了應對這些挑戰(zhàn),很多企業(yè)都將項目管理作為其運作體系的重要一環(huán)。此外,沒有項目管理,項目也有可能成功。但沒有管理的項目,很難保證目標的實現(xiàn)。為了實現(xiàn)項目的總體目標,消除項目單項管理的局部性,有時甚至可以不惜犧牲或降低一些項目的單向目標,來實現(xiàn)總目標。比如說某些目標本身就是相互沖突的,為了提高單個目標要求,可能會以降低或犧牲其他目標為代價。這種情況并不少見,因此項目管理在使整個項目利潤最大化的過程中發(fā)揮著巨大作用。
3.項目管理的特點。項目管理不是一次任意的管理項目的實踐過程,而是在長期實踐和研究的基礎上總結出來的理論和方法,是一種公認的管理模式和管理理念。(1)項目管理具有探索性。(2)項目管理具有復雜性。(3)項目管理的整體性。(4)項目管理需要更多的協(xié)調和溝通。
4.項目成功的決定因素。項目成功的定義必須考慮限定項目的本質因素,也就是時間、預算、功能/質量和用戶滿意度。通常用以下四個標準來衡量項目是否成功:(1)時間。(2)成本。(3)績效。(4)客戶接受。此外,也可以從外部和內部兩個角度來考慮項目成功的標準。
5.項目管理的發(fā)展與現(xiàn)狀。項目管理作為一種現(xiàn)代化管理方式在國際上已獲得了廣泛的應用,隨著計算機、網(wǎng)絡系統(tǒng)的迅速發(fā)展,項目管理技術也在不斷進步,經(jīng)過多年的嘗試和時間考驗,項目管理已由簡單設想轉變?yōu)榭梢圆僮鞯囊环N新型的施工管理模式,逐漸形成了一套系統(tǒng)的工程項目管理理論和方法。
二、項目管理在軟件開發(fā)中的應用的成因
隨著信息技術的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,各軟件企業(yè)都在積極將軟件項目管理引入開發(fā)活動中,對開發(fā)實行有效的管理。
從概念上講,軟件項目管理是為了使軟件項目能夠按照預定目標順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產(chǎn)越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小開發(fā)風險)。同時,隨著軟件開發(fā)規(guī)模及開發(fā)隊伍的逐漸增大,軟件開發(fā)不再是向過去那樣一兩個開發(fā)人員即可解決的事情。迫切需要一種開發(fā)規(guī)范來規(guī)范每個開發(fā)人員、測試人員與支持人員的工作,同時采用規(guī)范化管理,專業(yè)分工也可以降低對開發(fā)人員的要求,從而降低產(chǎn)品研發(fā)成本。
早在20世紀60年代中期,人們就發(fā)現(xiàn)軟件的生產(chǎn)出現(xiàn)了“問題”,主要表現(xiàn)在生產(chǎn)過程不規(guī)范,缺乏管理。后來,人們在軟件工程方法學中引入了工程的概念、原理、技術和方法,這種思想在一定程度上解決了軟件生產(chǎn)過程中遇到的問題。但是直至20世紀80年代還是沒有提出一套管理軟件開發(fā)的通用原則,軟件管理不善的問題依舊在大范圍內存在。
目前的軟件開發(fā)工作正逐步趨向于復雜化、多元化,大多數(shù)開發(fā)團隊中都會出現(xiàn)同時開發(fā)多個版本、開發(fā)/維護工作并存、多地點同時開發(fā)等情況,給軟件開發(fā)管理帶來了諸多困難。沒有項目管理“介入”,各自為伍,版本重復、混亂因此,開發(fā)人員之間職責分工不明確,工作相互交叉、干擾,嚴重影響了工作效率,降低了工作質量,拖延了工作進度。因此,隨著軟件開發(fā)的深入、各種技術的不斷創(chuàng)新以及軟件產(chǎn)業(yè)的形成,人們越來越意識到軟件開發(fā)過程管理的重要性,管理學的先進理念逐漸融入軟件開發(fā)過程中,應用開發(fā)的項目管理日益受到重視。而項目管理技術的發(fā)展與信息技術的發(fā)展是密不可分的,與此同時,大量的項目管理應用軟件(ERP等)涌現(xiàn)出來,它們可以提供便于操作的圖形界面,幫助用戶制定任務、管理資源、進行成本預算、跟蹤項目進度等。這樣在項目管理應用軟件開發(fā)和項目管理在軟件開發(fā)中的應用兩者之間就形成了一個良性循環(huán),此增彼長,循環(huán)促進。
三、軟件項目管理常見問題及解決方案
對于軟件開發(fā)項目中,經(jīng)常出現(xiàn)兩種極端情況:一種是創(chuàng)造了新的生產(chǎn)率和質量的紀錄;一種則完全是一場災難,不是被取消就是拖延很長時間。前者如在很短的時間內,為了趕進度,在幾乎不可能的時間內開發(fā)出一套軟件產(chǎn)品,創(chuàng)造了軟件開發(fā)的紀錄,滿足了上級所要求的上機日期,由于開發(fā)時間太短,過于倉促,上機時問題百出,試運行時間長達幾個月或一年半載的,而且程序一改再改,維護工作量大。后者,如某套系統(tǒng)未弄清楚需求或設計問題,導致開發(fā)失敗。
目前中國大部分軟件公司,無論是產(chǎn)品型公司還是項目型公司,都沒有形成適合自己公司特點的軟件開發(fā)管理模式,雖然有些公司根據(jù)軟件工程理論建立了一些軟件開發(fā)管理規(guī)范,但并沒有從根本上解決軟件開發(fā)的質量控制問題。這樣導致軟件產(chǎn)品質量不穩(wěn)定,軟件后期的維護、升級出現(xiàn)麻煩,同時最終也會損害用戶的利益。
為了達到項目的整體最優(yōu),必須從全局的、整體的理念出發(fā),通過協(xié)調項目的各個要素(進度、成本、質量和資源等),在相互影響的項目各項具體目標和方案中選擇和權衡,權衡各個相互沖突的目標對項目總體績效所產(chǎn)生的影響,盡可能地消除單個知識領域中的過程的局限性,從而最大限度滿足項目關系人的需求和期望。
四、項目管理方法改進及推廣應用
分析目前項目管理需要改進的問題可以從以下幾個方面去考慮:
1.項目經(jīng)理在專業(yè)領域的知識與實踐基礎上需要接受系統(tǒng)的項目管理知識培訓,使兩者有機結合,在實際工作中不斷提高自己的管理素質,豐富項目管理經(jīng)驗,提高項目管理意識。
2.提高項目經(jīng)理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發(fā)計劃、階段計劃的有效性進行事前事后的評估。
3.制定有效的溝通制度和溝通機制,對由于缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識。
4.通過加強對項目規(guī)劃中風險管理計劃的審核提高項目組的風險管理意識。總結本行業(yè)項目中常見的風險及其對策作為風險管理計劃中必要的風險內容,并切實評估相應對策的有效性和可行性。
5.提高對項目經(jīng)驗總結的重視程度,在制度上鼓勵和加強項目經(jīng)驗總結工作,使項目總結及時并且具有指導意義。
6.項目的目的就是實現(xiàn)項目干系人的需求和愿望。項目干系人管理應當從項目的啟動開始,項目經(jīng)理及其項目成員就要分清項目干系人包含哪些人和組織,通過溝通協(xié)調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
7.項目經(jīng)理應當對項目成員的責任進行合理的分配,細化職責,同時應強調不同分工、不同環(huán)節(jié)的成員應當相互協(xié)作,共同完善。
以上對軟件開發(fā)項目管理中出現(xiàn)的問題的分析還不夠深入,也無法列舉所有遇到或將遇到的問題,解決方案也要根據(jù)實際情況進行調整,希望引起對這些問題更多的思考和改進。
五、結束語
項目管理對于軟件開發(fā)企業(yè)而言,不是一個小的改變,而是一種變革。企業(yè)需要不斷的探索、積累,加大宣傳,轉變觀念,在實踐中鍛煉提高,在解決問題中總結經(jīng)驗,逐步完善項目管理工作,將其作為企業(yè)競爭力提升的有效抓手。
參考文獻:
[1]魯耀斌.項目管理[M].長春:東北財經(jīng)大學出版社,2007.
[2]吳照云.管理學原理[M].北京:經(jīng)濟管理出版社,2003.
[3]Stanley E.Portny如何做好項目管理[M].寧俊,等,譯.北京:企業(yè)管理出版社,2001.
[4]Neal Whitten.管理軟件開發(fā)項目――通向成功的最佳實踐:第2版[M].孫艷春,等,譯.北京:電子工業(yè)出版社,2002.
[5]鄧良松.軟件工程[M].西安:西安電子科技大學出版社,2004.
Project Management in Software Development in the Application
LI Yue1,YANG Yu-lin2
(1.Henan Xinyang Power Supply Company,Science and Technology Information Department,Xinyang 464000,China;
2.The First Aeronautical College of Air force,AviationElectron engineering Department,Xinyang 464000,China)
假如用兩個字概括當前社會的特征,那就是“變化”,而這種變化在信息產(chǎn)業(yè)中體現(xiàn)得尤為突出,技術創(chuàng)新速度越來越快,用戶需求和市場不斷變化,人員流動也大大加快。在這種環(huán)境下,企業(yè)需要應對的變化以及由此帶來的挑戰(zhàn)大大增加,也給管理帶來了很多新問題和挑戰(zhàn)。軟件行業(yè)是一個極具挑戰(zhàn)性和創(chuàng)造性的新行業(yè),管理上沒有成熟的經(jīng)驗可供借鑒。而項目管理應該說對于軟件企業(yè),尤其是那些以應用開發(fā)為主的軟件企業(yè),是行之有效的管理方法。因此,項目管理在軟件開發(fā)中的應用日益受到重視。
項目管理的兩個新問題
1、什么是項目管理?
項目管理是在一定的約束條件下,以高效率地實現(xiàn)項目業(yè)主的目標為目
的,以項目經(jīng)理個人負責制為基礎和以項目為獨立實體進行經(jīng)濟核算,并按照項目內在的邏輯規(guī)律進行有效的計劃、組織、協(xié)調、控制的系統(tǒng)管理活動。
2、為什么要有項目管理?
沒有項目管理,項目也有可能成功。但沒有管理的項目,很難保證項目
的利潤空間,對公司來說,虧損的風險就大。所以我們要有項目管理,以保證公司在總體上是盈利的,注重不是每一個項目都要盈利。
另外,有了項目管理,就有了管理改進的基礎,無論剛開始的項目管理多么糟糕,只要有管理,就有了改進的可能性,至于能不能得到改進,以及改進的快慢,則取決于兩個因素摘要:一個是人,非凡是各級管理者;另一個是利益。關鍵是“利益”,準確的說是“利益的分配”,在權責利明確的前提下,人才能充分的發(fā)揮功能。還需要指出的是“利益”是多元的,這里的多元不僅指利益的具體形式,而且指利益的受眾是多元的,包括客戶方相關人員個人的利益。
3、項目管理的發(fā)展和目前狀況。
今天,項目管理作為一種現(xiàn)代化管理方式在國際上已獲得了廣泛的應用,從最初的國防、航天、建設工程領域,迅速發(fā)展到電子、通信、計算機、軟件開發(fā)、金融等行業(yè)以及政府機關的項目管理工作。隨著計算機、網(wǎng)絡系統(tǒng)的迅速發(fā)展,項目管理技術的不斷進步,項目管理軟件產(chǎn)品層出不窮,其功能、特征、應用對象也各不相同。當前,越來越多的企業(yè)和組織在內部推廣項目管理的理論方法及管理模式,假如都采用項目管理軟件進行管理,效果就更加明顯,可以節(jié)省大量的資源和財富。國外90%26#37;以上的項目管理都采用軟件進行,但我國在這方面的應用還不到10%26#37;。新世紀項目管理在中國的迅速興起,給軟件企業(yè)的發(fā)展帶來了前所未有的發(fā)展機遇。
項目管理在軟件開發(fā)中的應用的成因
隨著信息技術的飛速發(fā)展,軟件產(chǎn)品的規(guī)模也越來越龐大,個人單打獨斗的作坊式開發(fā)方式已經(jīng)越來越不適應發(fā)展的需要。各軟件企業(yè)都在積極將軟件項目管理引入開發(fā)活動中,對開發(fā)實行有效的管理。從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發(fā)人員的個人開發(fā)能力轉化成企業(yè)的開發(fā)能力,企業(yè)的軟件開發(fā)能力越高,表明這個企業(yè)的軟件生產(chǎn)越趨向于成熟,企業(yè)越能夠穩(wěn)定發(fā)展(即減小開發(fā)風險)。同時,隨著軟件開發(fā)規(guī)模及開發(fā)隊伍的逐漸增大,軟件開發(fā)不再是向過去那樣一二個開發(fā)人員即可解決的事情。迫切需要一種開發(fā)規(guī)范來規(guī)范每個開發(fā)人員、測試人員和支持人員的工作,每個項目組成員按約定的規(guī)則準時完成自己的工作。同時采用規(guī)范化管理,專業(yè)分工也可以降低對開發(fā)人員的要求,從而降低產(chǎn)品研發(fā)成本。
軟件開發(fā)是一項復雜的系統(tǒng)工程,牽涉到各方面的因素,實際工作中,經(jīng)常會出現(xiàn)各種各樣的新問題,甚至面臨失敗。如何總結、分析失敗的原因,得出有益的教訓,對一個公司來說,是在今后的項目中取得成功的關鍵。
早在20世紀60年代中期,人們就發(fā)現(xiàn)軟件的生產(chǎn)出現(xiàn)了“新問題”,主要表現(xiàn)在生產(chǎn)過程不規(guī)范,缺乏管理。后來,人們在軟件工程方法學中引入了工程的概念、原理、技術和方法,這種思想在一定程度上解決了軟件生產(chǎn)過程中碰到的新問題。但是直至80年代還是沒有提出一套管理軟件開發(fā)的通用原則,軟件管理不善的新問題依舊在大范圍內存在。
目前的軟件開發(fā)正逐步趨向于復雜化、多元化,大多數(shù)開發(fā)團隊中都會出現(xiàn)同時開發(fā)多個版本、開發(fā)/維護工作并存、多地點同時開發(fā)等情況,給軟件開發(fā)管理帶來了前所未有的困難。假如管理不善,必將造成版本混亂,各個開發(fā)人員的工作相互交叉、干擾,整個開發(fā)團隊的工作在一種無秩序的不良狀況下運行,嚴重影響軟件產(chǎn)品開發(fā)的進度和質量。
因此,隨著軟件開發(fā)的深入、各種技術的不斷創(chuàng)新以及軟件產(chǎn)業(yè)的形成,人們越來越意識到軟件過程管理的重要性,管理學的思想逐漸融入軟件開發(fā)過程中,應用開發(fā)的項目管理日益受到重視。而項目管理技術的發(fā)展和計算機技術的發(fā)展是密不可分的,隨著計算機性能的迅速提高,大量的項目管理軟件涌現(xiàn)出來。它們可以用于各種商業(yè)活動,提供便于操作的圖形界面,幫助用戶制定任務、管理資源、進行成本預算、跟蹤項目進度等。
軟件項目管理常見新問題及解決方案
對于軟件開發(fā)項目中,經(jīng)常出現(xiàn)兩種極端情況,一種是創(chuàng)造了新的生產(chǎn)率和質量的紀錄;一種則完全是一場災難,不是被取消就是拖延很長時間。前者如在很短的時間內,為了趕進度,在幾乎不可能的時間內開發(fā)出一套軟件產(chǎn)品,創(chuàng)造了軟件開發(fā)的記錄,滿足了上級所要求的上機日期,由于開發(fā)時間太短,過于倉促,上機時,新問題百出,試運行時間長達幾個月或一年半載的,而且程序一改再改,維護工作量大。
后者,如某套系統(tǒng)未弄清楚需求,或因設計新問題,開發(fā)失敗。通過提煉這些成功和失敗的例子,軟件項目成功或失敗的根本原因可能會更清楚一些。
目前我國大部分軟件公司,無論是產(chǎn)品型公司還是項目型公司,都沒有形成適合自己公司特征的軟件開發(fā)管理模式,雖然有些公司根據(jù)軟件工程理論建立了一些軟件開發(fā)管理規(guī)范,但并沒有從根本上解決軟件開發(fā)的質量控制新問題。這樣導致軟件產(chǎn)品質量不穩(wěn)定,軟件后期的維護、升級出現(xiàn)麻煩,同時最終也會損害用戶的利益。
分析目前項目管理需要改進的新問題可以從幾種相關角色的角度去考慮摘要:項目經(jīng)理、項目組成員、公司管理人員、市場人員、客戶等。
新問題一摘要:缺乏項目管理系統(tǒng)培訓(相關對象摘要:項目經(jīng)理、管理人員)
項目經(jīng)理在項目管理方面的培訓較少或不夠系統(tǒng)。項目經(jīng)理或管理人員不了解項目管理的知識體系和一些常用工具和方法,所以在實際工作中沒有項目管理知識的指導,完全依靠個人現(xiàn)有的知識技能,管理工作的隨意性、盲目性比較大。在軟件企業(yè)中,以前幾乎沒有專門招收項目管理專業(yè)的人員來擔任項目經(jīng)理(甚至很少是管理專業(yè)的),被任命的項目經(jīng)理主要是因為他們能夠在技術上獨當一面,而管理方面非凡是項目管理方面的知識比較缺乏。
解決方案摘要:項目經(jīng)理接受系統(tǒng)的項目管理知識培訓是非常必要的,有了專業(yè)領域的知識和實踐,再加上項目管理知識和實踐和一般管理的知識和經(jīng)驗的有機結合,必能大大提高項目經(jīng)理的項目管理水平。應實行項目經(jīng)理知識技能資格考核制度,讓項目經(jīng)理自覺補充學習項目管理的知識和一些常用工具和方法。
新問題二摘要:項目計劃意識新問題(相關對象摘要:項目經(jīng)理)
項目經(jīng)理對總體計劃、階段計劃的功能熟悉不足。項目經(jīng)理認為計劃不如變化快,項目中也有很多不確定的因素,做計劃是走過場,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經(jīng)常拖延,造成計劃和控制管理脫節(jié),無法進行有效的進度控制管理。沒有計劃或者是隨意的不負責任的計劃的項目是一種無法控制的項目。
解決方案摘要:在高技術行業(yè),日新月異是主要特征,因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經(jīng)理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發(fā)計劃、階段計劃的有效性進行事前事后的評估。
新問題
三、管理意識新問題(相關對象摘要:項目經(jīng)理)
部分項目經(jīng)理沒有意識到自己項目經(jīng)理的角色,從總體上去把握管理整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。在軟件企業(yè)中,項目經(jīng)理大多是技術骨干,技術方面的知識比較深厚,但無論是項目管理知識,還是項目管理必備的技能、項目管理必備的素質都有待補充和提高,項目管理經(jīng)驗也有待豐富。有些項目經(jīng)理對于一些不服管理的技術人員,沒有較好的管理方法,工作不好布置的工作只好自己做。另外由于工作分解結構設計的合理性,項目任務無法有效、合理地分配給相關成員,以達到“負載均衡”。
解決方案摘要:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經(jīng)理更好地做好項目管理工作。技術骨干在擔任項目經(jīng)理之前,最好能經(jīng)過系統(tǒng)的項目管理知識,非凡是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經(jīng)驗,提高項目管理意識。
新問題四摘要:溝通意識新問題(相關人員摘要:項目經(jīng)理、項目組成員)
在項目中一些重要信息沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術新問題或成果等方面和相關人員的溝通不足,造成各做各事、重復勞動,甚至造成不必要的損失;有些人沒有天天定時收郵件的習慣,以至于無法及時接收最新的信息。
解決方案摘要:制定有效的溝通制度和溝通機制,對由于缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識;溝通方式應根據(jù)內容而多樣化,講究有效率的溝通;通過制度規(guī)定對由于未及時收取郵件而造成損失的責任歸屬;對于非凡重要的內容要采用多種方式進行有效溝通以確保傳達到位,例如除發(fā)送郵件外還要電話提醒、回執(zhí)等,重要的內容還要通過舉行各種會議進行傳達。
新問題五摘要:風險管理意識新問題(相關人員摘要:項目經(jīng)理)
項目經(jīng)理沒有充分分析可能的風險,對付風險的策略考慮比較簡單。項目經(jīng)理在做項目規(guī)劃時經(jīng)常沒有做專門的風險管理計劃文檔,而是合并在項目計劃書中。有些項目經(jīng)理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節(jié)簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的策略,對于后面的風險防范起不到什么指導功能。
解決方案摘要:通過學習項目管理知識把握風險識別、量化、策略探究、反應控制的工具和方法把握項目風險管理所必備的知識。通過加強對項目規(guī)劃中風險管理計劃的審核提高項目組的風險管理意識??偨Y本行業(yè)項目中常見的風險及其策略作為風險管理計劃中必要的風險內容,并切實評估相應策略的有效性和可行性。
新問題六摘要:不重視項目經(jīng)驗的總結(相關人員摘要:項目經(jīng)理、管理人員)
項目經(jīng)理在項目結束時有些是因為自身對寫文檔工作的喜好或意識,或
者是因為緊接著要參加下一個項目,總體對項目總結的重視程度不夠。有些是項目總結報告一再拖延,有些是交上來的報告質量較低,敷衍了事。
解決方案摘要:在制度上鼓勵和加強項目經(jīng)驗總結工作,使得項目總結及時并且具有指導意義而不是走過場。
新問題七摘要:項目干系人相關新問題(相關人員摘要:項目經(jīng)理、項目成員、客戶)
在范圍識別階段,項目組對客戶的整體組織結構、有關人員及其關系、
工作職責等沒有足夠了解以致于無法得到完整需求或最終經(jīng)權威用戶代表確認的需求。由于項目經(jīng)理的工作新問題,客戶參和程度部不高,客戶方相關責任人不明確或對范圍和要求責任心不強,提出的要求具有隨意性,項目前期對需求的確認不夠積極;或者是多個用戶代表各說各話、昨是今非但同時又要求項目盡早交付;項目后期需求變化隨意,造成項目范圍的蔓延,進度的拖延,成本的擴大。
解決方案摘要:項目的目的就是實現(xiàn)項目干系人的需求和愿望。項目干系人管理應當從項目的啟動開始,項目經(jīng)理及其項目成員就要分清項目干系人包含哪些人和組織,通過溝通協(xié)調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
新問題八摘要:項目團隊內分工協(xié)作新問題(相關人員摘要:項目經(jīng)理、項目成員)
項目團隊內部有時由于各階段不同角色或同階段不同角色之間的責任
分工不夠清楚而造成工作互相推諉、責任互相推卸的現(xiàn)象,有時各階段不同角色或同階段不同角色之間的責任分工比較清楚但是各項目成員只顧完成自己那部分任務、不愿意和他人協(xié)作。這些現(xiàn)象或多或少地造成了項目團隊內部資源的損耗,從而影響了項目的進展。
解決方案摘要:項目經(jīng)理應當對項目成員的責任進行合理的分配并清楚地說明,同時應強調不同分工、不同環(huán)節(jié)的成員應當相互協(xié)作,共同完善。
軟件質量重于泰山
軟件質量重于泰山,軟件質量是核心競爭力之一?,F(xiàn)在和未來軟件企業(yè)的競爭力不僅體現(xiàn)在產(chǎn)品類型的多樣性,產(chǎn)品功能的先進性,更多的體現(xiàn)在產(chǎn)品質量的穩(wěn)定性和可靠性。軟件應用的領域不斷深入,設計的復雜程度逐步增加,開發(fā)的周期不斷縮短,質量的要求水漲船高,軟件企業(yè)面臨著巨大挑戰(zhàn)。
用戶對軟件產(chǎn)品質量的要求不斷提高,促使軟件企業(yè)把提高軟件質量作為增強競爭力的策略。提高軟件質量要素在哪里?可以通過采用軟件設計技術,加強軟件過程管理,實施軟件測試等方法。從提高軟件質量的顯著程度、投資回報率和可實施性等方面比較,實施有效的軟件測試,提高軟件測試的效率,是保證軟件質量的顯著方法。
軟件測試是通過技術、流程、工具、人員以及管理手段,檢測軟件文檔、軟件中間產(chǎn)品和最終產(chǎn)品,查找和報告軟件缺陷、錯誤以及隱患的專業(yè)技術。通過跟蹤缺陷、錯誤及隱患的修正過程,確保軟件產(chǎn)品、中間產(chǎn)品和文檔符合軟件工程過程需求和用戶的最終需求。
軟件測試創(chuàng)新之道
軟件測試在國內仍處于起步階段,各種軟件測試的方法、技術和標準都還在探索階段。國內軟件行業(yè)規(guī)模普遍偏小,缺乏大型軟件產(chǎn)品經(jīng)驗,開發(fā)過程不夠規(guī)范,這決定了國內軟件質量和測試行業(yè),必須根據(jù)國內行業(yè)現(xiàn)狀,確定軟件質量目標和測試策略方法,而不是照搬照抄國外成熟軟件企業(yè)的測試方法。
觀念創(chuàng)新
提高軟件質量的決定因素不是軟件測試技術,而是對軟件質量和測試的思想觀念。只有把提高軟件質量上升到企業(yè)戰(zhàn)略發(fā)展的高度,才能從根本上解決問題。長期以來,國內軟件行業(yè)對軟件質量重視程度不足,對于軟件測試的作用認識不夠,造成項目因質量問題造成進度推遲甚至失敗。
為了徹底改變這種被動現(xiàn)象,企業(yè)高層管理人員必須從管理思想、資源支持等方面為軟件質量和測試部門提供全力支持。軟件項目經(jīng)理必須堅持軟件開發(fā)和軟件測試并行處理并且互相協(xié)調。軟件開發(fā)人員重視和配合軟件測試人員。
觀念創(chuàng)新不要僅停留在口頭上,而要落實在具體行動上,通過軟件質量和測試的有效流程進行推動,通過過程改進進行提高。通過有效組織管理,形成“以重視軟件質量為榮,以輕視軟件質量為恥”的工作氛圍。
流程創(chuàng)新
測試流程決定軟件質量。軟件測試如同軟件開發(fā)一樣,需要經(jīng)過收集測試需求、確定測試策略、設計測試、執(zhí)行測試、分析測試等流程。軟件測試不是軟件開發(fā)的最后階段,而是貫穿于軟件項目的整個生命周期。
軟件測試流程既不是僵化的生搬硬套,也不是隨機的增添取舍。軟件企業(yè)的質量管理部門和項目開發(fā)團隊需要根據(jù)公司技術、資源現(xiàn)狀,針對項目的特點和客戶需求,從保證軟件質量、項目進度和測試成本等方面,進行優(yōu)化設計并且不斷改進流程管理。對于項目周期長、應用領域廣、對質量要求高的軟件,必須制定和遵守嚴格的測試流程。
測試流程創(chuàng)新的目標是在公司內部制定和執(zhí)行完善的項目質量管理體系。優(yōu)化項目生產(chǎn)方式,跟蹤和度量生產(chǎn)過程和產(chǎn)品,使得生產(chǎn)過程和各階段產(chǎn)品處于可控制和可度量狀態(tài),保證產(chǎn)品符合客戶的功能和進度需求。
技術創(chuàng)新
軟件測試是一項軟件工程領域的專業(yè)技術,而不是簡單的把軟件測試認為隨便找個人運行幾次軟件,就可以發(fā)現(xiàn)全部的軟件問題。前文已經(jīng)提到,軟件測試需求和測試設計是決定軟件測試效果的關鍵因素,因此,加強測試技術創(chuàng)新的重點是在測試需求和設計設計的創(chuàng)新。
在軟件測試技術創(chuàng)新方面,要避免陷入過度追求自動化測試技術的誤區(qū)。自動化測試確實可以在某些方面顯著提高測試效率和準確性,但是自動化測試只適合測試軟件的某些方面的質量,80%左右的軟件缺陷是靠測試人員手工測試發(fā)現(xiàn)的。
對于某些特別需要自動化測試的軟件特性,需要加強開發(fā)軟件測試工具,而不是全部依賴市場上的現(xiàn)有測試工具。這是因為商業(yè)工具功能繁多,價格昂貴,培訓和學習周期很長,選擇不當就會造成巨大浪費。
管理創(chuàng)新
軟件測試管理的目標是實現(xiàn)軟件質量、進度、成本之間的最佳平衡。有效的測試管理需要企業(yè)管理層、軟件開發(fā)團隊、質量保證與測試團隊通力合作,采用計劃、組織、領導、控制等手段,組建高效團隊,制定完善的測試流程,做好測試設計,有效執(zhí)行測試,加強過程跟蹤,從而順利完成質量保證和測試任務。
測試管理創(chuàng)新的核心是軟件質量和測試的團隊建設,軟件質量和測試是技術密集型活動,團隊的知識結構、創(chuàng)造力和凝聚力是保證測試流程、測試技術充分實施的基礎。質量和測試團隊建設的重點是設置和培養(yǎng)各類技術和管理人才,進行有效交流,形成良好的評估和促進機制。
測試管理創(chuàng)新的另一個重點是測試管理平臺建設。包括構建測試項目管理的集成系統(tǒng),實現(xiàn)公司產(chǎn)品和項目數(shù)據(jù)信息的有效管理和順序控制,使項目數(shù)據(jù)透明化,技術知識有效傳承,項目質量和進度數(shù)據(jù)化、圖形化??梢愿鶕?jù)公司的現(xiàn)狀,購買軟件測試管理的商業(yè)工具,也可以內部開發(fā)軟件測試管理工具。
軟件測試技術路線圖
如果把軟件測試之道成為測試戰(zhàn)略,要發(fā)揮測試戰(zhàn)略的現(xiàn)實意義,需要把測試戰(zhàn)略轉化為測試戰(zhàn)術。測試的“道”與“術”的無縫集成,才能顯著地、持續(xù)地、逐步地提高軟件產(chǎn)品質量。實施軟件測試的戰(zhàn)術是一系列過程的組合,涉及測試團隊建設、流程設計、測試平臺、測試管理等多個方面。
測試團隊建設
測試團隊可以是測試部,也可以是測試組。公司規(guī)模決定了測試團隊的大小和組織形式。測試團隊建設需要執(zhí)行兩個原則:第一,測試團隊必須獨立于開發(fā)團隊,而不是附屬于開發(fā)團隊,實現(xiàn)測試的獨立性和公正性;第二,測試團隊必須具有明確的工作目標,即發(fā)現(xiàn)和報告軟件缺陷,推動和確認缺陷修正,協(xié)助軟件開發(fā)的過程改進,提高軟件整體質量。
軟件測試團隊根據(jù)規(guī)模可以設置多個職位,每個職位具有明確的崗位職責。例如,測試部門經(jīng)理、測試項目經(jīng)理、測試組長、測試架構師、高級測試工程師、測試工程師等。對于剛剛成立的測試團隊,可以一個人兼任多個職位,完成多項測試任務。測試人員的總數(shù)應該與開發(fā)人員相適應,最好在1:1到1:2之間。
流程設計
測試流程設計必須與軟件設計流程相對應,基本測試流程包括測試需求分析、測試計劃設計、測試用例設計、測試執(zhí)行、測試評價、測試總結等。
根據(jù)軟件需求和軟件設計規(guī)格說明進行測試需求分析,測試需求分析的目的是明確需要測試的對象、特征、范圍和方法,從而制定測試計劃,確定測試策略。
測試計劃設計是為了有效配置測試過程、人員和工具,充分利用現(xiàn)有的資源,按照項目計劃進度,組織有效的測試。測試計劃設計的輸出結果是測試計劃文檔,它是指導軟件測試活動的綱領性文檔。
測試用例設計是指導具體測試內容和方法的關鍵內容,如果需要執(zhí)行自動化測試,還需要依靠測試用例設計生成對應的測試腳本。測試用例設計的輸出結果是不同類型的測試用例,這些測試用例必須以標準、一致的形式設計、評審、存儲、更新。
測試執(zhí)行是報告軟件缺陷的階段,根據(jù)軟件計劃的進度,分配測試內容,構建測試環(huán)境,依靠測試用例運行測試程序和程序文檔。測試執(zhí)行的輸出結果是缺陷報告、測試進度報告等。
測試評價是度量軟件測試執(zhí)行效率和有效性的過程。測試評價的輸入是測試用例的執(zhí)行情況,軟件缺陷的報告數(shù)據(jù)。測試評價的輸出包括測試用例的有效性分析,軟件缺陷的類型和有效性分析等,測試進度和有效性分析等。
測試總結包括測試過程每天或者每周的過程總結,也包括測試項目結束后的測試項目總結。測試總結的輸出是測試總結報告,總體評價軟件質量,指出測試存在的問題,提出改進的方法和進程,總計測試的有效經(jīng)驗。
測試平臺設計
測試平臺設計包括測試技術平臺設計和測試管理平臺設計。測試技術平臺包括設計測試環(huán)境,設計或設置測試工具等。測試管理平臺設計包括測試文檔系統(tǒng)設計、測試版本配置管理、缺陷數(shù)據(jù)庫設計、測試進度和質量分析系統(tǒng)設計。
測試技術平臺設計需要根據(jù)測試計劃的測試內容和測試環(huán)境要求,組織軟件、硬件、數(shù)據(jù)庫和網(wǎng)絡等,這經(jīng)常是一項較為耗時的工作,同時它影響著測試的正確性,必須盡快在測試開始階段完成,最好采用有效的方法把搭建的測試環(huán)境進行備份保存,以便今后可以快速恢復,重復利用。
測試管理平臺設計,影響測試管理的復雜度,好的測試管理平臺可以使測試管理人員,方便地跟蹤、查詢、分析測試進度,評估測試人員的工作績效,評價測試的總體質量。對于測試技術人員而言,可以方便的尋找測試對象和測試文檔,報告和輸出測試結果,共享測試數(shù)據(jù),提高測試效率。
測試管理
測試管理關注人員、過程、產(chǎn)品三要素的互動與變化,測試管理包含項目計劃和組織結構管理,測試階段管理,時間、資源和質量管理,文檔管理和團隊管理等。測試部門經(jīng)理、測試項目經(jīng)理和測試組長是測試管理的主要執(zhí)行者,需要與測試團隊成員、開發(fā)人員、公司管理人員密切配合。
為了加強測試管理,需要確保測試數(shù)據(jù)信息流通暢,使測試團隊、開發(fā)團隊、質量保證團隊之間有效交流。測試管理的其他內容包括團隊成員參與各種培訓,客觀積極的績效評估,識別項目測試風險,實現(xiàn)人盡其才,信息共享,進度可控,規(guī)避風險,降低成本,提高質量。
在“軟件工程”課程教學中,應用項目教學法,直接作用在于幫助學生更加清楚和深入的認識軟件開發(fā),幫助學生糾正“軟件開發(fā)就是編寫程序代碼”的錯誤思想,強調軟件開發(fā)的團隊分工合作,將項目教學法引入“軟件工程”課程教學,制定完善的項目小組學習和工作的流程。項目活動開展前將學生分為不同小組,并對各組成員進行具體工作的安排。在課外,布置主要的自主開發(fā)任務是關鍵,要求嚴格按照軟件工程的規(guī)范進行。在軟件開發(fā)前,要對其開發(fā)的可行性、需求進行分析,然后進行系統(tǒng)設計,完成系統(tǒng)[2]。應注意保存相關文檔并生成系統(tǒng)可執(zhí)行文件。為準確把握項目開發(fā)以及進展情況,為了對學生進行有針對性的指導,各小組在開發(fā)階段要定期進行匯報,并在討論中完善項目。1.命題教師根據(jù)教學內容和學生實際情況,給出“多媒體技術雙語詞典”、“某市公交車查詢系統(tǒng)”、“班級綜合評測系統(tǒng)”等多個軟件的分析、設計和實現(xiàn)任務,并征求學生的意見和建議。2.角色確定根據(jù)工作量和軟件開發(fā)流程進行分組,以5~8人一組為宜。小組實行組長負責制,組長安排、協(xié)調各成員工作。角色共分3類:軟件開發(fā)人員、用戶和同行專家[3]。在各小組之間要使每個成員明確自身角色,認清自身責任。在項目開發(fā)的不同階段,小組成員扮演的角色類型也可以改變。例如,在需求分析階段某小組成員扮演的角色是分析開發(fā)人員,而在設計階段則可以轉變?yōu)橥性u審專家,對小組開況提出意見,結合對比分析做出評價。3.選題為了保證各小組競爭公平,要使小組的選題難度基本相同,并且難度基本相同選題的小組之間進行同行專家評審,開展討論過程中可行使專家權力,提出工作意見。這種形式的應用最直接作用在于促進小組之間的溝通交流,促進選題小組對自身的審視,在比較借鑒之下完善自己的方案,幫助學生拓寬思維[4]。在初步完成選題后要對系統(tǒng)開發(fā)目標進行準確制定,并形成方案雛形,為使用開發(fā)平臺提供的相關開發(fā)工具建立數(shù)據(jù)庫等做準備。4.階段性開發(fā)工作在軟件開發(fā)的不同階段要整理出不同的文檔,比如在系統(tǒng)可行性分析階段要參照軟件工程標準進行可行性文檔書寫,或在需求分析階段按照國際標準進行需求說明文檔書寫,在軟件開發(fā)的設計、編碼以及測試階段也同樣需要書寫文檔[5]。在不同階段,教師準備相應的的資料以及樣例模板給學生參考,學生根據(jù)自己所在組的任務進行不同資料素材的搜集,通過多種途徑進行學習。軟件開發(fā)中組長的任務是領導責任,明確指導小組成員分工合作,對開發(fā)過程進行文檔記錄和保存。5.階段匯報和討論教師要準確把握學生項目開發(fā)進度,定期組織階段匯報,選擇合適時間在課堂上讓各小組同學進行匯報和溝通。各小組不同階段的開發(fā)負責人員可以不同,根據(jù)階段需求做主要匯報。匯報內容包括對當前工作開展情況以及遇到的問題等。在匯報過程中同行評審要積極給出意見,并與其他小組溝通討論[6]。在階段匯報工作中,教師主要是針對階段匯報情況作出決定性評價,對其工作的正確與否進行判斷,并對其研究方法給出積極意見。6.階段性總結在各階段工作完成后,要完成產(chǎn)品交付工作并寫出分析報告。產(chǎn)品交付主要包括軟件需求文檔、軟件概要設計說明書、軟件詳細設計說明書、可運行的程序、測試分析文檔等。軟件開發(fā)階段較多,在軟件詳細設計到測試分析過程中要進行多次修正,以便前期工作的完成為后續(xù)開發(fā)工作打下堅實的基礎。7.總結評價在基本工作完成后,要求各小組上交最終文檔和軟件產(chǎn)品,教師要對各小組的工作成果進行總結評價,并給出成績。學生最后成績構成可以參照“小組成績”+“個人成績”,兩個部分的比例各占一半[7]。小組的成績是教師確定的,教師結合學生在小組中的表現(xiàn),根據(jù)其知識水平、合作能力、創(chuàng)新能力、科研能力以及其所在小組最終完成的質量情況進行綜合評分;個人成績則主要是依靠組長給出,而組長的成績可由小組成員綜合給出。這種成績確定以及評價考核的方式是對學生綜合表現(xiàn)的肯定,是對整個項目開展過程中學生的整體能力的評價,較公平合理,對促進學生全面發(fā)展有著積極作用。
二、軟件工程教學中應用項目教學法應注意的問題
為更好促進項目教學法在“軟件工程”課程中的實踐應用,要從教師和學生兩方面出發(fā),提高教師的駕馭能力,增強學生的參與能力。1“.軟件工程”課程自身具有較強的專業(yè)性,因此在該課程中應用項目教學法要不斷增強教師的整體能力。教師要對項目重點以及課程知識點準確把握,制定實用性強、熟悉程度高的教學項目,以利于培養(yǎng)人才。在項目開展過程中教師要對項目教學法靈活運用,在完成“軟件工程”知識點講授的同時豐富項目教學方法。2.在項目教學法應用過程中學生的參與配合行為決定了教學效果。為不斷促進學生積極參與項目教學,教師要合理進行分組,根據(jù)學生的心理特征以及能力分配情況進行分組,保證各環(huán)節(jié)開展順利。在分組環(huán)節(jié)中要避免出現(xiàn)“能者多勞”現(xiàn)象,對小組組長的確定也要采取輪換制度,促進小組成員每個人都能發(fā)揮自身作用,都能得到實踐訓練。教師要做好指導輔助作用,幫助小組開發(fā)更加順利,增強學生自信心。
三、結束語
【關鍵詞】信息化工程軟件工程工程驗收
工程驗收即工程建設單位組織相關部門對承建方建設的單項工程或全部工程進行檢驗和交接的工作程序。
信息化工程是以計算機智能化建設為基礎,并使之運行發(fā)揮效益的系統(tǒng)化工程,其中的計算機智能化建設指的就是軟件工程建設。如果把信息化工程比作一個龐大的機器人,其中計算機基礎建設只是建設了機器人的骨架,軟件工程建設才是填補了血肉并整合在一起作為機器人的神經(jīng)中樞。
信息化工程驗收即建設單位對承建方以信息化建設為基礎的單項或全部工程的檢驗和交接的工作程序。其中的重點驗收項目就是軟件工程驗收。
一、軟件工程
1.1軟件工程的定義
軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。它涉及到高級程序語言、數(shù)據(jù)庫開發(fā)工具、中間件開發(fā)工具、操作系統(tǒng)平臺、安全接口標準、網(wǎng)絡連接模式等方面。在現(xiàn)代社會中,軟件應用于各個方面。典型的軟件比如有電子郵件、操作系統(tǒng)、財務軟甲、辦公軟件、ERP系統(tǒng)、智能手機系統(tǒng)、游戲等。同時,各個行業(yè)幾乎都有計算機軟件的應用,比如工業(yè)、農(nóng)業(yè)、商業(yè)、銀行、航空航天、政府部門等。這些應用促進了經(jīng)濟和社會的發(fā)展,使得人們的工作更加高效,同時提高了生活質量。
1.2軟件工程的發(fā)展
前面提到了軟件工程涉及各個行業(yè)的應用主要指的是,軟件工程建設在工業(yè)中的自動化控制,農(nóng)業(yè)的生產(chǎn)和銷售,企事業(yè)單位的集約化管理和政府機關的信息化辦公等等應用。其中以企業(yè)軟件工程建設為例,企業(yè)是以經(jīng)濟建設為基礎的生產(chǎn)單位,以追求經(jīng)濟效益和生產(chǎn)效率最大化為目的的集合體,只有軟件工程的產(chǎn)品真正為企業(yè)創(chuàng)造了效益,才能在這片土壤中生存下去。
軟件工程建設開始還只是在企業(yè)辦公中發(fā)揮作用,部門之間發(fā)個郵件,財務做個報表,人事部做個員工檔案,這只是軟件工程的初級應用,對企業(yè)的生產(chǎn)和部門間的集約化辦公并未起到太大的作用,軟件工程在企業(yè)中也并未起到至關重要的作用。只有把各個部門軟件進行整合,使其系統(tǒng)化,增加部門間的軟件工程聯(lián)系,才能真正提高企業(yè)生產(chǎn)效率。隨著計算機硬件設備的不斷發(fā)展,計算機運算速度越來越快,存儲設備空間越來越大,為軟件工程的系統(tǒng)化建設提供了有力的保證,軟件工程建設越來越龐大,涉及面越來越廣,事實證明,軟件工程建設幫助企業(yè)提高了生產(chǎn)效率,創(chuàng)造了經(jīng)濟效益,在企業(yè)中蓬勃發(fā)展并起到越來越重要的作用,隨之而來的問題就凸顯出來,需要進行工程項目建設結束后的驗收和交接工作。
1.3軟件工程的驗收
軟件工程是信息化建設工程的一個重要組成部分,工程的驗收周期和耗費的人力也是最長的。所以,提高軟件工程驗收的效率和驗收質量是保證信息化工程建設驗收成功的重要途徑。軟件工程和其他工程一樣,包括設計、施工、材料供應、安全檢查、項目驗收等工程建設流程。軟件工程又是一個不斷建設,不斷完善的過程,與常規(guī)工程驗收的區(qū)別就在于并不是一次驗收就能得出結論,驗收周期相對較長,需要在工程開始階段就介入驗收工作,不斷總結,跟蹤驗收,不斷修改,才能促使軟件工程向面向用戶的可操作性和可維護性方面更好的發(fā)展和完善。
軟件工程的建設是在計算機硬件基礎上進行的,同時還包括系統(tǒng)間的網(wǎng)絡通信條件,異地建設的系統(tǒng)工程還必須要有傳輸系統(tǒng)的支持,在此基礎上又增加了安全系統(tǒng)的建設,所以軟件工程的驗收,并不是單個模塊、單個系統(tǒng)的簡單驗收,還要綜合考慮其他系統(tǒng)的影響和支持。
二、驗收方法
2.1驗收條件
由系統(tǒng)承建方確認項目工作是否已按合同及相關要求完成,需要交接的項目技術資料準備充分。然后提出驗收申請,聯(lián)系監(jiān)理及建設單位組織驗收。
2.2驗收依據(jù)
軟件工程項目一般應具有以下相關驗收依據(jù):(1)符合國家現(xiàn)行有關法律、法規(guī)、規(guī)章和技術標準。(2)建設方有關部門的規(guī)定;軟件工程要面對用戶需求,符合用戶實際工作的需求,而軟件工程是一項系統(tǒng)工程,需要滿足相關不同部門,部門與部門之間的需求。(3)經(jīng)批準的項目招投標文件;招標文件中一般規(guī)定了軟件工程中各個項目的內容和功能,是開發(fā)軟件工程的工作依據(jù),也是驗收軟件工程的基本依據(jù)。(4)項目合同、補充合同及合同附件;項目合同規(guī)定了軟件工程項目建設方和承建方的權力和義務,無論是工程的施工階段還是驗收階段,為雙方提供了工作依據(jù)和法律保障。(5)經(jīng)批準的設計方案、實施方案及相應的工程變更文件;項目的招標和設計只是規(guī)定項目的最初規(guī)劃,按照實施方案和變更文件驗收軟件工程的各項功能才能把系統(tǒng)真正驗收完全。就像一棟大樓建成了,不能只靠圖紙上的驗收,不同房屋的質量都需要檢驗。
2.3驗收對象及范圍
驗收對象:根據(jù)建設單位要求和用戶需求完成的軟件開發(fā)項目。驗收范圍:按照合同并結合設計方案、實施方案及變更文件驗收軟件工程項目的各項功能,同時驗收各數(shù)據(jù)模塊間的接口軟件,終端應用軟件,數(shù)據(jù)交互軟件,數(shù)據(jù)庫軟件。不包含軟件系統(tǒng)應用后,改變系統(tǒng)架構的新需求,由于其他既有系統(tǒng)改變而影響現(xiàn)有系統(tǒng)應用的需另行討論處理。
2.4驗收程序
(1)驗收準備。①由建設方組織召開驗收準備會議,明確各方驗收工作的任務及驗收流程。建設部門應組織相關維護部門和最終用戶參與到項目驗收過程,維護部門協(xié)同監(jiān)理方應審查驗收申請和驗收資料,最終用戶提出系統(tǒng)上線試運行后的各項功能是否滿足需求,提供用戶使用報告或使用意見。②承建方提交項目驗收申請和資料,驗收材料包括項目合同規(guī)定的各種文檔及實施過程中產(chǎn)生的文檔資料及開發(fā)總結報告,同時提供有監(jiān)理方審核通過的各個系統(tǒng)測試報告,并按照規(guī)范裝訂成冊。③監(jiān)理方負責審查項目文檔的完整性和規(guī)范性,對不滿足要求的資料提出監(jiān)理意見,并要求承建方在規(guī)定時間內整改完善。整理監(jiān)理過程文檔,對項目監(jiān)理過程出具監(jiān)理工作總結報告。(2)驗收申請及審查完成驗收準備工作后,由承建方提出驗收申請,經(jīng)建設方及監(jiān)理方審查通過,同意驗收后,組織正式驗收。(3)正式驗收。①確定驗收時間,驗收會議議程,準備相關驗收資料。②由建設方抽取或邀請專家,組成專家小組,由專家小組組織驗收。項目三方(甲方技術維護部門及業(yè)務部門、承建方項目組負責人及商務、監(jiān)理方主要負責人)、相關部門參加驗收。(4)召開驗收會議。①專家小組會聽取項目各方的工作匯報,甲方介紹項目建設背景、建設情況及用戶使用情況。承建方介紹項目建設情況,項目完成情況,項目成果等。監(jiān)理方匯報項目實施過程中,監(jiān)理工作的情況。②查閱相關文檔資料,對資料完整性和正確性做出評估。③對系統(tǒng)測試和試運行期間用戶和技術維護部門的質詢進行答疑。④由專家小組出具項目驗收意見。⑤遺留問題限定整改時間,由監(jiān)理納入會議紀要。
三、軟件工程生命周期下的驗收工作
軟件工程普遍使用原型化方法進行開發(fā),但是由于專業(yè)性的差距,軟件開發(fā)工作者不可能完全了解用戶需求,尤其是專業(yè)性比較強的用戶需求,這就需要不斷的進行“開發(fā)-試用-總結-再開發(fā)”,循環(huán)往復,但是卻是個螺旋上升,向著軟件工程的成功不斷前進的過程。那么工程驗收就不可能一蹴而就,需要建設方組織技術維護人員和用戶從軟件開發(fā)開始就參與進來,共同開發(fā),共同驗收,相互合作,每個人都是這螺旋上升階梯的一塊基石,缺一不可。
3.1工程開始前的驗收
(1)計算機硬件到場安裝前,承建方與建設方共同驗收,是否符合軟件工程建設基礎要求,驗收時發(fā)現(xiàn)短缺、破損,承建方應立即要求采購方補發(fā)和負責更換。(2)操作系統(tǒng)和基礎應用系統(tǒng)安裝完成后,需要軟件工程承建方進行驗收,測試應用是否符合工程建設標準,驗收合格后方準進行應用軟件開發(fā)工作。
3.2工程進行中的測試(初驗)
項目調試后基本達到招標書規(guī)定的指標后,可進行驗收測試(初驗)。驗收規(guī)范(包括項目、指標、方式和測試儀器等)應由承建方提前提交給建設方。建設方可根據(jù)合同、招標書、驗收方案以及建設方的有關規(guī)定進行修改和補充,經(jīng)雙方確認后形成驗收文件作為驗收依據(jù)。驗收測試合格后,雙方簽署初驗合格協(xié)議,設備進入試運行期。
3.3試運行后的系統(tǒng)完善
工程經(jīng)過一定時間連續(xù)的試運行期后,設備維護方和用戶對系統(tǒng)會提出部分問題和修改建議,承建方跟蹤應用系統(tǒng)運行也會發(fā)現(xiàn)一些問題。需要監(jiān)理方組織各方進行中期運行總結會,分析系統(tǒng)問題,解答操作問題,協(xié)調各系統(tǒng)開發(fā)人員查找數(shù)據(jù)交換問題。按照會議決議組織人員進行系統(tǒng)完善,再次進行測試。在試運行期間,由于設備質量等造成某些指標達不到要求,將責成有關單位更換或進行修復,試運行期順延。
3.4整體驗收(終驗)
初驗內容主要是對建設項目的功能、性能、適用性、穩(wěn)定性等方面進行驗收。平臺試運行后,無質量問題,由建設方按照整體驗收方案的要求組織驗收。
整體驗收內容主要以雙方簽署的合同,包括合同附件、招投標文件,以及國家法律和有關規(guī)定等為依據(jù)。對平臺各項功能和數(shù)據(jù)配置要求、性能指標、應用和運行情況等,進行全面的整體核查驗收,驗收后簽署“驗收合格單”。在工程實施各階段所提供的變更資料,與合同正本具有同等的法律約束力。
四、驗收后項目移交
系統(tǒng)終驗結束并正常運行后,由監(jiān)理方組織項目移交工作,承建方按合同及相關要求移交項目文檔、數(shù)據(jù)資料及其他設備或材料,辦理移交手續(xù)。雙方簽署最終驗收證明,工程實施通過。
參考文獻
關鍵詞:項目驅動法;軟件測試;教學方法
作者簡介:趙曉君(1979-),女,河南南陽人,鄭州輕工業(yè)學院軟件學院,講師;黃艷(1976-),女,河南信陽人,鄭州輕工業(yè)學院軟件學院,副教授。(河南 鄭州 450002)
基金項目:本文系鄭州輕工業(yè)學院校級青年教師教學改革項目的研究成果。
中圖分類號:G642.0 文獻標識碼:A 文章編號:1007-0079(2013)07-0101-02
隨著軟件產(chǎn)業(yè)的快速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能實現(xiàn)也越來越復雜,導致軟件中存在的缺陷數(shù)量大大增加,這些缺陷將會帶來各種損失,甚至出現(xiàn)災難性的后果。因此,如何保證軟件質量已成為所有使用軟件和開發(fā)軟件的人們關注的焦點。軟件測試作為軟件工程的一個重要組成部分,是目前用來驗證軟件是否能夠滿足用戶需求功能的唯一有效方法,是保證和提高軟件質量的重要環(huán)節(jié)。為適應軟件產(chǎn)業(yè)的發(fā)展趨勢和滿足軟件測試人才的大量需求,目前已經(jīng)有許多大學在軟件工程專業(yè)添加軟件測試課程或者添加軟件測試專業(yè)方向。
軟件測試專業(yè)包含多門專業(yè)課程,有“軟件測試理論”、“軟件測試技術”和“軟件缺陷管理”等,其中,“軟件測試理論”課程重點為初學測試的同學講解測試的基礎理論知識,主要包括軟件測試基本理論、軟件測試方法和技術等,在多門專業(yè)課程中占有舉足輕重的地位。
一、“軟件測試理論”教學現(xiàn)狀
“軟件測試理論”課程重點介紹軟件測試的基本理論,因此整個課程主要以教師講授為主,在教學的過程中存在以下問題:
1.教學內容理論性較強,難以調動學生學習的主動性
對于初學軟件測試的學生,首先要向其講授相關測試理論,使其建立系統(tǒng)的測試理念。
但是學測試的學生大都是理科生,喜歡操作性強的課程,“軟件測試理論”課程的理論性太強,需要背誦很多概念性的知識,這對于他們來說是比較困難,不能激發(fā)學習的主動性,教學效果不理想。
2.測試方法和技術案例實際應用價值不足,學生很迷茫
測試方法和技術是“軟件測試理論”課程學習的重點和難點,這部分內容僅靠老師的講解和書本上的案例很難讓學生深入理解掌握測試技術的內涵,學生在學習這部分知識時會產(chǎn)生迷茫:學習這些知識有什么用處,在具體的項目測試中,應該怎樣應用這些知識?沒有實際的項目案例做支撐,學生會失去繼續(xù)學習下去的興趣。
針對上面的問題,本文提出將項目驅動法應用于“軟件測試理論”課程的教學中,學生在進行項目實踐的同時,根據(jù)需要學習軟件測試相關理論知識,這樣有助于提高學生的學習主動性,有助于理論知識的牢固掌握,有助于提高學生的實踐技術能力,改善該課程的教學效果。
二、項目驅動法
項目驅動法是目前中國教育領域中一種比較新的教育教學方法。
所謂項目驅動法,是師生通過共同實施一個完整的項目工作而進行的教學活動,它既是一種課程模式,又是一種教學方法。[1]這里的項目根據(jù)課程教學內容的不同所包含的涵義也不同。在“軟件測試理論”課程教學中,項目即指一個已經(jīng)開發(fā)完成的軟件測試工作。通常,項目教學都是實踐導向的和任務驅動式的教學。
在項目驅動模式的教學活動中,教師根據(jù)學生現(xiàn)有的知識水平和項目經(jīng)驗選擇一個合適的項目,以項目實施為主線展開教學活動,把課程相關的知識點的講解融入項目操作的每個步驟中。在項目實施的過程中,以學生為中心,教師主要做組織和指導工作,學生在整個項目的實施過程中處于探索知識的情景中,充分發(fā)揮主動性、積極性和創(chuàng)新精神,綜合運用所學的知識和技能解決實際問題,最終達到有效地將所學知識系統(tǒng)化深入化的目的。
這種模式從根本上將傳統(tǒng)課堂中老師滿堂灌轉變?yōu)椤皩W生為主體,教師為主導”的教學模式。同時,學生通過一個具體項目的實踐,感受到了真實項目管理的思想和團隊協(xié)作的必要性,提高了學生的創(chuàng)新能力和項目實踐能力。擁有真實項目的實踐經(jīng)驗使得學生在擇業(yè)時擁有很大競爭優(yōu)勢。
將項目驅動法應用于“軟件測試理論”課程教學中,在課程理論教學中加入一個完整的項目測試實踐環(huán)節(jié),通過項目實踐能夠很好地激發(fā)學生的學習主動性,使學生經(jīng)歷了一個“先做,遇到問題,再學,解決問題,再做,獲得經(jīng)驗”的學習過程,最終完成一個完整的軟件測試實踐,同時也學到了“軟件測試理論”課程應該掌握的理論知識。這樣,既解決了軟件測試理論課程理論性太強的問題,又解決了測試方法和技術案例實際應用價值不足的問題;而且豐富了學生的實踐經(jīng)驗,提高了軟件測試理論課程的教學效果。
三、“軟件測試理論”課程教學目標和教學內容
1.教學目標
通過本門課程的學習和實踐,理解軟件測試理論與原則;掌握主流測試技術和方法,熟悉測試用例的編制、熟悉軟件測試的基本流程,熟悉軟件測試過程中各類技術文檔的編制規(guī)范,并能靈活運用測試技術解決實際問題。
對于一個具體項目軟件,每一個學生都能夠順利完成如下手工測試流程:根據(jù)軟件需求規(guī)格說明書撰寫測試計劃,設計測試用例、進行測試環(huán)境配置和測試數(shù)據(jù)準備工作、執(zhí)行各種測試,撰寫缺陷報告、跟蹤并修復缺陷、進行測試評測,最后提交測試總結報告,達到軟件企業(yè)對測試專業(yè)人才的要求。
2.教學內容
“軟件測試理論”課程的教學內容主要包括軟件測試基本理論、軟件測試基本技術、軟件測試過程和軟件測試工具。[2]
軟件測試基本理論包括軟件測試、軟件缺陷和測試用例的基本概念,測試的目的、測試模型、測試分類和測試流程。
軟件測試基本技術包括白盒測試和黑盒測試;其中白盒測試包括靜態(tài)測試和動態(tài)測試,動態(tài)測試又包括程序插樁、邏輯覆蓋、基本路徑測試等;黑盒測試包括等價類劃分、邊界值分析、因果圖法、判定表法、場景法等。這些基本技術都是在進行測試用例設計時使用的。
軟件測試過程是指執(zhí)行測試的過程,通常分為四個階段:單元測試、集成測試、系統(tǒng)測試和驗收測試。
軟件測試工具有多種:功能測試工具、性能測試工具和測試管理工具等。
四、項目驅動法的應用方案
1.項目的設計
實施項目驅動法,首先需要設計項目。項目的設計與選取直接影響到該教學模式的教學效果及學生的學習興趣?!败浖y試理論”課程項目的選取與其他課程又有所不同,學生要進行的操作是對現(xiàn)有的或者已經(jīng)開發(fā)完成的軟件的測試工作,因此在設計項目時應遵循以下幾條原則:
第一,項目是現(xiàn)有的軟件或已經(jīng)開發(fā)完成的軟件,軟件中有部分明顯錯誤,有部分隱藏錯誤;明顯錯誤有助于提高學生的測試積極性,隱藏錯誤有助于啟發(fā)學生進行更深入的測試。
第二,項目具有典型性,代表大部分軟件的共性。通過該項目的測試,學生可以掌握大多數(shù)軟件的測試流程和測試方法。
第三,項目中有多種情景元素,符合使用多種測試技術和方法,有助于學生在進行項目測試的同時,學習使用多種測試技術設計測試用例的方法。
第四,項目大小和難易適中。每個項目組的人數(shù)控制在3~5個人,設計的項目能使學生通過努力在一定的時間內完成。
根據(jù)以上原則,本課程目前選擇的項目是《企業(yè)薪酬管理系統(tǒng)》。
2.項目驅動法的實施
本課程通過讓學生進行企業(yè)薪酬管理系統(tǒng)完整的測試流程實踐的同時,講解測試需求編寫、測試計劃編寫、測試用例設計、測試環(huán)境配置、測試執(zhí)行、缺陷跟蹤和管理、測試報告撰寫等內容。課程授課方式主要是分階段講解測試過程和測試要求,每一個階段開始,老師先講原理,選擇部分內容做例子進行講解,然后學生比照例子跟著做;階段內容完成時,學生提交完成的文檔,老師選擇典型的問題進行講評,然后進行下一個階段的內容,如此類推直至測試結束。
企業(yè)薪酬管理系統(tǒng)測試流程設計如圖1所示。
本課程課時為60學時,根據(jù)圖1系統(tǒng)測試流程圖安排,基于項目驅動法的“軟件測試理論”課程安排如表1所示。
在課程進行的過程中,必須嚴格按照項目的測試流程進行,測試流程為:先獲取項目測試需求,撰寫測試計劃,設計測試用例,執(zhí)行測試,提交缺陷報告并跟蹤修復缺陷,最后提交測試總結報告。課程結束,要求學生提交項目測試報告,測試報告包括多個文檔,整個流程中每個階段的工作必須有撰寫規(guī)范的文檔提交,如:測試計劃、測試用例、測試執(zhí)行報告、缺陷報告和測試總結報告等等。
測試報告既體現(xiàn)了教師項目教學的結果,也體現(xiàn)了學生對測試知識技能的掌握水平。通過評價學生作品,找出學生在學習過程中的薄弱環(huán)節(jié),進一步改進項目驅動教學的教學安排,使其能夠發(fā)揮最大的教學效果。
五、結束語
本文針對軟件學院軟件工程專業(yè)的培養(yǎng)對象和教學特點,把真實項目引入“軟件測試理論”課程課堂教學中,采用項目驅動教學法,從項目的需求評審、測試計劃、測試用例設計、測試執(zhí)行、缺陷報告、測試評測到測試總結一個完整的測試流程,交給學生組建測試團隊,按照流程進行任務分配和管理,最終完成整個項目的測試工作。通過一個完整項目測試流程的完成,有效提高學生的學習和實踐能力、解決問題的能力、團隊協(xié)作能力等,使學生在掌握軟件測試的各種測試技術和基本流程的同時,積累了一定的項目測試經(jīng)驗,為他們今后的就業(yè)打下了良好的基礎。
參考文獻:
摘要:軟件工程是高校計算機專業(yè)的一門重要課程,工程實踐性非常強,相關理論與技術也發(fā)展非???為適應社會要求,培養(yǎng)高素質的軟件工程技術人員,文章提供了在課程教學方面所作的積極的教學方法改革。從教學準備階段、教學過程和教學考核三個重要階段,分別闡述了“案例”;教學法的實踐過程,是教學方法改革的一次探索。 關鍵詞:案例教學;實踐教學;軟件工程 軟件工程碩士論文是高等學校計算機教學計劃中的一門核心課程,是研究軟件開發(fā)與軟件管理的綜合性工程學科,工程實踐性非常強,要求學生不僅具有良好的程序開發(fā)能力,而且要具備軟件項目的整體管理概念,以及團隊合作的精神。因此,傳統(tǒng)的教學方法顯然不能滿足該課程的需求。另一方面,與該課程相關的理論與技術的發(fā)展速度也非常迅速。軟件工程碩士論文新的理念、新的開發(fā)工具層出不窮,這給課程體系結構的建立、教學資料的選擇和積累帶來了很大的難度。為了提高該課程的教學效果,專門成立了軟件工程課程組。針對該課程的特性,多次召開教學研討會,交流教學體會和有關教學資料,不斷總結教學方法和教學經(jīng)驗,在吸取國外同類課程Software En- gineering教學經(jīng)驗的基礎上,積極探索教學方法的改革,將軟件工程專業(yè)素質的培養(yǎng)作為教學目標,逐步形成了一套有效的、完善的教學規(guī)范??偨Y起來,可以從教學準備階段、教學過程和教學考核等三個方面來看。
一、軟件工程碩士論文教學準備教學前的準備工作非常重要。首先,根據(jù)教學大綱,在深入分析教學內容的基礎上,列出該課程的知識結構體系,以及與相關課程的聯(lián)系,從而確定該課程的教學目標。該課程的教學目標主要可以包括以下3方面: (1)知識目標:了解“軟件工程”;這門學科的形成和發(fā)展;掌握與大型軟件系統(tǒng)相關的規(guī)劃、分析、設計、實現(xiàn)、測試與維護等概念、原理、方法、工具與過程;掌握“軟件工程”;的基本管理方法。 (2)能力目標:體驗軟件工程各階段的主要工作,特別注意吸取教訓;訓練實際軟件工程動手的能力,培養(yǎng)綜合應用能力;通過教師與學生之間、學生與學生之間的合作學習,增強學生的團隊協(xié)作能力, 并學會與他人交流。(3)情感目標:通過學生的個性化學習,增強學生的自信心和意志力。其次,軟件工程碩士論文課程組成員充分交流教學體會和相關教學資料,參考了大量國內外先進的軟件工程理論和應用實例,對教學內容進行了必要的補充和刪改,增加了軟件工程學科發(fā)展動向的介紹,加強了包括項目管理、版本控制、建模工具和調試工具在內的各種現(xiàn)代軟件工程開發(fā)工具的使用介紹,編制了內容豐富、聯(lián)系實際的多媒體教學課件。一方面,為訓練學生對現(xiàn)代先進軟件工程技術及其前沿理論發(fā)展的敏銳性、提高學生雙語學習的能力,收集準備了大量原版技術文檔;另一方面,為了培養(yǎng)學生自覺應用軟件工程碩士論文的理論分析問題、解 28決問題和使用工具軟件的專業(yè)能力,配合理論教學, 設計了完整的、具有實際工程意義的綜合型軟件項目實驗,并為此建立了案例庫,為每一個案例提供詳細的分析參考說明。
二、軟件工程碩士論文教學過程在具體教學過程中,重點采用理論與實踐密切相結合的方式,讓學生在項目開發(fā)實踐中自覺應用軟件工程理論。首先,讓學生了解整個課程的結構與重點,以及該課程與其他課程的關系。在深入分析教學內容的基礎上,列出該學科的知識和能力結構體系,以及各單元或章節(jié)之間的邏輯關系,然后再按單元或章節(jié)分別列出知識能力結構體系。按照教科書的章、節(jié)(課)的順序,用簡明扼要的語言列出各知識點的內容,并標出各知識點的學習目標層次,同時注明哪些知識點屬于教學中的重點或難點。其次,在課堂講授中,采用多媒體方式,提高講授信息的先進性和現(xiàn)實性。同時開展指導性自學, 提倡和鼓勵學生閱讀英文原版教材及其參考書。通過一系列討論會,訓練學生對大量新信息的接收消化能力。在軟件工程碩士論文實踐過程中,通過案例研究,把綜合型開發(fā)實驗劃分成若干練習單元,進行舉一反三;然后,學生按教師組要求組成4~6人的項目小組,扮演項目開發(fā)過程中的不同角色,進行分工協(xié)作,模擬練習,參與項目管理和開發(fā),從不同角度全面把握和體會整個軟件工程項目開發(fā)和管理的基本思想,共同完成實驗項目。教師加強在實驗過程中的指導作用,要求各項目小組分階段提交討論記錄和項目工程要求的里程碑成果。具體實施過程: (1)選題分組在開始理論教學之前,通過案例研究,向學生提供典型的軟件案例,可來自案例庫。由學生根據(jù)自己的興趣自由選擇軟件工程碩士論文題目,組成項目組,并選取項目負責小組長。每小組人數(shù)最多不超過6人,各個小組由小組長負責組織、分工、控制進度等,對小組成員的最終實驗成績有5分浮動調整權;引起過半數(shù)組員不滿意,改選組長;組長帶領全組順利完成任務, 總評可以加5分。主要要求是讓學生體驗軟件工程各階段的主要工作,特別注意吸取教訓;并且學會與他人合作,培養(yǎng)團隊精神,單干戶將得不到成績。 (2)階段驗收根據(jù)理論教學的進度,各個項目開發(fā)小組將提供軟件工程碩士論文過程中的階段性成果,大致將提交如下幾個成果:可行性分析報告;需求規(guī)格說明書;項目計劃書;總體設計報告;詳細設計說明書;軟件測試報告;各課題組進行合并,現(xiàn)場驗收軟件期末最終版;項目開發(fā)總結報告;用戶使用手冊等。每個階段都將嚴格按照軟件工程碩士論文的管理方法進行評審活動,并提供給大家一個互相交流的機會。首先,每個項目組都將匯報、展示自己的成果。主講老師和其他同學組成評審委員會,對每個項目組的匯報情況、里程碑成果、文檔質量進行評審、打分,提出修改意見和建議。每組演講結束后, 分組討論,按階段評分標準給出除自己組外的幾個組的分數(shù),并寫出評語。教學實踐以課題小組為單位完成綜合實驗項目,教師本著訓練同學交流能力的目標,制定一些分組標準。下圖就是需求分析軟件工程碩士論文階段的一個評分標準示例: 最后,主講老師要進行總結點評,既總結課程的主要內容和相關知識點,又點評學生的表現(xiàn),幫助學生整理學習內容,鼓勵積極性。 (3)成績評定課堂教學不僅僅是理論教學,還包括案例分析、討論,結果展示匯報等,教師引導學生展示自己的實驗成果,根據(jù)各個項目小組的整體完成情況和各個成員在其中的表現(xiàn)綜合評定每個學生的成績。每個學生的成績既包含項目小組負責人打分,又包含教師的評分,從而充分調動學生參與項目的主動性,以 29防止部分小組成員不參與項目完成而又蒙混過關的現(xiàn)象。下面將具體描述本課程的考核辦法。
三、教學考核本課程既有理論教學又有實踐環(huán)節(jié)。每個學生的軟件工程碩士論文課程成績由三部分組成:實踐成績占30%,期末筆試占60%,平時考勤占10%。其中,理論部分的考核以筆試為主。主要考查學生對基本理論與基本概念的理解和掌握情況。實踐成績的評定包括小組成績和個人成績兩大部分,各占50%。小組成績由各個小組階段成績的平均值與系統(tǒng)最終驗收的情況(包括系統(tǒng)是否達到需求規(guī)格說明中的功能性、非功能性要求,文檔是否全面、合理、規(guī)范,源程序編寫是否規(guī)范、可維護性好等方面)組成;個人軟件工程碩士論文成績主要由小組長根據(jù)個人在組內的表現(xiàn)和工作給出,約占50%,另外50%的個人成績由最終答辯時主講老師根據(jù)答辯成績來評定。小組長的個人成績由老師根據(jù)其組織項目組完成軟件開發(fā)的具體情況和其管理質量(如分工是否合理、進度安排是否合適、軟件質量如何等)來綜合評定。教學實踐過程在教師引導下,學生自主管理,分工協(xié)作,既鍛煉了學生參與項目管理的能力,又訓練了學生之間的團隊合作精神。教師掌握各小組成員的實際完成情況,強化學生各種現(xiàn)代軟件工程開發(fā)工具的應用能力,要求學生按規(guī)定提交討論記錄和項目工程要求的各種文檔。軟件工程碩士論文形成了一套較為成熟的科學的綜合成績評定方法。該考核辦法較為科學、公正、合理,學生普遍能夠接受,并且極大地推動了學生的學習積極性,學生反映良好。