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

淺論軟件工程基本觀念

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

摘要:軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。軟件工程的目標(biāo)是提高軟件的質(zhì)量與生產(chǎn)率,最終實(shí)現(xiàn)軟件的工業(yè)化生產(chǎn)。它貫徹于軟件開發(fā)的整個(gè)過程。

關(guān)鍵詞:生產(chǎn)效率 結(jié)構(gòu)化 復(fù)用 優(yōu)化

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

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

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

一、軟件工程目標(biāo)與常用模型

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

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

軟件工程的主要環(huán)節(jié)有:人員管理、項(xiàng)目管理、可行性與需求分析、系統(tǒng)設(shè)計(jì)、程序設(shè)計(jì)、測試、維護(hù)等。

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

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

二、軟件開發(fā)的基本策略

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

復(fù)用

復(fù)用就是指“利用現(xiàn)成的東西”,文人稱之為“拿來主義”。被復(fù)用的對象可以是有形的物體,也可以是無形的成果。復(fù)用不是人類懶惰的表現(xiàn)而是智慧的表現(xiàn)。因?yàn)槿祟惪偸窃诶^承了前人的成果,不斷加以利用、改進(jìn)或創(chuàng)新后才會進(jìn)步。

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

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

分而治之

分而治之是指把一個(gè)復(fù)雜的問題分解成若干個(gè)簡單的問題,然后逐個(gè)解決。這種樸素的思想來源于人們生活與工作的經(jīng)驗(yàn),完全適合于技術(shù)領(lǐng)域。軟件人員在執(zhí)行分而治之的時(shí)候,應(yīng)該著重考慮:復(fù)雜問題分解后,每個(gè)問題能否用程序?qū)崿F(xiàn)?所有程序最終能否集成為一個(gè)軟件系統(tǒng)并有效解決原始的復(fù)雜問題?

優(yōu)化——折衷

軟件的優(yōu)化是指優(yōu)化軟件的各個(gè)質(zhì)量因素,如提高運(yùn)行速度,提高對內(nèi)存資源的利用率,使用戶界面更加友好,使三維圖形的真實(shí)感更強(qiáng)等等。想做好優(yōu)化工作,首先要讓開發(fā)人員都有正確的認(rèn)識:優(yōu)化工作不是可有可無的事情,而是必須要做的事情。當(dāng)優(yōu)化工作成為一種責(zé)任時(shí),程序員才會不斷改進(jìn)軟件中的算法,數(shù)據(jù)結(jié)構(gòu)和程序組織,從而提高軟件質(zhì)量。

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

以上就是我個(gè)人對軟件工程的一些粗淺看法,軟件工程這門學(xué)科還遠(yuǎn)未達(dá)到完美的境地,我們還需在實(shí)踐中不斷摸索與完善。

參考文獻(xiàn):

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

主站蜘蛛池模板: 欧美激情伊人| 国产精品999在线| AV色爱天堂网| 午夜福利视频一区| 国产精品黑色丝袜的老师| 久草热视频在线| 人妻无码一区二区视频| 欧美国产在线精品17p| 国产综合另类小说色区色噜噜| 91蜜芽尤物福利在线观看| 天天视频在线91频| 亚洲天堂视频在线观看| 国产一区亚洲一区| 毛片免费视频| 日韩大片免费观看视频播放| 亚洲激情区| 无码'专区第一页| 国产极品粉嫩小泬免费看| 久久夜夜视频| 波多野结衣无码视频在线观看| 最新国产在线| 在线观看亚洲成人| 色男人的天堂久久综合| 久久夜色精品国产嚕嚕亚洲av| 国产精品成人久久| 五月婷婷激情四射| 国产精品久久久久无码网站| 国产精品手机视频一区二区| 欧美日韩第三页| 18禁黄无遮挡免费动漫网站| 久久一本精品久久久ー99| 99手机在线视频| 亚洲成肉网| 99re在线视频观看| 欧美福利在线观看| 久久精品无码一区二区日韩免费| 日韩国产无码一区| 一区二区三区四区日韩| 亚洲精品动漫在线观看| 999精品色在线观看| 一级毛片免费高清视频| 91www在线观看| 波多野结衣无码AV在线| 欧美在线导航| 国产香蕉在线| 欧美成人综合在线| 国产精品对白刺激| 午夜日韩久久影院| 精品视频第一页| 嫩草在线视频| 天堂在线www网亚洲| 在线观看国产精品第一区免费 | 香蕉在线视频网站| 中文字幕第4页| 在线五月婷婷| 亚洲天堂日韩在线| 国产成人精品优优av| 国产精品污污在线观看网站| 国产美女在线观看| 免费一级毛片| 国产福利微拍精品一区二区| 97狠狠操| 亚洲福利视频一区二区| 狠狠色综合网| 欧美成人精品欧美一级乱黄| 欧美中文一区| 美女内射视频WWW网站午夜 | 国产精品成人AⅤ在线一二三四| 91福利国产成人精品导航| 东京热av无码电影一区二区| 亚洲色图综合在线| 四虎影视库国产精品一区| 亚洲成a人片| 九色综合视频网| 国产毛片基地| 亚洲最大福利视频网| 91丨九色丨首页在线播放 | 亚洲AV无码一区二区三区牲色| 国产激情第一页| 国产午夜福利在线小视频| 波多野结衣中文字幕久久| 99999久久久久久亚洲|