軟件設(shè)計師考試 | 第五章 軟件工程基礎(chǔ)知識 | 軟件工程概述

軟件工程是指應(yīng)用計算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理轿偎,以工程化的原則和方法來解決軟件問題的工程,其目的是提高軟件生產(chǎn)率挖诸、提高軟件質(zhì)量狼荞、降低軟件成本殉挽。


軟件工程學(xué)的范疇

(一)計算機(jī)軟件

計算機(jī)軟件是指計算機(jī)系統(tǒng)中的程序及其文檔承耿。
程序是計算任務(wù)的處理對象和處理規(guī)則的描述抱既。
文檔是為了便于了解程序所需的闡述性資料。

1.系統(tǒng)軟件

系統(tǒng)軟件是一整套服務(wù)于其他程序的程序。
系統(tǒng)軟件的特點:

  • 和計算機(jī)硬件大量交互;
  • 多用戶大量使用;
  • 需要調(diào)度、資源共享和復(fù)雜進(jìn)程管理的同步操作辖试;
  • 復(fù)雜的數(shù)據(jù)結(jié)構(gòu)及多種外部接口莲兢。

2.應(yīng)用軟件

應(yīng)用軟件是解決特定業(yè)務(wù)需要的獨立應(yīng)用程序改艇。

3.工程/科學(xué)軟件

這類軟件通常帶有“數(shù)值計算”算法的特征收班。

4.嵌入式軟件

嵌入式軟件存在于某個產(chǎn)品或系統(tǒng)中,可實現(xiàn)和控制面向最終使用者和系統(tǒng)本身的特性和功能遣耍。

5.產(chǎn)品線軟件

產(chǎn)品線軟件關(guān)注有限的特定專業(yè)市場(如庫存控制產(chǎn)品)或大眾消費市場(如文字處理闺阱、多媒體舵变、數(shù)據(jù)庫管理等)酣溃。

6.Web應(yīng)用

Web應(yīng)用是一類以網(wǎng)絡(luò)為中心的軟件,其概念涵蓋了寬泛的應(yīng)用程序產(chǎn)品纪隙。

7.人工智能軟件

人工智能軟件利用非數(shù)值算法解決計算和直接分析無法解決的復(fù)雜問題赊豌。包括:機(jī)器人、專家系統(tǒng)绵咱、模式識別等碘饼。

8.開放計算

無線網(wǎng)絡(luò)的快速發(fā)展將促成真正的普適計算、分布式計算的實現(xiàn)悲伶。

9.網(wǎng)絡(luò)資源

萬維網(wǎng)已經(jīng)快速發(fā)展為一個計算引擎和內(nèi)容提供平臺艾恼。

10.開源軟件

開源軟件就是開發(fā)系統(tǒng)應(yīng)用程序的代碼,使得很多人能夠為軟件開發(fā)做貢獻(xiàn)麸锉。


(二)軟件工程基本原理

1.用分階段的生命周期計劃嚴(yán)格管理

應(yīng)該把軟件生命周期劃分成若干個階段钠绍,并相應(yīng)地制定出切實可行的計劃,然后嚴(yán)格按照計劃對軟件的開發(fā)與維護(hù)工作進(jìn)行管理花沉。
六類計劃:

  • 項目概要計劃
  • 里程碑計劃
  • 項目控制計劃
  • 產(chǎn)品控制計劃
  • 驗證計劃
  • 運(yùn)行維護(hù)計劃

2.堅持進(jìn)行階段評審

在每個階段都應(yīng)進(jìn)行嚴(yán)格的評審柳爽,以便盡早發(fā)現(xiàn)在軟件開發(fā)過程中所犯的錯誤。

3.實現(xiàn)嚴(yán)格的產(chǎn)品控制

在改變需求時碱屁,為了保持軟件各個配置成分的一致性磷脯,必須實行嚴(yán)格的產(chǎn)品控制,其中主要是實行基準(zhǔn)配置管理娩脾。
一切有關(guān)修改軟件的建議赵誓,特別是涉及基準(zhǔn)配置的修改建議,都必須按照嚴(yán)格的規(guī)程進(jìn)行評審晦雨,在獲得批準(zhǔn)后才能實施修改架曹。

4.采用現(xiàn)代程序設(shè)計技術(shù)

采用先進(jìn)的技術(shù)既可以提高軟件開發(fā)的效率,又可以降低軟件維護(hù)的成本闹瞧。

5.結(jié)果應(yīng)能清楚地審查

為了更好地進(jìn)行管理,應(yīng)根據(jù)軟件開發(fā)的總目標(biāo)及完成期限盡量明確地規(guī)定開發(fā)小組的責(zé)任和產(chǎn)品標(biāo)準(zhǔn)展辞,從而使所得到的結(jié)果能夠清楚地審查奥邮。

6.開放小組的人員應(yīng)少而精

開發(fā)人員的素質(zhì)和數(shù)量是影響軟件質(zhì)量和開發(fā)效率的重要因素,應(yīng)該少而精。

7.承認(rèn)不斷改進(jìn)軟件工程實踐的必要性

用戶不僅要積極采納新的軟件開發(fā)技術(shù)洽腺,還要注意不斷總結(jié)經(jīng)驗脚粟,收集進(jìn)度和消耗等數(shù)據(jù),進(jìn)行出錯類型和問題報告統(tǒng)計蘸朋。


(三)軟件生存周期

1.可行性分析與項目開放計劃

這個階段主要確定軟件的開發(fā)目標(biāo)及其可行性核无。
可行性分析與項目計劃階段的參加人員有用戶、項目負(fù)責(zé)人和系統(tǒng)分析師藕坯。
產(chǎn)生的主要文檔有可行性分析報告和項目開發(fā)計劃团南。

2.需求分析

確定軟件系統(tǒng)必須做什么,確定軟件系統(tǒng)的功能炼彪、性能吐根、數(shù)據(jù)和界面等要求,從而確定系統(tǒng)的邏輯模型辐马。
參加的人員有用戶拷橘、項目負(fù)責(zé)人和系統(tǒng)分析師。
產(chǎn)生的主要文檔有軟件需求說明書喜爷。

3.概要設(shè)計

在這個階段冗疮,開發(fā)人員要把確定的各項功能需求轉(zhuǎn)換成需要的體系結(jié)構(gòu)。每個成分都是意義明確的模塊檩帐,即每個模塊都和某些功能需求相對應(yīng)术幔。
參加人員有系統(tǒng)分析師和軟件設(shè)計師。
產(chǎn)生的主要文檔有概要設(shè)計說明書轿塔。

4.詳細(xì)設(shè)計

在這個階段主要任務(wù)是對每個模塊完成的功能進(jìn)行具體描述特愿,要把功能描述轉(zhuǎn)變?yōu)榫_的、結(jié)構(gòu)化的過程描述勾缭。
參加人員有軟件設(shè)計師和程序員揍障。
產(chǎn)生的主要文檔有詳細(xì)設(shè)計文檔。

5.編碼

這個階段是把每個模塊的控件結(jié)構(gòu)轉(zhuǎn)換成計算機(jī)可接收的程序代碼俩由,即寫成某種特定程序設(shè)計語言表示的源程序清單毒嫡。

6.測試

測試是保證軟件質(zhì)量的重要手段,其主要方式是在設(shè)計測試用例的基礎(chǔ)上檢查軟件的各個組成部分幻梯。
產(chǎn)生的主要文檔有軟件測試計劃兜畸、測試用例和軟件測試報告。

7.維護(hù)

是軟件生存周期中時間最長的階段碘梢。
在軟件運(yùn)行過程中可能由于各方面的原因需要對它進(jìn)行修改咬摇。


(四)軟件過程

1.能力成熟度模型(CMM)

CMM是對軟件組織進(jìn)行階段的描述,隨著軟件組織定義煞躬、實施肛鹏、測量逸邦、控制和改進(jìn)其軟件過程,軟件組織的能力經(jīng)過這些階段逐步提高在扰。
CMM將軟件過程改進(jìn)分為以下五個成熟度級別:

  • 初始級
  • 可重復(fù)級
  • 已定義級
  • 已管理級
  • 優(yōu)化級

2.能力成熟度模型集成(CMMI)

CMMI提供了兩種表示法:

  • 階段式模型
    五個成熟度:
    • 初始的
    • 已管理的
    • 已定義的
    • 定量管理的
    • 優(yōu)化的
  • 連續(xù)式模型
    六個過程域:
    • CL0(未完成的)
    • CL1(已執(zhí)行的)
    • CL2(已管理的)
    • CL3(已定義級的)
    • CL4(定量管理的)
    • CL5(優(yōu)化的)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缕减,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芒珠,更是在濱河造成了極大的恐慌桥狡,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皱卓,死亡現(xiàn)場離奇詭異裹芝,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)好爬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門局雄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人存炮,你說我怎么就攤上這事炬搭。” “怎么了穆桂?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵宫盔,是天一觀的道長。 經(jīng)常有香客問我享完,道長灼芭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任般又,我火速辦了婚禮彼绷,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘茴迁。我一直安慰自己寄悯,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布堕义。 她就那樣靜靜地躺著猜旬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪倦卖。 梳的紋絲不亂的頭發(fā)上洒擦,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機(jī)與錄音怕膛,去河邊找鬼熟嫩。 笑死,一個胖子當(dāng)著我的面吹牛褐捻,可吹牛的內(nèi)容都是我干的邦危。 我是一名探鬼主播洋侨,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼舍扰,長吁一口氣:“原來是場噩夢啊……” “哼倦蚪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起边苹,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤陵且,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后个束,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慕购,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年茬底,在試婚紗的時候發(fā)現(xiàn)自己被綠了沪悲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡阱表,死狀恐怖殿如,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情最爬,我是刑警寧澤涉馁,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站爱致,受9級特大地震影響烤送,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜糠悯,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一帮坚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧互艾,春花似錦试和、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至局嘁,卻和暖如春溉箕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背悦昵。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工肴茄, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人但指。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓寡痰,卻偏偏與公主長得像抗楔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子拦坠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容