軟體工程導論重點內容

2022-05-06 05:33:03 字數 5184 閱讀 6885

第一章軟體工程概述

一.什麼是軟體?

1.滿足功能要求和效能的指令或電腦程式集合;

2.處理資訊的資料結構;

3.描述程式功能以及程式如何操作和使用所要求的文件;

軟體的特點:

軟體是一種邏輯實體,而不是具體的物理實體,因而它具有抽象性。

軟體是通過人們的智力活動,把知識與技術轉換成資訊的一種產品,是在研製、開發中被創造出來的

在軟體執行和使用的期間,沒有硬體那樣的機械磨損、老化問題

軟體的開發和執行經常受到計算機系統的限制,對計算機系統有著不同程度的依賴性

軟體的開發至今尚未完全擺脫手工的開發方式

軟體的開發費用越來越高,成本相當昂貴。

二.軟體危機以及產生軟體危機的原因

1.軟體開發生產率提高的速度,遠遠跟不上計算機迅速普及的趨勢。軟體產品「供不應求」。

2.軟體成本在計算機系統總成本中所佔的比例逐年上公升。

3.軟體開發人員和使用者之間的資訊交流往往很不充分,使用者對「已完成的」的軟體系統不滿足的現象經常發生。

4.軟體產品的質量不容易保證。

5.軟體產品常常是不可維護的。

6.軟體產品的重用性差,同樣的軟體多次重複開發。

7.軟體通常沒有適當的文件資料。

產生軟體危機的原因可歸結為兩個重要的方面:

軟體生產本身存在的複雜性;

軟體開發所使用的方法和技術。

三、軟體危機

1、軟體危機定義:軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。

2、軟體危機的兩個主要問題:如何開發軟體,以滿足對軟體日益增長的需求;

如何維護數量不斷膨脹的已有軟體。

3、軟體危機的典型表現:(1) 對軟體開發成本和進度的估計常常很不準確。

(2) 使用者對「已完成的」軟體系統不滿意的現象經常發生。

(3) 軟體產品的質量往往靠不住。

(4) 軟體常常是不可維護的。

(5) 軟體通常沒有適當的文件資料。

(6) 軟體成本在計算機系統總成本中所佔的比例逐年上公升。

(7) 軟體開發生產率提高的速度,遠遠跟不上計算機應用迅速普及深入的趨勢。

軟體工程

1、軟體工程定義:軟體工程是指導計算機軟體開發和維護的一門工程學科。採用工程的概念、原理、技術和方法來開發與維護軟體,把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術方法結合起來,以經濟地、高效的開發出高質量的軟體並有效地維護它,這就是軟體工程。

軟體工程準則可以概括為7條基本原則:

用分階段的生命週期計畫嚴格管理;

堅持進行階段評審

實行嚴格的產品控制

採用現代程式設計技術

應能清楚地審查結果

合理安排軟體開發小組的人員

承認不斷改進軟體工程實踐的必要性

3、軟體工程方法學三要素:方法、工具和過程

4、軟體生命週期(概念、三時期,八階段)

軟體生命週期由軟體定義、軟體開發和執行維護(也稱為軟體維護)3個時期組成。

軟體定義時期通常進一步劃分成3個階段,即問題定義、可行性研究和需求分析。

軟體開發時期分為4階段:總體設計、詳細設計、編碼和單元測試、綜合測試

五、軟體開發模型:軟體開發模型是跨越整個軟體生存週期的系統開發、運作、維護實施的全部工作和任務的結構框架。

1)瀑布模型

瀑布模型即生存週期模型,由提出,是軟體工程的基礎模型。其核心思想是按工序將問題化簡,將功能的實現與設計分開,便於分工協作。

採用結構化的分析與設計方法,將邏輯實現與物理實現分開。

特點階段的順序性和依賴性(規範化)

推遲實現的觀點(系統化)

質量保證(階段評審)

存在問題

不適合需求模糊的系統(需求的迷糊性和不確定性)

適用於作業系統、編譯系統、資料庫管理系統等系統軟體的開發

快速原型模型:

所謂快速原型是快速建立起來的可以在計算機上執行的程式,它所能完成的功能往往是最終產品能完成的功能的乙個子集。快速原型模型的第一步是快速建立乙個能反映使用者主要需求的原型系統,讓使用者在計算機上試用它,通過實踐來了解目標系統的概貌

3)增量模型:是瀑布模型的順序特徵與快速原型法德迭代特徵相結合的產物。這種模型把軟體看成一系列相互聯絡的增量,在看法過程的各次迭代中,每次完成其中的乙個增量。

4)噴泉模型

5)微軟過程

六、思考

你認為「軟體就是程式」這乙個觀點正確嗎?如果不正確,請批駁之。

1. 請從以下幾個方面結合自己的經驗例項加以論述。

軟體就是程式的觀點是不正確的,因為軟體等於程式加文件加資料。

(1) 文件是軟體的乙個非常重要的組成部分,在軟體的開發過程中起著非常重要的作用。

(2) 在軟體開發的每乙個階段都應有相應的文件。它是開發人員與使用者以及開發人員與專案管理人員之間交流的媒介

(3) 文件是軟體在不同階段的表現形式。

(4) 程式與文件必須一致,文件才有價值。

(5) 文件質量直接決定軟體質量的高低。

(6) 文件也是軟體測試和維護的依據。在沒有文件或文件不全的情況下對大型軟體進行測試與維護是不可思議的事情。

(7) 文件是軟體可重用的依據。

2、有人說:軟體開發時,乙個錯誤發現得越晚,為改正它所付出的代價就越大。對否?請解釋你的回答。

答:對第二章可行性研究

重點掌握的內容:可行性研究的系統流程圖

一般內容:可行性研究的任務和步驟,成本效益分析

一、可行使研究:

1、 可行性研究的任務:是用最小的代價在盡可能短的時間內確定問題是否能夠解決。一般來說,應從經濟可行性、技術可行性、執行可行性、法律可行性和開發方案等方面研究可行性

可行性研究的目的:在明確了所要研究問題定義之後,分析員應該在明確目標系統所有限制和約束的前提下,去確定該問題是否值得去解決。(或就是用最小代價在盡可能短的時間內確定問題是否能夠解決。

)2、可行性研究過程:

1)複查系統規模和目標

2)研究目前正在使用的系統

3)匯出新系統的高層邏輯模型

4)進一步定義問題

5)匯出和評價供選擇的解法

6)推薦行動方針

7)草擬開發計畫

8)書寫文件提交審查

3、系統流程圖的定義和作用:

可行性研究對現有系統做概括的物理模型描述,如用圖形工具表示則更加直觀簡潔。系統流程圖是描繪物理系統的傳統工具,它的基本思想是用圖形符號以黑盒子形式描繪系統裡面的每個部件(程式、檔案、資料庫、**、人工過程等)。系統流程圖表達的是部件的資訊流程,而不是對資訊進行加工處理的控制過程。

在可行性研究過程中,利用系統流程圖來描述所建議系統的物理模型。

4、資料流程圖的定義和作用:資料流程圖有兩個特徵:抽象性和概括性。

抽象性指的是資料流程圖把具體的組織機構、工作場所、物質流都去掉,只剩下資訊和資料儲存、流動、使用以及加工情況。

概括性則是指資料流程圖把系統對各種業務的處理過程聯絡起來考慮,形成乙個總體

5、資料流程圖的組成元素

資料流圖可以用來抽象地表示系統或軟體。它從資訊傳遞和加工的角度,以圖形的方式刻畫資料流從輸入到輸出的移動變換過程,同時可以按自頂向下、逐步分解的方法表示內容不斷增加的資料流和功能細節。因此,資料流圖既提供了功能建模的機制,也提供了資訊流建模的機制,從而可以建立起系統或軟體的功能模型。

6、資料流程圖的組成:外部實體(外部實體是指系統之外的人或單位,它們和本系統有資訊傳遞關係)資料流,處理、資料儲存。

如何繪製資料流程圖

(1)識別系統的輸入和輸出,畫出頂層圖

(2)畫系統內部的資料流、加工與檔案,畫出一級細化圖

(3)加工的進一步分解,畫出二級細化圖

(4)其它注意事項

7、資料流程圖的注意點

1)每個處理都必須有流入的資料流和流出的資料流,如果沒有,是錯誤的。(資料守恆)

2)每個資料儲存應該有流入的資料流和流出的資料流,如果缺了一種,是warning的;缺兩種就錯了。

3)、資料流只能在處理與處理、資料儲存或者外部實體之間流動。、資料儲存到資料儲存、外部實提到外部實體、外部實提到資料儲存之間的資料流都是錯誤的。

4)、 乙個處理可以細分成多個子處理,分成若干個層次(均勻分解)

5)、良好命名

系統流程圖與資料流程圖有什麼區別?

答:1)系統流程圖描述系統物理模型的工具,資料流程圖描述系統邏輯模型的工具。

2)系統流程圖從系統功能的角度抽象的描述系統的各個部分及其相互之間資訊流動的情況。

3)資料流程圖從資料傳送和加工的角度抽象的描述資訊在系統中的流動和資料處理的工作狀況。

三、資料流圖

1、組成符號:4中基本圖形符號正方形、圓角矩形、開口矩形

2、資料流圖的基本要點是描繪「做什麼」,而不是考慮「怎麼做」。

3、一套分層的的資料流圖由頂層、底層、和中間層組成。

4、畫分層資料流圖基本原則與注意事項:

a.自外向內,自頂向下,逐層細化,完善求精。

b.保持父圖與子圖的平衡。也就是說,父圖中某加工的輸入資料流中的資料必須與它的子圖的輸入資料流在數量和名字上相同。

c.保持資料守恆。也就是說,乙個加工所有輸出資料流中的資料必須能從該加工的輸入資料流中直接獲得,或者是通過該加工能產生的資料。

d.加工細節隱藏。根據抽象原則,在畫父圖時,只需畫出加工和加工之間的關係,而不必畫出各個加工內部的細節。

e.簡化加工間關係。在資料流圖中,加工間的資料流越少,各加工就越相對獨立,所以應儘量減少加工間輸入輸出資料流的數目。

f.均勻分解。應該使乙個資料流中的各個加工分解層次大致相同。

g.適當地為資料流、加工、檔案、源/宿命名,名字應反映該成分的實際意義,避免空洞的名字。

h.忽略枝節。應集中精力於主要的資料流,

而暫不考慮一些例外情況、出錯處理等枝節性問題。

i.表現的是資料流而不是控制流。

j.每個加工必須既有輸入資料流,又有輸

出資料流.在整套資料流圖中,每個檔案必須既有讀檔案的資料流又有寫檔案的資料流,但在某一張子圖中可能只有讀沒有寫或者只有寫沒有讀。

小結:乙個軟體系統,其資料流圖往往有多層。如果父圖有n個加工(process),則父圖允許有0~n張子圖,但是每張子圖只能對應一張父圖。

在一張dfd圖中,任意兩個加工之間可以有0條或多條名字互不相同的資料流;在畫資料流圖時,應該注意父圖和子圖的平衡,即父圖中某加工的輸入輸出資料流必須與其輸入輸出流在數量和名字上相同。dfd資訊流大致可分為兩類:交換流和事務流。

9、資料字典

1). 資料字典是在資料流程圖的基礎上,對資料流程圖中的各個元素進行詳細的定義與描述,起到對資料流程圖進行補充說明的作用。

軟體工程導論

1.軟體的定義 軟體是程式 資料及相關文件的完整集合。2.軟體危機的定義 表現 原因 定義 軟體危機是指在計算機軟體的開發和維護過程中所遇到的一系列嚴重問題。表現 a 對軟體開發成本和進度的估計常常很不準確。b 使用者對 已完成的 軟體系統不滿意的現象經常發生。c 軟體產品的質量往往靠不住。d 軟體...

軟體工程導論試題 列印

一 選擇 1 瀑布模型把軟體生命週期劃分為八個階段 問題的定義 可行性研究 軟體需求分析 系統總體設計 詳細設計 編碼 測試和執行 維護。八個階段又可歸納為三個大的階段 計畫階段 開發階段和 c a 詳細計畫 b 可行性分析 c 執行階段 d 測試與排錯 2 從結構化的瀑布模型看,在它的生命週期中的...

學習軟體工程導論的感想

我們沒有進行過系統化軟體設計的教育和學習,對如何進行軟體的開發基本上就是想什麼寫什麼。根本沒有過系統化的設計。比如需求分析,可行性研究等。更不知道用什麼模型來設計軟體。這在我們以後的工作中是完全不行的,沒有系統化的設計,是不可能滿足客戶的需求的。胡老師讓我們分組進行軟體互換的形式來進行軟體的修改。其...