1000部丰满熟女富婆视频,托着奶头喂男人吃奶,厨房挺进朋友人妻,成 人 免费 黄 色 网站无毒下载

首頁 > 文章中心 > 正文

軟件項目策略管理

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

軟件項目策略管理

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

1復用

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

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

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

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

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

2分而治之

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

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

3優化——折衷

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

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

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

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

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

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

主站蜘蛛池模板: 新龙县| 炉霍县| 普洱| 壤塘县| 鄂尔多斯市| 襄城县| 普兰店市| 大石桥市| 吴川市| 吴堡县| 大同县| 永定县| 昭苏县| 天津市| 柏乡县| 山东省| 望城县| 万全县| 大安市| 敖汉旗| 怀仁县| 曲阳县| 娱乐| 武义县| 尤溪县| 铜陵市| 齐齐哈尔市| 孟州市| 南通市| 枣强县| 平凉市| 错那县| 石门县| 南召县| 永和县| 阿拉尔市| 泸西县| 泰安市| 吉林市| 华池县| 盐池县|