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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1.Parnas方法

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

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

4.面向問(wèn)題的分析法

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

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

7.ICASE方法

8.軟件重用和組件連接

5.1.4軟件開(kāi)發(fā)過(guò)程

1.可行性討論階段

2.需求分析階段

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

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

5.軟件測(cè)試階段

6.文檔資料描述階段

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

5.2.1軟件工程的基本概念

1.軟件工程的定義

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

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

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

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

2.堅(jiān)持進(jìn)行階段評(píng)審

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

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

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

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

7.不斷改進(jìn)軟件工程實(shí)踐的必要性

5.2.3軟件工程過(guò)程與軟件生命周期

1.軟件工程過(guò)程

2.軟件生命周期(SoftwareLifeCycle)

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

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

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

1.程序設(shè)計(jì)語(yǔ)言的演變

1)機(jī)器語(yǔ)言

2)匯編語(yǔ)言

3)高級(jí)語(yǔ)言

4)第四代語(yǔ)言

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

3.語(yǔ)言處理程序

1)匯編程序

2)解釋程序

3)編譯程序

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

1.計(jì)算機(jī)程序

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

3.程序流程圖

1)流程圖的特點(diǎn)

2)流程圖的種類(lèi)

3)流程圖的基本符號(hào)

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

1.程序的設(shè)計(jì)過(guò)程

2.程序的編制過(guò)程

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

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

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

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

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

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

其流程如圖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條件不成立時(shí)不執(zhí)行A框內(nèi)的操作,跳出循環(huán)。圖5-7選擇結(jié)構(gòu)

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

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

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

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

1)面向?qū)ο蟮某绦蛟O(shè)計(jì)簡(jiǎn)介

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

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

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

1.算法的概念

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

3.算法的特性

4.算法的正確性判定

5.4算法5.4.2算法的描述

算法可采用任何形式的語(yǔ)言或符號(hào)來(lái)描述,通常有自然語(yǔ)言、圖形等多種方法。

1.自然語(yǔ)言

2.圖形

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

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

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

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

2)盒圖

盒圖是取代傳統(tǒng)流程圖的一種描述方式,它是由IkeNassi和BenShneiderman于1973年提出的,也稱NS圖。NS圖以結(jié)構(gòu)化程序設(shè)計(jì)(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è)計(jì)的描述手段時(shí),常用兩個(gè)盒子:數(shù)據(jù)盒和過(guò)程盒,前者描述有關(guān)的數(shù)據(jù),包括全程數(shù)據(jù)、局部數(shù)據(jù)和模塊界面上的參數(shù)等,后者描述執(zhí)行過(guò)程,如圖5-13所示。圖5-13數(shù)據(jù)盒和過(guò)程盒

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

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

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

5.4.3算法的復(fù)雜度

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

1)時(shí)間復(fù)雜度

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

1.

溫馨提示

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

評(píng)論

0/150

提交評(píng)論