《大學(xué)計算機基礎(chǔ)》課件第5章_第1頁
《大學(xué)計算機基礎(chǔ)》課件第5章_第2頁
《大學(xué)計算機基礎(chǔ)》課件第5章_第3頁
《大學(xué)計算機基礎(chǔ)》課件第5章_第4頁
《大學(xué)計算機基礎(chǔ)》課件第5章_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

5.1軟件開發(fā)技術(shù)5.2軟件工程基礎(chǔ)5.3程序設(shè)計基礎(chǔ)5.4算法

5.1.1軟件技術(shù)的重要思想

1.軟件開發(fā)技術(shù)

2.軟件開發(fā)方法中的重要思想

5.1軟件開發(fā)技術(shù)5.1.2軟件技術(shù)的發(fā)展及趨勢

軟件開發(fā)設(shè)計是人的智力的高度發(fā)揮,不是傳統(tǒng)意義上的硬件制造。

1.軟件技術(shù)的發(fā)展過程

迄今為止,計算機軟件開發(fā)技術(shù)經(jīng)歷了結(jié)構(gòu)化程序設(shè)計、面向?qū)ο笤O(shè)計方法、軟件工程、軟件組件(即插即用)設(shè)計和網(wǎng)構(gòu)軟件等方法的演變,如圖5-1所示。圖5-1軟件開發(fā)技術(shù)的發(fā)展

2.軟件開發(fā)技術(shù)的發(fā)展趨勢

(1)自動化程度的提高。

(2)把需求分析包括到軟件工作的范圍內(nèi),使軟件開發(fā)過程進一步向用戶方面延伸,離用戶更近了,避免了以往“你出算法,我編程序”的做法所帶來的種種問題。

(3)把軟件開發(fā)工作延伸到項目管理和版本管理,把軟件開發(fā)從一次編程擴展到全過程,這是軟件研制從個體的、手工作坊的方式向科學(xué)的、有組織的方式轉(zhuǎn)變的重要表現(xiàn)。

(4)研究吸收了許多管理科學(xué)的內(nèi)容和方法,如開發(fā)人員的組織、質(zhì)量的控制、開發(fā)過程的協(xié)調(diào)等,這一變化把軟件開發(fā)項目負(fù)責(zé)人的思想和方法擺在了更重要的位置,這是符合軟件規(guī)模越來越大、軟件開發(fā)工作越來越依賴組織與管理的發(fā)展趨勢的。5.1.3軟件開發(fā)方法

軟件研究人員在不斷探索新的軟件開發(fā)方法,至今已形成了八類軟件開發(fā)方法。

1.Parnas方法

2.SASD方法(結(jié)構(gòu)化方法)

3.Jackson方法(面向數(shù)據(jù)結(jié)構(gòu)的軟件開發(fā)方法)

4.面向問題的分析法

5.面向?qū)ο蟮能浖_發(fā)方法

6.可視化開發(fā)方法

7.ICASE方法

8.軟件重用和組件連接

5.1.4軟件開發(fā)過程

1.可行性討論階段

2.需求分析階段

3.系統(tǒng)設(shè)計階段

4.程序開發(fā)階段

5.軟件測試階段

6.文檔資料描述階段

7.系統(tǒng)的運行與維護階段

5.2.1軟件工程的基本概念

1.軟件工程的定義

2.軟件工程的核心思想及內(nèi)容

3.軟件工程的基本目標(biāo)與原則

5.2軟件工程基礎(chǔ)5.2.2軟件工程的基本原理

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

2.堅持進行階段評審

3.產(chǎn)品一致性控制

4.采用最新的軟件設(shè)計技術(shù)

5.清楚地審查軟件產(chǎn)品

6.人員應(yīng)該少而精

7.不斷改進軟件工程實踐的必要性

5.2.3軟件工程過程與軟件生命周期

1.軟件工程過程

2.軟件生命周期(SoftwareLifeCycle)

大體可分為三個時期(如圖5-2所示):軟件定義時期、軟件開發(fā)時期和軟件維護時期,各階段的任務(wù)及產(chǎn)生的相應(yīng)文檔如表5-1所示。圖5-2軟件生命周期表5-1軟件生命周期各階段的任務(wù)5.2.4瀑布模型

1970年溫斯頓·羅伊斯(WinstonRoyce)提出了著名的“瀑布模型(WaterfallModel)”,它是最早出現(xiàn)的軟件開發(fā)模型,在軟件工程中占有重要的地位。

瀑布模型將軟件生命周期劃分為制訂計劃、需求分析、軟件設(shè)計、程序編寫、軟件測試和運行維護等6個基本活動,并且規(guī)定了它們自上而下、相互銜接的固定次序,如同瀑布流水,逐級下落,如圖5-3所示。圖5-3瀑布模型5.3.1程序設(shè)計語言

1.程序設(shè)計語言的演變

1)機器語言

2)匯編語言

3)高級語言

4)第四代語言

5.3程序設(shè)計基礎(chǔ)2.常用程序設(shè)計語言

3.語言處理程序

1)匯編程序

2)解釋程序

3)編譯程序

5.3.2程序設(shè)計的基本知識

1.計算機程序

2.計算機執(zhí)行程序

3.程序流程圖

1)流程圖的特點

2)流程圖的種類

3)流程圖的基本符號

可以采用中國國家標(biāo)準(zhǔn)局批準(zhǔn)的GB1525-89中規(guī)定的常用標(biāo)準(zhǔn)符號,也可以用NS圖的規(guī)則表示。傳統(tǒng)流程圖的部分基本符號如圖5-4所示。圖5-4部分流程圖符號5.3.3程序設(shè)計的過程

1.程序的設(shè)計過程

2.程序的編制過程

語言處理程序包括編譯程序、解釋程序、匯編程序等。程序的編制過程如圖5-5所示。

3.程序的設(shè)計風(fēng)格

圖5-5程序的編制過程5.3.4程序設(shè)計的方法

1.結(jié)構(gòu)化程序設(shè)計

1)結(jié)構(gòu)化程序設(shè)計的原則

2)結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點

其流程如圖5-6所示,即執(zhí)行完A框內(nèi)的操作后,必然接著執(zhí)行B框內(nèi)的操作。

圖5-6順序結(jié)構(gòu)

(2)選擇結(jié)構(gòu)。其流程圖如圖5-7所示,即根據(jù)條件P,若成立,執(zhí)行A框內(nèi)的操作,若不成立,則執(zhí)行B框內(nèi)的操作。

(3)重復(fù)結(jié)構(gòu)。其流程圖如圖5-8所示,即判斷條件P,若成立,執(zhí)行A框內(nèi)的操作,執(zhí)行完A框的操作,再判斷條件P是否成立,若成立,再執(zhí)行A框內(nèi)的操作,如此反復(fù)執(zhí)行A框,直到P條件不成立時不執(zhí)行A框內(nèi)的操作,跳出循環(huán)。圖5-7選擇結(jié)構(gòu)

圖5-8重復(fù)結(jié)構(gòu)

3)程序的擴展結(jié)構(gòu)

程序的擴展結(jié)構(gòu)可以統(tǒng)稱為子程序,在不同的程序設(shè)計語言中也稱為過程、函數(shù)或組件。

用流程圖描述程序的結(jié)構(gòu),如圖5-9所示。圖5-9程序的結(jié)構(gòu)2.面向?qū)ο蟮某绦蛟O(shè)計

1)面向?qū)ο蟮某绦蛟O(shè)計簡介

2)面向?qū)ο蟪绦蛟O(shè)計的基本概念

3)面向?qū)ο蟪绦蛟O(shè)計的主要特征

4)面向?qū)ο蟪绦蛟O(shè)計的過程5.4.1算法的定義

1.算法的概念

2.算法的要素和內(nèi)容

3.算法的特性

4.算法的正確性判定

5.4算法5.4.2算法的描述

算法可采用任何形式的語言或符號來描述,通常有自然語言、圖形等多種方法。

1.自然語言

2.圖形

1)傳統(tǒng)流程圖

其含義如圖5-10所示。圖5-10傳統(tǒng)流程圖的常用符號

(1)陳述問題和需求分析:該問題明確,輸入任意兩個數(shù),輸出兩數(shù)中較大的數(shù)。

(2)確定算法:根據(jù)兩個數(shù)的比較結(jié)果決定程序的輸出結(jié)果。用傳統(tǒng)流程圖描述算法如圖5-11所示。這是一個選擇結(jié)構(gòu)算法。按照條件比較結(jié)果,選擇某個分支執(zhí)行。圖5-11用傳統(tǒng)流程圖描述算法

2)盒圖

盒圖是取代傳統(tǒng)流程圖的一種描述方式,它是由IkeNassi和BenShneiderman于1973年提出的,也稱NS圖。NS圖以結(jié)構(gòu)化程序設(shè)計(StructureProgramming,SP)方法為基礎(chǔ),僅含有圖5-12的5種基本成分,它們分別表示SP方法的幾種標(biāo)準(zhǔn)控制結(jié)構(gòu)。圖5-12NS圖的幾種標(biāo)準(zhǔn)控制結(jié)構(gòu)用NS圖作為詳細(xì)設(shè)計的描述手段時,常用兩個盒子:數(shù)據(jù)盒和過程盒,前者描述有關(guān)的數(shù)據(jù),包括全程數(shù)據(jù)、局部數(shù)據(jù)和模塊界面上的參數(shù)等,后者描述執(zhí)行過程,如圖5-13所示。圖5-13數(shù)據(jù)盒和過程盒

(1)陳述問題和需求分析:輸入30個學(xué)生成績數(shù)據(jù),輸出它們的平均值。

(2)確定算法:首先30個學(xué)生成績數(shù)據(jù)需要求和,然后用和值除以30取平均值。

使用NS流程圖描述解決該問題的循環(huán)結(jié)構(gòu)算法如圖5-14所示。圖5-14例5-3算法

5.4.3算法的復(fù)雜度

算法的復(fù)雜度是算法效率的度量,在評價算法性能時,復(fù)雜度是一個重要的依據(jù)。算法復(fù)雜度的程度與運行該算法所需要的計算機資源的多少有關(guān)。

1)時間復(fù)雜度

2)空間復(fù)雜度5.4.4算法設(shè)計與分析的基本方法

1.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論