![軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/e70fbea1-a271-47e4-8b64-e53d96f37e9e/e70fbea1-a271-47e4-8b64-e53d96f37e9e1.gif)
![軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/e70fbea1-a271-47e4-8b64-e53d96f37e9e/e70fbea1-a271-47e4-8b64-e53d96f37e9e2.gif)
![軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/e70fbea1-a271-47e4-8b64-e53d96f37e9e/e70fbea1-a271-47e4-8b64-e53d96f37e9e3.gif)
![軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/e70fbea1-a271-47e4-8b64-e53d96f37e9e/e70fbea1-a271-47e4-8b64-e53d96f37e9e4.gif)
![軟件設(shè)計(jì)期末復(fù)習(xí)重點(diǎn)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/e70fbea1-a271-47e4-8b64-e53d96f37e9e/e70fbea1-a271-47e4-8b64-e53d96f37e9e5.gif)
版權(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軟件工程軟件分類:1. 系統(tǒng)軟件2. 實(shí)時(shí)軟件3 嵌入式軟件4. 科學(xué)和工程計(jì)算軟件5. 事務(wù)處理軟件6. 人工智能軟件7. 個(gè)人計(jì)算機(jī)軟件軟件工程由方法、工具和過(guò)程三個(gè)要素組成1.3軟件開發(fā)過(guò)程模型131瀑布模型:是既自頂向下結(jié)構(gòu)化開發(fā)模型需求說(shuō)明書甲題定義定義做什么的問(wèn)題結(jié)構(gòu) L可行性誚h , 設(shè)計(jì)如何做的體系結(jié)構(gòu)I>|;:心|維護(hù)階段WWn 口| | 修改設(shè)計(jì)雇諾 |樹報(bào)告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ò)程制定
2、計(jì)劃 決定目標(biāo). 方案和限制用戶評(píng)估析提交線評(píng)審實(shí)施工程開發(fā)、驗(yàn)證 下一產(chǎn)品風(fēng)險(xiǎn)分析評(píng)價(jià)方案、 識(shí)別風(fēng)險(xiǎn)、 消除風(fēng)險(xiǎn)需求劃幵發(fā)計(jì)劃軟件產(chǎn) 品設(shè)計(jì)可運(yùn)行原樂(lè)詳細(xì)設(shè)計(jì)單元譚碼f 組裝測(cè)試I 亠J驗(yàn)收打加 實(shí)現(xiàn):測(cè)試:測(cè)貳II1.4軟件設(shè)計(jì)軟件設(shè)計(jì)的概念:對(duì)軟件如何被開發(fā)出來(lái)的一種描述1.5軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)的左義(較有影響力的泄義):1. 軟件體系結(jié)構(gòu)是軟件系統(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 UML2.0的
3、建模機(jī)制建模機(jī)制中包含的13種視圖模型可以劃分為結(jié)構(gòu)視圖和行為視圖兩種類型。建模機(jī)制包括:結(jié)構(gòu)建模,行為建模結(jié)構(gòu)建模包含:類圖,包圖,對(duì)象圖,構(gòu)件圖,組合結(jié)構(gòu)圖,部署圖行為建模包含:活動(dòng)圖,交互圖(順序圖,通信圖,交互概覽圖,時(shí)序圖),狀態(tài)圖,用例 圖2.2面向?qū)ο箝_發(fā)方法2.3 UML2.0結(jié)構(gòu)建模2.3.1類圖(作用):類圖是UML中最基本、也是最重要的一種視圖,它用來(lái)刻畫軟件中類 等元素的靜態(tài)機(jī)構(gòu)關(guān)系。依賴關(guān)系:兩個(gè)類之間存在依賴關(guān)系,表明一個(gè)類使用或需要知道另個(gè)類中包含的信息。Customer > Productcatalog關(guān)聯(lián)關(guān)系:兩個(gè)類之間存在關(guān)聯(lián)關(guān)系,表明這兩個(gè)類的實(shí)例之
4、間存在語(yǔ)義上的聯(lián)系。Person+Employee+EmployeeCompany*1聚集關(guān)系聚集關(guān)系表明兩個(gè)類的實(shí)例之間存在一種擁有或?qū)儆陉P(guān)系,可以看做是一種比較 弱的整體的一部分關(guān)系,或是一種邏輯上的隸屬關(guān)系。(圖上菱形是空的)Pers on1 tPers on2.4 UML 2.0行為建模2.4.1 順序圖:(給出用例畫出順序圖)【課本41頁(yè)】2.4.7 用例圖:(作用,參與者,用例)【課本50頁(yè)】作用:用例圖通常被用來(lái)描述系統(tǒng)的需求,從用戶的角度對(duì)系統(tǒng)的功能視點(diǎn)進(jìn)行建 模。用例:一個(gè)用例代表系統(tǒng)執(zhí)行的一組動(dòng)作,這些動(dòng)作完成特左的任務(wù),并產(chǎn)生對(duì)用 戶或外部實(shí)體可觀察的結(jié)果。用例用來(lái)描述系
5、統(tǒng)對(duì)外可見(jiàn)的需求或功能。參與者:參與者是與用例發(fā)生交互的系統(tǒng)外部角色,必須是被開發(fā)的系統(tǒng)范囤之外 的角色(不必在本開發(fā)系統(tǒng)中實(shí)現(xiàn)),它們只與系統(tǒng)發(fā)生某種形式的交互。第三章軟件設(shè)計(jì)基礎(chǔ)3.1軟件設(shè)計(jì)的基本概念3丄1抽象與逐步求精(概念)【課本55頁(yè)】抽象:"抽象"是一個(gè)心理學(xué)概念,它要求人們將注總力集中在某一層次上考慮問(wèn)題, 而忽略那些低層次的細(xì)節(jié)。是管理、控制復(fù)雜性的基本策略。逐步求精:"逐步求精"可視為一種早期的自頂向下設(shè)汁策略,其主要思想是,針對(duì) 某個(gè)功能的宏觀描述用逐步求精的方法不斷地分解,逐步確立過(guò)程細(xì)肖,直至該功 能用程序語(yǔ)言描述的算法實(shí)現(xiàn)為止
6、。3.1.2模塊化與信息隱藏(概念、好處)【課本57頁(yè)】模塊化:即把軟件劃分為可獨(dú)立命名和訪問(wèn)的部件,每個(gè)部件稱為一個(gè)模塊,當(dāng)把所有模塊 組裝到一起時(shí)則獲得滿足問(wèn)題需要的一個(gè)解。信息隱藏:即一個(gè)模塊的開發(fā)者不必看到其它模塊的內(nèi)部,只需知道其接口即可,這使得每 個(gè)模塊的開發(fā)人員所要處理的復(fù)雜性顯著降低。未來(lái)達(dá)到信息隱藏的目的,模板應(yīng)該被設(shè)計(jì) 為其所含信息(過(guò)程和數(shù)據(jù))對(duì)于那些不必要的信息模塊不可訪問(wèn)。3.1.3內(nèi)聚與耦合(不同內(nèi)聚概念、判斷、舉例)【課本58頁(yè)】1內(nèi)聚偶然性內(nèi)聚:一個(gè)模塊內(nèi)各成分為完成一組功能而組合在一起,它們相互之間即使 有關(guān)系,也很松散(內(nèi)聚程度最低)例1: 一個(gè)程序員寫完一
7、個(gè)程序后發(fā)現(xiàn)有一組語(yǔ)句多處岀現(xiàn),于是為了節(jié)省內(nèi)存便 將這組語(yǔ)句單獨(dú)組成一個(gè)模塊。例2:工具模塊邏輯性內(nèi)聚:模塊完成的諸任務(wù)邏輯上相關(guān)時(shí)序內(nèi)聚:一個(gè)模塊包含的任務(wù)必須在同一時(shí)間內(nèi)執(zhí)行例:系統(tǒng)的初始化過(guò)程性內(nèi)聚:模塊內(nèi)成分彼此相關(guān),并且必須按特立的次序執(zhí)行通信內(nèi)聚;模塊中各成分都將對(duì)數(shù)據(jù)結(jié)構(gòu)的同一區(qū)域進(jìn)行操作 例如:從同一磁帶上讀取不相干的數(shù)據(jù)一一可能破壞獨(dú)立性。順序性內(nèi)聚:各成分均與同一功能相關(guān),且處理按序執(zhí)行功能性內(nèi)聚:所有成分形成一個(gè)整體,完成單個(gè)功能(內(nèi)聚程度最高)2.耦合非直接耦合:兩個(gè)模塊中的任一個(gè)都不依賴對(duì)方能獨(dú)立工作。(耦合度最低)例1: A訪問(wèn)C的內(nèi)部數(shù)據(jù)或不通過(guò)正常入口而轉(zhuǎn)入C
8、的內(nèi)部。例2:部分代碼重疊(常出現(xiàn)在匯編程序中)例3: 個(gè)模塊有多個(gè)入口(功能)數(shù)據(jù)耦合:兩模塊間通過(guò)參數(shù)交換信息,數(shù)據(jù)僅限于數(shù)據(jù)??刂岂詈希耗K間傳遞的信息含有控制信息。特征耦合:介于數(shù)據(jù)耦合和控制耦合之間。外部耦合:若干模塊均與同一外部環(huán)境關(guān)聯(lián)。公共耦合:若T模塊通過(guò)全局的數(shù)據(jù)環(huán)境相互作用。內(nèi)容耦合:一個(gè)模塊使用列一模塊內(nèi)部的數(shù)據(jù)或控制信息,或一個(gè)模塊直接轉(zhuǎn)移到 另一模塊內(nèi)部。(最高耦合度)3. 3軟件設(shè)計(jì)的質(zhì)量1. 結(jié)構(gòu)良好2. 充分性3. 可行性4. 簡(jiǎn)單性5. 實(shí)用性6. 靈活性7. 健壯性&可移植性9. 可復(fù)用性10. 標(biāo)準(zhǔn)化靈活性(如何提高靈活性,可靠性)【課本67頁(yè)】舉
9、例:網(wǎng)站成員注冊(cè)八 membersO.n O* MemberWebSite register()class WebsiteMembermembers;/ or maybe:vector members; void register(Member aMember) 怎樣才能使設(shè)訃更靈活以注冊(cè)新類型的成員?解決方案:引入一個(gè)基類,將基類抽象化,根據(jù)需要產(chǎn)生繼承類 我們之所以進(jìn)行靈活的設(shè)計(jì),因?yàn)樽兓椭赜檬墙?jīng)常出現(xiàn)的2. 健壯性1. 防止錯(cuò)誤輸入0用戶輸入0不是用戶的輸入數(shù)據(jù)通信其他應(yīng)用方法調(diào)用2. 防止開發(fā)錯(cuò)誤錯(cuò)誤的設(shè)計(jì)錯(cuò)誤的實(shí)現(xiàn)檢査輸入在繼續(xù)進(jìn)行處理之前,可以檢査應(yīng)用程序的所有輸入的方法。檢查類
10、型(例如:整形);檢查與前置條件和不變式的輸入為提高健壯性而初始化提供靜態(tài)方法,用來(lái)為類產(chǎn)生標(biāo)準(zhǔn)的默認(rèn)值提高健壯性的參數(shù)傳遞技術(shù)保證方法正確調(diào)用引入一個(gè)捕獲參數(shù)的類并將約朿條件合并強(qiáng)化意圖通過(guò)防I匕設(shè)汁和實(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)的全部?jī)?nèi)容。1. 邏輯視圖:主要支持系統(tǒng)的功能需求,即系統(tǒng)提供給最終用戶的服務(wù)。在面向?qū)ο蠹夹g(shù)中, 通過(guò)抽象、封裝和繼承,可以用對(duì)象模型來(lái)代表邏輯視圖,用類圖來(lái)描述邏輯視圖。2. 進(jìn)程視圖:該視圖捕獲設(shè)汁中關(guān)于并
11、發(fā)和同步的內(nèi)容,重視一些非功能性需求。3. 開發(fā)視圖:該視圖主要描述軟件在開發(fā)環(huán)境中的靜態(tài)結(jié)構(gòu),該視圖的構(gòu)建和連接件分別映 射到子系統(tǒng)或模塊,關(guān)注于在軟件開發(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)景:場(chǎng)景通常是最重要的需求,一方而作為設(shè)汁中發(fā)現(xiàn)體系結(jié)構(gòu)元素的驅(qū)動(dòng)器,列一方 而在設(shè)計(jì)完成后,充當(dāng)確認(rèn)和驗(yàn)證的證據(jù)。開發(fā)人員 軟件管理集成人員 性能可擴(kuò)展性最終用戶 功能特性邏輯視圖開發(fā)視圖/
12、f J 場(chǎng)最/' 1.進(jìn)程視圖物理視圖系統(tǒng)工程師拓?fù)渫ń?.5髙可信軟件設(shè)計(jì)在等待外部信號(hào)的程序段中,不允許無(wú)限制地等待。正確的做法應(yīng)是,或采用循環(huán)等待 次數(shù)控制,或使用定時(shí)器,使得規(guī)定時(shí)間內(nèi)(無(wú)論成功或失?。┍仨毐WC退出等待外部信 號(hào)的程序段。A寫flag可能寫不上不允許的設(shè)計(jì)方法建議釆用的設(shè)計(jì)方法B負(fù)正左讀出flagB扌可能寫不上vKite data/ 、%read date/ 1vmte 1 to flag/T、B正左邃出flagB?write 0 to flag握手標(biāo)志置寫不上的可能read out flagwiitBdataBwrite 1 toftagreM out fla
13、g可靠的設(shè)計(jì)方法3. 5. 2容錯(cuò)設(shè)計(jì) 1避錯(cuò):避錯(cuò)設(shè)計(jì)是使軟件產(chǎn)品在設(shè)計(jì)過(guò)程中,不發(fā)生錯(cuò)誤或少發(fā)生錯(cuò)誤的一種設(shè) 計(jì)方法。避錯(cuò)的設(shè)計(jì)原則是控制和減少程序的復(fù)雜性。從開發(fā)方法、工具等多處著手避免需求錯(cuò)誤深入研究用戶的需求(用戶申明的和未申明的)用戶早期介入,如采用原型技術(shù)選擇好的開發(fā)方法結(jié)構(gòu)化方法:包括分析、設(shè)計(jì)、實(shí)現(xiàn)面向?qū)ο蟮姆椒ǎ喊ǚ治?、設(shè)計(jì)、實(shí)現(xiàn) 基于部件的開發(fā)方法(COMPONENT BASED)快速原型法 2.査錯(cuò):軟件査錯(cuò)設(shè)計(jì)是指在設(shè)計(jì)中賦予程序某些特殊的功能,使程序在運(yùn)行中自 動(dòng)?xùn)苏掖嬖阱e(cuò)誤的一種設(shè)計(jì)方法。被動(dòng)式錯(cuò)誤檢測(cè)在程序的若干部位設(shè)置檢測(cè)點(diǎn),等待錯(cuò)誤征兆的岀現(xiàn)主動(dòng)式錯(cuò)誤檢測(cè)
14、對(duì)程序狀態(tài)主動(dòng)進(jìn)行檢査檢測(cè)原則相互懷疑原則:在設(shè)計(jì)任何一個(gè)單元、模塊時(shí),假設(shè)其它單元、模塊存在著 錯(cuò)誤;立即檢測(cè)原則:當(dāng)錯(cuò)誤征兆出現(xiàn)后,要盡快查明,以限制錯(cuò)誤的損害并降低 排錯(cuò)的難度。負(fù)效應(yīng)所設(shè)巻的“接收判據(jù)”不可能與預(yù)期的正確結(jié)果完全吻合,導(dǎo)致錯(cuò)判或漏 判;軟件增加了冗余可能降低可靠性 3改錯(cuò):改錯(cuò)設(shè)計(jì)是指在設(shè)汁中,賦予程序自我改正錯(cuò)誤、減少錯(cuò)誤危害程度的能 力的一種設(shè)計(jì)方法。改正錯(cuò)誤的前提是已經(jīng)準(zhǔn)確地找出軟件錯(cuò)誤的起因和部位(故障檢測(cè)與故障左位合 稱故障診斷),程序又有能力修改、剔除有錯(cuò)誤的語(yǔ)句?,F(xiàn)階段僅限于減少軟件錯(cuò)誤造成的有害影響,或?qū)⒂泻τ绊懴拗圃谝粋€(gè)較小的范用。 常采用故障隔離技術(shù)
15、。第四章4. 2用例分析與設(shè)計(jì)4.2.3用例設(shè)計(jì)描述【課本105頁(yè)】案例:銀行ATM自動(dòng)柜員機(jī)的需求簡(jiǎn)述(本案例將要開發(fā)的ATM系統(tǒng)能夠?yàn)轭櫩吞?供以下基本服務(wù),它們統(tǒng)一稱為交易):取款服務(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è)銀行賬 戶中。査詢服務(wù)。顧客能夠查詢一個(gè)銀行卡對(duì)應(yīng)的賬戶中的余額。 該ATM系統(tǒng)包括以下組成部分:讀卡器交互的控制臺(tái),鍵盤及顯示器送出現(xiàn)金的裝巻,取款器存款的插槽,存款器打印機(jī)啟動(dòng)和關(guān)閉ATM系統(tǒng)的
16、開關(guān)鍵盤 ATM系統(tǒng)與銀行服務(wù)通過(guò)特圧的網(wǎng)絡(luò)連接進(jìn)行通信 ATM系統(tǒng)在提供以上服務(wù)的過(guò)程中,必須滿足以下要求 一個(gè)顧客可以在最終確認(rèn)前放棄一項(xiàng)交易 ATM在執(zhí)行交易過(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)"顧客"(Customer) “操作管理人員”(Operator) “銀行服務(wù)器” (Bank System) "讀卡器"(Card Reader) "存款器"(Cash Acceptor) &quo
17、t;取款器” (Cash Dispenser) “打印機(jī)” (Printer)用例描述:用例夕I稱:Withdrawal 參與者:Customer. Bank System. Card Reader, Cash Dispenser, Printer前置條件:顧客已插入銀行卡,密碼驗(yàn)證正確,顧客按下“取款”按鈕主事件流:()顧客輸入取款金額,并確認(rèn)。系統(tǒng)認(rèn)可取款金額,并發(fā)送指令給取款器。取款器把相應(yīng)金額的現(xiàn)金送出。打印機(jī)打印回執(zhí)。輔事件流:如果取款金額不是100的整數(shù)倍,則顯示信息''輸入金額必須是100的整數(shù) 倍,請(qǐng)重新輸入”,并返回主事件流中步驟(l)o如果取款金額超過(guò)200
18、0元,則顯示信息“輸入金額不能超過(guò)2000元,請(qǐng)重 新輸入”,并返回主事件流中步驟(l)o如果賬戶余額小于取款金額,則顯示信息''賬戶余額不足,請(qǐng)重新輸入”, 并返回主事件流中步驟(1)。顧客在確認(rèn)取款金額前可以選擇取消交易。后置條件:如果取款成功,系統(tǒng)從賬戶余額中減去相應(yīng)數(shù)額,并返回等待狀態(tài):如 果顧客取消交易,則返回等待狀態(tài)。4. 3概念模型和頂層架構(gòu)設(shè)計(jì)()4. 3.1概念模型設(shè)計(jì)從分析類所負(fù)責(zé)的主要功能需求看,系統(tǒng)可以包含三種分析類:1. 邊界類:負(fù)責(zé)目標(biāo)軟件系統(tǒng)與參與者之間的交互,構(gòu)造型為boundary。通常 情況下,參與者與用例之間的一種通信連接對(duì)應(yīng)一個(gè)邊界類。貝
19、職責(zé)包括:2. 控制類:作為完成用例任務(wù)的責(zé)任承擔(dān)者,負(fù)責(zé)協(xié)調(diào)、控制其它類共同完成用例 規(guī)泄的功能或行為。構(gòu)造型為control。用例通常對(duì)應(yīng)控制類。3. 實(shí)體類:負(fù)責(zé)保存目標(biāo)軟件系統(tǒng)中具有持久意義的信息項(xiàng)并向其它類提供讀、寫 信息項(xiàng)內(nèi)容的必要操作接口,一般不涉及業(yè)務(wù)邏借處理。構(gòu)造型為«entity»。4. 3. 2頂層架構(gòu)設(shè)計(jì)(目的)頂層架構(gòu)的主要目的是為后續(xù)的分析和設(shè)計(jì)活動(dòng)建立一種結(jié)構(gòu)和劃分,以便開發(fā)人員 在不同的開發(fā)階段,以及同一開發(fā)階段的不同開發(fā)人員,能夠聚焦于系統(tǒng)的不同部分。4. 6. 2調(diào)整軟件構(gòu)成類對(duì)類進(jìn)行調(diào)整和優(yōu)化主要包括:1. 增加輔助類:2. 合并相互通
20、信頻繁的類:3. 分拆規(guī)模過(guò)大的類;第五章面向數(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í)例關(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ì)象而不是部分屬性的特征
21、。5.4面向數(shù)據(jù)流的設(shè)計(jì)過(guò)程()5.4.1變換流與事務(wù)流而向數(shù)據(jù)流的方法能方便地將數(shù)據(jù)流圖轉(zhuǎn)換為軟件結(jié)構(gòu),其過(guò)程分為五部:1. 確定信息流的類型: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)模型步驟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ì)策略
22、,精化所得程序結(jié)構(gòu)雛形,以求改良軟件質(zhì)量5. 4. 3事務(wù)分析步驟一:復(fù)審基本系統(tǒng)模型步驟二:復(fù)審并精化軟件數(shù)據(jù)流圖步驟三:確泄數(shù)據(jù)流圖的特性,判泄它為變換流還是事務(wù)流步驟四:指出事務(wù)中心,確定由事務(wù)中心發(fā)出的每一動(dòng)作路徑的數(shù)拯流特性步驟五:把數(shù)據(jù)流圖映射為事務(wù)處理型的程序結(jié)構(gòu)步驟六:分解并精化事務(wù)結(jié)構(gòu)以及每條動(dòng)作路徑所對(duì)應(yīng)的結(jié)構(gòu)步驟七:使用啟發(fā)式設(shè)訃策略,精化所得程序結(jié)構(gòu)雛形,改良軟件質(zhì)量例:針對(duì)圖所示的DFD,采用事務(wù)分析法導(dǎo)出程序結(jié)構(gòu),因其主體數(shù)據(jù)流為事務(wù)流(c為事務(wù)中 心)。顯然,區(qū)域I為變換流;區(qū)域II為事務(wù)流,但其各個(gè)子流為變換流:區(qū)域III為變換流。 在你所設(shè)計(jì)的程序結(jié)構(gòu)中,除了
23、每個(gè)變換對(duì)應(yīng)一個(gè)模塊外,可能還需增加若干控制模塊。組合得程序結(jié)構(gòu)的雛形,精化雛形,如下圖:I n I I d IEOI SI B III 1 fgl h 控 11 El片2|I”3| 甲4| 向 nh 顧控31宙 filE 白 由mrhrVirni區(qū)3囚回回 帀同 111 ® 色E由吋由申四EK1 mCTIE1K由第六章用戶界面設(shè)計(jì)6.1界面設(shè)計(jì)的基本原則原則描述用戶熟悉程度界面應(yīng)該采用經(jīng)常使用系統(tǒng)的用戶所熟悉的術(shù)語(yǔ)和概念一致性界面必須一致,在任何可能的情況下相同的操作應(yīng)該以同樣的方式被激活使驚訝最小化盡量避免使用戶對(duì)系統(tǒng)的行為感到驚訝可恢復(fù)性界而應(yīng)該為用戶提供錯(cuò)誤恢復(fù)機(jī)制用戶幫助界
24、而應(yīng)該在錯(cuò)誤發(fā)生時(shí)提供有意義的反饋.并且提供上下文敏感的用戶幫 助系統(tǒng)用戶多樣性界而應(yīng)該為不同類型的用戸提供恰當(dāng)?shù)慕换シ绞?. 2設(shè)計(jì)良好界面的主要途徑用戶界而設(shè)汁中有三條“黃金規(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ù)分析用戶采訪和問(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í)
25、間的偏差:2用戶幫助消息措辭中的設(shè)計(jì)因素閔素描述上下文用戶指南系統(tǒng)應(yīng)該能注意到用戶為前在T什么,針對(duì)十耐上下文調(diào)機(jī)輸出信 息經(jīng)驗(yàn)因?yàn)橛脩糁饾u變得對(duì)系統(tǒng)熟悉了,同時(shí)也會(huì)對(duì)兀過(guò)于詳細(xì)的消息所激 怒。但初學(xué)者可能還嫌太短,問(wèn).題闡述得不夠消遵。用戶指南系統(tǒng)應(yīng)該提供兩種 類型信息并允許用戶控制消息的簡(jiǎn)明程度技能水半消息應(yīng)該根據(jù)用戶的技能和經(jīng)驗(yàn)進(jìn)行剪裁。消息應(yīng)該根據(jù)不同類里的用戶對(duì) 彖選擇不同的農(nóng)達(dá)方式和所用的術(shù)語(yǔ)風(fēng)格消息應(yīng)該足枳極的而不足消極的。應(yīng)該以主動(dòng)方式去表示出來(lái)而不足被動(dòng)顯 示。它們決不能足物理的或足滑梢怪誕的文化消息的設(shè)計(jì)諸應(yīng)該盡可能地熟悉系統(tǒng)所銷倒的國(guó)家的文化傳統(tǒng)。在歐洲、亞 洲和關(guān)洲之間
26、存在右L1大的文化差亓。條消息對(duì)一個(gè)地區(qū)是適合的而在另個(gè) 地區(qū)就可能是不可接受的第七章軟件體系結(jié)構(gòu)風(fēng)格和設(shè)計(jì)模式7.1基本概念軟件設(shè)計(jì)模式:可解決一類問(wèn)題并能重復(fù)使用的解決方案軟件體系結(jié)構(gòu)風(fēng)格:它是軟件設(shè)汁人員在長(zhǎng)期的軟件設(shè)汁過(guò)程中總結(jié)岀來(lái)的一些規(guī)律性的東 西,經(jīng)過(guò)提煉總結(jié)而成。7. 2. IWright ADL構(gòu)件連接件System ProcedureCail component Definer匚過(guò)程調(diào)用系統(tǒng)port provide ptwide protocol spec Definer protocol _ component Caller =port request requestpr
27、otocol spec Caller protocolcounecfor DOconnector =role de f iner = call 一 return 一 de finer § role culler = call 一 ret - caller n §_ glue = raller.call dcfincr.call 、glue de finer, ret ttm caller yfwn. glue粘連規(guī)范實(shí)例Iiisfnncesd: Definerc: Caller de: D-C-connectorAftaclimcnts聯(lián)接<1.provide ns
28、<lc.definer;c.request as de.caller end ProccckircCall.調(diào)用實(shí)例的Wright體系結(jié)構(gòu)描述調(diào)用實(shí)例的GADL體系結(jié)構(gòu)描述一構(gòu)件圖調(diào)用實(shí)例的GADL體系結(jié)構(gòu)描述一類圖 實(shí)例剖析:統(tǒng)計(jì)a. txt中單詞的個(gè)數(shù)并打印出來(lái):shell命令:"cat a. txt | wc | lpr"K 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)換成大寫字母的字
29、符流。1. 管道/過(guò)濾器風(fēng)格特征:系統(tǒng)中構(gòu)件之間通過(guò)數(shù)據(jù)流松散耦合。也就是說(shuō),構(gòu)件之間的依賴僅僅是數(shù)據(jù)流,而 不是通常的接口函數(shù)調(diào)用或消息傳遞。2. 分層風(fēng)格特征:從向外提供服務(wù)的構(gòu)件岀發(fā),沿著連接關(guān)系遞次搜索各構(gòu)件和連接件,如果形成的拓 撲結(jié)構(gòu)是一個(gè)有向無(wú)圈圖(典型情況下是一個(gè)線性結(jié)構(gòu)),那么這個(gè)系統(tǒng)的體系結(jié)構(gòu)風(fēng)格就 是層次式的。這種設(shè)訃風(fēng)格便于將復(fù)雜的系統(tǒng)進(jìn)行分解:同時(shí)也便于構(gòu)件替換:只要保持接 口一致,就可以將某一層的軟件替換掉,而不會(huì)影響到系統(tǒng)的英他部分。7.4設(shè)計(jì)模式設(shè)計(jì)模式,并將它們分為三種類型:創(chuàng)建型設(shè)訃模式、結(jié)構(gòu)型設(shè)汁模式和行為型設(shè)汁模式。1. Factory Method 例:“龍珠”游戲-設(shè)計(jì)1適用場(chǎng)合:有一些實(shí)體(各種魔力管道),它們的結(jié)構(gòu)和行為是相似的,且都包含一些相似 的更小實(shí)體(各類球),但一個(gè)大實(shí)體內(nèi)部的這些小實(shí)體都是同一類的(一種魔力管道內(nèi)只 有一種球)。核心思想歸納:在父類中,將創(chuàng)建對(duì)象的操作包裝為一個(gè)虛函數(shù),在描述公共行為的過(guò)程中 調(diào)用該函數(shù):在子類中重泄義該虛函數(shù)來(lái)定制創(chuàng)建的對(duì)象,從而間接左制公共行為。利用虛 函數(shù)的多態(tài)機(jī)制,F(xiàn)actory Method模式使得父類可集中描述公共行為,而將特別行為(不 同對(duì)象的創(chuàng)建)抽放于子類。2. Abstract Factory 例:魔力管道。適用場(chǎng)合:當(dāng)需要?jiǎng)?chuàng)建一組多種
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程施工廢棄物處理與環(huán)保合同
- 2025年企業(yè)臨時(shí)用工聘合同范文(2篇)
- 2025年摩托車二手定金合同書寫模板
- 2025年中止合同的模板
- 2025年個(gè)人房屋租賃協(xié)議合同(三篇)
- 2025年中外出租合同樣本(2篇)
- 2025年中外合資經(jīng)營(yíng)企業(yè)合同代理企(五篇)
- 2025勞務(wù)清包合同范本
- 2025個(gè)人借款保證合同范本
- 2025服務(wù)技術(shù)合同范文
- 2024年北京市中考數(shù)學(xué)試卷(含答案解析)
- 河南省2024年中考英語(yǔ)真題【附真題答案】
- 2024公路工程施工安全風(fēng)險(xiǎn)辨識(shí)與管控實(shí)施指南
- 浙江省嘉興市2023-2024學(xué)年高一上學(xué)期1月期末考試政治試題
- 新疆2024年新疆和田師范專科學(xué)校招聘70人筆試歷年典型考題及考點(diǎn)附答案解析
- 【正版授權(quán)】 ISO 15978:2002 EN Open end blind rivets with break pull mandrel and countersunk head - AIA/St
- 2024時(shí)事政治考試題庫(kù)(基礎(chǔ)題)
- 2024山西文旅投資集團(tuán)招聘117人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(kù)(共500題)答案詳解版
- 小學(xué)校本課程教材《趣味數(shù)學(xué)》
- 干細(xì)胞療法推廣方案
- (2024年)電工安全培訓(xùn)(新編)課件
評(píng)論
0/150
提交評(píng)論