999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺論軟件工程基本觀念

2011-12-31 00:00:00丁力琪姚健陳鑫
大觀周刊 2011年10期

摘要:軟件工程是一門研究用工程化方法構建和維護有效的、實用的和高質量的軟件的學科。軟件工程的目標是提高軟件的質量與生產率,最終實現軟件的工業化生產。它貫徹于軟件開發的整個過程。

關鍵詞:生產效率 結構化 復用 優化

在60年代計算機發展初期,程序設計是少數聰明人干的事。他們的智力與技能超群,編寫的程序既能控制弱智的計算機,又能讓別人看不懂、不會用。那個時期編程就跟捏泥巴一樣隨心所欲,于是他們很過分地把程序的集合稱為軟件,以便自己開心或傷心時再把程序捏個面目全非。人們就在這種美滋滋的感覺下熱情地編程,結果產生了一堆問題:程序質量低下,錯誤頻出,進度延誤,費用劇增……。這些問題導致了“軟件危機”。

在1968年,一群程序員、計算機科學家與工業界人士聚集一起共商對策。通過借鑒傳統工業的成功做法,他們主張通過工程化的方法開發軟件來解決軟件危機,并冠以“軟件工程”這一術語。三十年余年來,盡管軟件的一些毛病如人類的感冒一樣無法根治,但軟件的發展速度超過了任何傳統工業,期間并未出現真真的軟件危機。這的確是前人的先見之明。如今軟件工程成了一門學科。

軟件工程主要講述軟件開發的道理,基本上是軟件實踐者的成功經驗和失敗教訓的總結。軟件工程的觀念、方法、策略和規范都是樸實無華的,平凡之人皆可領會,關鍵在于運用。我們不可以把軟件工程方法看成是諸葛亮的錦囊妙計─—在出了問題后才打開看看,而應該事先掌握,預料將要出現的問題,控制每個實踐環節,并防患于未然。

一、軟件工程目標與常用模型

軟件工程的目標是提高軟件的質量與生產率,最終實現軟件的工業化生產。質量是軟件需求方最關心的問題,用戶即使不圖物美價廉,也要求個貨真價實。生產率是軟件供應方最關心的問題,老板和員工都想用更少的時間掙更多的錢。質量與生產率之間有著內在的聯系,高生產率必須以質量合格為前提。如果質量不合格,對供需雙方都是壞事情。從短期效益看,追求高質量會延長軟件開發時間并且增大費用,似乎降低了生產率。從長期效益看,高質量將保證軟件開發的全過程更加規范流暢,大大降低了軟件的維護代價,實質上是提高了生產率,同時可獲得很好的信譽。質量與生產率之間不存在根本的對立,好的軟件工程方法可以同時提高質量與生產率。

軟件供需雙方的代表能在餐桌上談笑風生,歸功于第一線開發人員的辛勤工作。質量與生產率的提高就指望程序員與程序經理。對開發人員而言,如果非得在質量與生產率之間分個主次不可,那么應該是質量第一,生產率第二。這是因為:(1)質量直接體現在軟件的每段程序中,高質量自然是開發人員的技術追求,也是職業道德的要求。(2)高質量對所有的用戶都有價值,而高生產率只對開發方有意義。(3)如果一開始就追求高生產率,容易使人急功近利,留下隱患。寧可進度慢些,也要保證每個環節的質量,以圖長遠利益。

軟件工程的主要環節有:人員管理、項目管理、可行性與需求分析、系統設計、程序設計、測試、維護等。

軟件工程模型建議用一定的流程將各個環節連接起來,并可用規范的方式操作全過程,如同工廠的生產線。常見的軟件工程模型有:線性模型(圖1),漸增式模型(圖2),螺旋模型,快速原型模型,形式化描述模型等。

最早出現的軟件工程模型是線性模型(又稱瀑布模型)。線性模型太理想化,太單純,已不再適合現代的軟件開發模式,幾乎被業界拋棄。偶而被人提起,都屬于被貶對象,未被留一絲惋惜。但我們應該認識到,“線性”是人們最容易掌握并能熟練應用的思想方法。當人們碰到一個復雜的“非線性”問題時,總是千方百計地將其分解或轉化為一系列簡單的線性問題,然后逐個解決。一個軟件系統的整體可能是復雜的,而單個子程序總是簡單的,可以用線性的方式來實現,否則干活就太累了。線性是一種簡潔,簡潔就是美。當我們領會了線性的精神,就不要再呆板地套用線性模型的外表,而應該用活它。例如漸增式模型實質就是分段的線性模型,如圖2所示。螺旋模型則是接連的彎曲了的線性模型。在其它模型中都能夠找到線性模型的影子。

二、軟件開發的基本策略

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

復用

復用就是指“利用現成的東西”,文人稱之為“拿來主義”。被復用的對象可以是有形的物體,也可以是無形的成果。復用不是人類懶惰的表現而是智慧的表現。因為人類總是在繼承了前人的成果,不斷加以利用、改進或創新后才會進步。

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

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

分而治之

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

優化——折衷

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

優化工作的復雜之處是很多目標存在千絲萬縷的關系,可謂數不清理還亂。當不能夠使所有的目標都得到優化時,就需要“折衷”策略。軟件中的折衷策略是指通過協調各個質量因素,實現整體質量的最優。軟件折衷的重要原則是不能使某一方損失關鍵的職能,更不可以象“舍魚而取熊掌”那樣拋棄一方。人都有惰性,如果允許濫用折衷的話,那么一當碰到困難,人們就會用拆東墻補西墻的方式去折衷,不再下苦功去做有意義的優化。所以我們有必要為折衷制定嚴正的立場:在保證其它因素不差的前提下,使某些因素變得更好。

以上就是我個人對軟件工程的一些粗淺看法,軟件工程這門學科還遠未達到完美的境地,我們還需在實踐中不斷摸索與完善。

參考文獻:

Roger S.Pressman ,etc Software Engineering:A Practitioner’s Approach,Sixth Edition

主站蜘蛛池模板: 免费毛片在线| 久久国产精品影院| 色欲不卡无码一区二区| 91亚洲免费视频| 国语少妇高潮| 日韩在线网址| 中文字幕在线一区二区在线| av一区二区三区在线观看| 国产精品女人呻吟在线观看| 亚洲日韩精品欧美中文字幕| 久久久久免费精品国产| 国产日韩AV高潮在线| 亚洲成人在线网| 综合久久久久久久综合网| 午夜成人在线视频| 亚洲欧洲自拍拍偷午夜色无码| 亚洲天堂免费在线视频| 喷潮白浆直流在线播放| 男女男精品视频| 久精品色妇丰满人妻| 亚洲乱码在线播放| 无码啪啪精品天堂浪潮av| 国产视频入口| 欧美日韩国产综合视频在线观看| 国产99精品视频| 日韩欧美91| 亚洲大尺码专区影院| 久草国产在线观看| 欧美综合区自拍亚洲综合天堂| 在线精品亚洲国产| 大陆精大陆国产国语精品1024 | 国产成人高清在线精品| 农村乱人伦一区二区| 在线国产你懂的| 久青草免费在线视频| 久久精品人人做人人爽| 91一级片| 另类专区亚洲| 亚洲伊人久久精品影院| 亚洲天堂免费观看| 欧美亚洲另类在线观看| 在线无码九区| 日韩在线欧美在线| 白丝美女办公室高潮喷水视频| 婷婷亚洲天堂| 久久天天躁狠狠躁夜夜2020一| 欧美日本在线| 天天综合色网| 91精品久久久久久无码人妻| 亚洲第一成年网| 99久久精品国产自免费| 国内嫩模私拍精品视频| 国产乱子伦无码精品小说| 欧美另类一区| 456亚洲人成高清在线| 亚洲国产日韩在线成人蜜芽| 2024av在线无码中文最新| 国产精品午夜电影| 伊人久久婷婷| 亚洲女同一区二区| 免费99精品国产自在现线| 日韩A级毛片一区二区三区| 成人免费午间影院在线观看| 色婷婷亚洲十月十月色天| 久久精品国产精品青草app| 欧洲欧美人成免费全部视频| 亚洲第一av网站| 亚洲二区视频| 亚洲精品无码AV电影在线播放| 亚洲日韩日本中文在线| 国内精品视频区在线2021| 亚洲欧美不卡| 婷婷99视频精品全部在线观看| 午夜日b视频| jizz亚洲高清在线观看| 欧美色图第一页| 国产jizz| 美女一级毛片无遮挡内谢| 欧美国产日韩在线观看| 五月婷婷丁香色| 久久婷婷人人澡人人爱91| 国产成人一区在线播放|