<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            軟件開(kāi)發(fā)項目管理的模式概述

            發(fā)布: 2008-9-05 08:37 | 作者: 不詳 | 來(lái)源: 測試時(shí)代采編 | 查看: 25次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)
            關(guān)鍵字:項目管理

            70年代基本上一個(gè)軟件在項目規模上比較小,一兩個(gè)人基本可以勝任一個(gè)軟件的開(kāi)發(fā),這樣的人被稱(chēng)為hero,認為是英雄主導著(zhù)一個(gè)軟件項目的進(jìn)度,但隨著(zhù)業(yè)界對軟件依賴(lài)的增加,軟件在規模、復雜度上都有較大的增加,一兩個(gè)人已經(jīng)無(wú)法勝任工作的需要,而且,開(kāi)發(fā)人員一旦離開(kāi)公司,那么整個(gè)項目甚至整個(gè)公司可能會(huì )陷入癱瘓的地步。所以,在80年代初,軟件公司開(kāi)始重視軟件開(kāi)發(fā)的項目管理,把其他行業(yè)成功的項目管理經(jīng)驗開(kāi)始引入軟件開(kāi)發(fā)領(lǐng)域。

            美國PMI,Project Management Institute(項目管理研究所)在軟件工程項目管理方面起到了很大的推動(dòng)作用,每年發(fā)行一本PM book。微軟在軟件開(kāi)發(fā)管理上也是基本參照傳統的軟件開(kāi)發(fā)模式來(lái)做的。
            除企業(yè)對軟件開(kāi)發(fā)項目管理的推動(dòng)作用外,學(xué)術(shù)界也推出了有關(guān)的管理模式,如CMM(軟件成熟度模型)。CMM在部分軟件企業(yè)得到了推崇,但是并不是所有的軟件企業(yè)都采用CMM,微軟本身就沒(méi)有采用。盡管如此,微軟本身的管理方法與CMM也有異曲同工的地方。
            業(yè)界也在推行自己的管理模式,RUP,Six Sigma,ISO,etc.關(guān)鍵是軟件開(kāi)發(fā)管理中的關(guān)鍵的部份要掌握好。
            傳統模式在美國很多公司都使用過(guò),對這些開(kāi)發(fā)模式不能盲目崇拜。
            --------------------------------------------------------------------------------------------------
            傳統的和其他的管理模式受到挑戰
            被認為太死板和官僚
            效率高低受到質(zhì)疑
            太重規章制度項被認為是開(kāi)發(fā)的枷鎖
            在執行起來(lái)太過(guò)于繁重
            可能違背需要智力高度集中的軟件開(kāi)發(fā)工程管理的特性
            因此這幾年來(lái)開(kāi)始有人唱反調

            軟件開(kāi)發(fā)具有自己的特點(diǎn)

            *********************************************************
            傳統的項目管理模式

            根據PMI觀(guān)點(diǎn),傳統的項目管理通常具有幾個(gè)固定的階段:
            第一項目啟動(dòng)階段,第二計劃階段,項目的規模、項目的需求、項目的估算,第三階段設計規范書(shū)(軟件開(kāi)發(fā)的藍圖),第四項目時(shí)間表(schedule)。樣品的試開(kāi)發(fā)。第五執行階段,編程開(kāi)發(fā)。同時(shí)fix bugs.第六控制階段,對發(fā)現的錯誤進(jìn)行回車(chē)重新開(kāi)發(fā)。第七結束階段。

            啟動(dòng)、計劃、執行、控制、結束
            這五個(gè)階段的傳統的項目管理模式在業(yè)界使用的比較普遍。

            靈活性模式的概念和實(shí)踐
            1、輕型的計劃(Light Weight Planning)
            信奉改變(Embrace Change):從整個(gè)的項目的開(kāi)始起就期望計劃、需求、和設計都會(huì )改變。
            整個(gè)開(kāi)發(fā)過(guò)程有客戶(hù)的經(jīng)常參與,甚至邀請客戶(hù)來(lái)到開(kāi)發(fā)團隊的工作處,對正在進(jìn)行開(kāi)發(fā)的半成品使用、審核、提意見(jiàn)。
            客戶(hù)直接參加項目的計劃的修改
            整個(gè)開(kāi)發(fā)計劃是個(gè)不斷更新的過(guò)程

            輕型計劃的象征:沒(méi)有事先的計劃
            加州大學(xué)俄凡分校在校園的時(shí)候,他們只蓋了大樓,鋪了墓地,卻不建筑人走路的路邊人行道。第二年,建校的人回來(lái),在草地上由人們走出來(lái)的路徑上,修建了讓走路的人行道。Perl語(yǔ)言就是這樣一類(lèi)的語(yǔ)言,它并沒(méi)有事先全設定好的規則,Perl語(yǔ)言就是那些在墓地上由人們走出來(lái)的人行道。

            計劃是一個(gè)連續性的過(guò)程,而不是一個(gè)一次性的過(guò)程。

            2、經(jīng)常性的發(fā)行(Rrequent Releases)
            短期的重復開(kāi)發(fā)周期
            采取所謂的“時(shí)間盒”方法--將預定的周期鎖定為一個(gè)發(fā)行周期
            保持產(chǎn)品接近發(fā)行的狀態(tài)

            好處是:
            第一為團隊提供一種完成任務(wù)的快樂(lè )和成就感;
            第二給用戶(hù)提供了在開(kāi)發(fā)早期進(jìn)行回饋的機會(huì )。

            3、簡(jiǎn)化的設計(Simple Design)
            先對那些已經(jīng)確定了的功能進(jìn)行設計
            使用YAGNI(You aren't going to need it)
            意識到任何多余的功能,一旦加入到軟件產(chǎn)品中,會(huì )增加修改和維護的費用。
            好處是便于返車(chē)重新設計和開(kāi)發(fā)。每次改動(dòng)都可能會(huì )影響其他部分的功能組件。

            4、以測試為驅動(dòng)的開(kāi)發(fā)(Testing Driven Development--TDD)
            編寫(xiě)產(chǎn)品的程序前先寫(xiě)測試的程序
            單元測試(Unit Test)應該全部自動(dòng)化
            單元測試的運行應該成為開(kāi)發(fā)的日常工作

            好處是:
            第一保證測試部分能保質(zhì)保量完成
            第二以這種方法寫(xiě)出的程序質(zhì)量較高

            5、重新組合(Refactoring)
            重組:在不改變功能和行為的前提下,對軟件的內部結構為更容易理解和更方便修改而進(jìn)行設計和編程上的改動(dòng)。
            采用漸進(jìn)式的設計方式來(lái)逐漸完善程序

            好處是:
            第一幫助推動(dòng)漸進(jìn)式的設計方式,使得軟件的避免一次性做完,卻又帶有費用昂貴的必需的改動(dòng)
            第二常常重組,再加上利用TDD,改動(dòng)的費用會(huì )降低

            何時(shí)進(jìn)行重組?
            Martin Fowler:
            當你發(fā)現你必須在一個(gè)軟件程序里加一個(gè)新的功能、但現有的程序的結構卻無(wú)法讓你奶方便地加入這個(gè)新的功能的時(shí)候,你應該先重新組合現有的程序,使得經(jīng)能夠讓你方便地加任何新的功能,然后再加入你想加的新功能。

            6、連續性的整合(Continuous Integration)
            將開(kāi)發(fā)團隊多人開(kāi)發(fā)的各功能組件進(jìn)行整合,最后生成完整的軟件系統或產(chǎn)品,應該是一個(gè)經(jīng)常進(jìn)行的、連續不斷的過(guò)程。
            每天或每幾個(gè)小時(shí)進(jìn)行總匯編和產(chǎn)品建造(Daily Build)

            好處:
            第一幫助開(kāi)發(fā)團隊及時(shí)發(fā)現Build Breaker并采取糾正措施
            第二對任何由于設計差錯無(wú)法完善地與整個(gè)系統進(jìn)行整合的功能組件能及時(shí)進(jìn)行設計改動(dòng)

            7、及時(shí)文件編輯(Just-In-Time Documentation)
            將產(chǎn)品或系統的使用手冊、維護條例、使用參考等等一系列文檔根據各功能開(kāi)發(fā)的進(jìn)展進(jìn)行編輯
            趁著(zhù)概念新鮮明確,將它們寫(xiě)入文檔

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: 概述 模式 軟件開(kāi)發(fā) 項目管理

            21/212>


            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>