版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、公共基礎(chǔ)知識(shí)第二三章第1頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一本章主要內(nèi)容程序設(shè)計(jì)方法和風(fēng)格 結(jié)構(gòu)化程序設(shè)計(jì) 面向?qū)ο蟪绦蛟O(shè)計(jì) 第2頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一2.1 程序設(shè)計(jì)方法和風(fēng)格 什么是程序(了解) 指令的集合。(解釋指令) 通過硬件控制系統(tǒng)自動(dòng)完成某一功能。 通過一系列代碼實(shí)現(xiàn)。 程序設(shè)計(jì)語言 計(jì)算機(jī)本身僅能識(shí)別二進(jìn)制代碼“0”、“1”。 高級(jí)語言,比如C、JAVA、BASIC等。在ACCESS中,我們使用的程序設(shè)計(jì)語言是VBA(visual basic For application)編程最直接、最低級(jí)的就是機(jī)器語言。 匯編語言,是中低
2、級(jí)語言第3頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一程序設(shè)計(jì)風(fēng)格 (理解&記憶 ) 基本概念:編寫程序時(shí)所表現(xiàn)出來的特點(diǎn)、習(xí)慣和邏輯思路。主要觀點(diǎn):清晰第一,效率第二。一般從以下四部分加以規(guī)范:源程序中的內(nèi)部文檔化:選擇標(biāo)示符的名字、注釋(注釋有兩種:序言性注釋和功能性注釋)、程序的視覺組織(空格、空行、縮進(jìn)等等)。 數(shù)據(jù)說明:顯式地說明一切變量、數(shù)據(jù)說明的次序應(yīng)該規(guī)范化、便于查找變量(按順序排列)、對(duì)復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋說明 語句的結(jié)構(gòu):每條語句簡(jiǎn)單明了、盡量不用或少用GOTO語句、盡量只采用3種基本控制結(jié)構(gòu)編程 輸入和輸出:對(duì)所有輸入數(shù)據(jù)進(jìn)行校驗(yàn)和合理性檢查、輸入輸出格式保持一
3、致、設(shè)計(jì)良好的輸出報(bào)表第4頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第5頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一程序設(shè)計(jì)三種方法 結(jié)構(gòu)化設(shè)計(jì)法 模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分 各程序部分應(yīng)按功能組合 快速原型法(軟件工程法) 利用現(xiàn)有的工具和原型方法快速地開發(fā)所要的程序 面向?qū)ο蟪绦蛟O(shè)計(jì)法 以現(xiàn)實(shí)世界的對(duì)象為核心,與人類習(xí)慣的思維方法一致程序設(shè)計(jì)方法:研究問題求解和系統(tǒng)構(gòu)造的軟件方法學(xué) 不同的方法之間,可以相互交叉、相互借鑒第6頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一2.2 結(jié)構(gòu)化程序設(shè)計(jì) 基本思想 對(duì)大型的程序設(shè)計(jì),使用一些基本的結(jié)構(gòu)
4、(總共有三種,分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))來設(shè)計(jì)程序,無論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序組合起來。這些基本結(jié)構(gòu)的特點(diǎn)都是只有一個(gè)入口、一個(gè)出口。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起來需要來回尋找的問題。第7頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一基本結(jié)構(gòu):順序、選擇、循環(huán)(理解&記憶) 觀察下面6個(gè)流程圖第8頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一設(shè)計(jì)原則 (理解&記憶)自頂向下(對(duì)大型的程序設(shè)計(jì)而言,從最上層總體目標(biāo)開始設(shè)計(jì),然后不斷的分解將我們的總體目標(biāo)分解成眾多的子目標(biāo)) 逐步求精 (對(duì)分解之后的子模塊進(jìn)行詳細(xì)的設(shè)計(jì)
5、、詳細(xì)的處理)模塊化(對(duì)分解完畢的子目標(biāo),沒實(shí)現(xiàn)一個(gè)子目標(biāo)的程序,就是一個(gè)模塊) 限制使用goto語句第9頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一1、使用程序設(shè)計(jì)語言中的順序、選擇、循環(huán)等優(yōu)先的控制結(jié)構(gòu)表示程序的控制邏輯2、使用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口3、程序語句組成容易識(shí)、認(rèn)的模塊,每一個(gè)模塊只有一個(gè)入口和一個(gè)出口4、復(fù)雜的結(jié)構(gòu)應(yīng)該使用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)5、嚴(yán)格控制goto語句的使用結(jié)構(gòu)化程序設(shè)計(jì)注意事項(xiàng)(了解) 第10頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一2.3 面向?qū)ο蟪绦蛟O(shè)計(jì)基本思想 客觀世界中任何一個(gè)事物都可以被看成是一
6、個(gè)對(duì)象,面向?qū)ο蠓椒ǖ谋举|(zhì)就是主張從客觀世界固有的事物出發(fā)來構(gòu)造系統(tǒng),系統(tǒng)中的對(duì)象及對(duì)象之間的關(guān)系能夠如實(shí)地反映問題域中固有的事物及其關(guān)系。 結(jié)構(gòu)化與面向?qū)ο蠓椒ū容^ 結(jié)構(gòu)化的分解突出過程,即如何做(How to do)?它強(qiáng)調(diào)代碼的功能是如何實(shí)現(xiàn)的; 面向?qū)ο蟮姆纸馔怀霈F(xiàn)實(shí)世界和抽象的對(duì)象,即做什么(What to do)?第11頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一主要優(yōu)點(diǎn)(記憶) 與人類習(xí)慣的思維方法一致 穩(wěn)定性好 可重用性好 易于開發(fā)大型軟件產(chǎn)品 可維護(hù)性好面向?qū)ο蟪绦蛟O(shè)計(jì)主要考慮的是:提高軟件的可重用性!實(shí)例化和繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)現(xiàn)重用性的主要機(jī)制。第12頁
7、,共67頁,2022年,5月20日,6點(diǎn)10分,星期一面向?qū)ο蟮幕靖拍顚?duì)象(Object):用來表示客觀世界中的任何實(shí)體,即應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任何事物,都是可以作為對(duì)象的。它既可以是具體的物理實(shí)體的抽象,也可以是人為的概念,或者是任何具有明確邊界和意義的東西。對(duì)象=對(duì)象名+數(shù)據(jù)(屬性)【對(duì)象中的屬性,我們稱之為屬性,其作用是:用于描述對(duì)象的性質(zhì)】+作用于數(shù)據(jù)的操作(行為) 一個(gè)對(duì)象把屬性和行為封裝為一個(gè)整體 一個(gè)對(duì)象通??捎蓪?duì)象名、屬性和操作3部分組成第13頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一對(duì)象的基本特點(diǎn):標(biāo)識(shí)唯一性(區(qū)別于其他對(duì)象的屬性)、分
8、類性(我們把相同類型的屬性的對(duì)象,分成一組)、多態(tài)性(不同的操作、或不同的消息可以產(chǎn)生的不同結(jié)果)、封裝性(將對(duì)象的數(shù)據(jù)、操作等完整的封裝起來,以便使得更好的對(duì)對(duì)象進(jìn)行描述。作用:既可以免遭封裝信息內(nèi)部信息的外泄,也可以保護(hù)封裝內(nèi)部的信息不受外部因素的干擾)、良好的模塊獨(dú)立性(由于多態(tài)性和封裝性,使得我們的對(duì)象具有良好的模塊獨(dú)立性)第14頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一消息(Message) 對(duì)象之間進(jìn)行通信的一種數(shù)據(jù)構(gòu)造,消息包括三個(gè)部分:接受消息對(duì)象名、消息標(biāo)識(shí)符、零個(gè)或多個(gè)參數(shù)。面向?qū)ο蟮幕靖拍铑?Class)類是具有共同屬性、共同方法的一組對(duì)象的集合類是在對(duì)象
9、之上的抽象,對(duì)象是類的具體化,是類的實(shí)例 第15頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一 在這里,“學(xué)生”就是在描述了一個(gè)“類”的概念。而“學(xué)號(hào)”、“姓名”、“性別”則是對(duì)“學(xué)生”這個(gè)類的屬性說明,在經(jīng)過了對(duì)“類”中的屬性進(jìn)行了確切的賦值之后,我們就稱之為類的一個(gè)對(duì)象或?qū)嵗5?6頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一面向?qū)ο蟮幕靖拍罘庋b(Encapsulation)把“類”作為一個(gè)容器,將同類對(duì)象的屬性和方法封裝在一起。也就是說,將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個(gè)具有類類型的對(duì)象的描述。 對(duì)象的內(nèi)部實(shí)現(xiàn)受保護(hù),外界不能訪問,是想了對(duì)外部的信息隱藏
10、如果,設(shè)計(jì)人員先從外部調(diào)用封裝內(nèi)部的信息,可以通過定義好的接口來為外部提供調(diào)用 第17頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一面向?qū)ο蟮幕靖拍罾^承(Inheritance)繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制(也就是說,如果我們要通過面向?qū)ο蟮某绦蛟O(shè)計(jì)來進(jìn)行數(shù)據(jù)的共享,那么可以通過什么樣的機(jī)制來共享呢?答曰:繼承。反過來說,面向?qū)ο蟮某绦蛟O(shè)計(jì)中間,共享數(shù)據(jù)的方法是哪一種機(jī)制?答曰:繼承機(jī)制。) 一個(gè)子類可以繼承它的父類(或祖先類)中的屬性和操作 子類中可以定義自己的屬性和操作 單重繼承、多重繼承 第18頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一 在這里面,有
11、一個(gè)“學(xué)生”的類,這個(gè)類有兩個(gè)屬性“姓名”、“性別”,而下面的“高中學(xué)生”,不僅包含了“學(xué)生” 類的兩個(gè)屬性“姓名”、“性別”,還多出了一個(gè)特有的屬性“文理科”。此時(shí),“學(xué)生”就被稱之為父類,“高中學(xué)生”就被稱之為子類。(如果父類只能派生出一個(gè)子類,就稱之為單繼承。如果父類只能派生出多個(gè)子類,就稱之為多類繼承)第19頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一多態(tài)性(Polymorphism)不同的對(duì)象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性 多態(tài)的實(shí)現(xiàn)受到繼承的支持第20頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一二章知識(shí)點(diǎn)什么是程序?程序設(shè)計(jì)的風(fēng)格有哪
12、些(4個(gè))程序設(shè)計(jì)的三種基本方法(結(jié)構(gòu)化方法、原型法、面向?qū)ο螅C(jī)構(gòu)化程序設(shè)計(jì)方法的四個(gè)主要原則(自頂而下、逐步求精、模塊化、限制使用GOTO語句)結(jié)構(gòu)化設(shè)計(jì)的三種基本結(jié)構(gòu)(順序、選擇、循環(huán))什么叫:對(duì)象、類對(duì)象的三個(gè)基本組成(對(duì)象標(biāo)識(shí)、屬性、操作)及五個(gè)基本特點(diǎn)(標(biāo)識(shí)唯一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性)類的基本特征(抽象性、繼承性、封裝性、多態(tài)性)第21頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第三章軟件工程基礎(chǔ)第22頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一本章主要內(nèi)容軟件工程基本概念 結(jié)構(gòu)化分析、設(shè)計(jì)方法 軟件測(cè)試 程序的調(diào)試 第23頁,共67頁,20
13、22年,5月20日,6點(diǎn)10分,星期一軟件的定義(記憶) 軟件(software)是計(jì)算機(jī)系統(tǒng)中與硬件(hardware)相互依存的另一部分。軟件包括三個(gè)部分:程序(program)、相關(guān)數(shù)據(jù)(data)、說明文檔(document)。軟件按照功能可以分為三類:應(yīng)用軟件(為了解決某一方面的實(shí)際應(yīng)用而開發(fā)的相關(guān)系統(tǒng))、系統(tǒng)軟件(為了對(duì)整個(gè)計(jì)算機(jī)的資源,包括硬件資源和軟件資源,進(jìn)行管理和調(diào)用的軟件)、支撐軟件(包括各種各樣的工具的軟件)。3.1 軟件工程基本概念第24頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件的特點(diǎn)(了解) 軟件沒有明顯的制造過程。(軟件的制造,明顯不同于一般工業(yè)
14、品的制造) 軟件在使用過程中,沒有磨損、老化問題(軟件在使用的過程中,不會(huì)像一般的工業(yè)品那樣出現(xiàn)磨損、老化的問題。軟件只會(huì)隨著軟件領(lǐng)域的發(fā)展,在現(xiàn)實(shí)的情況下這個(gè)軟件已不再適應(yīng)當(dāng)前要求時(shí)候,就會(huì)要求我們編制新的軟件以替代當(dāng)前軟件) 軟件是一種邏輯實(shí)體,不是物理實(shí)體,具有抽象性。(也就是說,我們使用的軟件(最常用的就是QQ通訊軟件),我們只有運(yùn)行它再通過顯示設(shè)備,才能夠看到它的運(yùn)行并感受到他 。)第25頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件是復(fù)雜的,以后會(huì)更復(fù)雜,而且軟件的成本相當(dāng)昂貴 軟件工作牽涉到很多社會(huì)因素軟件的特點(diǎn)(了解) 軟件依賴與硬件和環(huán)境,導(dǎo)致了移植問題(我們的
15、某些軟件,是要與特定的硬件和環(huán)境先適應(yīng)的。某一種軟件,只能應(yīng)用于某一特殊的硬件和環(huán)境,而同一軟件移植到另一種硬件和環(huán)境的時(shí)候,就會(huì)出現(xiàn)問題) 第26頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件危機(jī)(記憶) 早期的軟件主要指程序,采用個(gè)體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護(hù)困難,這些問題稱為“軟件危機(jī)”,軟件的特點(diǎn)導(dǎo)致了軟件危機(jī)的提出,工程概念的出現(xiàn)源自于軟件危機(jī)。 軟件工程(記憶) 軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。 軟件工程基本目標(biāo)(了解) 在給定成本、進(jìn)度的前提下,
16、開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。第27頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件工程原則(理解&記憶):抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細(xì)節(jié),采用分層次抽象,自頂向下,逐層細(xì)化來控制軟件開發(fā)過程的復(fù)雜性。 2)信息隱蔽:采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱蔽起來,使模塊接口盡量簡(jiǎn)單。 3)模塊化:模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位。模塊的大小要適中,過大模塊內(nèi)部復(fù)雜性增加,太小整個(gè)系統(tǒng)過于復(fù)雜。
17、4)局部化:保證模塊間具有松耦合性,模塊內(nèi)部有高內(nèi)聚性。 5)確定性:軟件中所有概念的表達(dá)應(yīng)是確定、無歧義且規(guī)范的。 6)一致性:內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說明與行為保持一致。 7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需功能。 8)可驗(yàn)證性:遵循容易檢查、測(cè)評(píng)、評(píng)審原則,確保系統(tǒng)正確性第28頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件工程三要素(記憶)方法:完成軟件工程項(xiàng)目的技術(shù)手段 工具:支持軟件的開發(fā)、管理、文檔生成 過程:支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制、管理軟件工具和軟件開發(fā)環(huán)境(記憶) 軟件工具(CASE):用來輔助軟件開、運(yùn)行、維護(hù)、管理、支持等過程中的
18、活動(dòng)的軟件 軟件開發(fā)環(huán)境:支持軟件產(chǎn)品開發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機(jī)制構(gòu)成軟件開發(fā)技術(shù),包括軟件開發(fā)方法學(xué)、開發(fā)過程和軟件工程環(huán)境,其中主要的內(nèi)容是軟件開發(fā)方法學(xué)第29頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件生命周期(記憶&理解) 軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為軟件生命周期。分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。 1)軟件定義階段:包括制定計(jì)劃和需求分析。 制定計(jì)劃:確定總目標(biāo);可行性研究;探討解決方案;制定開發(fā)計(jì)劃。 需求分析:對(duì)待開發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。 2)軟件開發(fā)階段: 軟件設(shè)計(jì):分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)
19、兩個(gè)部分。軟件實(shí)現(xiàn):把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。 軟件測(cè)試:在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上檢驗(yàn)軟件的各個(gè)組成部分。 3)軟件運(yùn)行維護(hù)階段(生命周期中花費(fèi)最多的階段):軟件投入運(yùn)行,并在使用中不斷地維護(hù),進(jìn)行必要的擴(kuò)充和刪改。第30頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第31頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一需求分析(記憶) 用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過程。需求分析將創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制模型。 需求分析的四步驟(記憶) 需求獲取、需求分析、編寫需求規(guī)格說明
20、書和需求評(píng)審3.2 結(jié)構(gòu)化分析方法第32頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一需求分析的方法(了解) 結(jié)構(gòu)化分析方法:結(jié)構(gòu)化程序設(shè)計(jì)理論在需求分析紅的運(yùn)用,目的是幫助弄清用戶對(duì)軟件的需求,建立系統(tǒng)的邏輯模型 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)法(DSSD) 面向數(shù)據(jù)結(jié)構(gòu)的Jackson系統(tǒng)開發(fā)法(JSD) 面向數(shù)據(jù)流的結(jié)構(gòu)分析法(SA) 面向?qū)ο蟮姆治龇椒ǎ好嫦驅(qū)ο筌浖こ谭椒?在需求分析中的應(yīng)用第33頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一常用工具 (記憶)數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹、判定表 開發(fā)策略 自頂向下,逐層分解需求分析階段的結(jié)果 :軟件需求規(guī)格說明書
21、(RSR)作用:便于用戶與開發(fā)人員進(jìn)行理解和交流,反應(yīng)系統(tǒng)的問題結(jié)構(gòu),作為系統(tǒng)開發(fā)的基礎(chǔ)和依據(jù),作為測(cè)試盒驗(yàn)收的依據(jù)評(píng)價(jià)標(biāo)準(zhǔn):正確性、奇異性、完整性、可驗(yàn)證性、可理解性、可修改性、可追蹤性,其中最重要的是:正確性第34頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一數(shù)據(jù)流圖(DFD):以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過程,它反映了系統(tǒng)必須完成的邏輯功能,是結(jié)構(gòu)化分析方法中用于表示系統(tǒng)邏輯模型的一種工具。 加工 存儲(chǔ)文件 源、潭數(shù)據(jù)流 加工(轉(zhuǎn)換):輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出。 數(shù)據(jù)流:沿箭頭方向傳送數(shù)據(jù)的通道,旁邊標(biāo)注數(shù)據(jù)流名。 存儲(chǔ)文件(數(shù)據(jù)源):表示處理過程中存放各種數(shù)據(jù)的
22、文件。 源、潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。 第35頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一畫數(shù)據(jù)流圖的基本步驟(記憶) 自外向內(nèi),自頂向下,逐層細(xì)化,完善求精數(shù)據(jù)流圖的示例 第36頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一數(shù)據(jù)字典(DD)(記憶):對(duì)所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個(gè)有組織的列表,是與系統(tǒng)相關(guān)的數(shù)據(jù)定義的集合。其作用是對(duì)數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋。數(shù)據(jù)字典是結(jié)構(gòu)化分析方法的核心 。數(shù)據(jù)字典常包括5個(gè)部分(記憶):數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流(描述了數(shù)據(jù)流圖中的數(shù)據(jù)流向)、數(shù)據(jù)存儲(chǔ)(描述了數(shù)據(jù)流圖中的文件)、數(shù)據(jù)處理(描述了數(shù)據(jù)
23、流圖中的加工,也就是圓圈所定義的內(nèi)容)。 第37頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一判斷樹(了解):又稱為決策樹,是一種描述加工的圖形數(shù)據(jù),適合描述問題里中具有多個(gè)判斷,而且每個(gè)決策與若干條件有關(guān)。使用判定數(shù)進(jìn)行描述時(shí),應(yīng)該從問題的文字描述中分清哪些是判定條件,那些是判定的決策,根據(jù)描述材料中的連接詞找出判定條件的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹 第38頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一判斷表(了解):當(dāng)數(shù)據(jù)流圖中的加工依賴多個(gè)邏輯條件的取值,即完成該數(shù)值的一組動(dòng)作|是由于某一組條件取值的組合而引發(fā)的,在此情況下,使用判斷表比較合適。第
24、39頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件需求規(guī)格說明書(SRS) :需求分析階段的最后成果,通過建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。第40頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一需求分析主要解決“做什么”的問題,確定系統(tǒng)的邏輯模型。而軟件設(shè)計(jì)主要解決“怎么做”的問題,其基本目標(biāo)使用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何讓完成預(yù)定任務(wù),確定系統(tǒng)的物理模型。 第41頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)
25、。(記憶) 結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各主要部件之間的關(guān)系。 數(shù)據(jù)設(shè)計(jì):將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。 接口設(shè)計(jì):描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。 過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程性描述 第42頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一從工程角度來看,軟件設(shè)計(jì)分兩步完成,即概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。(記憶)概要設(shè)計(jì):又稱結(jié)構(gòu)設(shè)計(jì),將軟件需求轉(zhuǎn)化為軟件體系結(jié)構(gòu);確定系統(tǒng)級(jí)接口、全局?jǐn)?shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式;編寫概要設(shè)計(jì)文檔、概要設(shè)計(jì)文檔評(píng)審。 詳細(xì)設(shè)計(jì):確定每個(gè)模塊的實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當(dāng)方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。第43頁,共67頁,202
26、2年,5月20日,6點(diǎn)10分,星期一軟件設(shè)計(jì)基本原理:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。(記憶)抽象:抽象是一種思維工具,就是把事物本質(zhì)的共同特性提取出來而不考慮其他細(xì)節(jié)。 模塊化:解決一個(gè)復(fù)雜問題時(shí)自頂向下逐步把軟件系統(tǒng)劃分成較小的、相對(duì)獨(dú)立但又不相互關(guān)聯(lián)的模塊的過程。 信息隱蔽:模塊的實(shí)施細(xì)節(jié)對(duì)于其他模塊來說是隱蔽的。 模塊獨(dú)立性:軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。 模塊獨(dú)立性指標(biāo):耦合性和內(nèi)聚性 模塊劃分原則是:高內(nèi)聚度,低耦合度模塊之間的依賴性越高,耦合性就越高,模塊的獨(dú)立性就越弱。第44頁,共67頁,2022年,5月20日,6點(diǎn)10
27、分,星期一總體設(shè)計(jì)(概要設(shè)計(jì))基本任務(wù) 1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu) 2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì) 3)編寫概要設(shè)計(jì)文檔 4)概要設(shè)計(jì)文檔評(píng)審 軟件結(jié)構(gòu)設(shè)計(jì)工具結(jié)構(gòu)圖(程序結(jié)構(gòu)圖) 程序結(jié)構(gòu)圖的基本圖符(記憶) 矩形表示模塊,箭頭表示模塊間的調(diào)用關(guān)系 用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息 實(shí)心圓箭頭表示控制信息,空心圓箭頭表示數(shù)據(jù)信息第45頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件結(jié)構(gòu)設(shè)計(jì)工具結(jié)構(gòu)圖(程序結(jié)構(gòu)圖) 常用結(jié)構(gòu)圖的四種模塊類型(記憶) 傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級(jí)模塊。 傳出模塊:從上級(jí)模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。 變換模塊:從
28、上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其他形式,再傳送給上級(jí)模塊。 協(xié)調(diào)模塊:對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。第46頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件結(jié)構(gòu)設(shè)計(jì)工具結(jié)構(gòu)圖(程序結(jié)構(gòu)圖)(不需掌握) 結(jié)構(gòu)圖例及術(shù)語深度:表示控制的層數(shù)。本圖例有5曾 寬度:整體控制跨度 扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。 扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。上級(jí)模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級(jí)模塊,b是從屬模塊。 原子模塊:樹中位于葉子結(jié)點(diǎn)的模塊。 第47頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件結(jié)構(gòu)設(shè)計(jì)工具結(jié)構(gòu)圖(程序結(jié)構(gòu)圖) 面向數(shù)
29、據(jù)流的設(shè)計(jì)方法定義了一些不同的映射方法,利用這些方法可以把數(shù)據(jù)流圖變換成結(jié)構(gòu)圖表示軟件的結(jié)構(gòu)。 數(shù)據(jù)流類型:變換型和事務(wù)型(記憶) 變換型:變換型數(shù)據(jù)處理問題的工作過程大致分為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。 事務(wù)型:事務(wù)型數(shù)據(jù)處理問題的工作機(jī)理是接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。第48頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一高腰設(shè)計(jì)的優(yōu)化準(zhǔn)則(了解) 改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性模塊規(guī)模要適中模塊的作用范圍應(yīng)該保持在模塊的控制范圍內(nèi)軟件結(jié)構(gòu)的深度、寬度、扇入、扇出要適當(dāng)降低
30、模塊接口的復(fù)雜度設(shè)計(jì)單入口、單出口的模塊模塊的功能可預(yù)測(cè)第49頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一詳細(xì)設(shè)計(jì)基本任務(wù) 為軟件結(jié)構(gòu)圖中的每個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)常用設(shè)計(jì)工具(記憶) 圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。 表格工具:判定表。 語言工具:PDL(偽碼)第50頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第51頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第52頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一第53頁,共
31、67頁,2022年,5月20日,6點(diǎn)10分,星期一3.3 軟件測(cè)試目的、意義、人員(記憶) 通過合理的設(shè)計(jì)測(cè)試用例以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷。也就是說,軟件測(cè)試的目的就是:檢查錯(cuò)誤,并對(duì)錯(cuò)誤進(jìn)行修改,但不能證明程序之中沒有錯(cuò)誤(因?yàn)檐浖且豁?xiàng)綜合的龐大工程,錯(cuò)誤可能會(huì)出現(xiàn)在多處) 保證系統(tǒng)質(zhì)量(滿足需求規(guī)格)和可靠性 由開發(fā)人員、用戶一起完成 第54頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一測(cè)試基本方法(記憶) 人工測(cè)試(靜態(tài)測(cè)試):評(píng)審軟件文檔或程序,包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。 機(jī)器測(cè)試(動(dòng)態(tài)測(cè)試):通過運(yùn)行軟件
32、,來檢驗(yàn)結(jié)果的正確性。主要包括白盒測(cè)試方法和黑盒測(cè)試方法。 第55頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一白盒測(cè)試(結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試)(記憶) 將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來設(shè)計(jì)測(cè)試?yán)?,?duì)程序的路徑和過程進(jìn)行測(cè)試,檢查是否滿足設(shè)計(jì)的要求。也就是說,白盒測(cè)試是對(duì)內(nèi)部程序進(jìn)行的測(cè)試。白盒測(cè)試基本原則(了解)保證所測(cè)模塊中每一獨(dú)立路徑至少執(zhí)行一次; 保證所測(cè)模塊所有判斷的每一分支至少執(zhí)行一次; 保證所測(cè)模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次; 驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。 第56頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一測(cè)試用
33、例根據(jù)程序內(nèi)部邏輯設(shè)計(jì),主要用于軟件的單元測(cè)試。 出現(xiàn)讓大家判斷黑、白盒測(cè)試的時(shí)候,只要是關(guān)于程序的,就都是白盒測(cè)試。白盒測(cè)試用例主要設(shè)計(jì)方法有(記憶) 邏輯覆蓋:指一系列以程序內(nèi)部的邏輯結(jié)構(gòu)為基礎(chǔ)的測(cè)試用例設(shè)計(jì)技術(shù)。 基本路徑測(cè)試:根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測(cè)試用例,對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試。第57頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一邏輯覆蓋設(shè)計(jì)的基本內(nèi)容(利用測(cè)試用例)(了解) 語句覆蓋:使得程序每一個(gè)語句至少都能被執(zhí)行一次。 路徑覆蓋:使程序中所有的可能的路徑都至少經(jīng)歷一次。 判定覆蓋:保證程序
34、中每個(gè)判斷的每個(gè)取值分支(T或F)至少經(jīng)歷一次。 條件覆蓋:保證程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。 判斷-條件覆蓋:使判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能取值分支至少執(zhí)行一次。邏輯覆蓋強(qiáng)度依次是:語句覆蓋路徑覆蓋判定覆蓋條件覆蓋判斷-條件覆蓋 第58頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一黑盒測(cè)試(功能測(cè)試)將軟件看成黑盒子,不考慮程序內(nèi)部細(xì)節(jié)、結(jié)構(gòu)和實(shí)現(xiàn)方式,僅僅測(cè)試軟件的基本功能是否滿足需要。 黑盒測(cè)試主要用于軟件的確認(rèn)測(cè)試,看是否實(shí)現(xiàn)了功能說明書的預(yù)期目標(biāo)。 根據(jù)程序的功能說明來設(shè)計(jì)測(cè)試用例,基本設(shè)計(jì)方法有(記憶) 等價(jià)類劃分法:
35、典型黑盒測(cè)試方法,將程序的所有可能的輸入數(shù)據(jù)劃分成若干部分(及若干等價(jià)類),然后從每個(gè)等價(jià)類中選取數(shù)據(jù)作為測(cè)試用例。 邊界值分析法:它是對(duì)各種輸入、輸出范圍的邊界情況設(shè)計(jì)測(cè)試用例的方法。 錯(cuò)誤推測(cè)法:人們可以靠經(jīng)驗(yàn)和直覺推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫檢查這些錯(cuò)誤的用例。 第59頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)、系統(tǒng)測(cè)試。 測(cè)試對(duì)象:對(duì)軟件的最小單位模塊進(jìn)行測(cè)試測(cè)試目的是:發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種錯(cuò)誤。測(cè)試用例設(shè)計(jì):根據(jù)程序的內(nèi)部結(jié)構(gòu),其依據(jù)是詳細(xì)的設(shè)計(jì)說明書的源程序
36、測(cè)試技術(shù):通常以白盒測(cè)試為主,輔之以黑盒測(cè)試。單元測(cè)試內(nèi)容:模塊接口測(cè)試,局部數(shù)據(jù)結(jié)構(gòu)測(cè)試,錯(cuò)誤處理測(cè)試,邊界測(cè)試。 單元測(cè)試第60頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一測(cè)試對(duì)象:將模塊組裝起來后進(jìn)行測(cè)試,測(cè)試目的是:發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。 測(cè)試用例設(shè)計(jì):根據(jù)概要測(cè)試說明書測(cè)試內(nèi)容:軟件單元的接口測(cè)試,全局?jǐn)?shù)據(jù)結(jié)構(gòu)與測(cè)試,邊界條件和非法輸入測(cè)試等模塊組裝方式:非增量方式組裝(將所有模塊一次性的全部進(jìn)行測(cè)試地方法)和增量方式(先測(cè)試幾個(gè)模塊,通過之后再往這幾個(gè)通過測(cè)試的模塊上再添加模塊地方法)組裝。軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)
37、試)、系統(tǒng)測(cè)試。 集成測(cè)試第61頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一任務(wù):驗(yàn)證軟件的有效性。也就是說,用戶根據(jù)合同進(jìn)行確認(rèn),以確認(rèn)系統(tǒng)功能和性能的可接受性。 測(cè)試用例設(shè)計(jì):軟件需求說明書測(cè)試方法:主要用于黑盒測(cè)試。軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)、系統(tǒng)測(cè)試。 確認(rèn)測(cè)試第62頁,共67頁,2022年,5月20日,6點(diǎn)10分,星期一任務(wù):將軟件系統(tǒng)與硬件、外設(shè)及其他元素結(jié)合在一起,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行測(cè)試,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。 測(cè)試用例設(shè)計(jì):需求分析規(guī)格說明書基本內(nèi)容:功能測(cè)試、性能測(cè)試、操作測(cè)試、配置測(cè)試、外部接口測(cè)試、安全性測(cè)試等等軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)、系統(tǒng)測(cè)試。 系統(tǒng)測(cè)試第63頁,共67頁,2022年,5月20日,6點(diǎn)10分,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度洗浴中心會(huì)員服務(wù)體系搭建與運(yùn)營(yíng)合同4篇
- 2025年度個(gè)人住房租賃貸款合同范本3篇
- 個(gè)人貸款合同正規(guī)模板(2024年修訂)版B版
- 專屬歌星演出聘請(qǐng)合同范本版B版
- 2024水庫工程建設(shè)項(xiàng)目施工人員培訓(xùn)與管理合同3篇
- 2025年度洛陽租賃房屋租賃合同違約責(zé)任協(xié)議4篇
- 2025年度環(huán)保設(shè)備零星維修服務(wù)合同范本3篇
- 智能工廠的融資規(guī)劃與實(shí)施方案
- 二零二五版生物制藥股份公司成立股東臨床試驗(yàn)協(xié)議3篇
- 2025版停車場(chǎng)車位共享平臺(tái)承包運(yùn)營(yíng)管理合同樣本3篇
- 氦離子化色譜法測(cè)試電氣設(shè)備油中溶解氣體的技術(shù)規(guī)范
- 中國(guó)聯(lián)合網(wǎng)絡(luò)通信有限公司招聘筆試題庫2024
- 【社會(huì)工作介入精神障礙社區(qū)康復(fù)問題探究的文獻(xiàn)綜述5800字】
- 節(jié)前停工停產(chǎn)與節(jié)后復(fù)工復(fù)產(chǎn)安全注意事項(xiàng)課件
- 設(shè)備管理績(jī)效考核細(xì)則
- 中國(guó)人民銀行清算總中心直屬企業(yè)2023年招聘筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- (正式版)SJT 11449-2024 集中空調(diào)電子計(jì)費(fèi)信息系統(tǒng)工程技術(shù)規(guī)范
- 人教版四年級(jí)上冊(cè)加減乘除四則混合運(yùn)算300題及答案
- 合成生物學(xué)技術(shù)在生物制藥中的應(yīng)用
- 消化系統(tǒng)疾病的負(fù)性情緒與心理護(hù)理
- 高考語文文學(xué)類閱讀分類訓(xùn)練:戲劇類(含答案)
評(píng)論
0/150
提交評(píng)論