版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)10.用計(jì)算機(jī)解決問題的步驟
利用計(jì)算機(jī)解決一個(gè)問題時(shí),一般情況要經(jīng)過如下步驟:抽象:數(shù)學(xué)化—模型化;算法:列出求解步驟—步驟化;編成:用計(jì)算機(jī)描述算法—代碼化;運(yùn)行:編輯、調(diào)試和測試—實(shí)施。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)21.算法算法的定義;算法的要滿足的條件;算法的評(píng)價(jià);算法的設(shè)計(jì)要求;算法的表示。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)3算法的定義算法的定義:
算法:是對(duì)特定求解步驟地一種描述。 是指令的有限序列。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)4算法的要滿足的5個(gè)條件算法的要滿足的5個(gè)條件:有窮性:確定性:輸入:輸出:可行性:2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)5算法的評(píng)價(jià)算法的評(píng)價(jià): 算法的時(shí)間復(fù)雜度—語句重復(fù)次數(shù);T(n)
算法的空間復(fù)雜度—內(nèi)存占用量;S(n)
算法的可讀性—用于交流—便于理解2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)6算法的設(shè)計(jì)要求算法設(shè)計(jì)的要求:正確:首要條件;合法輸入—正確結(jié)果可讀:便于閱讀交流;算法—程序健壯:滿足各種情況;高效:效率要高—空間、時(shí)間2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)7算法的表示算法的表示:自然語言:流程圖;算法描述語言:2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)8(1)輸入n的值(2)2=>i(i作除數(shù))(3)n被i除得余數(shù)r(4)若r=0,表示n能被i整除,則打印“n不是素?cái)?shù)”,算法結(jié)束;否則執(zhí)行(5)(5)i+1=>i(6)若i<=n-1,返回(3);否則打印“n是素?cái)?shù)”,然后結(jié)束自然語言描述例如:判斷正整數(shù)n(n≥3)是不是質(zhì)數(shù)。用算法描述語言描述其算法如下。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)9傳統(tǒng)流程圖表示法例如:判斷正整數(shù)n(n≥3)是不是質(zhì)數(shù)。用算法描述語言描述其算法如下。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)10例如:判斷正整數(shù)n(n≥3)是不是質(zhì)數(shù)。用算法描述語言描述其算法如下。BEGIN(算法開始)輸入正整數(shù)n;i=2;f=1;do{r=n%i;if(r==0)f=0;i=i+1;}while(i<=n-1);if(f==0)輸出“n不是質(zhì)數(shù)”;else輸出“n是質(zhì)數(shù)”;END(算法結(jié)束)算法描述語言2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)112.程序設(shè)計(jì)程序:是解決特定問題的指令序列。程序設(shè)計(jì)語言:是描述計(jì)算機(jī)所執(zhí)行的操作的語言。程序設(shè)計(jì):是指使用程序語言產(chǎn)生程序的過程。程序設(shè)計(jì)所涉及的問題:不是簡單的代碼編寫過程。程序設(shè)計(jì)的分類:結(jié)構(gòu)化(解決簡單問題—過程)和面向?qū)ο?解決復(fù)雜問題—抽象)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)12程序設(shè)計(jì)所涉及的問題程序設(shè)計(jì)所涉及的問題:語言的選擇;設(shè)計(jì)風(fēng)格;算法;邏輯結(jié)構(gòu);2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)13結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu):structure,各個(gè)組成部分的搭配和排列。結(jié)構(gòu)化程序設(shè)計(jì):是進(jìn)行以模塊功能和處理過程設(shè)計(jì)為主的詳細(xì)設(shè)計(jì)的基本原則。
分類:順序:先后順序,自然順序選擇:分支結(jié)構(gòu);循環(huán):重復(fù)結(jié)構(gòu);2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)14面向?qū)ο蠡绦蛟O(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)方法可以解決中小規(guī)模的問題,解決較復(fù)雜的問題比較困難,在此基礎(chǔ)上產(chǎn)生了新的方法—面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念:對(duì)象和類、封裝性、繼承性、多態(tài)性2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)15多態(tài)性多態(tài)性(多形性)
多態(tài)性使指相同的操作或函數(shù)、過程可作用于多種類型的對(duì)象上并獲得不同的結(jié)果。不同的對(duì)象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。
多態(tài)性允許每個(gè)對(duì)象以適合自身的方式去響應(yīng)共同的消息。
多態(tài)性增強(qiáng)了軟件的靈活性和重用性。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)16繼承性繼承性是子類自動(dòng)共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的類的基礎(chǔ)之上來進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容作為自己的內(nèi)容,并加入若干新的內(nèi)容。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)17封裝性封裝性(信息隱藏) 是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)。面向?qū)ο蟮念愂欠庋b良好的模塊,類定義將其說明(用戶可見的外部接口)與實(shí)現(xiàn)(用戶不可見的內(nèi)部實(shí)現(xiàn))顯式地分開,其內(nèi)部實(shí)現(xiàn)按其具體定義的作用域提供保護(hù)。對(duì)象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動(dòng)影響。面向?qū)ο蟮姆庋b比傳統(tǒng)語言的封裝更為清晰、更為有力。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)18對(duì)象和類對(duì)象:object,是人們要進(jìn)行研究的任何事物,從最簡單的整數(shù)到復(fù)雜的飛機(jī)等均可看作對(duì)象,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計(jì)劃或事件。男女朋友;行為或思考時(shí)作為目標(biāo)的人或事。具有狀態(tài)、屬性和行為。類:是對(duì)象的定義;是對(duì)具有相同行為和屬性的對(duì)象的抽象和描述。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)193.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu):基本概念;數(shù)據(jù)結(jié)構(gòu)的分類線性表堆棧隊(duì)列串?dāng)?shù)組樹二叉樹圖線性結(jié)構(gòu)非線性結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)DS2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)20基本概念數(shù)據(jù)(Data):是對(duì)客觀事物的物理符號(hào)表示。數(shù)據(jù)項(xiàng)(DataItem):也稱為字段、域、屬性。數(shù)據(jù)元素(Element):是數(shù)據(jù)的基本單位—由若干數(shù)據(jù)項(xiàng)組成。數(shù)據(jù)對(duì)象(DataObject):是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的一個(gè)子集。數(shù)據(jù)結(jié)構(gòu)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)21數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu):是指相互之間存在一種或多種關(guān)系的數(shù)據(jù)元素的集合。 數(shù)據(jù)結(jié)構(gòu)是帶有結(jié)構(gòu)特征的數(shù)據(jù)元素的集合,三要素:
DS=數(shù)據(jù)的邏輯結(jié)構(gòu)+存儲(chǔ)結(jié)構(gòu)+數(shù)據(jù)的運(yùn)算 按某種邏輯關(guān)系組織起來的一批數(shù)據(jù),按一定的存儲(chǔ)方式把它存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中,并在這些數(shù)據(jù)上定義了一個(gè)運(yùn)算的集合,叫做一個(gè)數(shù)據(jù)結(jié)構(gòu)(DataStructures)。2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)224.軟件工程軟件危機(jī)軟件工程的定義軟件生命周期結(jié)構(gòu)化方法學(xué)面向?qū)ο蠓椒▽W(xué)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)23軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題。這些嚴(yán)重的問題阻礙著軟件生產(chǎn)的規(guī)模化、商品化以及生產(chǎn)效率。使得軟件的開發(fā)和生產(chǎn)成為制約軟件產(chǎn)業(yè)發(fā)展的“瓶徑”。危機(jī)的由來軟件危機(jī)(SoftwareCrisis)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)24硬件生產(chǎn)率大幅提高軟件規(guī)模越來越大軟件生產(chǎn)率很低硬、軟件供需失衡矛盾引發(fā)“軟件危機(jī)”軟件危機(jī)的由來2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)25軟件工程的定義軟件工程是包含軟件開發(fā)一切流程的學(xué)科。它又是一門交叉學(xué)科;包括計(jì)算機(jī)科學(xué)、數(shù)學(xué)、工程學(xué)和管理等學(xué)科。主要研究:克服、解決“軟件危機(jī)”改進(jìn)“軟件生產(chǎn)”的方法、工具提高軟件的生產(chǎn)率2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)26一個(gè)軟件從提出開發(fā)要求開始直到該軟件報(bào)廢為止的整個(gè)時(shí)期被稱為軟件生命周期。軟件生命周期包括:可行性分析和項(xiàng)目開發(fā)計(jì)劃,需求分析,概要設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼,測試,維護(hù)。生命周期大體分為三個(gè)時(shí)期:計(jì)劃時(shí)期(問題定義和可行性分析)、開發(fā)時(shí)期(需求分析、軟件設(shè)計(jì)(總體、詳細(xì))、編碼、測試)和運(yùn)行時(shí)期(軟件維護(hù))。軟件生命周期2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)27
可行性研究的目的是用最小的代價(jià)在盡可能短的時(shí)間內(nèi)確定問題是否能夠解決。必須記住,可行性研究的目的不是解決問題,而是確定問題是否值得去解。技術(shù)可行性:使用現(xiàn)有的技術(shù)能實(shí)現(xiàn)這個(gè)系統(tǒng)嗎?經(jīng)濟(jì)可行性:這個(gè)系統(tǒng)的經(jīng)濟(jì)效益能超過它的開發(fā)成本嗎?操作可行性:系統(tǒng)的操作方式在這個(gè)用戶組織內(nèi)行得通嗎?可行性研究2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)28
任務(wù)是:收集、分析、理解、確定用戶的要求;然后把用戶的要求精確、完整地描述表達(dá)出來。具體任務(wù)包括:確定對(duì)系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的邏輯模型修正系統(tǒng)開發(fā)計(jì)劃階段結(jié)果,產(chǎn)生出:軟件計(jì)劃、需求說明書需求分析2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)29系統(tǒng)設(shè)計(jì):確定系統(tǒng)的具體實(shí)現(xiàn)方案
結(jié)構(gòu)設(shè)計(jì):確定軟件的結(jié)構(gòu)
在進(jìn)行軟件設(shè)計(jì)過程中應(yīng)該遵循的基本原理和有關(guān)的概念:模塊化
抽象和逐步求精
信息屏蔽
模塊獨(dú)立
總體設(shè)計(jì)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)30詳細(xì)設(shè)計(jì)是確定對(duì)目標(biāo)系統(tǒng)的精確描述,也就是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu)。結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)是軟件詳細(xì)設(shè)計(jì)的基礎(chǔ)。詳細(xì)設(shè)計(jì)階段通常使用的工具有程序流程圖、N-S盒圖、問題分析圖(PAD圖)、判定表、判定樹、過程設(shè)計(jì)語言(PDL)。詳細(xì)設(shè)計(jì)2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)31
編碼時(shí)將軟件設(shè)計(jì)的結(jié)果翻譯成用某種程序設(shè)計(jì)語言書寫的程序。程序的質(zhì)量基本上是由設(shè)計(jì)的質(zhì)量決定。但是編碼使用的語言,書寫程序的風(fēng)格和途徑也對(duì)程序的質(zhì)量有相當(dāng)大的影響。在選擇程序設(shè)計(jì)語言時(shí)不僅要考慮程序設(shè)計(jì)語言本身的特點(diǎn),還要考慮軟件使用環(huán)境等一系列實(shí)際因素。程序內(nèi)部良好的文檔資料,有規(guī)律的數(shù)據(jù)說明格式,簡單清晰的語句構(gòu)造和輸入/輸出格式等,都對(duì)提高程序的可讀性有很大作用,也在相當(dāng)程度上改進(jìn)了程序的可維護(hù)性。利用適當(dāng)?shù)能浖ぞ咻o助編碼過程,可以提高生產(chǎn)率并減少程序中的差錯(cuò)。編碼2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)32測試的目的就是在軟件投入運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。軟件測試是保證軟件質(zhì)量的關(guān)鍵步驟。軟件測試的方法有兩種:白盒測試和黑盒測試。黑盒測試,又稱功能測試,是指完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程,只按照規(guī)格說明書的規(guī)定來檢查程序是否符合要求。白盒測試,又稱結(jié)構(gòu)測試,是指測試人員完全了解程序的內(nèi)部結(jié)構(gòu)和處理過程,測試時(shí)按照程序內(nèi)部的邏輯測試程序,檢驗(yàn)程序中的每條通路是否都能按預(yù)定的要求正確工作。測試2023/12/6第九章軟件開發(fā)設(shè)計(jì)基礎(chǔ)33軟件的測試步驟模塊測試:又稱單元測試,是將每個(gè)模塊作為一個(gè)單獨(dú)的實(shí)體來測試。子系統(tǒng)測試:是將經(jīng)過單元測試的模塊放在一起形成一個(gè)子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/Z 18620.5-2025檢驗(yàn)實(shí)施規(guī)范第5部分:齒輪測量儀器評(píng)價(jià)
- 妊娠期卒中患者個(gè)體化健康教育的實(shí)施策略
- 妊娠期嗜鉻細(xì)胞瘤的容量管理策略
- 城市規(guī)劃管理試題及答案
- 2025-2026八年級(jí)生物上學(xué)期 綜合題型訓(xùn)練(含答案)
- 爆破員培訓(xùn)試題及答案
- 多胎妊娠早產(chǎn)的預(yù)測與預(yù)防策略
- 多維風(fēng)險(xiǎn)評(píng)分系統(tǒng)在職業(yè)性篩查中應(yīng)用
- 多組學(xué)數(shù)據(jù)標(biāo)準(zhǔn)化評(píng)估指標(biāo)體系
- 2025年高職沉香結(jié)香(結(jié)香技術(shù)與品質(zhì)提升)試題及答案
- 糧食倉儲(chǔ)設(shè)施建設(shè)維修資金申請(qǐng)報(bào)告
- 腦器質(zhì)性精神障礙護(hù)理查房
- 中考英語聽力命題研究與解題策略省公開課金獎(jiǎng)全國賽課一等獎(jiǎng)微課獲獎(jiǎng)?wù)n件
- 物聯(lián)網(wǎng)智能家居設(shè)備智能控制手冊(cè)
- 2023-2024學(xué)年湖北省武漢市東西湖區(qū)五年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 懷化市2024-2025學(xué)年高一上學(xué)期期末地理試題(含答案解析)
- 全國班主任比賽一等獎(jiǎng)《班主任經(jīng)驗(yàn)交流》課件
- 偽裝防護(hù)基礎(chǔ)知識(shí)
- 四川省成都市2024年七年級(jí)上學(xué)期期末數(shù)學(xué)模擬試卷6套【附參考答案】
- 消化內(nèi)科危重患者護(hù)理
- 小學(xué)二年級(jí)上冊(cè)期中考試數(shù)學(xué)試卷含答案(共3套-人教版)
評(píng)論
0/150
提交評(píng)論