軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第1頁(yè)
軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第2頁(yè)
軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第3頁(yè)
軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第4頁(yè)
軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

1、愛(ài)第一章 軟件工程與軟件設(shè)計(jì)1.1 軟件工程軟件分類(lèi):1. 系統(tǒng)軟件2. 實(shí)時(shí)軟件3. 嵌入式軟件4. 科學(xué)和工程計(jì)算軟件5. 事務(wù)處理軟件6. 人工智能軟件7. 個(gè)人計(jì)算機(jī)軟件軟件工程由方法、工具和過(guò)程三個(gè)要素組成。1.3軟件開(kāi)發(fā)過(guò)程模型1.3.1瀑布模型:是既自頂向下結(jié)構(gòu)化開(kāi)發(fā)模型1.3.2 快速原型模型1.3.3螺旋模型 由四部分組成:1. 需求定義;2. 風(fēng)險(xiǎn)分析;3. 工程實(shí)現(xiàn);4. 評(píng)審;特點(diǎn):1. 瀑布模型+快速原型+風(fēng)險(xiǎn)分析2. 迭代過(guò)程1.4軟件設(shè)計(jì)軟件設(shè)計(jì)的概念:對(duì)軟件如何被開(kāi)發(fā)出來(lái)的一種描述1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的定義(較有影響力的定義):1. 軟件體系結(jié)構(gòu)是軟件

2、系統(tǒng)的結(jié)構(gòu),包括軟件元素,軟件元素外部可見(jiàn)的屬性以及這些軟件元素之間的關(guān)系;2. 軟件體系結(jié)構(gòu)是軟件系統(tǒng)的基本組織,包括構(gòu)件,構(gòu)件之間,構(gòu)件與環(huán)境之間的關(guān)系,以及相關(guān)的設(shè)計(jì)和演化原則。第二章2.1 UML 概述2.1.3 UML 2.0的建模機(jī)制建模機(jī)制中包含的13種視圖模型可以劃分為結(jié)構(gòu)視圖和行為視圖兩種類(lèi)型。建模機(jī)制包括:結(jié)構(gòu)建模,行為建模結(jié)構(gòu)建模包含:類(lèi)圖,包圖,對(duì)象圖,構(gòu)件圖,組合結(jié)構(gòu)圖,部署圖行為建模包含:活動(dòng)圖,交互圖(順序圖,通信圖,交互概覽圖,時(shí)序圖),狀態(tài)圖,用例圖2.2 面向?qū)ο箝_(kāi)發(fā)方法2.3 UML 2.0結(jié)構(gòu)建模2.3.1 類(lèi)圖(作用):類(lèi)圖是UML中最基本、也是最重要

3、的一種視圖,它用來(lái)刻畫(huà)軟件中類(lèi)等元素的靜態(tài)機(jī)構(gòu)關(guān)系。依賴(lài)關(guān)系:兩個(gè)類(lèi)之間存在依賴(lài)關(guān)系,表明一個(gè)類(lèi)使用或需要知道另一個(gè)類(lèi)中包含的信息。ProductCatalogCustomer關(guān)聯(lián)關(guān)系:兩個(gè)類(lèi)之間存在關(guān)聯(lián)關(guān)系,表明這兩個(gè)類(lèi)的實(shí)例之間存在語(yǔ)義上的聯(lián)系。PersonCompany +Employee +Employee * 1聚集關(guān)系:聚集關(guān)系表明兩個(gè)類(lèi)的實(shí)例之間存在一種擁有或?qū)儆陉P(guān)系,可以看做是一種比較弱的整體的一部分關(guān)系,或是一種邏輯上的隸屬關(guān)系。(圖上菱形是空的)PersonPerson * 12.4 UML 2.0 行為建模2.4.1 順序圖:(給出用例畫(huà)出順序圖)【課本 41頁(yè)】2.4.

4、7 用例圖:(作用,參與者,用例)【課本 50頁(yè)】n 作用:用例圖通常被用來(lái)描述系統(tǒng)的需求,從用戶的角度對(duì)系統(tǒng)的功能視點(diǎn)進(jìn)行建模。n 用例:一個(gè)用例代表系統(tǒng)執(zhí)行的一組動(dòng)作,這些動(dòng)作完成特定的任務(wù),并產(chǎn)生對(duì)用戶或外部實(shí)體可觀察的結(jié)果。用例用來(lái)描述系統(tǒng)對(duì)外可見(jiàn)的需求或功能。n 參與者:參與者是與用例發(fā)生交互的系統(tǒng)外部角色,必須是被開(kāi)發(fā)的系統(tǒng)范圍之外的角色(不必在本開(kāi)發(fā)系統(tǒng)中實(shí)現(xiàn)),它們只與系統(tǒng)發(fā)生某種形式的交互。第三章 軟件設(shè)計(jì)基礎(chǔ)3.1 軟件設(shè)計(jì)的基本概念3.1.1抽象與逐步求精(概念)【課本 55頁(yè)】n 抽象:“抽象”是一個(gè)心理學(xué)概念,它要求人們將注意力集中在某一層次上考慮問(wèn)題,而忽略那些低層

5、次的細(xì)節(jié)。是管理、控制復(fù)雜性的基本策略。n 逐步求精:“逐步求精” 可視為一種早期的自頂向下設(shè)計(jì)策略,其主要思想是,針對(duì)某個(gè)功能的宏觀描述用逐步求精的方法不斷地分解,逐步確立過(guò)程細(xì)節(jié),直至該功能用程序語(yǔ)言描述的算法實(shí)現(xiàn)為止。 3.1.2 模塊化與信息隱藏(概念、好處)【課本 57頁(yè)】模塊化:即把軟件劃分為可獨(dú)立命名和訪問(wèn)的部件,每個(gè)部件稱(chēng)為一個(gè)模塊,當(dāng)把所有模塊組裝到一起時(shí)則獲得滿足問(wèn)題需要的一個(gè)解。信息隱藏:即一個(gè)模塊的開(kāi)發(fā)者不必看到其它模塊的內(nèi)部,只需知道其接口即可,這使得每個(gè)模塊的開(kāi)發(fā)人員所要處理的復(fù)雜性顯著降低。未來(lái)達(dá)到信息隱藏的目的,模板應(yīng)該被設(shè)計(jì)為其所含信息(過(guò)程和數(shù)據(jù))對(duì)于那些不

6、必要的信息模塊不可訪問(wèn)。3.1.3 內(nèi)聚與耦合(不同內(nèi)聚概念、判斷、舉例)【課本 58頁(yè)】1.內(nèi)聚n 偶然性?xún)?nèi)聚:一個(gè)模塊內(nèi)各成分為完成一組功能而組合在一起,它們相互之間即使有關(guān)系,也很松散(內(nèi)聚程度最低)例1:一個(gè)程序員寫(xiě)完一個(gè)程序后發(fā)現(xiàn)有一組語(yǔ)句多處出現(xiàn),于是為了節(jié)省內(nèi)存便將這組語(yǔ)句單獨(dú)組成一個(gè)模塊。例2:工具模塊n 邏輯性?xún)?nèi)聚:模塊完成的諸任務(wù)邏輯上相關(guān)n 時(shí)序內(nèi)聚:一個(gè)模塊包含的任務(wù)必須在同一時(shí)間內(nèi)執(zhí)行例:系統(tǒng)的初始化n 過(guò)程性?xún)?nèi)聚:模塊內(nèi)成分彼此相關(guān),并且必須按特定的次序執(zhí)行n 通信內(nèi)聚:模塊中各成分都 將對(duì)數(shù)據(jù)結(jié)構(gòu)的同一區(qū)域進(jìn)行操作例如:從同一磁帶上讀取不相干的數(shù)據(jù) 可能破壞獨(dú)立性

7、。n 順序性?xún)?nèi)聚:各成分均與同一功能相關(guān),且處理按序執(zhí)行n 功能性?xún)?nèi)聚:所有成分形成一個(gè)整體,完成單個(gè)功能(內(nèi)聚程度最高)2.耦合n 非直接耦合:兩個(gè)模塊中的任一個(gè)都不依賴(lài)對(duì)方能獨(dú)立工作。(耦合度最低)例1:A訪問(wèn)C的內(nèi)部數(shù)據(jù)或不通過(guò)正常入口而轉(zhuǎn)入C的內(nèi)部。例2:部分代碼重疊(常出現(xiàn)在匯編程序中)例3:一個(gè)模塊有多個(gè)入口(功能)n 數(shù)據(jù)耦合:兩模塊間通過(guò)參數(shù)交換信息,數(shù)據(jù)僅限于數(shù)據(jù)。n 控制耦合:模塊間傳遞的信息含有控制信息。n 特征耦合:介于數(shù)據(jù)耦合和控制耦合之間。n 外部耦合:若干模塊均與同一外部環(huán)境關(guān)聯(lián)。n 公共耦合:若干模塊通過(guò)全局的數(shù)據(jù)環(huán)境相互作用。n 內(nèi)容耦合:一個(gè)模塊使用另一模塊

8、內(nèi)部的數(shù)據(jù)或控制信息,或一個(gè)模塊直接轉(zhuǎn)移到另一模塊內(nèi)部。(最高耦合度)1. 2.3.3 軟件設(shè)計(jì)的質(zhì)量1.結(jié)構(gòu)良好2.充分性3.可行性4.簡(jiǎn)單性5.實(shí)用性6.靈活性7.健壯性8.可移植性9.可復(fù)用性10.標(biāo)準(zhǔn)化靈活性(如何提高靈活性,可靠性)【課本 67頁(yè)】舉例:網(wǎng)站成員注冊(cè)class WebsiteMember members;/ or maybe:vector members;void register(Member aMember).怎樣才能使設(shè)計(jì)更靈活以注冊(cè)新類(lèi)型的成員?解決方案:引入一個(gè)基類(lèi),將基類(lèi)抽象化,根據(jù)需要產(chǎn)生繼承類(lèi)我們之所以進(jìn)行靈活的設(shè)計(jì),因?yàn)樽兓椭赜檬墙?jīng)常出現(xiàn)的2.健壯

9、性1.防止錯(cuò)誤輸入o 用戶輸入o 不是用戶的輸入 數(shù)據(jù)通信 其他應(yīng)用 方法調(diào)用2.防止開(kāi)發(fā)錯(cuò)誤 錯(cuò)誤的設(shè)計(jì) 錯(cuò)誤的實(shí)現(xiàn)n 檢查輸入 在繼續(xù)進(jìn)行處理之前,可以檢查應(yīng)用程序的所有輸入的方法。 檢查類(lèi)型(例如:整形); 檢查與前置條件和不變式的輸入n 為提高健壯性而初始化 提供靜態(tài)方法,用來(lái)為類(lèi)產(chǎn)生標(biāo)準(zhǔn)的默認(rèn)值n 提高健壯性的參數(shù)傳遞技術(shù)保證方法正確調(diào)用 引入一個(gè)捕獲參數(shù)的類(lèi)并將約束條件合并n 強(qiáng)化意圖通過(guò)防止設(shè)計(jì)和實(shí)現(xiàn)中的錯(cuò)誤來(lái)提高健壯性 強(qiáng)化計(jì)劃,按計(jì)劃使用相應(yīng)功能3.4軟件體系結(jié)構(gòu)設(shè)計(jì)【課本 68頁(yè)】“4+1”模型:每一個(gè)視圖只關(guān)心系統(tǒng)的一個(gè)側(cè)面,5個(gè)視圖結(jié)合在一起才能反映系統(tǒng)的軟件體系結(jié)構(gòu)的

10、全部?jī)?nèi)容。1.邏輯視圖:主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。在面向?qū)ο蠹夹g(shù)中,通過(guò)抽象、封裝和繼承,可以用對(duì)象模型來(lái)代表邏輯視圖,用類(lèi)圖來(lái)描述邏輯視圖。2.進(jìn)程視圖:該視圖捕獲設(shè)計(jì)中關(guān)于并發(fā)和同步的內(nèi)容,重視一些非功能性需求。3.開(kāi)發(fā)視圖:該視圖主要描述軟件在開(kāi)發(fā)環(huán)境中的靜態(tài)結(jié)構(gòu),該視圖的構(gòu)建和連接件分別映射到子系統(tǒng)或模塊,關(guān)注于在軟件開(kāi)發(fā)環(huán)境中軟件模塊的組織。軟件可以被打包為子系統(tǒng),并按層次進(jìn)行組織。4.物理視圖:該視圖描述軟件到硬件的映射關(guān)系,反應(yīng)了軟件的分布特征。把不同的軟件元素,例如進(jìn)程和任務(wù)等,映射到不同的物理節(jié)點(diǎn)上,并關(guān)注物理環(huán)境的拓?fù)浣Y(jié)構(gòu)以及節(jié)點(diǎn)間的通信。5.場(chǎng)景

11、:場(chǎng)景通常是最重要的需求,一方面作為設(shè)計(jì)中發(fā)現(xiàn)體系結(jié)構(gòu)元素的驅(qū)動(dòng)器,另一方面在設(shè)計(jì)完成后,充當(dāng)確認(rèn)和驗(yàn)證的證據(jù)。3.5 高可信軟件設(shè)計(jì) 在等待外部信號(hào)的程序段中,不允許無(wú)限制地等待。正確的做法應(yīng)是,或采用循環(huán)等待次數(shù)控制,或使用定時(shí)器,使得規(guī)定時(shí)間內(nèi)(無(wú)論成功或失敗)必須保證退出等待外部信號(hào)的程序段。 不允許的設(shè)計(jì)方法 建議采用的設(shè)計(jì)方法握手標(biāo)志置寫(xiě)不上的可能可靠的設(shè)計(jì)方法 3.5.2 容錯(cuò)設(shè)計(jì)n 1.避錯(cuò):避錯(cuò)設(shè)計(jì)是使軟件產(chǎn)品在設(shè)計(jì)過(guò)程中,不發(fā)生錯(cuò)誤或少發(fā)生錯(cuò)誤的一種設(shè)計(jì)方法。避錯(cuò)的設(shè)計(jì)原則是控制和減少程序的復(fù)雜性。 從開(kāi)發(fā)方法、工具等多處著手n 避免需求錯(cuò)誤n 深入研究用戶的需求(用戶申明

12、的和未申明的)n 用戶早期介入,如采用原型技術(shù)n 選擇好的開(kāi)發(fā)方法n 結(jié)構(gòu)化方法:包括分析、設(shè)計(jì)、實(shí)現(xiàn)n 面向?qū)ο蟮姆椒ǎ喊ǚ治?、設(shè)計(jì)、實(shí)現(xiàn)n 基于部件的開(kāi)發(fā)方法(COMPONENT BASED)n 快速原型法n 2.查錯(cuò):軟件查錯(cuò)設(shè)計(jì)是指在設(shè)計(jì)中賦予程序某些特殊的功能,使程序在運(yùn)行中自動(dòng)查找存在錯(cuò)誤的一種設(shè)計(jì)方法。被動(dòng)式錯(cuò)誤檢測(cè)在程序的若干部位設(shè)置檢測(cè)點(diǎn),等待錯(cuò)誤征兆的出現(xiàn) 主動(dòng)式錯(cuò)誤檢測(cè)對(duì)程序狀態(tài)主動(dòng)進(jìn)行檢查n 檢測(cè)原則 相互懷疑原則:在設(shè)計(jì)任何一個(gè)單元、模塊時(shí),假設(shè)其它單元、模塊存在著錯(cuò)誤; 立即檢測(cè)原則:當(dāng)錯(cuò)誤征兆出現(xiàn)后,要盡快查明,以限制錯(cuò)誤的損害并降低排錯(cuò)的難度。n 負(fù)效應(yīng) 所設(shè)

13、置的“接收判據(jù)”不可能與預(yù)期的正確結(jié)果完全吻合,導(dǎo)致錯(cuò)判 或漏判; 軟件增加了冗余可能降低可靠性 n 3.改錯(cuò):改錯(cuò)設(shè)計(jì)是指在設(shè)計(jì)中,賦予程序自我改正錯(cuò)誤、減少錯(cuò)誤危害程度的能力的一種設(shè)計(jì)方法。n 改正錯(cuò)誤的前提是已經(jīng)準(zhǔn)確地找出軟件錯(cuò)誤的起因和部位(故障檢測(cè)與故障定位合稱(chēng)故障診斷),程序又有能力修改、剔除有錯(cuò)誤的語(yǔ)句。n 現(xiàn)階段僅限于減少軟件錯(cuò)誤造成的有害影響,或?qū)⒂泻τ绊懴拗圃谝粋€(gè)較小的范圍。常采用故障隔離技術(shù)。第四章4.2用例分析與設(shè)計(jì)4.2.3 用例設(shè)計(jì)描述【課本 105頁(yè)】n 案例:銀行ATM自動(dòng)柜員機(jī)的需求簡(jiǎn)述(本案例將要開(kāi)發(fā)的ATM系統(tǒng)能夠?yàn)轭櫩吞峁┮韵禄痉?wù),它們統(tǒng)一稱(chēng)為交易)

14、: 取款服務(wù)。顧客可以用銀行卡從對(duì)應(yīng)的賬戶中支取現(xiàn)金,現(xiàn)金必須是100元的整數(shù)倍,且每次取款不能超過(guò)2000元。 存款服務(wù)。顧客可以把現(xiàn)金存入與銀行卡對(duì)應(yīng)的賬戶中。 轉(zhuǎn)帳服務(wù)。顧客可以把一個(gè)銀行卡對(duì)應(yīng)的賬戶中的款項(xiàng)轉(zhuǎn)帳到另一個(gè)銀行賬戶中。 查詢(xún)服務(wù)。顧客能夠查詢(xún)一個(gè)銀行卡對(duì)應(yīng)的賬戶中的余額。n 該ATM系統(tǒng)包括以下組成部分: 讀卡器 交互的控制臺(tái),鍵盤(pán)及顯示器 送出現(xiàn)金的裝置,取款器 存款的插槽,存款器 打印機(jī) 啟動(dòng)和關(guān)閉ATM系統(tǒng)的開(kāi)關(guān)鍵盤(pán) ATM系統(tǒng)與銀行服務(wù)通過(guò)特定的網(wǎng)絡(luò)連接進(jìn)行通信n ATM系統(tǒng)在提供以上服務(wù)的過(guò)程中,必須滿足以下要求 一個(gè)顧客可以在最終確認(rèn)前放棄一項(xiàng)交易 ATM在執(zhí)行

15、交易過(guò)程中將與銀行系統(tǒng)進(jìn)行通信,對(duì)是否允許交易進(jìn)行驗(yàn)證 ATM為每次成功的交易提供一個(gè)打印回執(zhí) ATM需要維護(hù)一個(gè)內(nèi)部日志,對(duì)每次交易進(jìn)行記錄參與者:與系統(tǒng)交互的人、設(shè)備、其他系統(tǒng)n “顧客”(Customer)n “操作管理人員”(Operator)n “銀行服務(wù)器”(Bank System)n “讀卡器”(Card Reader)n “存款器”(Cash Acceptor)n “取款器”(Cash Dispenser)n “打印機(jī)”(Printer)用例描述:n 用例名稱(chēng):Withdrawaln 參與者:Customer,Bank System,Card Reader,Cash Dispe

16、nser,Printern 前置條件:顧客已插入銀行卡,密碼驗(yàn)證正確,顧客按下“取款”按鈕n 主事件流:() 顧客輸入取款金額,并確認(rèn)。 系統(tǒng)認(rèn)可取款金額,并發(fā)送指令給取款器。 取款器把相應(yīng)金額的現(xiàn)金送出。 打印機(jī)打印回執(zhí)。n 輔事件流: 如果取款金額不是100的整數(shù)倍,則顯示信息“輸入金額必須是100的整數(shù)倍,請(qǐng)重新輸入”,并返回主事件流中步驟(1)。 如果取款金額超過(guò)2000元,則顯示信息“輸入金額不能超過(guò)2000元,請(qǐng)重新輸入” ,并返回主事件流中步驟(1)。 如果賬戶余額小于取款金額,則顯示信息“賬戶余額不足,請(qǐng)重新輸入” ,并返回主事件流中步驟(1)。 顧客在確認(rèn)取款金額前可以選擇取

17、消交易。n 后置條件:如果取款成功,系統(tǒng)從賬戶余額中減去相應(yīng)數(shù)額,并返回等待狀態(tài);如果顧客取消交易,則返回等待狀態(tài)。4.3概念模型和頂層架構(gòu)設(shè)計(jì)() 4.3.1 概念模型設(shè)計(jì) 從分析類(lèi)所負(fù)責(zé)的主要功能需求看,系統(tǒng)可以包含三種分析類(lèi):1.邊界類(lèi):負(fù)責(zé)目標(biāo)軟件系統(tǒng)與參與者之間的交互,構(gòu)造型為。通常情況下,參與者與用例之間的一種通信連接對(duì)應(yīng)一個(gè)邊界類(lèi)。其職責(zé)包括:2.控制類(lèi):作為完成用例任務(wù)的責(zé)任承擔(dān)者,負(fù)責(zé)協(xié)調(diào)、控制其它類(lèi)共同完成用例規(guī)定的功能或行為。構(gòu)造型為。用例通常對(duì)應(yīng)控制類(lèi)。3.實(shí)體類(lèi):負(fù)責(zé)保存目標(biāo)軟件系統(tǒng)中具有持久意義的信息項(xiàng)并向其它類(lèi)提供讀、寫(xiě)信息項(xiàng)內(nèi)容的必要操作接口,一般不涉及業(yè)務(wù)邏輯

18、處理。構(gòu)造型為 。4.3.2頂層架構(gòu)設(shè)計(jì)(目的)頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計(jì)活動(dòng)建立一種結(jié)構(gòu)和劃分,以便開(kāi)發(fā)人員在不同的開(kāi)發(fā)階段,以及同一開(kāi)發(fā)階段的不同開(kāi)發(fā)人員,能夠聚焦于系統(tǒng)的不同部分。 4.6.2 調(diào)整軟件構(gòu)成類(lèi) 對(duì)類(lèi)進(jìn)行調(diào)整和優(yōu)化主要包括:1.增加輔助類(lèi); 2.合并相互通信頻繁的類(lèi); 3.分拆規(guī)模過(guò)大的類(lèi);第五章 面向數(shù)據(jù)流的軟件設(shè)計(jì)方法5.2 實(shí)體關(guān)系圖數(shù)據(jù)對(duì)象有屬性描述,通常,屬性包括:1.命名性屬性 :對(duì)數(shù)據(jù)對(duì)象的實(shí)例命名,其中必含有一個(gè)或一組關(guān)鍵屬性,以便唯一地標(biāo)識(shí)數(shù)據(jù)對(duì)象的實(shí)例。2.描述性屬性 :對(duì)數(shù)據(jù)對(duì)象實(shí)例的性質(zhì)進(jìn)行描述。3.引用性屬性:將自身與其他數(shù)據(jù)對(duì)象的實(shí)例

19、關(guān)聯(lián)起來(lái)。規(guī)范化規(guī)則:1.數(shù)據(jù)對(duì)象的任何實(shí)例對(duì)每個(gè)屬性必須有且僅有一個(gè)屬性值;2.屬性是原子數(shù)據(jù)項(xiàng),不能包含內(nèi)部數(shù)據(jù)結(jié)構(gòu);3.如果數(shù)據(jù)對(duì)象的關(guān)鍵屬性多于一個(gè),那么其他非關(guān)鍵屬性必須表示整個(gè)數(shù)據(jù)對(duì)象而不是部.分關(guān)鍵屬性的特征;5.所有的非關(guān)鍵屬性必須表示整個(gè)對(duì)象而不是部分屬性的特征。5.4 面向數(shù)據(jù)流的設(shè)計(jì)過(guò)程()5.4.1 變換流與事務(wù)流面向數(shù)據(jù)流的方法能方便地將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu),其過(guò)程分為五部: 1.確定信息流的類(lèi)型; 2.劃分流界; 3.將數(shù)據(jù)流圖映射為程序結(jié)構(gòu); 4.提取層次控制結(jié)構(gòu); 5.通過(guò)設(shè)計(jì)復(fù)審和使用啟發(fā)式策略進(jìn)一步精化所得到的機(jī)構(gòu)。5.4.2變換分析步驟1:復(fù)審基本系統(tǒng)模

20、型步驟2:復(fù)審和精化軟件數(shù)據(jù)流圖步驟3:確定數(shù)據(jù)流圖的特性,判定它為變換流還是事務(wù)流 步驟4:通過(guò)劃定輸入流和輸出流的邊界來(lái)孤立變換中心,即把DFD劃分成邏輯輸入、主加工和邏輯輸出三個(gè)部分。步驟5:執(zhí)行“一級(jí)分解”步驟6:執(zhí)行“二級(jí)分解” ,即設(shè)計(jì)中下層模塊步驟7:采用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,以求改良軟件質(zhì)量 5.4.3 事務(wù)分析步驟一:復(fù)審基本系統(tǒng)模型步驟二:復(fù)審并精化軟件數(shù)據(jù)流圖步驟三:確定數(shù)據(jù)流圖的特性,判定它為變換流還是事務(wù)流步驟四:指出事務(wù)中心,確定由事務(wù)中心發(fā)出的每一動(dòng)作路徑的數(shù)據(jù)流特性步驟五:把數(shù)據(jù)流圖映射為事務(wù)處理型的程序結(jié)構(gòu) 步驟六:分解并精化事務(wù)結(jié)構(gòu)以及每條動(dòng)

21、作路徑所對(duì)應(yīng)的結(jié)構(gòu) 步驟七:使用啟發(fā)式設(shè)計(jì)策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量 例:針對(duì)圖所示的DFD,采用事務(wù)分析法導(dǎo)出程序結(jié)構(gòu),因其主體數(shù)據(jù)流為事務(wù)流(c為事務(wù)中心)。顯然,區(qū)域?yàn)樽儞Q流;區(qū)域?yàn)槭聞?wù)流,但其各個(gè)子流為變換流;區(qū)域?yàn)樽儞Q流。在你所設(shè)計(jì)的程序結(jié)構(gòu)中,除了每個(gè)變換對(duì)應(yīng)一個(gè)模塊外,可能還需增加若干控制模塊。組合得程序結(jié)構(gòu)的雛形,精化雛形,如下圖:針對(duì)如下的DFD圖,導(dǎo)出程序結(jié)構(gòu)圖。其中n為事務(wù)中心。針對(duì)如下的DFD圖,分步驟導(dǎo)出程序結(jié)構(gòu)圖。其中d為事務(wù)中心。第六章 用戶界面設(shè)計(jì)6.1界面設(shè)計(jì)的基本原則原則描述用戶熟悉程度界面應(yīng)該采用經(jīng)常使用系統(tǒng)的用戶所熟悉的術(shù)語(yǔ)和概念一致性界面

22、必須一致,在任何可能的情況下相同的操作應(yīng)該以同樣的方式被激活使驚訝最小化盡量避免使用戶對(duì)系統(tǒng)的行為感到驚訝可恢復(fù)性界面應(yīng)該為用戶提供錯(cuò)誤恢復(fù)機(jī)制用戶幫助界面應(yīng)該在錯(cuò)誤發(fā)生時(shí)提供有意義的反饋,并且提供上下文敏感的用戶幫助系統(tǒng)用戶多樣性界面應(yīng)該為不同類(lèi)型的用戶提供恰當(dāng)?shù)慕换シ绞?.2設(shè)計(jì)良好界面的主要途徑用戶界面設(shè)計(jì)中有三條“黃金規(guī)則”(如何理解)1.使系統(tǒng)處于用戶控制之中2.減少用戶記憶負(fù)擔(dān)3.保持界面一致性6.3.2 界面分析和設(shè)計(jì)模型在用戶界面的分析和設(shè)計(jì)過(guò)程中,有四種模型能夠起作用:1.用戶模型2. 設(shè)計(jì)模型3. 心智模型或系統(tǒng)感知模型4. 實(shí)現(xiàn)模型 6.4 用戶界面分析用戶分析技術(shù):任務(wù)

23、分析用戶采訪和問(wèn)卷調(diào)查群體文化學(xué)6.5.2 界面設(shè)計(jì)需考慮的問(wèn)題1.響應(yīng)時(shí)間系統(tǒng)響應(yīng)時(shí)間有兩個(gè)重要特征:長(zhǎng)度和變化性;變化方式是指與平均響應(yīng)時(shí)間的偏差;2.用戶幫助消息措辭中的設(shè)計(jì)因素第七章 軟件體系結(jié)構(gòu)風(fēng)格和設(shè)計(jì)模式7.1 基本概念軟件設(shè)計(jì)模式:可解決一類(lèi)問(wèn)題并能重復(fù)使用的解決方案軟件體系結(jié)構(gòu)風(fēng)格:它是軟件設(shè)計(jì)人員在長(zhǎng)期的軟件設(shè)計(jì)過(guò)程中總結(jié)出來(lái)的一些規(guī)律性的東西,經(jīng)過(guò)提煉總結(jié)而成。7.2.1Wright ADL調(diào)用實(shí)例的Wright體系結(jié)構(gòu)描述調(diào)用實(shí)例的GADL體系結(jié)構(gòu)描述構(gòu)件圖調(diào)用實(shí)例的GADL體系結(jié)構(gòu)描述類(lèi)圖實(shí)例剖析: 統(tǒng)計(jì)a.txt中單詞的個(gè)數(shù)并打印出來(lái):shell命令:“cat a.

24、txt | wc -w | lpr”1、cat命令輸出a.txt的內(nèi)容2、通過(guò)管道傳給命令wc,統(tǒng)計(jì)輸入流中單詞的 個(gè)數(shù)并輸出3、輸出的單詞數(shù)通過(guò)管道傳給命令lpr,lpr將其打印出來(lái)一個(gè)“管道/過(guò)濾”系統(tǒng)實(shí)例: 系統(tǒng)功能:讀取一個(gè)字符流,并輸出把每隔一個(gè)的字符轉(zhuǎn)換成大寫(xiě)字母的字符流。1.管道/過(guò)濾器風(fēng)格特征:系統(tǒng)中構(gòu)件之間通過(guò)數(shù)據(jù)流松散耦合。也就是說(shuō),構(gòu)件之間的依賴(lài)僅僅是數(shù)據(jù)流,而不是通常的接口函數(shù)調(diào)用或消息傳遞。2.分層風(fēng)格特征:從向外提供服務(wù)的構(gòu)件出發(fā),沿著連接關(guān)系遞次搜索各構(gòu)件和連接件,如果形成的拓?fù)浣Y(jié)構(gòu)是一個(gè)有向無(wú)圈圖(典型情況下是一個(gè)線性結(jié)構(gòu)),那么這個(gè)系統(tǒng)的體系結(jié)構(gòu)風(fēng)格就是層次式的。這種設(shè)計(jì)風(fēng)格便于將復(fù)雜的系統(tǒng)進(jìn)行分解;同時(shí)也便于構(gòu)件替換:只要保持接口一致,就可以將某一層的軟件替換掉,而不會(huì)影響到系統(tǒng)的其他部分。7.4 設(shè)計(jì)模式設(shè)計(jì)模式,并將它們分為三種類(lèi)型:創(chuàng)建型設(shè)計(jì)模式、結(jié)構(gòu)型設(shè)計(jì)模式和行為型設(shè)計(jì)模式。1.Factory Method 例:“龍珠”游戲-設(shè)計(jì)1適用場(chǎng)合:有一些實(shí)體(各種魔力管道),它們的結(jié)構(gòu)和行為是相似的,且都包含一些相似的更小實(shí)體(各類(lèi)球),但一個(gè)大實(shí)體內(nèi)部的這些小實(shí)體都是同一類(lèi)的(一種魔力管道內(nèi)只有一種球)。核心思想歸納:在父類(lèi)中,將創(chuàng)建對(duì)象的操作包裝為

溫馨提示

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