結(jié)構(gòu)化技術(shù)講解_第1頁(yè)
結(jié)構(gòu)化技術(shù)講解_第2頁(yè)
結(jié)構(gòu)化技術(shù)講解_第3頁(yè)
結(jié)構(gòu)化技術(shù)講解_第4頁(yè)
結(jié)構(gòu)化技術(shù)講解_第5頁(yè)
已閱讀5頁(yè),還剩41頁(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)介

結(jié)構(gòu)化技術(shù)內(nèi)容大綱學(xué)習(xí)目標(biāo)4.1導(dǎo)論4.2結(jié)構(gòu)化技術(shù)之概念4.3結(jié)構(gòu)化分析與設(shè)計(jì)工具4.4軟硬件環(huán)境設(shè)計(jì)與開(kāi)發(fā)工具選擇4.5系統(tǒng)分析與設(shè)計(jì)之文件樣板4.6結(jié)論學(xué)習(xí)目標(biāo)

詳讀本章,你至少能了解:結(jié)構(gòu)化分析與設(shè)計(jì)之概念。何謂由上而下設(shè)計(jì)、編碼與實(shí)施。結(jié)構(gòu)化分析與設(shè)計(jì)之工具與應(yīng)用準(zhǔn)則。

4.1導(dǎo)論系統(tǒng)開(kāi)發(fā)模式主要強(qiáng)調(diào)系統(tǒng)開(kāi)發(fā)過(guò)程中應(yīng)有之步驟與執(zhí)行程序,并不涉及每個(gè)步驟中可支援或應(yīng)用的方法或技術(shù)。結(jié)構(gòu)化技術(shù)起源于1960年代末期,主要強(qiáng)調(diào)如何應(yīng)用一些概念、策略與工具,以提升系統(tǒng)分析與設(shè)計(jì)、程序設(shè)計(jì)與測(cè)試之效率與效能。4.2結(jié)構(gòu)化技術(shù)之概念結(jié)構(gòu)化技術(shù)一般包括:結(jié)構(gòu)化分析(StructuredAnalysis)結(jié)構(gòu)化設(shè)計(jì)(StructuredDesign)結(jié)構(gòu)化程序設(shè)計(jì)(StructuredProgramming)由上而下發(fā)展(Top-downDevelopment)4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)起源于1960年代末期,其主要目的是將信息系統(tǒng)依由上而下發(fā)展,并將程序設(shè)計(jì)模塊化與結(jié)構(gòu)化。4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.2)程序的模塊(Module)是一連串指令的集合,一般來(lái)說(shuō),模塊包括五個(gè)部份:模塊名稱:唯一且應(yīng)有意義,能表達(dá)模塊的功能。輸入:是指呼叫一模塊所需輸入的資料。輸出:是指模塊執(zhí)行后所產(chǎn)生的輸出結(jié)果,它與輸入合稱為模塊的界面。處理邏輯:為模塊內(nèi)必須具備的執(zhí)行程序以達(dá)成模塊的功能。內(nèi)部資料:為該模塊獨(dú)自擁有而不與其他模塊共享的資料。4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.3)結(jié)構(gòu)化設(shè)計(jì)包括文件工具、設(shè)計(jì)評(píng)估準(zhǔn)則與設(shè)計(jì)經(jīng)驗(yàn)法則等。其中,文件包括:結(jié)構(gòu)圖(StructureChart)HIPO圖(HierarchicalInputProcessOutput)模塊規(guī)格描述資料字典4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.4)結(jié)構(gòu)化設(shè)計(jì)之實(shí)施有一些簡(jiǎn)單的經(jīng)驗(yàn)法則(RulesofThumb)可供參考,這些法則很有用,但不保證在所有的個(gè)案均可行。Yourdon(1988)認(rèn)為,最普遍的設(shè)計(jì)經(jīng)驗(yàn)法則常關(guān)系到:模塊大小(ModuleSize)控制間距(SpanofControl)影響范圍(ScopeofEffect)控制范圍(ScopeofControl)4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.5)模塊大小一般來(lái)說(shuō),小模塊約包含200個(gè)以下的程序指令,約可打印在1~2頁(yè)之A4紙內(nèi)。基于小模塊比較簡(jiǎn)單的假設(shè),小模塊比大模塊易于維護(hù)與修改,故結(jié)構(gòu)化設(shè)計(jì)較傾向用小模塊。控制間距一個(gè)模塊不要同時(shí)控制太多實(shí)時(shí)的模塊,最多不要超過(guò)9個(gè)(MagicNumber7±2),因?yàn)榭刂铺嗄K將不利于了解與維護(hù)。影響范圍與控制范圍為縮小影響范圍與控制范圍,當(dāng)甲模塊之行為被乙模塊所影響,則甲模塊應(yīng)從屬于乙模塊。4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.6)結(jié)構(gòu)化設(shè)計(jì)最終須產(chǎn)出模塊化與結(jié)構(gòu)化之程序和符合正規(guī)化之?dāng)?shù)據(jù)庫(kù),但應(yīng)如何做才能產(chǎn)出這樣的結(jié)果呢?結(jié)構(gòu)化設(shè)計(jì)并未具體解決該問(wèn)題,因此結(jié)構(gòu)化分析乃應(yīng)運(yùn)而生。結(jié)構(gòu)化分析之概念起源于1970年代中期,利用圖形化文件工具(GraphicDocumentationTools)進(jìn)行企業(yè)流程及企業(yè)資料格式塑模,以幫助進(jìn)一步之結(jié)構(gòu)化設(shè)計(jì)。4.2.1結(jié)構(gòu)化分析與設(shè)計(jì)(c.7)結(jié)構(gòu)化分析之圖形化文件工具包括:事件列(EventList)環(huán)境圖(ContextDiagram)資料流程圖(DataFlowDiagram,DFD)資料字典(DataDictionary,DD)處理規(guī)格描述(ProcessSpecification,PS)實(shí)體關(guān)系圖(EntityRelationshipDiagram,ERD)4.2.2結(jié)構(gòu)化程序設(shè)計(jì)Dijkstra(1969)提出結(jié)構(gòu)化程序設(shè)計(jì)的概念,以消除以往程序因GOTO指令而造成的混亂狀態(tài)。結(jié)構(gòu)化程序的背后理論指出,任何程序邏輯僅有一輸入與一輸出,且均可由如下之三種結(jié)構(gòu)構(gòu)成:循序、選擇與重復(fù)。4.2.2結(jié)構(gòu)化程序設(shè)計(jì)(c.2)循序簡(jiǎn)單的指令,如COMPUTE、READ、WRITE與代數(shù)指令如X=Y+Z。選擇當(dāng)需做決策時(shí),用IF-THEN-ELSE指令與CASE指令。重復(fù)當(dāng)需反覆執(zhí)行時(shí),用DO-WHILE與DO-UNTIL指令。上述的集合可以組成任何一種程序邏輯,而不需在程序中使用GOTO指令。4.2.3由上而下發(fā)展由上而下發(fā)展之技術(shù)起源于1960年代末期,此技術(shù)包含有三個(gè)相關(guān)但不同方面的「由上而下」:由上而下設(shè)計(jì)(Top-DownDesign)由上而下編碼(Top-DownCoding)由上而下實(shí)施(Top-DownImplementation)4.2.3由上而下發(fā)展(c.2)由上而下設(shè)計(jì)由上而下設(shè)計(jì)是一種設(shè)計(jì)策略,它把大而復(fù)雜的問(wèn)題分解成較小且較簡(jiǎn)化的問(wèn)題,直到原來(lái)的問(wèn)題已可用一些容易且可理解的小問(wèn)題組合來(lái)代表。例如:a.先將主程序分為A、B、C三個(gè)子程序b.再劃分子程序A為A1與A2,C為C1與C2,如圖4-2a圖4-2a由上而下設(shè)計(jì)范例4.2.3由上而下發(fā)展(c.4)由上而下設(shè)計(jì)之特色:一個(gè)層級(jí)化的設(shè)計(jì)先考慮程序的主要功能,再依次考慮所屬的各個(gè)次要功能。延緩考慮細(xì)節(jié)問(wèn)題先考慮高層次之功能,再考慮其下之次功能。與程序語(yǔ)言無(wú)關(guān)使用由上而下設(shè)計(jì)之方式,可選用任何一種語(yǔ)言來(lái)撰寫,而不需更改設(shè)計(jì)內(nèi)容。便于驗(yàn)證可根據(jù)需求分析的結(jié)果來(lái)檢驗(yàn)程序的主要功能是否劃分完備,也可以根據(jù)各主要功能來(lái)檢查各次功能。4.2.3由上而下發(fā)展(c.5)由下而上設(shè)計(jì)在此方式下,通常先考慮程序中較底層的項(xiàng)目、動(dòng)作及其間的關(guān)系,再將這些基本的部分組成較高層次的部分,而這些部份又可以組成更高層次的部分,最后組合成一個(gè)完整的程序。例如:先獨(dú)立發(fā)展各個(gè)細(xì)部的子程序X、Y、Z再將X、Y、Z組合成較高層次的子程序A1經(jīng)過(guò)逐次組合的程序全貌如圖4-2b圖4-2b由下而上設(shè)計(jì)范例4.2.3由上而下發(fā)展(c.7)由下而上設(shè)計(jì)優(yōu)點(diǎn):能及早對(duì)程序內(nèi)部各子程序作績(jī)效評(píng)估缺點(diǎn):難以完全規(guī)劃一個(gè)程序。不易根據(jù)此方式將程序劃分成幾個(gè)部分,以及明確訂出其間相互影響之資料與關(guān)系。4.2.3由上而下發(fā)展(c.8)由上而下編碼程序編輯的方式很多,可采用由上而下的編碼,亦可采由下而上的編碼(Button-UpCoding)的方式,或是兩者混合的方式。由上而下編碼是一種程序編輯策略,當(dāng)高階模塊設(shè)計(jì)完成后,就先對(duì)高階模塊編碼。一般的程序設(shè)計(jì)方式多采由上而下設(shè)計(jì)與由上而下編碼,當(dāng)系統(tǒng)很大時(shí),此種作法有助于縮短時(shí)間。4.2.3由上而下發(fā)展(c.8)由上而下實(shí)施又稱由上而下整合測(cè)試(Top-DownIntegrationTest)。一般來(lái)說(shuō),測(cè)試主要有兩種策略:由上而下測(cè)試與由下而上測(cè)試。軟件測(cè)試(SoftwareTesting)指的是在規(guī)定的條件下操作程序,發(fā)掘程序是否有錯(cuò)誤,用以衡量軟件的質(zhì)量、正確性、完整性,并評(píng)估軟件是否滿足使用者需求的過(guò)程,測(cè)試的主要目的是從可執(zhí)行的程序中找出錯(cuò)誤。軟件測(cè)試有許多方法,一般來(lái)說(shuō),測(cè)試的種類與進(jìn)行順序分別是單元測(cè)試、整合測(cè)試、驗(yàn)收測(cè)試與系統(tǒng)測(cè)試。4.2.3由上而下發(fā)展(c.10)單元測(cè)試

(UnitTesting)為測(cè)試程序碼單元(一個(gè)可獨(dú)立進(jìn)行的工作,其不受前一次或接下來(lái)的工作結(jié)果影響)的正確性,發(fā)生在模塊開(kāi)發(fā)時(shí)。整合測(cè)試

(AggregateTesting)是單元測(cè)試的邏輯延伸,為測(cè)試由單元組合之元件及其間的界面,發(fā)生于模塊結(jié)合為次系統(tǒng)時(shí)。驗(yàn)收測(cè)試

(AcceptanceTesting)為確保軟件準(zhǔn)備就緒,用以表明軟件可依使用者之需求執(zhí)行,發(fā)生在軟件部署于硬件之前。系統(tǒng)測(cè)試

(SystemTesting)是將軟硬件、數(shù)據(jù)、人員、環(huán)境等與系統(tǒng)有關(guān)之元素結(jié)合在一起測(cè)試,發(fā)生在系統(tǒng)完成時(shí)。4.2.3由上而下發(fā)展(c.11)就測(cè)試模式而言,可分為兩種:白箱測(cè)試(WhiteBoxTesting)是以測(cè)試的深度為主,測(cè)試人員需了解待測(cè)試程序的內(nèi)部結(jié)構(gòu)、算法等訊息,透過(guò)測(cè)試資料以檢查特定條件或循環(huán),來(lái)測(cè)試軟件的邏輯路徑。黑箱測(cè)試(BlackBoxTesting)是以測(cè)試的廣度為主,測(cè)試人員并不需要對(duì)軟件的結(jié)構(gòu)性有足夠深層的了解,所進(jìn)行的測(cè)試是從使用者的角度對(duì)程序進(jìn)行的測(cè)試,只需針對(duì)程序的輸入(將測(cè)試數(shù)據(jù)輸入軟件)、輸出(確認(rèn)輸出結(jié)果是否正確)和系統(tǒng)的功能進(jìn)行檢視。圖4-3軟件測(cè)試之種類與執(zhí)行順序4.2.3由上而下發(fā)展(c.13)由上而下實(shí)施由上而下測(cè)試是在低階模塊尚未完成前,先測(cè)試系統(tǒng)的高階模塊由下而上測(cè)試是由程序結(jié)構(gòu)圖的最底端模塊開(kāi)始,逐次往上測(cè)試

(如下圖)。4.2.3由上而下發(fā)展(c.14)應(yīng)用由上而下的整合測(cè)試,首先由結(jié)構(gòu)圖上最頂端的模塊開(kāi)始進(jìn)行測(cè)試,而以殘根模塊(StubModule)或虛擬模塊(DummyModule)暫時(shí)代替其下一層未完成的模塊。以下圖為例,測(cè)試模塊A時(shí),C與D是虛擬模塊,同樣地,測(cè)試模塊B時(shí),E與F是虛擬模塊。

4.2.3由上而下發(fā)展(c.15)由上而下整合測(cè)試之優(yōu)點(diǎn):系統(tǒng)的整合測(cè)試可以減至最少。最高階層的界面最先被測(cè)試,且被測(cè)試的機(jī)會(huì)最多。高階層的模塊是低階層模塊最佳的測(cè)試啟動(dòng)(Driver)模塊。系統(tǒng)的錯(cuò)誤若在上階層,則可及早發(fā)現(xiàn)。4.2.3由上而下發(fā)展(c.16)由上而下整合測(cè)試之缺點(diǎn):需要制造殘根或虛擬模塊。殘根或虛擬模塊的設(shè)計(jì)通常比較復(fù)雜。以殘根或虛擬模塊執(zhí)行輸入、輸出功能較困難。測(cè)試個(gè)案的產(chǎn)生可能會(huì)很困難。測(cè)試結(jié)果較難觀察。易使人產(chǎn)生誤解,認(rèn)為設(shè)計(jì)及測(cè)試可重疊進(jìn)行,或認(rèn)為某些模塊的測(cè)試可延期完成。低階層次模塊若想做平行測(cè)試,將會(huì)受制于其上階層模塊是否已完成。4.2.3由上而下發(fā)展(c.17)應(yīng)用由下而上策略,是從結(jié)構(gòu)圖的最底端開(kāi)始,利用啟動(dòng)模塊逐次往上測(cè)試,而當(dāng)?shù)碗A層的所有模塊均已測(cè)試完畢時(shí),其啟動(dòng)模塊才被真正的上階層模塊所取代。以圖4-6為例,當(dāng)測(cè)試模塊E時(shí),需有啟動(dòng)模塊B。圖4-6由下而上測(cè)試之啟動(dòng)模塊關(guān)系4.2.3由上而下發(fā)展(c.19)由下而上策略之優(yōu)點(diǎn):測(cè)試個(gè)案較容易設(shè)計(jì)。測(cè)試結(jié)果較易觀察。系統(tǒng)錯(cuò)誤如果在下方,則可及早發(fā)現(xiàn)。不會(huì)產(chǎn)生設(shè)計(jì)與測(cè)試可以重疊的錯(cuò)誤觀念。最低階的測(cè)試較徹底。由下而上策略之缺點(diǎn):必須制造啟動(dòng)模塊。整體的系統(tǒng)要等到最后一模塊(通常是最頂端模塊)加上之后才能見(jiàn)到全貌。4.3結(jié)構(gòu)化分析與設(shè)計(jì)工具基本上,結(jié)構(gòu)化分析與設(shè)計(jì)是將資料與流程分開(kāi)考慮,主要可分成三大部分:資料塑模主要是針對(duì)信息系統(tǒng)的知識(shí)子系統(tǒng)。流程塑模主要是針對(duì)信息系統(tǒng)的問(wèn)題處理。使用者界面塑模主要是針對(duì)信息系統(tǒng)的使用者界面子系統(tǒng)。此三種塑模活動(dòng)并沒(méi)有一定的進(jìn)行順序,也就是說(shuō)任何一種塑模活動(dòng)均可視需要而先進(jìn)行或以其他塑模活動(dòng)交互進(jìn)行。圖4-7結(jié)構(gòu)化分析與設(shè)計(jì)及塑模工具4.3結(jié)構(gòu)化分析與設(shè)計(jì)工具(c.3)結(jié)構(gòu)化分析與設(shè)計(jì)的塑模工具包括:事件環(huán)境圖資料流程圖資料字典結(jié)構(gòu)圖與HIPO圖處理規(guī)格描述實(shí)體關(guān)系圖等資料流程圖資料流程圖提供一種簡(jiǎn)易的、圖形化的方式以表達(dá)系統(tǒng)之作業(yè)處理與資料流間之關(guān)系。典型的系統(tǒng)通常需要數(shù)層的資料流程圖,最高層稱為第零階,接下來(lái)依序?yàn)榈谝浑A、第二階到第“N”階,其中第零階表示系統(tǒng)的概觀,而其每個(gè)處理可再被分解,以表示系統(tǒng)下之子系統(tǒng)。

圖4-8資料流程圖范例結(jié)構(gòu)圖與HIPO圖結(jié)構(gòu)圖(StructureChart)與HIPO圖(HierarchicalInputProcessOutput)等文件工具的目的是用來(lái)表達(dá)系統(tǒng)的模塊結(jié)構(gòu)(Structure)及系統(tǒng)架構(gòu)(Architecture),而非針對(duì)程序邏輯(ProceduralLogic)。結(jié)構(gòu)圖以圖形之方式,顯示一信息系統(tǒng)之模塊如何以層級(jí)方式組成,以及如何以資料傳遞來(lái)表示模塊間之互動(dòng)關(guān)系。HIPO圖亦是以圖形之方式,顯示一信息系統(tǒng)之模塊如何以層級(jí)方式組成,其符號(hào)與結(jié)構(gòu)圖相似,但HIPO圖上并不需表示模塊間之互動(dòng)關(guān)系,例如少了模塊間之資料流與控制流。處理規(guī)格描述處理規(guī)格描述(ProcessSpecification)允許系統(tǒng)分析師在資料流程圖最底層之每個(gè)基本處理單元,精確地描述其商業(yè)規(guī)則(例如作業(yè)處理邏輯)。許多不同的方法可被用于描述處理規(guī)格,例如流程圖、法則、結(jié)構(gòu)化英文(StructuredEnglish)與程序設(shè)計(jì)語(yǔ)言(ProgramDesignLanguage,PDL)等。實(shí)體關(guān)系圖實(shí)體關(guān)系圖(Entity-RelationshipDiagram,E-RDiagram或ERD)是系統(tǒng)分析與設(shè)計(jì)時(shí)用于資料塑模的主要工具,主要表示企業(yè)資料中實(shí)體類型間之關(guān)系,是關(guān)聯(lián)式數(shù)據(jù)庫(kù)之整體邏輯結(jié)構(gòu)的一種圖形表示。其可對(duì)組織或商業(yè)領(lǐng)域的實(shí)體(Entities)、關(guān)聯(lián)(Associations)及資料元素(DataElements)提供概念性邏輯結(jié)構(gòu)的表示。吳仁和、林信惠(2016)4.4軟硬件環(huán)境設(shè)計(jì)與開(kāi)發(fā)工具選擇軟硬件環(huán)境設(shè)計(jì)及開(kāi)發(fā)工具選擇,包括硬件與網(wǎng)絡(luò)架構(gòu)、作業(yè)系統(tǒng)、應(yīng)用系統(tǒng)架構(gòu)之設(shè)計(jì)與開(kāi)發(fā)工具之選擇等。其中,主從式(Client/

溫馨提示

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