公共基礎(chǔ)知識(shí)第二三章_第1頁(yè)
公共基礎(chǔ)知識(shí)第二三章_第2頁(yè)
公共基礎(chǔ)知識(shí)第二三章_第3頁(yè)
公共基礎(chǔ)知識(shí)第二三章_第4頁(yè)
公共基礎(chǔ)知識(shí)第二三章_第5頁(yè)
已閱讀5頁(yè),還剩62頁(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)介

公共基礎(chǔ)知識(shí)第二三章第一頁(yè),共六十七頁(yè),2022年,8月28日本章主要內(nèi)容程序設(shè)計(jì)方法和風(fēng)格

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

面向?qū)ο蟪绦蛟O(shè)計(jì)

第二頁(yè),共六十七頁(yè),2022年,8月28日2.1程序設(shè)計(jì)方法和風(fēng)格什么是程序(了解)指令的集合。(解釋指令)通過(guò)硬件控制系統(tǒng)自動(dòng)完成某一功能。通過(guò)一系列代碼實(shí)現(xiàn)。程序設(shè)計(jì)語(yǔ)言計(jì)算機(jī)本身僅能識(shí)別二進(jìn)制代碼“0”、“1”。

高級(jí)語(yǔ)言,比如C、JAVA、BASIC等。在ACCESS中,我們使用的程序設(shè)計(jì)語(yǔ)言是VBA(visualbasicForapplication)編程最直接、最低級(jí)的就是機(jī)器語(yǔ)言。匯編語(yǔ)言,是中低級(jí)語(yǔ)言第三頁(yè),共六十七頁(yè),2022年,8月28日程序設(shè)計(jì)風(fēng)格(理解&記憶)基本概念:編寫(xiě)程序時(shí)所表現(xiàn)出來(lái)的特點(diǎn)、習(xí)慣和邏輯思路。主要觀點(diǎn):清晰第一,效率第二。一般從以下四部分加以規(guī)范:源程序中的內(nèi)部文檔化:選擇標(biāo)示符的名字、注釋(注釋有兩種:序言性注釋和功能性注釋)、程序的視覺(jué)組織(空格、空行、縮進(jìn)等等)。數(shù)據(jù)說(shuō)明:顯式地說(shuō)明一切變量、數(shù)據(jù)說(shuō)明的次序應(yīng)該規(guī)范化、便于查找變量(按順序排列)、對(duì)復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋說(shuō)明語(yǔ)句的結(jié)構(gòu):每條語(yǔ)句簡(jiǎn)單明了、盡量不用或少用GOTO語(yǔ)句、盡量只采用3種基本控制結(jié)構(gòu)編程輸入和輸出:對(duì)所有輸入數(shù)據(jù)進(jìn)行校驗(yàn)和合理性檢查、輸入輸出格式保持一致、設(shè)計(jì)良好的輸出報(bào)表第四頁(yè),共六十七頁(yè),2022年,8月28日第五頁(yè),共六十七頁(yè),2022年,8月28日程序設(shè)計(jì)三種方法結(jié)構(gòu)化設(shè)計(jì)法模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分各程序部分應(yīng)按功能組合快速原型法(軟件工程法)利用現(xiàn)有的工具和原型方法快速地開(kāi)發(fā)所要的程序面向?qū)ο蟪绦蛟O(shè)計(jì)法以現(xiàn)實(shí)世界的對(duì)象為核心,與人類習(xí)慣的思維方法一致程序設(shè)計(jì)方法:研究問(wèn)題求解和系統(tǒng)構(gòu)造的軟件方法學(xué)不同的方法之間,可以相互交叉、相互借鑒第六頁(yè),共六十七頁(yè),2022年,8月28日2.2結(jié)構(gòu)化程序設(shè)計(jì)基本思想對(duì)大型的程序設(shè)計(jì),使用一些基本的結(jié)構(gòu)(總共有三種,分別是:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))來(lái)設(shè)計(jì)程序,無(wú)論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序組合起來(lái)。這些基本結(jié)構(gòu)的特點(diǎn)都是只有一個(gè)入口、一個(gè)出口。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起來(lái)需要來(lái)回尋找的問(wèn)題。第七頁(yè),共六十七頁(yè),2022年,8月28日基本結(jié)構(gòu):順序、選擇、循環(huán)(理解&記憶)觀察下面6個(gè)流程圖第八頁(yè),共六十七頁(yè),2022年,8月28日設(shè)計(jì)原則(理解&記憶)自頂向下(對(duì)大型的程序設(shè)計(jì)而言,從最上層總體目標(biāo)開(kāi)始設(shè)計(jì),然后不斷的分解—將我們的總體目標(biāo)分解成眾多的子目標(biāo))逐步求精(對(duì)分解之后的子模塊進(jìn)行詳細(xì)的設(shè)計(jì)、詳細(xì)的處理)模塊化(對(duì)分解完畢的子目標(biāo),沒(méi)實(shí)現(xiàn)一個(gè)子目標(biāo)的程序,就是一個(gè)模塊)限制使用goto語(yǔ)句第九頁(yè),共六十七頁(yè),2022年,8月28日1、使用程序設(shè)計(jì)語(yǔ)言中的順序、選擇、循環(huán)等優(yōu)先的控制結(jié)構(gòu)表示程序的控制邏輯2、使用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口3、程序語(yǔ)句組成容易識(shí)、認(rèn)的模塊,每一個(gè)模塊只有一個(gè)入口和一個(gè)出口4、復(fù)雜的結(jié)構(gòu)應(yīng)該使用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來(lái)實(shí)現(xiàn)5、嚴(yán)格控制goto語(yǔ)句的使用結(jié)構(gòu)化程序設(shè)計(jì)注意事項(xiàng)(了解)第十頁(yè),共六十七頁(yè),2022年,8月28日2.3面向?qū)ο蟪绦蛟O(shè)計(jì)基本思想

客觀世界中任何一個(gè)事物都可以被看成是一個(gè)對(duì)象,面向?qū)ο蠓椒ǖ谋举|(zhì)就是主張從客觀世界固有的事物出發(fā)來(lái)構(gòu)造系統(tǒng),系統(tǒng)中的對(duì)象及對(duì)象之間的關(guān)系能夠如實(shí)地反映問(wèn)題域中固有的事物及其關(guān)系。

結(jié)構(gòu)化與面向?qū)ο蠓椒ū容^結(jié)構(gòu)化的分解突出過(guò)程,即如何做(Howtodo)?它強(qiáng)調(diào)代碼的功能是如何實(shí)現(xiàn)的;面向?qū)ο蟮姆纸馔怀霈F(xiàn)實(shí)世界和抽象的對(duì)象,即做什么(Whattodo)?第十一頁(yè),共六十七頁(yè),2022年,8月28日主要優(yōu)點(diǎn)(記憶)與人類習(xí)慣的思維方法一致穩(wěn)定性好可重用性好易于開(kāi)發(fā)大型軟件產(chǎn)品可維護(hù)性好面向?qū)ο蟪绦蛟O(shè)計(jì)主要考慮的是:提高軟件的可重用性!實(shí)例化和繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)現(xiàn)重用性的主要機(jī)制。第十二頁(yè),共六十七頁(yè),2022年,8月28日面向?qū)ο蟮幕靖拍顚?duì)象(Object):用來(lái)表示客觀世界中的任何實(shí)體,即應(yīng)用領(lǐng)域中有意義的、與所要解決的問(wèn)題有關(guān)系的任何事物,都是可以作為對(duì)象的。它既可以是具體的物理實(shí)體的抽象,也可以是人為的概念,或者是任何具有明確邊界和意義的東西。對(duì)象=對(duì)象名+數(shù)據(jù)(屬性)【對(duì)象中的屬性,我們稱之為屬性,其作用是:用于描述對(duì)象的性質(zhì)】+作用于數(shù)據(jù)的操作(行為)一個(gè)對(duì)象把屬性和行為封裝為一個(gè)整體一個(gè)對(duì)象通??捎蓪?duì)象名、屬性和操作3部分組成第十三頁(yè),共六十七頁(yè),2022年,8月28日對(duì)象的基本特點(diǎn):標(biāo)識(shí)唯一性(區(qū)別于其他對(duì)象的屬性)、分類性(我們把相同類型的屬性的對(duì)象,分成一組)、多態(tài)性(不同的操作、或不同的消息可以產(chǎn)生的不同結(jié)果)、封裝性(將對(duì)象的數(shù)據(jù)、操作等完整的封裝起來(lái),以便使得更好的對(duì)對(duì)象進(jìn)行描述。作用:既可以免遭封裝信息內(nèi)部信息的外泄,也可以保護(hù)封裝內(nèi)部的信息不受外部因素的干擾)、良好的模塊獨(dú)立性(由于多態(tài)性和封裝性,使得我們的對(duì)象具有良好的模塊獨(dú)立性)第十四頁(yè),共六十七頁(yè),2022年,8月28日消息(Message)對(duì)象之間進(jìn)行通信的一種數(shù)據(jù)構(gòu)造,消息包括三個(gè)部分:接受消息對(duì)象名、消息標(biāo)識(shí)符、零個(gè)或多個(gè)參數(shù)。面向?qū)ο蟮幕靖拍铑?Class)類是具有共同屬性、共同方法的一組對(duì)象的集合類是在對(duì)象之上的抽象,對(duì)象是類的具體化,是類的實(shí)例

第十五頁(yè),共六十七頁(yè),2022年,8月28日在這里,“學(xué)生”就是在描述了一個(gè)“類”的概念。而“學(xué)號(hào)”、“姓名”、“性別”則是對(duì)“學(xué)生”這個(gè)類的屬性說(shuō)明,在經(jīng)過(guò)了對(duì)“類”中的屬性進(jìn)行了確切的賦值之后,我們就稱之為類的一個(gè)對(duì)象或?qū)嵗5谑?yè),共六十七頁(yè),2022年,8月28日面向?qū)ο蟮幕靖拍罘庋b(Encapsulation)把“類”作為一個(gè)容器,將同類對(duì)象的屬性和方法封裝在一起。也就是說(shuō),將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個(gè)具有類類型的對(duì)象的描述。對(duì)象的內(nèi)部實(shí)現(xiàn)受保護(hù),外界不能訪問(wèn),是想了對(duì)外部的信息隱藏如果,設(shè)計(jì)人員先從外部調(diào)用封裝內(nèi)部的信息,可以通過(guò)定義好的接口來(lái)為外部提供調(diào)用第十七頁(yè),共六十七頁(yè),2022年,8月28日面向?qū)ο蟮幕靖拍罾^承(Inheritance)繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制(也就是說(shuō),如果我們要通過(guò)面向?qū)ο蟮某绦蛟O(shè)計(jì)來(lái)進(jìn)行數(shù)據(jù)的共享,那么可以通過(guò)什么樣的機(jī)制來(lái)共享呢?答曰:繼承。反過(guò)來(lái)說(shuō),面向?qū)ο蟮某绦蛟O(shè)計(jì)中間,共享數(shù)據(jù)的方法是哪一種機(jī)制?答曰:繼承機(jī)制。)一個(gè)子類可以繼承它的父類(或祖先類)中的屬性和操作子類中可以定義自己的屬性和操作單重繼承、多重繼承第十八頁(yè),共六十七頁(yè),2022年,8月28日在這里面,有一個(gè)“學(xué)生”的類,這個(gè)類有兩個(gè)屬性“姓名”、“性別”,而下面的“高中學(xué)生”,不僅包含了“學(xué)生”類的兩個(gè)屬性“姓名”、“性別”,還多出了一個(gè)特有的屬性——“文理科”。此時(shí),“學(xué)生”就被稱之為父類,“高中學(xué)生”就被稱之為子類。(如果父類只能派生出一個(gè)子類,就稱之為單繼承。如果父類只能派生出多個(gè)子類,就稱之為多類繼承)第十九頁(yè),共六十七頁(yè),2022年,8月28日多態(tài)性(Polymorphism)不同的對(duì)象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性多態(tài)的實(shí)現(xiàn)受到繼承的支持第二十頁(yè),共六十七頁(yè),2022年,8月28日二章知識(shí)點(diǎn)什么是程序?程序設(shè)計(jì)的風(fēng)格有哪些(4個(gè))程序設(shè)計(jì)的三種基本方法(結(jié)構(gòu)化方法、原型法、面向?qū)ο螅C(jī)構(gòu)化程序設(shè)計(jì)方法的四個(gè)主要原則(自頂而下、逐步求精、模塊化、限制使用GOTO語(yǔ)句)結(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)性)第二十一頁(yè),共六十七頁(yè),2022年,8月28日第三章軟件工程基礎(chǔ)第二十二頁(yè),共六十七頁(yè),2022年,8月28日本章主要內(nèi)容軟件工程基本概念

結(jié)構(gòu)化分析、設(shè)計(jì)方法

軟件測(cè)試

程序的調(diào)試

第二十三頁(yè),共六十七頁(yè),2022年,8月28日軟件的定義(記憶)軟件(software)是計(jì)算機(jī)系統(tǒng)中與硬件(hardware)相互依存的另一部分。軟件包括三個(gè)部分:程序(program)、相關(guān)數(shù)據(jù)(data)、說(shuō)明文檔(document)。軟件按照功能可以分為三類:應(yīng)用軟件(為了解決某一方面的實(shí)際應(yīng)用而開(kāi)發(fā)的相關(guān)系統(tǒng))、系統(tǒng)軟件(為了對(duì)整個(gè)計(jì)算機(jī)的資源,包括硬件資源和軟件資源,進(jìn)行管理和調(diào)用的軟件)、支撐軟件(包括各種各樣的工具的軟件)。3.1軟件工程基本概念第二十四頁(yè),共六十七頁(yè),2022年,8月28日軟件的特點(diǎn)(了解)軟件沒(méi)有明顯的制造過(guò)程。(軟件的制造,明顯不同于一般工業(yè)品的制造)軟件在使用過(guò)程中,沒(méi)有磨損、老化問(wèn)題(軟件在使用的過(guò)程中,不會(huì)像一般的工業(yè)品那樣出現(xiàn)磨損、老化的問(wèn)題。軟件只會(huì)隨著軟件領(lǐng)域的發(fā)展,在現(xiàn)實(shí)的情況下這個(gè)軟件已不再適應(yīng)當(dāng)前要求時(shí)候,就會(huì)要求我們編制新的軟件以替代當(dāng)前軟件)軟件是一種邏輯實(shí)體,不是物理實(shí)體,具有抽象性。(也就是說(shuō),我們使用的軟件(最常用的就是QQ通訊軟件),我們只有運(yùn)行它再通過(guò)顯示設(shè)備,才能夠看到它的運(yùn)行并感受到他。)第二十五頁(yè),共六十七頁(yè),2022年,8月28日軟件是復(fù)雜的,以后會(huì)更復(fù)雜,而且軟件的成本相當(dāng)昂貴軟件工作牽涉到很多社會(huì)因素軟件的特點(diǎn)(了解)軟件依賴與硬件和環(huán)境,導(dǎo)致了移植問(wèn)題(我們的某些軟件,是要與特定的硬件和環(huán)境先適應(yīng)的。某一種軟件,只能應(yīng)用于某一特殊的硬件和環(huán)境,而同一軟件移植到另一種硬件和環(huán)境的時(shí)候,就會(huì)出現(xiàn)問(wèn)題)第二十六頁(yè),共六十七頁(yè),2022年,8月28日軟件危機(jī)(記憶)早期的軟件主要指程序,采用個(gè)體工作方式,缺少相關(guān)文檔,質(zhì)量低,維護(hù)困難,這些問(wèn)題稱為“軟件危機(jī)”,軟件的特點(diǎn)導(dǎo)致了軟件危機(jī)的提出,工程概念的出現(xiàn)源自于軟件危機(jī)。軟件工程(記憶)軟件工程是指應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等原理,以工程化的原則和方法來(lái)解決軟件問(wèn)題的工程。其目的是提高軟件生產(chǎn)率、提高軟件質(zhì)量、降低軟件成本。軟件工程基本目標(biāo)(了解)在給定成本、進(jìn)度的前提下,開(kāi)發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。第二十七頁(yè),共六十七頁(yè),2022年,8月28日軟件工程原則(理解&記憶):抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗(yàn)證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質(zhì)細(xì)節(jié),采用分層次抽象,自頂向下,逐層細(xì)化來(lái)控制軟件開(kāi)發(fā)過(guò)程的復(fù)雜性。2)信息隱蔽:采用封裝技術(shù),將程序模塊的實(shí)現(xiàn)細(xì)節(jié)隱蔽起來(lái),使模塊接口盡量簡(jiǎn)單。3)模塊化:模塊是程序中相對(duì)獨(dú)立的成分,一個(gè)獨(dú)立的編程單位。模塊的大小要適中,過(guò)大模塊內(nèi)部復(fù)雜性增加,太小整個(gè)系統(tǒng)過(guò)于復(fù)雜。4)局部化:保證模塊間具有松耦合性,模塊內(nèi)部有高內(nèi)聚性。5)確定性:軟件中所有概念的表達(dá)應(yīng)是確定、無(wú)歧義且規(guī)范的。6)一致性:內(nèi)外部接口保持一致,系統(tǒng)規(guī)格說(shuō)明與行為保持一致。7)完備性:軟件系統(tǒng)不丟失任何重要成分,完全實(shí)現(xiàn)系統(tǒng)所需功能。8)可驗(yàn)證性:遵循容易檢查、測(cè)評(píng)、評(píng)審原則,確保系統(tǒng)正確性第二十八頁(yè),共六十七頁(yè),2022年,8月28日軟件工程三要素(記憶)方法:完成軟件工程項(xiàng)目的技術(shù)手段工具:支持軟件的開(kāi)發(fā)、管理、文檔生成過(guò)程:支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制、管理軟件工具和軟件開(kāi)發(fā)環(huán)境(記憶)軟件工具(CASE):用來(lái)輔助軟件開(kāi)、運(yùn)行、維護(hù)、管理、支持等過(guò)程中的活動(dòng)的軟件軟件開(kāi)發(fā)環(huán)境:支持軟件產(chǎn)品開(kāi)發(fā)的軟件系統(tǒng),它由軟件工具集和環(huán)境集成機(jī)制構(gòu)成軟件開(kāi)發(fā)技術(shù),包括軟件開(kāi)發(fā)方法學(xué)、開(kāi)發(fā)過(guò)程和軟件工程環(huán)境,其中主要的內(nèi)容是軟件開(kāi)發(fā)方法學(xué)第二十九頁(yè),共六十七頁(yè),2022年,8月28日軟件生命周期(記憶&理解)軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程稱為軟件生命周期。分為軟件定義、軟件開(kāi)發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。1)軟件定義階段:包括制定計(jì)劃和需求分析。制定計(jì)劃:確定總目標(biāo);可行性研究;探討解決方案;制定開(kāi)發(fā)計(jì)劃。需求分析:對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)的定義。2)軟件開(kāi)發(fā)階段:軟件設(shè)計(jì):分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(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ò)充和刪改。第三十頁(yè),共六十七頁(yè),2022年,8月28日第三十一頁(yè),共六十七頁(yè),2022年,8月28日需求分析(記憶)用戶對(duì)目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計(jì)約束等方面的期望。需求分析的任務(wù)是發(fā)現(xiàn)需求、求精、建模和定義需求的過(guò)程。需求分析將創(chuàng)建所需的數(shù)據(jù)模型、功能模型和控制模型。需求分析的四步驟(記憶)需求獲取、需求分析、編寫(xiě)需求規(guī)格說(shuō)明書(shū)和需求評(píng)審3.2結(jié)構(gòu)化分析方法第三十二頁(yè),共六十七頁(yè),2022年,8月28日需求分析的方法(了解)結(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)開(kāi)發(fā)法(DSSD)面向數(shù)據(jù)結(jié)構(gòu)的Jackson系統(tǒng)開(kāi)發(fā)法(JSD)面向數(shù)據(jù)流的結(jié)構(gòu)分析法(SA)面向?qū)ο蟮姆治龇椒ǎ好嫦驅(qū)ο筌浖こ谭椒ㄔ谛枨蠓治鲋械膽?yīng)用第三十三頁(yè),共六十七頁(yè),2022年,8月28日常用工具(記憶)數(shù)據(jù)流圖、數(shù)據(jù)字典、判定樹(shù)、判定表開(kāi)發(fā)策略自頂向下,逐層分解需求分析階段的結(jié)果:軟件需求規(guī)格說(shuō)明書(shū)(RSR)作用:便于用戶與開(kāi)發(fā)人員進(jìn)行理解和交流,反應(yīng)系統(tǒng)的問(wèn)題結(jié)構(gòu),作為系統(tǒng)開(kāi)發(fā)的基礎(chǔ)和依據(jù),作為測(cè)試盒驗(yàn)收的依據(jù)評(píng)價(jià)標(biāo)準(zhǔn):正確性、奇異性、完整性、可驗(yàn)證性、可理解性、可修改性、可追蹤性,其中最重要的是:正確性第三十四頁(yè),共六十七頁(yè),2022年,8月28日數(shù)據(jù)流圖(DFD):以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,它反映了系統(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ù)源):表示處理過(guò)程中存放各種數(shù)據(jù)的文件。源、潭:表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實(shí)體。

第三十五頁(yè),共六十七頁(yè),2022年,8月28日畫(huà)數(shù)據(jù)流圖的基本步驟(記憶)

自外向內(nèi),自頂向下,逐層細(xì)化,完善求精數(shù)據(jù)流圖的示例

第三十六頁(yè),共六十七頁(yè),2022年,8月28日數(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ù)流圖中的加工,也就是圓圈所定義的內(nèi)容)。第三十七頁(yè),共六十七頁(yè),2022年,8月28日判斷樹(shù)(了解):又稱為決策樹(shù),是一種描述加工的圖形數(shù)據(jù),適合描述問(wèn)題里中具有多個(gè)判斷,而且每個(gè)決策與若干條件有關(guān)。使用判定數(shù)進(jìn)行描述時(shí),應(yīng)該從問(wèn)題的文字描述中分清哪些是判定條件,那些是判定的決策,根據(jù)描述材料中的連接詞找出判定條件的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹(shù)

第三十八頁(yè),共六十七頁(yè),2022年,8月28日判斷表(了解):當(dāng)數(shù)據(jù)流圖中的加工依賴多個(gè)邏輯條件的取值,即完成該數(shù)值的一組動(dòng)作|是由于某一組條件取值的組合而引發(fā)的,在此情況下,使用判斷表比較合適。第三十九頁(yè),共六十七頁(yè),2022年,8月28日軟件需求規(guī)格說(shuō)明書(shū)(SRS)

:需求分析階段的最后成果,通過(guò)建立完整的信息描述、詳細(xì)的功能和行為描述、性能需求和設(shè)計(jì)約束的說(shuō)明、合適的驗(yàn)收標(biāo)準(zhǔn),給出對(duì)目標(biāo)軟件的各種需求。第四十頁(yè),共六十七頁(yè),2022年,8月28日需求分析主要解決“做什么”的問(wèn)題,確定系統(tǒng)的邏輯模型。而軟件設(shè)計(jì)主要解決“怎么做”的問(wèn)題,其基本目標(biāo)使用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何讓完成預(yù)定任務(wù),確定系統(tǒng)的物理模型。

第四十一頁(yè),共六十七頁(yè),2022年,8月28日從技術(shù)觀點(diǎn)來(lái)看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過(guò)程設(shè)計(jì)。(記憶)結(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)之間以及軟件與人之間如何通信。過(guò)程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過(guò)程性描述

第四十二頁(yè),共六十七頁(yè),2022年,8月28日從工程角度來(lái)看,軟件設(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ù)庫(kù)模式;編寫(xiě)概要設(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é)。第四十三頁(yè),共六十七頁(yè),2022年,8月28日軟件設(shè)計(jì)基本原理:抽象、模塊化、信息隱蔽和模塊獨(dú)立性。(記憶)抽象:抽象是一種思維工具,就是把事物本質(zhì)的共同特性提取出來(lái)而不考慮其他細(xì)節(jié)。模塊化:解決一個(gè)復(fù)雜問(wèn)題時(shí)自頂向下逐步把軟件系統(tǒng)劃分成較小的、相對(duì)獨(dú)立但又不相互關(guān)聯(lián)的模塊的過(guò)程。信息隱蔽:模塊的實(shí)施細(xì)節(jié)對(duì)于其他模塊來(lái)說(shuō)是隱蔽的。模塊獨(dú)立性:軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能,和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。模塊獨(dú)立性指標(biāo):耦合性和內(nèi)聚性模塊劃分原則是:高內(nèi)聚度,低耦合度模塊之間的依賴性越高,耦合性就越高,模塊的獨(dú)立性就越弱。第四十四頁(yè),共六十七頁(yè),2022年,8月28日總體設(shè)計(jì)(概要設(shè)計(jì))基本任務(wù)1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu)2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫(kù)設(shè)計(jì)3)編寫(xiě)概要設(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)用過(guò)程中來(lái)回傳遞的信息

實(shí)心圓箭頭表示控制信息,空心圓箭頭表示數(shù)據(jù)信息第四十五頁(yè),共六十七頁(yè),2022年,8月28日軟件結(jié)構(gòu)設(shè)計(jì)工具—結(jié)構(gòu)圖(程序結(jié)構(gòu)圖)常用結(jié)構(gòu)圖的四種模塊類型(記憶)傳入模塊:從下屬模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給上級(jí)模塊。傳出模塊:從上級(jí)模塊取得數(shù)據(jù),經(jīng)處理再將其傳送給下屬模塊。變換模塊:從上級(jí)模塊取得數(shù)據(jù),進(jìn)行特定的處理,轉(zhuǎn)換成其他形式,再傳送給上級(jí)模塊。協(xié)調(diào)模塊:對(duì)所有下屬模塊進(jìn)行協(xié)調(diào)和管理的模塊。第四十六頁(yè),共六十七頁(yè),2022年,8月28日軟件結(jié)構(gòu)設(shè)計(jì)工具—結(jié)構(gòu)圖(程序結(jié)構(gòu)圖)(不需掌握)結(jié)構(gòu)圖例及術(shù)語(yǔ)深度:表示控制的層數(shù)。本圖例有5曾寬度:整體控制跨度扇入:調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)。扇出:一個(gè)模塊直接調(diào)用的其他模塊數(shù)。上級(jí)模塊、從屬模塊:上、下兩層模塊a和b,且有a調(diào)用b,則a是上級(jí)模塊,b是從屬模塊。原子模塊:樹(shù)中位于葉子結(jié)點(diǎn)的模塊。

第四十七頁(yè),共六十七頁(yè),2022年,8月28日軟件結(jié)構(gòu)設(shè)計(jì)工具—結(jié)構(gòu)圖(程序結(jié)構(gòu)圖)面向數(shù)據(jù)流的設(shè)計(jì)方法定義了一些不同的映射方法,利用這些方法可以把數(shù)據(jù)流圖變換成結(jié)構(gòu)圖表示軟件的結(jié)構(gòu)。

數(shù)據(jù)流類型:變換型和事務(wù)型(記憶)

變換型:變換型數(shù)據(jù)處理問(wèn)題的工作過(guò)程大致分為三步,即取得數(shù)據(jù)、變換數(shù)據(jù)和輸出數(shù)據(jù)。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務(wù)型:事務(wù)型數(shù)據(jù)處理問(wèn)題的工作機(jī)理是接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。第四十八頁(yè),共六十七頁(yè),2022年,8月28日高腰設(shè)計(jì)的優(yōu)化準(zhǔn)則(了解)改進(jìn)軟件結(jié)構(gòu),提高模塊獨(dú)立性模塊規(guī)模要適中模塊的作用范圍應(yīng)該保持在模塊的控制范圍內(nèi)軟件結(jié)構(gòu)的深度、寬度、扇入、扇出要適當(dāng)降低模塊接口的復(fù)雜度設(shè)計(jì)單入口、單出口的模塊模塊的功能可預(yù)測(cè)第四十九頁(yè),共六十七頁(yè),2022年,8月28日詳細(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(問(wèn)題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。表格工具:判定表。語(yǔ)言工具:PDL(偽碼)第五十頁(yè),共六十七頁(yè),2022年,8月28日第五十一頁(yè),共六十七頁(yè),2022年,8月28日第五十二頁(yè),共六十七頁(yè),2022年,8月28日第五十三頁(yè),共六十七頁(yè),2022年,8月28日3.3軟件測(cè)試目的、意義、人員(記憶)通過(guò)合理的設(shè)計(jì)測(cè)試用例以最少的人力和時(shí)間發(fā)現(xiàn)潛在的各種錯(cuò)誤和缺陷。也就是說(shuō),軟件測(cè)試的目的就是:檢查錯(cuò)誤,并對(duì)錯(cuò)誤進(jìn)行修改,但不能證明程序之中沒(méi)有錯(cuò)誤(因?yàn)檐浖且豁?xiàng)綜合的龐大工程,錯(cuò)誤可能會(huì)出現(xiàn)在多處)保證系統(tǒng)質(zhì)量(滿足需求規(guī)格)和可靠性由開(kāi)發(fā)人員、用戶一起完成第五十四頁(yè),共六十七頁(yè),2022年,8月28日測(cè)試基本方法(記憶)人工測(cè)試(靜態(tài)測(cè)試):評(píng)審軟件文檔或程序,包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過(guò)人工進(jìn)行。機(jī)器測(cè)試(動(dòng)態(tài)測(cè)試):通過(guò)運(yùn)行軟件,來(lái)檢驗(yàn)結(jié)果的正確性。主要包括白盒測(cè)試方法和黑盒測(cè)試方法。

第五十五頁(yè),共六十七頁(yè),2022年,8月28日白盒測(cè)試(結(jié)構(gòu)測(cè)試、邏輯驅(qū)動(dòng)測(cè)試)(記憶)將軟件看成透明的白盒,根據(jù)程序的內(nèi)部結(jié)構(gòu)和邏輯結(jié)構(gòu)來(lái)設(shè)計(jì)測(cè)試?yán)?,?duì)程序的路徑和過(guò)程進(jìn)行測(cè)試,檢查是否滿足設(shè)計(jì)的要求。也就是說(shuō),白盒測(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)的有效性。

第五十六頁(yè),共六十七頁(yè),2022年,8月28日測(cè)試用例根據(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ù)?;韭窂綔y(cè)試:根據(jù)軟件過(guò)程性描述中的控制流程確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測(cè)試用例,對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試。第五十七頁(yè),共六十七頁(yè),2022年,8月28日邏輯覆蓋設(shè)計(jì)的基本內(nèi)容(利用測(cè)試用例)(了解)語(yǔ)句覆蓋:使得程序每一個(gè)語(yǔ)句至少都能被執(zhí)行一次。路徑覆蓋:使程序中所有的可能的路徑都至少經(jīng)歷一次。判定覆蓋:保證程序中每個(gè)判斷的每個(gè)取值分支(T或F)至少經(jīng)歷一次。條件覆蓋:保證程序中每個(gè)判斷的每個(gè)條件的可能取值至少執(zhí)行一次。判斷-條件覆蓋:使判斷中每個(gè)條件的所有可能取值至少執(zhí)行一次,同時(shí)每個(gè)判斷的所有可能取值分支至少執(zhí)行一次。邏輯覆蓋強(qiáng)度依次是:語(yǔ)句覆蓋<路徑覆蓋<判定覆蓋<條件覆蓋<判斷-條件覆蓋

第五十八頁(yè),共六十七頁(yè),2022年,8月28日黑盒測(cè)試(功能測(cè)試)將軟件看成黑盒子,不考慮程序內(nèi)部細(xì)節(jié)、結(jié)構(gòu)和實(shí)現(xiàn)方式,僅僅測(cè)試軟件的基本功能是否滿足需要。黑盒測(cè)試主要用于軟件的確認(rèn)測(cè)試,看是否實(shí)現(xiàn)了功能說(shuō)明書(shū)的預(yù)期目標(biāo)。根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例,基本設(shè)計(jì)方法有(記憶)等價(jià)類劃分法:典型黑盒測(cè)試方法,將程序的所有可能的輸入數(shù)據(jù)劃分成若干部分(及若干等價(jià)類),然后從每個(gè)等價(jià)類中選取數(shù)據(jù)作為測(cè)試用例。邊界值分析法:它是對(duì)各種輸入、輸出范圍的邊界情況設(shè)計(jì)測(cè)試用例的方法。錯(cuò)誤推測(cè)法:人們可以靠經(jīng)驗(yàn)和直覺(jué)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地編寫(xiě)檢查這些錯(cuò)誤的用例。

第五十九頁(yè),共六十七頁(yè),2022年,8月28日軟件測(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ì)說(shuō)明書(shū)的源程序測(cè)試技術(shù):通常以白盒測(cè)試為主,輔之以黑盒測(cè)試。單元測(cè)試內(nèi)容:模塊接口測(cè)試,局部數(shù)據(jù)結(jié)構(gòu)測(cè)試,錯(cuò)誤處理測(cè)試,邊界測(cè)試。單元測(cè)試第六十頁(yè),共六十七頁(yè),2022年,8月28日測(cè)試對(duì)象:將模塊組裝起來(lái)后進(jìn)行測(cè)試,測(cè)試目的是:發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤。

測(cè)試用例設(shè)計(jì):根據(jù)概要測(cè)試說(shuō)明書(shū)測(cè)試內(nèi)容:軟件單元的接口測(cè)試,全局?jǐn)?shù)據(jù)結(jié)構(gòu)與測(cè)試,邊界條件和非法輸入測(cè)試等模塊組裝方式:非增量方式組裝(將所有模塊一次性的全部進(jìn)行測(cè)試地方法)和增量方式(先測(cè)試幾個(gè)模塊,通過(guò)之后再往這幾個(gè)通過(guò)測(cè)試的模塊上再添加模塊地方法)組裝。軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)、系統(tǒng)測(cè)試。集成測(cè)試第六十一頁(yè),共六十七頁(yè),2022年,8月28日任務(wù):驗(yàn)證軟件的有效性。也就是說(shuō),用戶根據(jù)合同進(jìn)行確認(rèn),以確認(rèn)系統(tǒng)功能和性能的可接受性。測(cè)試用例設(shè)計(jì):軟件需求說(shuō)明書(shū)測(cè)試方法:主要用于黑盒測(cè)試。軟件測(cè)試分四個(gè)步驟,從小到大依次是(記憶):?jiǎn)卧獪y(cè)試、集成測(cè)試、確認(rèn)測(cè)試(驗(yàn)收測(cè)試)、系統(tǒng)測(cè)試。確認(rèn)測(cè)試第六十二頁(yè),共六十七頁(yè),2022年,8月28日任務(wù):將軟件系統(tǒng)與硬件、外設(shè)及其他元素結(jié)合在一起,對(duì)整個(gè)軟件系統(tǒng)進(jìn)行測(cè)試,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方。

測(cè)試用例設(shè)計(jì):需求分析規(guī)格說(shuō)明書(shū)基本內(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è)試第六十三頁(yè),共六十七頁(yè),2022年,8月28日基

溫馨提示

  • 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)論