




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
計(jì)算機(jī)基礎(chǔ)科學(xué)系主要教學(xué)內(nèi)容程序設(shè)計(jì)方法1軟件工程基礎(chǔ)2小結(jié)3計(jì)算機(jī)基礎(chǔ)科學(xué)系學(xué)習(xí)目標(biāo)1了解結(jié)構(gòu)化程序設(shè)計(jì)方法的優(yōu)點(diǎn)和缺點(diǎn);掌握面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念和基本特征。2了解面向主體的程序設(shè)計(jì)方法;掌握軟件工程的基本概念。3掌握軟件工程的生命周期;了解軟件的測試方法;了解優(yōu)質(zhì)軟件的評價(jià)方面。計(jì)算機(jī)基礎(chǔ)科學(xué)系重點(diǎn)與難點(diǎn)
面對對象程序設(shè)計(jì)的基本概念與基本思想,軟件工程的目標(biāo)、軟件生命周期、軟件測試方法與軟件質(zhì)量的評價(jià)是本講的重點(diǎn),面向?qū)Τ绦蛟O(shè)思想的領(lǐng)悟是本講的難點(diǎn)。計(jì)算機(jī)基礎(chǔ)科學(xué)系1.程序設(shè)計(jì)方法對象是獨(dú)立存在的客觀事物,是組成程序的構(gòu)件,由屬性和方法構(gòu)成。以模塊化設(shè)計(jì)為中心,結(jié)構(gòu)按功能劃分成若干個(gè)模塊。模塊功能通過子程序調(diào)用實(shí)現(xiàn)。用主體模擬人的思想和行為,用多主體系統(tǒng)模擬社會(huì)結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)面向主體程序設(shè)計(jì)計(jì)算機(jī)基礎(chǔ)科學(xué)系1.1結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)方法由迪克斯特拉(E.W.dijkstra)在1969年提出?;舅枷耄喊岩粋€(gè)待求解的問題按功能自頂向下分解成一個(gè)個(gè)相對簡單的子問題,即小模塊;然后用子程序或函數(shù)來解決這些子問題,用子程序或函數(shù)之間的數(shù)據(jù)通信來模擬這些子問題間的聯(lián)系;最后把這些子程序或函數(shù)裝配起來以形成解決問題的完整程序。開發(fā)方法:自上向下,逐步分解,分而治之計(jì)算機(jī)基礎(chǔ)科學(xué)系1.1結(jié)構(gòu)化程序設(shè)計(jì)優(yōu)點(diǎn)缺點(diǎn)1.各模塊相對獨(dú)立、功能單一、結(jié)構(gòu)清晰、接口簡單2.控制了程序設(shè)計(jì)的復(fù)雜性3.提高元件的可靠性4.縮短開發(fā)周期5.避免程序開發(fā)的重復(fù)勞動(dòng)6.易于維護(hù)和功能擴(kuò)充1.代碼的可重用性差
2.可維護(hù)性差
3.穩(wěn)定性差計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)在面向?qū)ο蟪绦蛟O(shè)計(jì)中,設(shè)計(jì)人員直接用一種稱為“對象”的程序構(gòu)件來描述客觀問題中的實(shí)體,并用“對象”間的“消息”來模擬實(shí)體間的聯(lián)系,用“類”來模擬這些實(shí)體間的共性。
(1)對象
對象是獨(dú)立存在的客觀事物。例如,一個(gè)人、一臺(tái)電腦、一輛汽車等都是一個(gè)對象。每個(gè)對象都有其相應(yīng)的屬性及附屬于它的行為。例如:一輛汽車有型號、外殼、顏色等特性,又有啟動(dòng)、加速、停止等行為。換檔開大燈剎車開冷氣顏色排檔數(shù)排氣量輪胎型號基本概念計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)對象有兩個(gè)特征:屬性狀態(tài)和行為。例如:一個(gè)人有他的身高或體重作屬性,
并有他的行為:如唱歌、打球、騎摩托車、開汽車。而在程序設(shè)計(jì)中,軟件對象的概念由真實(shí)世界對象而來。對象的概念是面向?qū)ο螅浖ο髮顟B(tài)保存在變量或稱數(shù)據(jù)字段里。而行為則借助方法為工具來實(shí)現(xiàn)。datafield1datafieldnmethod1methodn數(shù)據(jù)字段(狀態(tài))方法(行為)計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)又如:在下圖中,有一個(gè)對話框?qū)ο?,三個(gè)標(biāo)簽對象,三個(gè)文本框?qū)ο?,兩個(gè)命令按鈕對象,這些對象的組合構(gòu)成了加法運(yùn)算程序的界面。
作為對象之一的“確定”命令按鈕的主要屬性有按鈕的寬度與高度,按鈕的標(biāo)題等;方法是用戶為命令按鈕寫的程序代碼。該程序代碼將兩個(gè)文本框中的數(shù)相加顯示在第三個(gè)文本框中。圖1加法運(yùn)算程序計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)(2)類類在漢語詞典中的解釋為“很多相似事物的綜合,如種類、類別、人類等”。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,類是具有相同屬性和相同操作(服務(wù))的對象的集合,是一個(gè)抽象的概念,而一個(gè)對象則是類的一個(gè)“實(shí)例”。例如:汽車是一個(gè)抽象的類,具體的對象可以是:轎車、吉普車、中巴車、客車、跑車等。又如,在面向?qū)ο蟪绦蛑?,按鈕是類,具體的按鈕是由按鈕類來創(chuàng)建的一個(gè)實(shí)例。又如,Shape也是類,通過改變Shape的屬性可以創(chuàng)建圓、正方形、橢圓等形狀。
計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)(3)消息對象之間進(jìn)行通信的結(jié)構(gòu)叫做消息。在對象的操作中,當(dāng)一個(gè)消息發(fā)送給某個(gè)對象時(shí),消息包含接收對象去執(zhí)行某種操作的信息。如當(dāng)你(一個(gè)對象)發(fā)動(dòng)汽車(另一個(gè)對象),踩油門(交互)后,汽車內(nèi)部就發(fā)生一連串復(fù)雜的行為。datafield1datafieldnmethodnmethod1對象A對象B消息計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)抽象封裝繼承
同類事物具有共同性,每個(gè)事物又具有其特殊性。運(yùn)用抽象的原則舍棄對象的特殊性,抽取其共同性,則得到一個(gè)適應(yīng)于一批對象的類,這便是父類,而把具有特殊性的類稱為子類。封裝可被理解為一種用做保護(hù)的包裝器,以防止代碼和數(shù)據(jù)被外部代碼任意訪問,而要對其訪問時(shí)則通過一個(gè)明確定義的接口實(shí)現(xiàn)。在軟件程序中,并不需要知道一個(gè)類的完整結(jié)構(gòu),只要知道調(diào)用的方法。好比開車換檔時(shí),不須知道變速箱、齒輪等是如何運(yùn)作的,只要知道將檔排到哪里即可?;咎卣饔?jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)1.模塊化:一個(gè)對象的原始文件可以獨(dú)立地被撰寫及維護(hù)而不影響其他對象。而且對象可以輕易地在系統(tǒng)中來回地傳遞使用。就好像你借車給朋友,而它仍能正常地運(yùn)作一樣。2.信息隱藏:一個(gè)對象有一個(gè)公開的接口可供其他的對象與之溝通,但對象仍然維持私有的信息及方法,這些信息及方法可以在任何時(shí)間被修改,而不影響那些依賴此對象的其他對象。3.軟件復(fù)用:類的封裝特性使得類可重用性大為提高,這樣的有機(jī)單元特別適宜構(gòu)建大型標(biāo)準(zhǔn)化的應(yīng)用軟件系統(tǒng),可以大幅度地提高生產(chǎn)效率。封裝的好處:計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)繼承多態(tài)繼承
繼承是指一個(gè)對象從另一個(gè)對象中獲得屬性的過程,它支持按層次分類的概念。例如,波斯貓是貓的一種,貓又是哺乳動(dòng)物的一種,哺乳動(dòng)物又是動(dòng)物的一種。
子類的對象擁有其父類的全部或部分屬性與方法,即稱子類對父類的繼承。
同一操作作用于不同的對象,可以有不同的解釋,產(chǎn)生不同的執(zhí)行結(jié)果,即多態(tài)性。比如同樣的加法,把兩個(gè)時(shí)間加在一起和把兩個(gè)整數(shù)加在一起完全不同。基本特征計(jì)算機(jī)基礎(chǔ)科學(xué)系1.2面向?qū)ο蟪绦蛟O(shè)計(jì)
注意:當(dāng)對“父類”進(jìn)行修改后,這種修改會(huì)立即反映到所有以該“父類”為基礎(chǔ)而建立的全部“子類”中,不管這些“子類”是在“父類”修改前還是修改后建立的?!白宇悺睂Α案割悺钡睦^承如此,以一個(gè)“類”為基礎(chǔ)建立的“對象”,對所屬“類”的繼承也是如此。在子類繼承父類的同時(shí),可以重新定義某些屬性,并重寫某些方法,即覆蓋父類的原有屬性和方法,使其獲得與父類不同的功能。繼承的好處:實(shí)現(xiàn)代碼重用計(jì)算機(jī)基礎(chǔ)科學(xué)系1.3面向主體程序設(shè)計(jì)
面向主體方法是希望通過對人解決應(yīng)用問題的智能行為進(jìn)行模擬,在軟件解空間中建立一種嵌入在不斷變化,不確定世界中,能進(jìn)行感知并能自主采取行動(dòng)的計(jì)算實(shí)體。主體是含有心智成分,如信念,愿望,能力,職責(zé),承諾等的實(shí)體。學(xué)習(xí)能力反應(yīng)性社會(huì)性自主性主體的特征主體在沒有人直接干預(yù)下能夠采取行動(dòng),并能控制自己的行為和內(nèi)部狀態(tài)。主體能夠感知它們的環(huán)境,并以實(shí)時(shí)方式響應(yīng)環(huán)境中發(fā)生的變化。主體能夠根據(jù)其求解狀態(tài)和技能,在合適的時(shí)候與其他主體交互,以提高自己的問題求解能力或幫助其他主體的問題求解活動(dòng)。主體通過學(xué)習(xí)以往的經(jīng)驗(yàn)不斷改善自己對同一問題的求解能力。計(jì)算機(jī)基礎(chǔ)科學(xué)系2.軟件工程基礎(chǔ)IEEE【IEE83】給出的軟件工程定義:“軟件工程是開發(fā)、運(yùn)行、維護(hù)和修復(fù)軟件的系統(tǒng)方法?!盜EEE【IEE93】給出了一個(gè)更加綜合的定義:“將系統(tǒng)化的、規(guī)范的、可度量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù)的過程,即將工程化應(yīng)用于軟件中?!避浖こ淌菓?yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本為目的。
計(jì)算機(jī)軟件是包括程序、數(shù)據(jù)及相關(guān)文檔資料的完整的集合。
軟件工程則是應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序的總稱。軟件工程包括軟件開發(fā)與設(shè)計(jì)的方法,軟件開發(fā)過程使用的工具,以及軟件開發(fā)的過程。計(jì)算機(jī)基礎(chǔ)科學(xué)系2.1軟件工程的目標(biāo)
軟件工程的目標(biāo)是:在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的軟件產(chǎn)品。軟件工程是一門工程性學(xué)科,目的是成功地建造一個(gè)大型軟件系統(tǒng)。所謂成功,即:付出較低的開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;開發(fā)的軟件易于移植;需要較低的維護(hù)用費(fèi);能按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用;以及開發(fā)的軟件可靠性高等等。計(jì)算機(jī)基礎(chǔ)科學(xué)系2.2軟件生命周期問題定義及規(guī)劃需求分析軟件設(shè)計(jì)程序編碼軟件測試軟件生命周期軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用的過程。運(yùn)行維護(hù)計(jì)算機(jī)基礎(chǔ)科學(xué)系2.3軟件測試方法軟件測試是發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。軟件測試方法AddYourText靜態(tài)測試白盒測試動(dòng)態(tài)測試黑盒測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量或不實(shí)際運(yùn)行軟件,這種測試方法主要通過人工進(jìn)行。主要方法有邏輯覆蓋、基本路徑測試。主要診斷功能不對或遺漏、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤、性能錯(cuò)誤、初始化和終止條件錯(cuò)誤。計(jì)算機(jī)基礎(chǔ)科學(xué)系2.3軟件測試方法系統(tǒng)測試驗(yàn)收測試集成測試單元測試
軟件測試的目的就是要在軟件投入生產(chǎn)運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。大量統(tǒng)計(jì)資料表明,軟件測試的工作量往往占軟件開發(fā)總工作量的40%以上,在極端情況下,軟件測試所花費(fèi)的成本,可能相當(dāng)于軟件工程其它開發(fā)步驟總成本的3~5倍。因此,必須高度重視軟件測試工作。測試過程計(jì)算機(jī)基礎(chǔ)科學(xué)系2.4軟件質(zhì)量
軟件工程學(xué)的最終目標(biāo)是獲得優(yōu)質(zhì)量的軟件。所謂優(yōu)質(zhì)軟件是指軟件能夠滿足用戶顯式或隱式的需求,文檔齊全,符合組織的操作標(biāo)準(zhǔn),在其開發(fā)使用的硬件上高效運(yùn)行。
可靠性效率可理解性可維護(hù)性如何評價(jià)軟件質(zhì)量?計(jì)算機(jī)基礎(chǔ)科學(xué)系總結(jié)對象是獨(dú)立存在的客觀
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 解除商務(wù)樓合同協(xié)議書
- 貨運(yùn)合同解除協(xié)議
- 酒吧股份協(xié)議合同
- 拍賣招商代理合同協(xié)議
- 珠寶回購協(xié)議合同范本
- 茶樓租賃合同協(xié)議
- 協(xié)議存款合同2025
- 小情侶協(xié)議合同
- 土方安全協(xié)議合同
- 餐飲快餐合同協(xié)議
- 2025年4月自考03009精神障礙護(hù)理學(xué)押題及答案
- 人教版數(shù)學(xué)七年級上冊1.2.2《數(shù)軸》訓(xùn)練習(xí)題(有答案)
- 建筑工程《擬投入本項(xiàng)目的主要施工設(shè)備表及試驗(yàn)檢測儀器設(shè)備表》
- 醫(yī)院醫(yī)保季度分析報(bào)告總結(jié)
- 新生兒口腔運(yùn)動(dòng)干預(yù)
- 波司登品牌營銷方案
- 滅火器售后服務(wù)承諾書
- 《中國古代都城》課件
- 多維系統(tǒng)分析方法
- 人才招聘與獵頭服務(wù)行業(yè)的國際化發(fā)展
- 模擬政協(xié)培訓(xùn)課件
評論
0/150
提交評論