软件工程学简述
軟件危機
軟件危機是指計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。(考試中名詞解釋或者選擇題為主)
軟件危機的典型表現(xiàn)
(1)對軟件開發(fā)成本和進度的估計常常很不準確。
(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。
(3)軟件產(chǎn)品的質(zhì)量往往靠不住。
(4)軟件通常沒有適當(dāng)?shù)奈臋n資料。
(5)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升。
(6)軟件常常是不可維護等等。
(7)軟件開發(fā)生產(chǎn)率提高的速度,遠遠跟不上計算機應(yīng)用迅速普及深入的趨勢。
?? 總之開發(fā)成本高,周期長,質(zhì)量差,滿足不了市場需求。
產(chǎn)生軟件危機的原因
(1)軟件規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。
(2)軟件開發(fā)的管理困難。
(3)輕視軟件維護的重要性。(軟件維護的費用占軟件總費用的55%-70%)
(4)軟件開發(fā)費用增加。
(5)軟件開發(fā)技術(shù)落后。
消除軟件危機的途徑
(1)首先應(yīng)該對計算機軟件有一個正確的認識。
(2)必須充分認識到軟件開發(fā)不是某個個體的神秘技巧,而是一種組織良好,管理嚴密,各類人員協(xié)調(diào)配合,共同完成的工程項目。
(3)必須充分吸收和借鑒人類長期以來從事各種工程項目所累積的行之有效的原理,概念,技術(shù)和方法,特別要吸收幾十年來人類從事計算機硬件研究和開發(fā)的經(jīng)驗教訓(xùn)。
(4)應(yīng)該開發(fā)和使用更好的軟件工具。
為了解決軟件危機,既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。
軟件工程介紹
1968年在第一屆NATO會議上提出了軟件工程的一個早期定義:軟件工程介紹為了經(jīng)濟地獲得可靠的且能在實際機器上有效地運行的軟件,而建立和使用完善的工程原理。
1993年IEEE進一步給出了一個更全面更具體的定義:軟件工程是:①把系統(tǒng)的、規(guī)范的、可度量的途徑應(yīng)用于軟件開發(fā)、運行和維護的過程,也就是把工程應(yīng)用于軟件;②研究①中提到的途徑。
軟件工程的本質(zhì)特性
(1)軟件工程的中心課題是控制復(fù)雜性
(2)軟件經(jīng)常變化。
(3)開發(fā)軟件的效率非常重要。
(4)和諧地合作是開發(fā)軟件的關(guān)鍵。
(5)軟件必須有效地支持它的用戶。
(6)軟件工程關(guān)注于大型程序的構(gòu)造。
(7)在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。
軟件工程三個觀點
技術(shù)觀點:
軟件項目的分析,設(shè)計,編碼,測試,維護等方法。依據(jù)軟件技術(shù)理論,以開發(fā)高效,健壯,可復(fù)用,可維護的軟件為目標(biāo)。研究軟件體系結(jié)構(gòu),組成成本以及構(gòu)造方式等。
工程觀點:
包括軟件項目的招標(biāo),投標(biāo),合同,實施,監(jiān)督,驗收,推廣等方面,以經(jīng)濟管理科學(xué)的理論為依據(jù),研究軟件工程的規(guī)劃策略和經(jīng)濟收益等工程問題。
管理觀點:
包括軟件開發(fā)的人員組織,過程控制進度,風(fēng)險分析和質(zhì)量保證體系等方面,以科學(xué)性,合理性,高效運行及可測量性為目標(biāo),來研究工程項目管理。
軟件工程的基本原理
(1)用分階段的生命周期計劃嚴格管理。
(2)堅持進行階段評審。
(3)實行嚴格的產(chǎn)品控制。
(4)采用現(xiàn)代程序設(shè)計技術(shù)。
(5)結(jié)果應(yīng)能清楚地審查。
(6)開發(fā)小組的人員應(yīng)該少而精。
(7)承認不斷改進軟件工程實踐的必要性。
軟件工程包括技術(shù)和管理兩個方面的內(nèi)容,是技術(shù)與管理緊密結(jié)合所形成的工程學(xué)科。
所謂管理就是通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標(biāo)的過程。
通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型
軟件工程方法學(xué)包含3個要素:方法、工具和過程。
方法是完成軟件開發(fā)的各項任務(wù)的技術(shù)方法,回答”怎么做“的問題。
工具是為運用方法而提高的自動的或半自動的軟件工程支撐環(huán)境。
過程是為了獲得高質(zhì)量軟件所需要完成的一系列的框架,他規(guī)定了完成各項任務(wù)的工作步驟。
目前使用最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué),面向?qū)ο蠓椒▽W(xué)
軟件生命周期
由軟件定義,軟件開發(fā)和運行維護3個時期組成,每個時期進一步分成若干個階段。
定義階段:問題定義,可行性分析,需求分析。
開發(fā)階段:軟件設(shè)計,程序編碼,軟件測試
維護階段:運行維護,交付
?
總結(jié)
- 上一篇: oracle常用表查询,ORACLE E
- 下一篇: 炒洋葱家常做法?