首頁 > 文章中心 > 正文

      軟件項目策略管理

      前言:本站為你精心整理了軟件項目策略管理范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

      軟件項目策略管理

      人們都有自己的世界觀和方法論,能自然而然地運用于生活和工作中。同樣,程序員腦子里的軟件工程觀念會無形地支配其怎么去做事情。軟件工程三十年的發展,已經積累了相當多的方法,但這些方法不是嚴密的理論。實踐人員不應該教條地套用方法,更重要的是學會“選擇合適的方法”和“產生新方法”。有謀略才會有好的戰術。幾千年前,我們的祖先就在打鬧之際寫下了很多心得體會,被現代人很好地運用于工業和商業。本節講述軟件開發中的三種基本策略:“復用”、“分而治之”、“優化——折衷”。

      1復用

      復用就是指“利用現成的東西”,文人稱之為“拿來主義”。被復用的對象可以是有形的物體,也可以是無形的成果。復用不是人類懶惰的表現而是智慧的表現。因為人類總是在繼承了前人的成果,不斷加以利用、改進或創新后才會進步。所以當我們歡度國慶時,要搞清楚祖國遠不止50歲,我們今天享用到的財富還有上下五千年人民的貢獻。進步只是應該的,不進步則就可恥了。

      復用的內涵包括了提高質量與生產率兩者。由經驗可知,在一個新系統中,大部分的內容是成熟的,只有小部分內容是創新的。一般地可以相信成熟的東西總是比較可靠的(即具有高質量),而大量成熟的工作可以通過復用來快速實現(即具有高生產率)。勤勞并且聰明的人們應該把大部分的時間用在小比例的創新工作上,而把小部分的時間用在大比例的成熟工作中,這樣才能把工作做得又快又好。

      把復用的思想用于軟件開發,稱為軟件復用。據統計,世上已有1000億多行程序,無數功能被重寫了成千上萬次,真是浪費哪。面向對象(objectoriented)學者的口頭禪就是“請不要再發明相同的車輪子了”。

      將具有一定集成度并可以重復使用的軟件組成單元稱為軟構件(softwarecomponent)。軟件復用可以表述為:構造新的軟件系統可以不必每次從零做起,直接使用已有的軟構件,即可組裝(或加以合理修改)成新的系統。復用方法合理化并簡化了軟件開發過程,減少了總的開發工作量與維護代價,既降低了軟件的成本又提高了生產率。另一方面,由于軟構件是經過反復使用驗證的,自身具有較高的質量。因此由軟構件組成的新系統也具有較高的質量。

      軟件復用不僅要使自己拿來方便,還要讓別人拿去方便,是“拿來拿去主義”。面向對象方法,microsoft公司的com規范[rogerson1999],都能很好地用于實現大規模的軟件復用。

      2分而治之

      分而治之是指把一個復雜的問題分解成若干個簡單的問題,然后逐個解決。這種樸素的思想來源于人們生活與工作的經驗,完全適合于技術領域。軟件人員在執行分而治之的時候,應該著重考慮:復雜問題分解后,每個問題能否用程序實現?所有程序最終能否集成為一個軟件系統并有效解決原始的復雜問題?

      圖1.6表示了軟件領域的分而治之策略。諸如軟件的體系結構設計、模塊化設計都是分而治之的具體表現。軟件的分而治之不可以“硬分硬治”。不像為了吃一個西瓜或是一只雞,揮刀斬成n塊,再把每塊塞進嘴里粉碎攪拌,然后交由胃腸來消化吸收,象征復雜問題的西瓜或是雞也就此消失了。

      3優化——折衷

      軟件的優化是指優化軟件的各個質量因素,如提高運行速度,提高對內存資源的利用率,使用戶界面更加友好,使三維圖形的真實感更強等等。想做好優化工作,首先要讓開發人員都有正確的認識:優化工作不是可有可無的事情,而是必須要做的事情。當優化工作成為一種責任時,程序員才會不斷改進軟件中的算法,數據結構和程序組織,從而提高軟件質量。

      著名的3d游戲軟件quake,能夠在pc機上實時地繪制高度真實感的復雜場景。quake的開發者能把很多成熟的圖形技術發揮到極致,例如把bresenham畫線、多邊形裁剪、樹遍歷等算法的速度提高近一個數量級。我第一次看到quake時不僅感到震動,而且深受打擊。這個pc游戲軟件的技術水平已經遠勝于我所見識到的國內領先的圖形學相關科研成果。這對我們日益盛行的點到完止的研發工作真是莫大的諷刺。所以當我們開發的軟件表現出很多不可救藥的病癥時,不要怨機器差。真的是我們自己沒有把工作做好,寫不好字卻嫌筆鈍。

      就假設我們經過思想教育后,精神抖擻,隨時準備為優化工作干上六天七夜。但愿意做并不意味著就能把事情做好。優化工作的復雜之處是很多目標存在千絲萬縷的關系,可謂數不清理還亂。當不能夠使所有的目標都得到優化時,就需要“折衷”策略。

      軟件中的折衷策略是指通過協調各個質量因素,實現整體質量的最優。就象黨支部副書記扮演和事佬的角色:“…為了使整個組織具有最好的戰斗力,我們要重用幾個人,照顧一些人,在萬不得已的情況下委屈一批人”。

      軟件折衷的重要原則是不能使某一方損失關鍵的職能,更不可以象“舍魚而取熊掌”那樣拋棄一方。例如3d動畫軟件的瓶頸通常是速度,但如果為了提高速度而在程序中取消光照明計算,那么場景就會喪失真實感,3d動畫也就不再有意義了(如果人類全是色盲,計算機圖形學將變得異常簡單)。

      人都有惰性,如果允許濫用折衷的話,那么一當碰到困難,人們就會用拆東墻補西墻的方式去折衷,不再下苦功去做有意義的優化。所以我們有必要為折衷制定嚴正的立場:在保證其它因素不差的前提下,使某些因素變得更好。

      久久精品国产亚洲av四虎| 久久久久亚洲AV无码专区网站| 亚洲美女在线国产| 亚洲A∨午夜成人片精品网站| 亚洲日韩AV一区二区三区中文| 亚洲一卡2卡4卡5卡6卡在线99| 亚洲精品网站在线观看你懂的| 91天堂素人精品系列全集亚洲| 久久久久亚洲精品天堂| 亚洲高清资源在线观看| 精品亚洲成a人片在线观看| 91嫩草私人成人亚洲影院| 亚洲欧洲日产国码在线观看| 亚洲喷奶水中文字幕电影| 亚洲午夜电影在线观看高清| 亚洲av无码久久忘忧草| 国产精品高清视亚洲一区二区 | 亚洲国产综合精品中文第一| 77777亚洲午夜久久多喷| 亚洲成人激情小说| 亚洲人成色777777精品| 亚洲AV无码男人的天堂| mm1313亚洲精品无码又大又粗| 亚洲成a人一区二区三区| 亚洲伊人久久综合中文成人网| 在线精品亚洲一区二区三区| 亚洲日韩v无码中文字幕| 亚洲AV无码乱码国产麻豆穿越| 亚洲国产天堂在线观看| 亚洲欧洲国产精品久久| 亚洲一级特黄特黄的大片| 亚洲国产精品无码观看久久| 在线a亚洲v天堂网2018| 亚洲精品尤物yw在线影院| 亚洲色欲久久久综合网东京热| 亚洲AV日韩AV永久无码免下载| 亚洲福利一区二区三区| 亚洲私人无码综合久久网| 亚洲AV永久无码精品一区二区国产| 国产亚洲精品线观看动态图| 亚洲AV无码精品色午夜在线观看|