久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

軟件工程期末小結(jié)

時(shí)間:2019-05-15 12:50:48下載本文作者:會(huì)員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《軟件工程期末小結(jié)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《軟件工程期末小結(jié)》。

第一篇:軟件工程期末小結(jié)

第一章 軟件工程概述

1.對“引入同一變動(dòng)付出的代價(jià)隨時(shí)間變化的趨勢”:在軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價(jià)是很不相同的,在早期引入變動(dòng),涉及的面較少,因而代價(jià)也比較低;而在開發(fā)的中期,軟件配置的許多成分已經(jīng)完成,引入一個(gè)變動(dòng)要對所有已完成的配置成分都做相應(yīng)的修改,不僅工作量大,而且邏輯上也更復(fù)雜,因此付出的代價(jià)劇增;在軟件“已經(jīng)完成”是再引入變動(dòng),當(dāng)然需要付出更高的代價(jià)。根據(jù)美國一些軟件公司的統(tǒng)計(jì)資料,在后期引入一個(gè)變動(dòng)比在早期引入相同的變動(dòng)所需付出的代價(jià)高2~3個(gè)數(shù)量級。

2.軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。程序是能夠完成預(yù)定功能和性能的可執(zhí)行的指令序列;數(shù)據(jù)是使程序能夠適當(dāng)?shù)靥幚硇畔⒌臄?shù)據(jù)結(jié)構(gòu);文檔是開發(fā)、使用和維護(hù)程序所需要的圖文資料。

3.為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門新興學(xué)科。

4.軟件工程是:(1)把系統(tǒng)的、規(guī)范的、可度量的途徑盡快應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)過程,也就是把工程應(yīng)用于軟件;(2)研究(1)中提到的途徑。

5.軟件工程本質(zhì)特性(理解,判斷):軟件工程關(guān)注與大型程序的構(gòu)造,軟件工程的中心課題是控制復(fù)雜性,軟件經(jīng)常變化,開發(fā)軟件的效率非常重要,和諧地合作是開發(fā)軟件的關(guān)鍵,軟件必須有效地支持它的用戶,在軟件工程領(lǐng)域中通常由具有一種文化背景的人替具有另一種文化背景的人創(chuàng)造產(chǎn)品。

6.軟件工程方法學(xué)包含3個(gè)要素:方法、工具和過程。

7.軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個(gè)時(shí)期組成。軟件定義時(shí)期的任務(wù)是:確定軟件開發(fā)的工程必須完成的總目標(biāo);確定工程的可行性;導(dǎo)出實(shí)現(xiàn)工程目標(biāo)應(yīng)該采用的策略及系統(tǒng)必須完成的功能;估計(jì)完成該項(xiàng)工程需要的資源和成本,并且制定工程進(jìn)度表。這個(gè)時(shí)期的工作通常又稱為系統(tǒng)分析,有系統(tǒng)分析員負(fù)責(zé)完成。軟件定義時(shí)期通常進(jìn)一步劃分成3個(gè)階段,即問題定義、可行性研究和需求分析。這個(gè)時(shí)期產(chǎn)生的文檔有可行性研究報(bào)告、需求規(guī)格說明書。開發(fā)時(shí)期具體設(shè)計(jì)和實(shí)現(xiàn)在前一個(gè)時(shí)期定義的軟件,它通常由下述4個(gè)階段組成:總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼和單元測試,綜合測試。其中前兩個(gè)階段又稱為系統(tǒng)設(shè)計(jì),后兩個(gè)階段又稱為系統(tǒng)實(shí)現(xiàn)。這個(gè)階段需要的人員為高級技術(shù)人員和初級程序員。產(chǎn)生的文檔有:軟件結(jié)構(gòu)圖,軟件說明書,數(shù)據(jù)庫。維護(hù)時(shí)期的主要任務(wù)是使軟件持久的滿足用戶的需要。

8.軟件一個(gè)生命周期包括:問題定義、可行性研究、需求分析、總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和單元測試、綜合測試。

9.軟件維護(hù)階段的關(guān)鍵任務(wù)是,通過各種必要的維護(hù)活動(dòng)使系統(tǒng)持久地滿足用戶的需要。通常有4類維護(hù)活動(dòng):改正性維護(hù),也就是診斷和改正正在使用過程中發(fā)現(xiàn)的軟件錯(cuò)誤;適應(yīng)性維護(hù),即修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),即根據(jù)用戶的要求改進(jìn)或擴(kuò)充軟件使它更完善;預(yù)防性維護(hù),即修改軟件,為將來的維護(hù)活動(dòng)預(yù)先做準(zhǔn)備。

第二章 可行性研究

1.可行性研究包括以下:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性、法律可行性。

2.系統(tǒng)流程圖的概括地描繪物理系統(tǒng)的傳統(tǒng)工具。

3.在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。數(shù)據(jù)流圖是系統(tǒng)邏輯功能的圖形表示。

4.數(shù)據(jù)字典有下列元素的定義組成:數(shù)據(jù)流、數(shù)據(jù)流分量(即數(shù)據(jù)元素)、數(shù)據(jù)存儲(chǔ)。

5.成本估計(jì)技術(shù)有:代碼行技術(shù)、任務(wù)分解技術(shù)、自動(dòng)估計(jì)成本技術(shù)。

第二篇:軟件工程小結(jié)

今天視頻看完了,可是沒有總結(jié)。還是感覺不會(huì)總結(jié)。一想到50講的課,怎么總結(jié)呢?開始聽的時(shí)候,是真不知道從哪里下手,因?yàn)殚_始看的時(shí)候有種迷迷糊糊的感覺。軟件工程,我期待的一門課就這么聽完了一遍。很有些囫圇吞棗的感覺,不過收獲還是很多的,至少知道了軟件工程的階段不是只有需求分析、編程和測試維護(hù)。當(dāng)然這個(gè)很早之前就知道,只是以前根本沒有什么概念。

第一個(gè)階段,計(jì)劃階段,要首先對用戶的要求進(jìn)行了解,對軟件的性能等進(jìn)行了解。然后進(jìn)行可行性分析研究,在各種可行性研究中,對于軟件開發(fā)人員來說,技術(shù)可行性研究最重要。之后就是需求分析階段了,需求分析階段也是計(jì)劃階段的最后一部分。需求分析定義了要做什么。把現(xiàn)實(shí)的需要用程序語言表達(dá)出來。但是這一階段并不解決怎么做。

解決怎么做的是下一個(gè)階段——設(shè)計(jì)階段。設(shè)計(jì)階段分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)把每個(gè)組成部分的功能都給出意義明確的模塊,每個(gè)模塊都和一部分需求相對應(yīng)。但是不考慮細(xì)節(jié)。詳細(xì)設(shè)計(jì),把每個(gè)模塊的功能實(shí)現(xiàn)詳細(xì)的表示出來,為源程序的編寫打下基礎(chǔ)。然后就是編程階段,我們一般最初接觸的就是編程,所以編程階段比較了解,由于前期文檔已經(jīng)做的很詳細(xì),功能的實(shí)現(xiàn)數(shù)據(jù)和算法都已經(jīng)清楚了,所以編程是比較簡單的。

編程完了就是測試階段了,測試階段的費(fèi)用是最多的。測試階段是發(fā)現(xiàn)錯(cuò)誤的階段,改錯(cuò)是調(diào)試階段。然后就是交付用戶使用,及維護(hù)。

以上幾點(diǎn)是軟件工程的生命周期的六個(gè)階段。軟件工程過程和軟件工程生命周期也不能等同。

軟件工程過程如下:

軟件規(guī)格說明:規(guī)定軟件的功能及其運(yùn)行的限制

軟件開發(fā):產(chǎn)生滿足規(guī)格說明的軟件:

軟件的確認(rèn):確認(rèn)軟件能夠完成客戶提出的要求:

軟件演進(jìn):為滿足客戶的變更要求。軟件必須在使用的過程中演進(jìn)。

pdca

軟件工程過程與軟件生存期相對應(yīng)。軟件規(guī)格說明對應(yīng)計(jì)劃階段,軟件開發(fā)對應(yīng)設(shè)計(jì)、編程階段,軟件的確認(rèn)對應(yīng)測試調(diào)試階段,軟件演進(jìn)對應(yīng)運(yùn)行維護(hù)階段。

軟件開發(fā)的每個(gè)過程都有相關(guān)文檔,用老師們的話說叫做以文檔為驅(qū)動(dòng)。文檔的好壞直接影響到軟件開發(fā)的進(jìn)度和軟件的質(zhì)量。而文檔中最多的是使用圖表,dfd圖,sc圖。數(shù)據(jù)流程圖、過程流程圖、系統(tǒng)流程圖等各種圖表。還是那句話,一張好的圖表勝過一千句話。

在軟件生存周期的各個(gè)部分都有各自要注意的地方,過著說是各自的重點(diǎn)(或者是知識(shí)點(diǎn))。

今天已經(jīng)是22號了,文檔還沒寫。先寫文檔了。唉,又落后了。

第三篇:軟件工程-期末總結(jié)

軟件工程期末總結(jié)

課程:姓名:學(xué)號:班級:xxxxx xxxxx xxxxxx xxxxxx

目錄

1.軟件工程學(xué)概述.........................................................1 1.1軟件危機(jī)..........................................................1 1.2軟件工程..........................................................1 1.3軟件生命周期......................................................2 1.4軟件過程..........................................................2 2.可行性研究:............................................................2 2.1可行性研究的任務(wù)..................................................2 2.2可行性研究的過程..................................................3 2.3數(shù)據(jù)流圖..........................................................3 3.需求分析...............................................................3 4.形式化說明技術(shù).........................................................4 5.模塊設(shè)計(jì)...............................................................4 1.耦合:............................................................4 2.內(nèi)聚..............................................................4 6.詳細(xì)設(shè)計(jì)...............................................................5 6.1結(jié)構(gòu)程序設(shè)計(jì)......................................................5 6.2人機(jī)界面設(shè)計(jì)......................................................5 7.軟件測試...............................................................5 7.1軟件測試的目標(biāo)....................................................5 7.2軟件側(cè)試準(zhǔn)則......................................................6 7.3測試方法..........................................................6 8.軟件可靠性.............................................................7 8.1軟件質(zhì)量..........................................................7

1.軟件工程學(xué)概述

1.1軟件危機(jī)

1.1.1 軟件危機(jī)的介紹:是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。具體地說,軟件危機(jī)主要有以下一些典型表現(xiàn):1.對軟件開發(fā)成本和進(jìn)度的估計(jì)常常很不準(zhǔn)確。2.用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。3.軟件產(chǎn)品的質(zhì)量往往靠不住。4.軟件常常是不可維護(hù)的。5.軟件通常沒有適當(dāng)?shù)奈臋n資料。6.軟件成本在計(jì)算機(jī)系統(tǒng)總成本中所占的比例逐年上升。7.軟件開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計(jì)算機(jī)應(yīng)用迅速普及深入的趨勢。1.1.2產(chǎn)生軟件危機(jī)的原因:在軟件開發(fā)和維護(hù)的過程中存在這么多嚴(yán)重問題,一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開發(fā)與維護(hù)的方法不正確有關(guān)。軟件不同于硬件,它是計(jì)算機(jī)系統(tǒng)中的邏輯部件而不是物理部件。1.1.3消除軟件危機(jī)的途徑:

1、認(rèn)識(shí)到軟件是程序、數(shù)據(jù)及相關(guān)文檔的完整集合。2.認(rèn)識(shí)到軟件是一種組織良好、管理嚴(yán)密、各類人員協(xié)同配合、共同完成的工程項(xiàng)目;

3、推廣使用在實(shí)踐中總結(jié)出來的開發(fā)軟件的成功的技術(shù)和方法,探索更好更有效的技術(shù)和方法;

4、開發(fā)和使用更好的軟件工具。總之,為了解決軟件危機(jī),既要有技術(shù)措施(方法和工具),又要有必要的組織管理措施。軟件工程正是從管理和技術(shù)兩方面研究如何更好地開發(fā)和維護(hù)計(jì)算機(jī)軟件的一門新興學(xué)科。

1.2軟件工程

1.2.1軟件工程的介紹:軟件工程是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。定義:采用工程的概念、原理和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟(jì)地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。1.2.2軟件工程的基本原理:

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

2、堅(jiān)持進(jìn)行階段評審

3、實(shí)行嚴(yán)格的產(chǎn)品控制

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

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

6、開發(fā)小組的人員應(yīng)該少而精

7、承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性 1.2.3 軟件工程方法學(xué):通常把在軟件生命周期全過程中使用的一整套技術(shù)方法的集合稱為方法學(xué),也稱為范型。軟件工程方法學(xué)包含3個(gè)要素方法、工具和過程。目前使用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)

1.3軟件生命周期

軟件生命周期由軟件定義、軟件開發(fā)和運(yùn)行維護(hù)3個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分成若干個(gè)階段。軟件定義的3個(gè)階段:問題定義、可行性研究、需求分析;軟件開發(fā)的四個(gè)階段:總、詳(系統(tǒng)設(shè)計(jì))、編、綜(系統(tǒng)實(shí)現(xiàn))軟件生命周期每個(gè)階段:1.問題定義2.可行性研究3.需求分析4.總體設(shè)計(jì)5.詳細(xì)設(shè)計(jì)6.編碼和單元測試7.綜合測試8.軟件維護(hù)

1.4軟件過程

軟件過程是為了獲得高質(zhì)量軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟。

1.4瀑布模型瀑布模型

一直是唯一被廣泛采用的生命周期模型,有下述的幾個(gè)特點(diǎn):1.階段間具有順序性和依賴性(1)必須等前一階段的工作完成之后,才能開始后一階段的工作(2)前一階段的輸出文檔就是后一段的輸入文檔,因此,前一階段的輸出文檔必須正確。2.推遲實(shí)現(xiàn)的觀點(diǎn);3.質(zhì)量保證的觀點(diǎn)(1)每個(gè)階段都必須完成規(guī)定的文檔,沒有交出合格的文檔就是沒有完成該階段的任務(wù),(2)每個(gè)階段結(jié)束前都要對所完成的文檔進(jìn)行評審,以便盡早發(fā)現(xiàn)問題改正錯(cuò)誤。

優(yōu)點(diǎn):可強(qiáng)迫開發(fā)人員采用規(guī)范的方法;嚴(yán)格地規(guī)定每個(gè)階段必須提交的文檔;要求每個(gè)階段交出的所有產(chǎn)品都必須經(jīng)過質(zhì)量保證小組的仔細(xì)驗(yàn)證。缺點(diǎn):瀑布模型是由文檔驅(qū)動(dòng)的

2.可行性研究: 可行性研究的目的,就是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。

2.1可行性研究的任務(wù)

可行性研究的目的不是解決問題,而是確定問題是否值得去解決。可行性研究實(shí)質(zhì)上是要進(jìn)行一次大大壓縮簡化了的系統(tǒng)分析和設(shè)計(jì)的過程,也就是在較高層次上以較抽象的方式進(jìn)行的系統(tǒng)分析和設(shè)計(jì)的過程。在澄清了問題定義之后,分析員應(yīng)該導(dǎo)出系統(tǒng)的邏輯模型。然后從系統(tǒng)邏輯模型出發(fā),探索若干種可供選擇的主要解法(即系統(tǒng)實(shí)現(xiàn)方案)。對每種解法都應(yīng)該仔細(xì)研究它的可行性,一般說來,至少應(yīng)該從下述3個(gè)方面研究每種解法的可行性。

1)技術(shù)可行性 使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?

2)經(jīng)濟(jì)可行性 這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎? 3)操作可行性 系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通嗎?

必要時(shí)還應(yīng)該從法律、社會(huì)效益等更廣泛的方面研究每種解法的可行性。可行性研究需要的時(shí)間長短取決于工程的規(guī)模。一般來說,可行性研究的成本只是預(yù)期的工程總成本的5%-10%。

2.2可行性研究的過程

步驟:1.復(fù)查系統(tǒng)規(guī)模和目標(biāo)2.研究目前正在使用的系統(tǒng)3.導(dǎo)出新系統(tǒng)的高層邏輯模型4.進(jìn)一步定義問題5.導(dǎo)出和評價(jià)供選擇的解法6.推薦行動(dòng)方針7.草擬開發(fā)計(jì)劃8.書寫文檔提交審查

2.3數(shù)據(jù)流圖

數(shù)據(jù)流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過程。數(shù)據(jù)流圖有四種基本符號:

正方形(或立方體)表示數(shù)據(jù)的源點(diǎn)或終點(diǎn); 圓角矩形(或圓形)代表變換數(shù)據(jù)的處理; 開口矩形(或兩條平行橫線)代表數(shù)據(jù)存儲(chǔ); 箭頭表示數(shù)據(jù)流,即特地?cái)?shù)據(jù)的流動(dòng)方向。

在數(shù)據(jù)流圖中應(yīng)該描繪所有可能的數(shù)據(jù)流向,而不應(yīng)該描繪出現(xiàn)某個(gè)數(shù)據(jù)流的條件。數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是數(shù)據(jù),僅僅所處的狀態(tài)不同。數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。數(shù)據(jù)流圖的基本要點(diǎn)是描繪“做什么”,而不是“怎么做”。數(shù)據(jù)流圖的4種成分:源點(diǎn)或終點(diǎn),處理,數(shù)據(jù)存儲(chǔ),數(shù)據(jù)流數(shù)據(jù)流圖的基本目的是利用它作為交流信息的工具,另一個(gè)主要用途是作為分析和設(shè)計(jì)的工具。

3.需求分析

3.1.1確定對系統(tǒng)的綜合需求1.功能需求2.性能需求3.可靠性和可用性需求4.出錯(cuò)處理需求5.接口需求6.約束7.逆向需求8.將來可能提出的需求

4.形式化說明技術(shù)

PSL/PSA系統(tǒng)的主要優(yōu)點(diǎn)是它改進(jìn)了文檔質(zhì)量,能保證文檔具有完整性、一致性和無二義性,從而可以減少管理和維護(hù)的費(fèi)用。數(shù)據(jù)存放在數(shù)據(jù)庫中,便于增加、刪除和更改,這也是它的一個(gè)優(yōu)點(diǎn)。

5.模塊設(shè)計(jì)

模塊獨(dú)立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。開發(fā)具有獨(dú)立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可以做到模塊獨(dú)立。

1.耦合:

耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。耦合強(qiáng)弱取決于模塊間接口的復(fù)雜程度因此,模塊間的耦合程度強(qiáng)烈影響系統(tǒng)的可理解性、可測試性、可靠性和可維護(hù)性。公共環(huán)境耦合的復(fù)雜程度隨耦合的模塊個(gè)數(shù)而變化,當(dāng)耦合的模塊個(gè)數(shù)增加時(shí)復(fù)雜程度顯著增加。如果只有兩個(gè)模塊有公共環(huán)境,那么這種耦合有下面兩種可能。1.一個(gè)模塊往公共環(huán)境送數(shù)據(jù),另一個(gè)模塊從公共環(huán)境取數(shù)據(jù)。這是數(shù)據(jù)耦合的于一種形式,是比較松散的耦合。2.兩個(gè)模塊都既往公共環(huán)境送數(shù)據(jù)又從里面取數(shù)據(jù),這種耦合比較緊密,介于數(shù)據(jù)耦合和控制耦合之間。如果兩個(gè)模塊共享的數(shù)據(jù)很多,都通過參數(shù)傳遞可能很不方便,這時(shí)可以利用公共環(huán)境耦合。最高程度的耦合是內(nèi)容耦合。如果出現(xiàn)下列情況之一,兩個(gè)模塊間就發(fā)生了內(nèi)容耦合。一個(gè)模塊訪問另一個(gè)模塊的內(nèi)部數(shù)據(jù)。一個(gè)模塊不通過正常入口而轉(zhuǎn)到另二個(gè)模塊的內(nèi)部。兩個(gè)模塊有一部分程序代碼重疊(只可能出現(xiàn)在匯編程序中)。一個(gè)模塊有多個(gè)入口(這意味著一個(gè)模塊有幾種功能)。應(yīng)該堅(jiān)決避免使用內(nèi)容耦合。事實(shí)上許多高級程序設(shè)計(jì)語言已經(jīng)設(shè)計(jì)成不允許在程序中出現(xiàn)任何形式的內(nèi)容耦合。總之,耦合是影響軟件復(fù)雜程度的一個(gè)重要因素。應(yīng)該采取下述設(shè)計(jì)原則:盡量使用數(shù)據(jù)耦合,少用控制耦合和特征耦合,限制公共環(huán)境耦合的范圍,完全不用內(nèi)容耦合。

2.內(nèi)聚

內(nèi)聚標(biāo)志著一個(gè)模塊內(nèi)各個(gè)元素彼此結(jié)合的緊密程度,它是信息隱藏和局部化概念的自然擴(kuò)展。簡單地說,理想內(nèi)聚的模塊只做一件事情。內(nèi)聚和耦合是密切相關(guān)的,模塊內(nèi)的高內(nèi)聚往往意味著模塊間的松耦合。內(nèi)聚和耦合都一是進(jìn)行模塊化設(shè)計(jì)的有力工具,但是實(shí)踐表明內(nèi)聚更重要,應(yīng)該把更多注意力集中到提高模塊的內(nèi)聚程度上。低內(nèi)聚:偶然內(nèi)聚、時(shí)間內(nèi)聚、邏輯內(nèi)聚;中內(nèi)聚主要有兩類:過程內(nèi)聚和通信內(nèi)聚;高內(nèi)聚也有兩類:順序內(nèi)聚和功能內(nèi)聚。功能內(nèi)聚是最高程度的內(nèi)聚。

6.詳細(xì)設(shè)計(jì)

詳細(xì)設(shè)計(jì)階段的根本目標(biāo)是確定應(yīng)該怎樣具體地實(shí)現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語言書寫的程序。詳細(xì)設(shè)計(jì)階段的任務(wù)還不是具體地編寫程序,而是要設(shè)計(jì)出程序的“藍(lán)圖”,以后程序員將根據(jù)這個(gè)藍(lán)圖寫出實(shí)際的程序代碼。因此,詳細(xì)設(shè)計(jì)的結(jié)果基本上決定了最終的程序代碼的質(zhì)量。考慮程序代碼的質(zhì)量時(shí)必須注意,程序的“讀者”有兩個(gè),那就是計(jì)算機(jī)和人。在軟件的生命周期中,設(shè)計(jì)測試方案、診斷程序錯(cuò)誤、修改和改進(jìn)程序等都必須首先讀懂程序。實(shí)際上對于長期使用的軟件系統(tǒng)而言,人讀程序的時(shí)間可能比寫程序的時(shí)間還要長得多。因此,衡量程序的質(zhì)量不僅要看它的邏輯是否正確.性能是否滿足要求,更主要的是要看它是否容易閱讀和理解。詳細(xì)設(shè)計(jì)的目標(biāo)不僅僅是邏輯上正確地實(shí)現(xiàn)每個(gè)模塊的功能,更重要的是設(shè)計(jì)出的處理過程應(yīng)該盡可能簡明易懂。結(jié)構(gòu)程序設(shè)計(jì)技術(shù)是實(shí)現(xiàn)上述目標(biāo)的關(guān)鍵技術(shù),因此是詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。

6.1結(jié)構(gòu)程序設(shè)計(jì)

如果一個(gè)程序的代碼塊僅僅通過順序,選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出口,則稱為程序的結(jié)構(gòu)化。

6.2人機(jī)界面設(shè)計(jì)

人機(jī)界面設(shè)計(jì)是接口設(shè)計(jì)的一個(gè)重要的組成部分。在設(shè)計(jì)人機(jī)界面過程會(huì)遇到下面4個(gè)問題:系統(tǒng)響應(yīng)時(shí)間,用戶幫助設(shè)施,出錯(cuò)信息處理和命令交互。用戶界面設(shè)計(jì)過程是一個(gè)迭代的過程,首先創(chuàng)建設(shè)計(jì)模型,再用原型實(shí)現(xiàn)這個(gè)設(shè)計(jì)模型,并由用戶試用和評估,然后根據(jù)用戶意見進(jìn)行修改。為了支持上述迭代過程,各種用于界面設(shè)計(jì)和原型開發(fā)的軟件工具產(chǎn)生。它們?yōu)楹喕翱冢藛危O(shè)備交互,出錯(cuò)信息,命令及交互環(huán)境的許多其它元素的瘡癤提供各種歷程或?qū)ο蟆S脩艚缑嬖u估周期如下,完成初步設(shè)計(jì)之后就創(chuàng)建第一級原型,用戶使用并評估該原型,直接向設(shè)計(jì)者表述對界面的評價(jià),設(shè)計(jì)中根據(jù)用戶意見修改設(shè)計(jì)并實(shí)現(xiàn)下一級原型。

7.軟件測試

7.1軟件測試的目標(biāo)

1.測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。2.好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試方案。3.成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯(cuò)誤的測試。從上述規(guī)則可以看出,測試的正確定義是“為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程”。這和某些人通常想象的“測試是為了表明程序是正確的”,“成功的

測試是沒有發(fā)現(xiàn)錯(cuò)誤.的測試”等是完全相反的。正確認(rèn)識(shí)測試的目標(biāo)是十分重要的,測試目標(biāo)決定了測試方案的設(shè)計(jì)。如果為了表明程序是正壑耍進(jìn)行測試,就會(huì)設(shè)計(jì)一些不易暴露錯(cuò)誤的測試方案;相反,如果測試是為了發(fā)現(xiàn)程序中的錯(cuò)誤,就會(huì)力求設(shè)計(jì)出最能暴露錯(cuò)誤的測試方案。由于測試的目標(biāo)是暴露程序中的錯(cuò)誤,從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測試是不恰當(dāng)?shù)摹R虼耍诰C合測試階段通常由其他人員組成測試小組來完成測試工作。此外,應(yīng)該認(rèn)識(shí)到測試決不能證明程序是正確的。即使經(jīng)過了最嚴(yán)格的測試之后,仍然可能還有沒被發(fā)現(xiàn)的錯(cuò)誤潛藏在程序中。測試只能查找出程序中的錯(cuò)誤,不能證明程序中沒有錯(cuò)誤。關(guān)于這個(gè)結(jié)論下面還要討論。

7.2軟件側(cè)試準(zhǔn)則

怎樣才能達(dá)到軟件測試的目標(biāo)呢?為了能設(shè)計(jì)出有效的測試方案,軟件工程師必須深人理解并正確運(yùn)用指導(dǎo)軟件測試的基本準(zhǔn)則。下面講述主要的測試準(zhǔn)則。1.所有測試都應(yīng)該能追溯到用戶需求。2.應(yīng)該遠(yuǎn)在測試開始之前就制定出測試計(jì)劃。3.把Paret原理應(yīng)用到軟件測試中。Pareto原理說明,測試發(fā)現(xiàn)的錯(cuò)誤中的80%很可是由程序中20%的模塊造成的。當(dāng)然,問題是怎樣找出這些可疑的模塊并徹底地測試它們。4.應(yīng)該從“小規(guī)模”測試開始,并逐步進(jìn)行“大規(guī)模”測試。通常,首先重點(diǎn)測試單個(gè)程序模塊,然后把測試重點(diǎn)轉(zhuǎn)向在集成的模塊簇中尋找錯(cuò)誤,最后在整個(gè)系統(tǒng)中尋找錯(cuò)誤。5.窮舉測試是不可的。所謂窮舉測試就是把程序所有可能的執(zhí)行路徑都檢查一遍的測試。即使是一個(gè)中等規(guī)模的程序,其執(zhí)行旋的排列數(shù)也十分龐大,由于受時(shí)間、人力以及其他資源的限制,在測試過程中不可能執(zhí)行每個(gè)可能的路徑。囚此,測試只能證明程序中有錯(cuò)誤,不能證明程序中沒有錯(cuò)誤。但是,精心地設(shè)計(jì)測試方案,有可能充分覆蓋程序邏輯并使程序達(dá)到所要求的可靠性。6.為了達(dá)到最佳的測試效果,應(yīng)該由獨(dú)立的第三方從事測試工作。所謂“最佳效果”是指有最大可能性發(fā)現(xiàn)錯(cuò)誤的測試。由于前面已經(jīng)講過的原因,開發(fā)軟件的軟件工程師并不是完成全部測試工作的最佳人選(通常他們主要承擔(dān)模塊測試工作)。

7.3測試方法

測試任何產(chǎn)品都有兩種方法:如果已經(jīng)知道了產(chǎn)品應(yīng)該具有的功能,可以通過測試來檢驗(yàn)是否每個(gè)功能都能正常使用瑯口果知道產(chǎn)品的內(nèi)部工作過程,可以通過測試來檢驗(yàn)產(chǎn)品內(nèi)部動(dòng)作是否按照規(guī)格說明書的規(guī)定正乒進(jìn)行。前一種方法稱為黑盒測試,后一種方法稱為白盒測試。對于軟件測試而言,黑盒測試法把程序看作一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)均和處理過程。也就是說,黑盒測試是在程序接口進(jìn)行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序否能適當(dāng)?shù)亟邮蛰斎藬?shù)據(jù)并產(chǎn)生正確的輸出信息,程序運(yùn)行過程中能否保持外部信息(例如,數(shù)據(jù)庫或文件)的完整性。黑盒測試又稱為功能測試。白盒測試法與黑盒測試法相反,它的前提是可以把程序看成裝在一個(gè)透明的白盒子里,測試者完全知道程序的結(jié)構(gòu)和處理算法。這種方法按測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。照程序內(nèi)部的邏輯測試程序,白盒測試又稱為結(jié)構(gòu)測試。

8.軟件可靠性

可靠性定義:軟件可靠性是程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功的運(yùn)行的概率可用性定義:軟件可用性是程序在給定的時(shí)間點(diǎn),按照規(guī)格說明書的規(guī)定,成功的運(yùn)行的概率基本假定 1.在測試之前每1000條指令中大約有5~20個(gè)錯(cuò)誤 2.失效率正比于剩余的錯(cuò)誤數(shù),平均無故障時(shí)間MTTF與剩余錯(cuò)誤數(shù)成反比3.為了簡化討論假設(shè)發(fā)現(xiàn)的每一個(gè)錯(cuò)誤都立即正確地改正了。

8.1軟件質(zhì)量

概括地說,軟件質(zhì)量就是“軟件與明確地和隱含地定義的需求相一致的程度”。更具體地說,軟件質(zhì)量是軟件與明確地?cái)⑹龅墓δ芎托阅苄枨蟆⑽臋n中明確描述的開發(fā)標(biāo)準(zhǔn)以及任何專業(yè)開發(fā)的軟件產(chǎn)品都應(yīng)該具有的隱含特征相一致的程度。上述定義強(qiáng)調(diào)了下述的6個(gè)要點(diǎn): 1.正確性(它按我的需要工作嗎?)系統(tǒng)滿足規(guī)格說明用戶目標(biāo)的程度,即,在預(yù)定環(huán)境下能正確的完成預(yù)期功能的程度。

2.健壯性(對息外環(huán)境它能適當(dāng)?shù)仨憫?yīng)嗎?)在硬件發(fā)生故障、輸入的數(shù)據(jù)無效或操作錯(cuò)誤等意外環(huán)境下,系統(tǒng)能做出適當(dāng)?shù)捻憫?yīng)程度。

3.效率〔完成預(yù)定功能時(shí)它需要的計(jì)算機(jī)資源多嗎?)為了完成預(yù)定的功能,系統(tǒng)需要的計(jì)算資源的多少。

4.完整性(安全性)(它是安全的嗎?)對未經(jīng)授權(quán)的人使用軟件或數(shù)據(jù)的企圖,系統(tǒng)能夠控制(禁止)的程度。

5.可用性(我能使用它嗎?)系統(tǒng)在完成預(yù)定應(yīng)該完成的功能時(shí)令人滿意的程度。6.風(fēng)險(xiǎn)(能按預(yù)定計(jì)劃完成它嗎?)按預(yù)定的成本和進(jìn)度把系統(tǒng)開發(fā)出來,并且為用戶所滿意的概率。

第四篇:軟件工程期末復(fù)習(xí)題

1、軟件定義:問題定義、可行性研究,需求分析

2、軟件開發(fā):總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼和單元測試,綜合測試

3、軟件維護(hù):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)

4、軟件過程:瀑布模型,快速原型模型,增量模型,螺旋模型,噴泉模型,Rational統(tǒng)一過程,敏捷過程與極限編程,微軟過程

5、從3個(gè)方面研究每種解決的可行性:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性

6、軟件需求分析階段的工作:可以分為以下4個(gè)方面:對問題的識(shí)別、分析與綜合、編寫需求分析文檔以及需求分析評審

7、設(shè)計(jì)原理:模塊化、抽象、逐步求精、信息隱藏和局部化、模塊獨(dú)立性(耦合、內(nèi)聚)

8、決定軟件可維護(hù)性的因素:可理解性、可測試性、可修改性、可移植性、可重用性

一、假設(shè)要求你開發(fā)一個(gè)軟件,該軟件的功能是把讀入的浮點(diǎn)數(shù)開平方,所得到的結(jié)果應(yīng)該精確到小數(shù)點(diǎn)后4位。一旦實(shí)現(xiàn)并測試完之后,該產(chǎn)品將被拋棄。你打算選用哪些軟件生命周期模型?請說明你作出選擇的理由。

答:對這個(gè)軟件的需求很明確,實(shí)現(xiàn)開平方功能的算法也很成熟,因此,既無須通過原型來分析需求也無須用原型來驗(yàn)證設(shè)計(jì)方案。此外,一旦實(shí)現(xiàn)并測試完之后,該產(chǎn)品將被拋棄,因此也無須使用有助于提高軟件可維護(hù)性的增量模型或螺旋模型來開發(fā)該軟件。綜上所述,為了開發(fā)這個(gè)簡單的軟件,使用大多數(shù)人所熟悉的瀑布模型就可以了

二、假設(shè)你被任命為一家軟件公司的項(xiàng)目負(fù)責(zé)人,你的工作是管理該公司已被廣泛應(yīng)用的字處理軟件的新版本開發(fā)。由于市場競爭激烈,公司規(guī)定了嚴(yán)格的完成期限并且已對外公布。你打算采用哪種軟件生命周期模型?為什么?。

答:對這個(gè)項(xiàng)目的一個(gè)重要要求是,嚴(yán)格按照已對外公布了的日期完成產(chǎn)品開發(fā)工作,因此,選擇生命周期模型時(shí)應(yīng)該著重考慮哪些模型有助于加快產(chǎn)品開發(fā)的進(jìn)度。使用增量模型開發(fā)軟件時(shí)可以并行完成開發(fā)工作,因此能夠加快開發(fā)進(jìn)度。

這個(gè)項(xiàng)目是開發(fā)該公司已被廣泛應(yīng)用的字處理軟件的新版本,從上述事實(shí)至少可以得出3點(diǎn)結(jié)論:第一,舊版本相當(dāng)于一個(gè)原型,通過收集用戶對舊版本的反映,較容易確定對新版本的需求,沒必要再專門建立一個(gè)原型系統(tǒng)來分析用戶的需求;第二,改公司的軟件工程師對字處理軟件很熟悉,有開發(fā)字處理軟件的豐富經(jīng)驗(yàn),具有采用增量模型開發(fā)新版字處理軟件所需要的技術(shù)水平;第三,該軟件受到廣大用戶的喜愛,今后很可能還要開發(fā)更新的版本,因此,應(yīng)該把該軟件的體系結(jié)構(gòu)設(shè)計(jì)成開放式的,以利于今后的改進(jìn)和擴(kuò)充。綜上所述,采用增量模型來完成這個(gè)項(xiàng)目比較恰當(dāng)。

三、考慮一個(gè)修改磁帶上主文件的系統(tǒng)。文件管理員把修改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信息并按照記錄號把修改信息順序排列好。然后系統(tǒng)逐個(gè)讀入主文件上的記錄,根據(jù)記錄上的校驗(yàn)碼校核每個(gè)讀入的記錄,丟掉出錯(cuò)的記錄,按照修改信息修改余下的記錄,產(chǎn)生的新文件存儲(chǔ)在磁盤上。最后,系統(tǒng)輸出一份修改報(bào)告供文件管理員參閱。請分層次地畫出上述主文件修改系統(tǒng)的數(shù)據(jù)流圖。

答:本系統(tǒng)的數(shù)據(jù)源點(diǎn)和終點(diǎn)都是文件管理員,他既向系統(tǒng)提供修改信息,又接收系統(tǒng)生成的修改報(bào)告。系統(tǒng)功能主要有:接收修改信息,讀主文件,校核記錄,修改原始記錄和產(chǎn)生報(bào)告。注意,問題陳述中所描述的“系統(tǒng)安裝記錄號把修改信息順序排列好”,是具體的實(shí)現(xiàn)方法。在數(shù)據(jù)流圖中無須描述具體實(shí)現(xiàn)方法,因此,在本系統(tǒng)的數(shù)據(jù)流圖中不需要包含“排序”功能。類似地,“文件管理員把修改信息穿孔在卡片上,系統(tǒng)讀入穿孔卡片上的信息”,是系統(tǒng)接收修改信息的具體方法。在數(shù)據(jù)流圖中無須描繪這個(gè)具體的實(shí)現(xiàn)方案,因此,在本系統(tǒng)的數(shù)據(jù)流圖中不需要包含“穿卡片”和“讀卡片”的功能。

本系統(tǒng)包含的數(shù)據(jù)存儲(chǔ)是:修改信息,主文件和修改后的主文件。圖2.6是本系統(tǒng)的基本系統(tǒng)模型,圖2.7是功能級數(shù)據(jù)流圖。

四、用Jackson圖描繪下述的一列火車的構(gòu)成:

一列火車最多有兩個(gè)火車頭。只有一個(gè)火車頭時(shí)則位于列車最前面,若還有第二個(gè)火車頭時(shí),則第二個(gè)火車頭位于列車最后面。火車頭既可能是內(nèi)燃機(jī)車也可能是電氣機(jī)車。車廂分為硬座車廂、硬臥車廂和軟臥車廂等3種。硬座車廂在車內(nèi)所有車廂的前面部分,軟臥車廂在所有車廂的后面部分。此外,在硬臥車廂和軟臥車廂之間還有一節(jié)餐車。

答:Jackson圖善于描繪復(fù)雜事物的組成。用Jackson圖描繪一列火車的構(gòu)成的方法至少有兩種,一種方法是把火車分為一個(gè)車頭和兩個(gè)車頭兩類,另一種方法是把后車頭作為可選的。圖3.29給出了描繪一列火車的構(gòu)成的Jackson圖。

解法1(b)解法2

五、為方便出乎,某銀行擬開發(fā)計(jì)算機(jī)儲(chǔ)蓄系統(tǒng),儲(chǔ)戶填寫的存款單或取款單由業(yè)務(wù)員輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名、住址、存款類型、存款日期、利率等信息,并印出存款單給儲(chǔ)戶,如果是取款,系統(tǒng)計(jì)算利息并印出利息清單給儲(chǔ)戶。寫出問題定義并分析系統(tǒng)的可行性。

答:技術(shù)上的可行性:開發(fā)系統(tǒng)的計(jì)算機(jī)硬件已經(jīng)非常普及,完全沒有問題;現(xiàn)在的計(jì)算機(jī)各方面的技術(shù)都非常成熟,相對來說開發(fā)此系統(tǒng)的技術(shù)也要求比較簡單,因此在技術(shù)方面是可行的;同時(shí)銀行還必須有一定量的系統(tǒng)管理和維護(hù)的專業(yè)人員,在這方面可以通過培訓(xùn)原來的技術(shù)人員成為新的需要的技術(shù)人員,也可以雇用所需這方面的專業(yè)技術(shù)員;若按計(jì)劃,在規(guī)定的期限內(nèi),本系統(tǒng)的開發(fā)是可以完成的。

操作可行性:開發(fā)的系統(tǒng)操作要非常簡單,以便適合大人小孩老人各類人們都可以很方便操作使用。還有,要有經(jīng)過培訓(xùn)的專業(yè)人員在指導(dǎo),以便當(dāng)儲(chǔ)戶有什么疑難問題時(shí)能及時(shí)得到正確的答復(fù) 社會(huì)、政策允許的可行性:全部軟件購買正版,機(jī)器設(shè)置通過正當(dāng)途徑購得

六、分析圖3.1所示的層次圖,確定每個(gè)模塊的內(nèi)聚類型。分析圖3.2,確定模塊之間的耦合類型

圖3.1 計(jì)算多地點(diǎn)日平均溫度的程序

答:從圖3.1所示的層次圖可以看出,這個(gè)程序的功能是計(jì)算若干個(gè)指定地點(diǎn)的每日平均溫度。變量sum保存某地一天之內(nèi)在指定的時(shí)間取樣點(diǎn)的溫度之和。程序運(yùn)行時(shí)首先初始化變量sum并打開文件,然后讀取地點(diǎn)、時(shí)間和溫度等原始數(shù)據(jù),創(chuàng)建用于保存這些數(shù)據(jù)的溫度記錄,接下來計(jì)算特定地點(diǎn)的日平均溫度,存儲(chǔ)溫度記錄。重復(fù)調(diào)用“讀取地點(diǎn)、時(shí)間和溫度”、“創(chuàng)建新的溫度記錄”、“計(jì)算特定地點(diǎn)的日平均溫度”和“存儲(chǔ)溫度記錄”等模塊,直至計(jì)算出并保存好所有指定地點(diǎn)的日平均溫度。最后,打印平均溫度并關(guān)閉文件。

從上述敘述可知,“計(jì)算多個(gè)地點(diǎn)的日平均溫度”、“讀取地點(diǎn)、時(shí)間和溫度”、“創(chuàng)建新的溫度記錄”、“計(jì)算特定地點(diǎn)的日平均溫度”和“存儲(chǔ)溫度記錄”等5個(gè)模塊,每個(gè)都完成一個(gè)單一的功能,模塊內(nèi)所有元素都為完成同一個(gè)功能服務(wù),彼此結(jié)合的十分緊密,因此,這5個(gè)模塊的內(nèi)聚類型都是功能內(nèi)聚。

初看起來,由于初始化變量sum和打開文件這兩個(gè)操作都是在程序運(yùn)行的初始階段完成的,“初始化變量sum和打開文件” 這個(gè)模塊的內(nèi)聚類型似乎是時(shí)間內(nèi)聚。但是,初始化變量sum是本程序特有的操作,而打開文件是硬件要求的操作,是任何使用文件的程序都包含的一個(gè)操作,并非本程序特有的操作。當(dāng)可以分配兩個(gè)或更多個(gè)不同級別的內(nèi)聚類型給一個(gè)模塊時(shí),規(guī)則是分配最低級別的內(nèi)聚類型給該模塊。因此,“初始化變量sum和打開文件”這個(gè)模塊的內(nèi)聚類型都是偶然內(nèi)聚。同理,“關(guān)閉文件并打印平均溫度” 這個(gè)模塊的內(nèi)聚類型也是偶然內(nèi)聚。

分析圖3.2,確定模塊之間的耦合類型。

圖3.2 一個(gè)程序的模塊互連圖 在圖3.2中已經(jīng)給模塊之間的接口編了號碼,表3.1描述了模塊間的接口。表3.1 模塊接口描述

綜合分析圖3.2和表3.1所提供的信息可知各個(gè)模塊之間的耦合情況。例如,當(dāng)模塊p調(diào)用模塊 q時(shí)(接口1),它傳遞一個(gè)參數(shù)----飛機(jī)類型。當(dāng)模塊q把控制返還給模塊p時(shí),它傳回一個(gè)狀態(tài)標(biāo)志。

某些模塊之間的耦合類型是明顯的,例如,模塊p和q之間(接口1)、模塊r和t之間(接口5)及模塊s和u之間(接口6)都是數(shù)據(jù)耦合,因?yàn)樗鼈儌鬟f的都是一個(gè)簡單變量。

如果兩個(gè)模塊中的一個(gè)模塊給另一個(gè)模塊傳遞控制元素,也就是說,如果一個(gè)模塊明顯地控制另一個(gè)模塊的邏輯,則它們之間具有控制耦合。例如,當(dāng)給具有邏輯內(nèi)聚的模塊傳遞功能代碼時(shí)就傳遞了控制元素。另一個(gè)控制耦合的例子是把控制開關(guān)作為一個(gè)參數(shù)傳遞。圖3.2中模塊q調(diào)用模塊r時(shí)(接口3)傳遞一個(gè)功能代碼,因此,這兩個(gè)模塊之間是控制耦合。

圖3.2右側(cè)文字說明,模塊p、t和u更新同一個(gè)數(shù)據(jù)庫,因此,它們之間具有公共環(huán)境耦合。

當(dāng)模塊p調(diào)用模塊s時(shí)(接口2),如果模塊s使用或更新模塊p傳遞給它的零件清單中的所有元素,則模塊p和s之間的耦合是數(shù)據(jù)耦合;但是,如果模塊s只訪問該清單中的一部分元素,則模塊p和s之間的耦合是特征耦合。模塊q和s之間(接口4)的耦合情況與此類似。由于圖3.2和表3.1中給出的信息尚不足以準(zhǔn)確地描述各個(gè)模塊的功能,所以不能確定這兩對模塊之間的耦合是數(shù)據(jù)耦合還是特征耦合。

第五篇:軟件工程小結(jié)(最終版)

軟件工程論文

軟件工程是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。它涉及到程序設(shè)計(jì)語言,數(shù)據(jù)庫,軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等方面。在現(xiàn)代社會(huì)中,軟件應(yīng)用于多個(gè)方面。典型的軟件比如有電子郵件,嵌入式系統(tǒng),人機(jī)界面,辦公套件,操作系統(tǒng),編譯器,數(shù)據(jù)庫,游戲等。同時(shí),各個(gè)行業(yè)幾乎都有計(jì)算機(jī)軟件的應(yīng)用,比如工業(yè),農(nóng)業(yè),銀行,航空,政府部門等。這些應(yīng)用促進(jìn)了經(jīng)濟(jì)和社會(huì)的發(fā)展,使得人們的工作更加高效,同時(shí)提高了生活質(zhì)量。

軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并且滿足用戶需求的軟件產(chǎn)品。追求這些目標(biāo)有助于提高軟件產(chǎn)品的質(zhì)量和開發(fā)效率,減少維護(hù)的困難。

軟件工程的原則是指圍繞工程設(shè)計(jì)、工程支持以及工程管理在軟件開發(fā)過程中必須遵循的原則。軟件工程的原則有以下四項(xiàng)軟件工程師基本原則:

1)選取適宜開發(fā)范型

該原則與系統(tǒng)設(shè)計(jì)有關(guān)。在系統(tǒng)設(shè)計(jì)中,軟件需求、硬件需求以及其他因素之間是相互制約、相互影響的,經(jīng)常需要權(quán)衡。因此,必須認(rèn)識(shí)需求定義的易變性,采用適宜的開發(fā)范型予以控制,以保證軟件產(chǎn)品滿足用戶的要求。

2)采用合適的設(shè)計(jì)方法

在軟件設(shè)計(jì)中,通常要考慮軟件的模塊化、抽象與信息隱蔽、局部化、一致性以及適應(yīng)性等特征。合適的設(shè)計(jì)方法有助于這些特征的實(shí)現(xiàn),以達(dá)到軟件工程的目標(biāo)。

3)提供高質(zhì)量的工程支持

“工欲善其事,必先利其器”。在軟件工程中,軟件工具與環(huán)境對軟件過程的支持頗為重要。軟件工程項(xiàng)目的質(zhì)量與開銷直接取決于對軟件工程所提供的支撐質(zhì)量和效用。

4)重視開發(fā)過程的管理

軟件工程的管理,直接影響可用資源的有效利用,生產(chǎn)滿足目標(biāo)的軟件產(chǎn)品,提高軟件組織的生產(chǎn)能力等問題。因此,僅當(dāng)軟件過程得以有效管理時(shí),才能實(shí)現(xiàn)有效的軟件工程。這一軟件工程框架告訴我們,軟件工程的目標(biāo)是可用性、正確性和合算性;實(shí)施一個(gè)軟件工程要選取適宜的開發(fā)范型,要采用合適的設(shè)計(jì)方法,要提供高質(zhì)量的工程支撐,要實(shí)行開發(fā)過程的有效管理;軟件工程活動(dòng)主要包括需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)和支持等活動(dòng),每一活動(dòng)可根據(jù)特定的軟件工程,采用合適的開發(fā)范型、設(shè)計(jì)方法、支持過程以及過程管理。根據(jù)軟件工程這一框架,軟件工程學(xué)科的研究內(nèi)容主要包括:軟件開發(fā)范型、軟件開發(fā)方法、軟件過程、軟件工具、軟件開發(fā)環(huán)境、計(jì)算機(jī)輔助軟件工程(CASE)及軟件經(jīng)濟(jì)學(xué)等。

軟件工程過程主要包括開發(fā)過程、運(yùn)作過程、維護(hù)過程。它們覆蓋了需求、設(shè)計(jì)、實(shí)現(xiàn)、確認(rèn)以及維護(hù)等活動(dòng)。需求活動(dòng)包括問題分析和需求分析。問題分析獲取需求定義,又稱軟件需求規(guī)約。需求分析生成功能規(guī)約。設(shè)計(jì)活動(dòng)一般包括概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。概要設(shè)計(jì)建立整個(gè)軟件系統(tǒng)結(jié)構(gòu),包括子系統(tǒng)、模塊以及相關(guān)層次的說明、每一模塊的接口定義。詳細(xì)設(shè)計(jì)產(chǎn)生程序員可用的模塊說明,包括每一模塊中數(shù)據(jù)結(jié)構(gòu)說明及加工描述。實(shí)現(xiàn)活動(dòng)把設(shè)計(jì)結(jié)果轉(zhuǎn)換為可執(zhí)行的程序代碼。確認(rèn)活動(dòng)貫穿于整個(gè)開發(fā)過程,實(shí)現(xiàn)完成后的確認(rèn),保證最終產(chǎn)品滿足用戶的要求。維護(hù)活動(dòng)包括使用過程中的擴(kuò)充、修改與完善。伴隨以上過程,還有管理過程、支持過程、培訓(xùn)過程等。

軟件工程有很多的發(fā)展方向。敏捷開發(fā)(Agile Development)被認(rèn)為是軟體工程的一個(gè)重要的發(fā)展。它強(qiáng)調(diào)軟體開發(fā)應(yīng)當(dāng)是能夠?qū)ξ磥砜赡艹霈F(xiàn)的變化和不確定性作出全面反應(yīng)的。敏捷開發(fā)被認(rèn)為是一種“輕量級”的方法。在輕量級方法中最負(fù)盛名的應(yīng)該是“極限編程”(Extreme Programming,簡稱為XP)。而與輕量級方法相對應(yīng)的是“重量級方法”的存在。重量級方法強(qiáng)調(diào)以開發(fā)過程為中心,而不是以人為中心。重量級方法的例子比如CMM/PSP/TSP。

面向側(cè)面的程序設(shè)計(jì)(Aspect Oriented Programming,簡稱AOP)被認(rèn)為是近年來軟體工程的另外一個(gè)重要發(fā)展。這里的方面指的是完成一個(gè)功能的對象和函數(shù)的集合。在這一方面相關(guān)的內(nèi)容有泛型編程(Generic Programming)和模板。

軟件工程是信息領(lǐng)域發(fā)展最快的學(xué)科分支之一。當(dāng)今時(shí)代是信息化的時(shí)代,而信息化的實(shí)現(xiàn),人才是最重要的環(huán)節(jié)。軟件產(chǎn)業(yè)的發(fā)展水平,決定了一個(gè)國家的信息產(chǎn)業(yè)發(fā)展水平及其在國際市場上的綜合競爭力。目前,我國高素質(zhì)的軟件工程人才的極度短缺已經(jīng)成為制約我國軟件產(chǎn)業(yè)快速發(fā)展的一個(gè)瓶頸,如何培養(yǎng)與國際接軌的高素質(zhì)軟件工程人才,已經(jīng)成為信息化工作中的重中之重。

隨著計(jì)算機(jī)應(yīng)用已經(jīng)滲透到經(jīng)濟(jì)和社會(huì)生活的方方面面,計(jì)算機(jī)軟件的概念早已為人們所熟知。然而,軟件是如何生產(chǎn)出來呢?大家可能在中學(xué)的時(shí)候利用過某些編程工具做了一些簡單的程序,這就是軟件生產(chǎn)的初級階段。實(shí)際大型軟件的生產(chǎn)往往需要成千上萬的人協(xié)作工作,共同完成軟件的生產(chǎn)過程,參與生產(chǎn)的成員有可能來自不同的國家、在不同的時(shí)區(qū)、用不同的語言,因此需要很好的交流、合作、分工、協(xié)調(diào),這樣的軟件生產(chǎn)過程,就必需要有高效的管理。另外,軟件是服務(wù)于社會(huì)的金融、交通、石油、教育、航天等各個(gè)行業(yè)的,因此也需要用軟件相關(guān)知識(shí)去分析具體的行業(yè)應(yīng)用,去設(shè)計(jì)最符合應(yīng)用需求的軟件,才能實(shí)現(xiàn)軟件的價(jià)值。軟件工程的目的就是在現(xiàn)有軟件開發(fā)技術(shù)基礎(chǔ)上,對應(yīng)用的需求進(jìn)行分析,設(shè)計(jì)高質(zhì)量的軟件架構(gòu),分配和協(xié)調(diào)每個(gè)軟件生產(chǎn)人員的工作,保證軟件高質(zhì)量的完成。

軟件工程人才的就業(yè)前景十分看好。未來幾年,國內(nèi)外高層次軟件人才將供不應(yīng)求。畢業(yè)生主要在各大軟件公司、企事業(yè)單位、高等院校、各大研究所、國防等重要部門從事軟件設(shè)計(jì)、開發(fā)、應(yīng)用與研究工作。有數(shù)據(jù)表明,我國軟件出口規(guī)模達(dá)到215億元,軟件從業(yè)人員達(dá)到72萬人,在中國十大IT職場人氣職位中,軟件工程師位列第一位,軟件工程人才的就業(yè)前景十分樂觀。

軟件產(chǎn)業(yè)的發(fā)展水平,決定了一個(gè)國家的信息產(chǎn)業(yè)發(fā)展水平及其在國際市場上的綜合競爭力。目前,我國軟件高級人才的短缺已經(jīng)成為制約我國軟件產(chǎn)業(yè)快速發(fā)展的一個(gè)瓶頸。在中國,國內(nèi)市場對軟件人才的需求每年高達(dá)80萬人,而高校計(jì)算機(jī)畢業(yè)生中的軟件工程人才還很缺乏,尤其是高素質(zhì)的軟件工程人才的極度短缺。盡快培養(yǎng)起適合信息產(chǎn)業(yè)所需要的高素質(zhì)軟件工程人才,已經(jīng)成為信息化工作中的重中之重。

下載軟件工程期末小結(jié)word格式文檔
下載軟件工程期末小結(jié).doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    軟件工程導(dǎo)論期末試題

    軟件工程導(dǎo)論期末考試試題 一.選擇(20分) 1、瀑布模型把軟件生命周期劃分為八個(gè)階段:問題的定義、可行性研究、軟件需求分析、系統(tǒng)總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和運(yùn)行、維護(hù)......

    軟件工程期末復(fù)習(xí)總結(jié)

    軟件工程期末復(fù)習(xí)總結(jié) 第一章 軟件工程學(xué)概述 1.軟件危機(jī):是指在計(jì)算機(jī)軟件開發(fā)、使用與維護(hù)過程中遇到的一系列嚴(yán)重問題和難題。包括如何開發(fā)軟件,如何維護(hù)數(shù)量不斷膨脹的已......

    軟件工程導(dǎo)論期末要求[定稿]

    南陽理工學(xué)院課程 期末考核要求及評分標(biāo)準(zhǔn)課程名稱:軟件工程導(dǎo)論學(xué)年學(xué)期:2013-2014-2 年級:2012級專業(yè):軟件工程專業(yè)期末考核100分制,具體內(nèi)容和分值如下。第一部分 課程總結(jié)(80......

    軟件工程期末總結(jié)和心得體會(huì)

    心得體會(huì) 通過這學(xué)期這門課程的學(xué)習(xí),使我獲益良多,作為一名計(jì)算機(jī)專業(yè)的學(xué)生, 覺得計(jì)算機(jī)方面的東西學(xué)的實(shí)在是太少了,專業(yè)知識(shí)的淺陋讓我感到有點(diǎn)羞愧, 老師告訴我們,我們......

    軟件工程”課程小結(jié)(范文大全)

    “軟件工程”課程小結(jié) 一、軟件工程學(xué)科體系 軟件工程的學(xué)科體系為67: 1、 一條主線: 軟件工程的生存周期 2、 二個(gè)技術(shù)層面: 軟件工程開發(fā)技術(shù)、軟件項(xiàng)目的管理技術(shù)。 3......

    期末小結(jié)

    期末小結(jié) 本學(xué)期,我部堅(jiān)持以鄧小平理論和“三個(gè)代表”重要思想為指導(dǎo),全面貫徹落實(shí)黨的教育方針,根據(jù)學(xué)校領(lǐng)導(dǎo)提出的開展“崇教厚德、為人師表”與“立志、修身、博學(xué)、報(bào)國”......

    期末小結(jié)

    曙光民辦小學(xué)2013學(xué)年第二學(xué)期 五年級語文教學(xué)工作小結(jié) 時(shí)光在忙忙碌碌中過去了。這學(xué)期我繼續(xù)擔(dān)任了五年級的語文教學(xué)工作,在剛剛接手這個(gè)班級時(shí)就感到壓力挺大,也深感肩上......

    期末小結(jié)

    期 末 小 結(jié) 常 曉 偉 時(shí)間飛逝,來宏星小學(xué)已經(jīng)四個(gè)多月了,一個(gè)學(xué)期也即將過去,在這一學(xué)期里,我慢慢的適應(yīng)了這里的生活節(jié)奏,也在緊張而忙碌的工作中學(xué)到了很多東西。 上學(xué)期我是......

主站蜘蛛池模板: 污污污污污污污网站污| 国产乱人激情h在线观看| 无码专区heyzo色欲av| 亚洲男人av天堂男人社区| 国产乡下三级全黄三级bd| 国产成人高清精品免费软件| 99精品视频在线观看| 艳妇臀荡乳欲伦交换在线播放| 欧美va天堂va视频va在线| 国产精品99久久不卡| 精品久久久久久久久久久aⅴ| 国产精品久久久福利| 国产精品久久久久久久久| 东京热tokyo综合久久精品| 无遮掩60分钟从头啪到尾| 一边摸一边抽搐一进一出视频| 久久99国产精品久久99果冻传媒| 日本在线看片免费人成视频| 无码孕妇孕交在线观看| 日韩大片在线永久免费观看网站| 无码av中文一区二区三区桃花岛| 成人做爰69片免费看网站野花| 亚洲国产精品久久久久制服| 国产精品香蕉在线观看网| 大香伊蕉在人线免费视频| 美国一区二区三区无码视频| 少妇太爽了在线观看| 免费人成视频在线| 日本黄页网站免费大全| 欧美激情肉欲高潮视频| 熟妇人妻午夜寂寞影院| 亚洲中文字幕av每天更新| 人妻少妇久久中文字幕| 免费视频欧美无人区码| 国内精品视频一区二区三区八戒| 黑人巨大无码中文字幕无码| 午夜精品久久久久9999高清| 亚洲高清成人aⅴ片在线观看| 少妇激情艳情综合小视频| 天天影视色香欲综合久久| 日日碰狠狠添天天爽超碰97久久|