




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、l 11.1 面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則l 1 模塊化模塊化 l 2 抽象抽象 l 3 信息隱藏信息隱藏 l 4 弱耦合弱耦合 l 5 強(qiáng)內(nèi)聚強(qiáng)內(nèi)聚 l 6 可重用可重用 1 設(shè)計(jì)結(jié)果應(yīng)該清晰易懂設(shè)計(jì)結(jié)果應(yīng)該清晰易懂 使設(shè)計(jì)結(jié)果清晰、易讀、易懂,是提高使設(shè)計(jì)結(jié)果清晰、易讀、易懂,是提高軟件可維護(hù)性和可重用性的重要措施。軟件可維護(hù)性和可重用性的重要措施。l用詞一致用詞一致l使用已有的協(xié)議使用已有的協(xié)議l減少消息模式的數(shù)目減少消息模式的數(shù)目l避免模糊的定義避免模糊的定義l從類名可以較容易地推想出它的用途從類名可以較容易地推想出它的用途l2 一般特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)一般特殊結(jié)構(gòu)的深度應(yīng)適當(dāng)
2、 l 一般說(shuō)來(lái),在一個(gè)中等規(guī)模一般說(shuō)來(lái),在一個(gè)中等規(guī)模(大約包含大約包含100個(gè)類個(gè)類)的系統(tǒng)中,類等級(jí)層次數(shù)應(yīng)保持為的系統(tǒng)中,類等級(jí)層次數(shù)應(yīng)保持為5-9。l 應(yīng)該使一般一特殊結(jié)構(gòu)與領(lǐng)域知識(shí)或應(yīng)該使一般一特殊結(jié)構(gòu)與領(lǐng)域知識(shí)或常識(shí)保持一致。常識(shí)保持一致。l l3 設(shè)計(jì)簡(jiǎn)單的類設(shè)計(jì)簡(jiǎn)單的類 (1) 避免包含過(guò)多的屬性避免包含過(guò)多的屬性 (2)有明確的定義有明確的定義 (3)盡量簡(jiǎn)化對(duì)象之間的合作關(guān)系盡量簡(jiǎn)化對(duì)象之間的合作關(guān)系 (4)不要提供太多服務(wù)不要提供太多服務(wù)l4 使用簡(jiǎn)單的協(xié)議使用簡(jiǎn)單的協(xié)議 l 消息中的參數(shù)不要超過(guò)消息中的參數(shù)不要超過(guò)3個(gè)個(gè)l 通過(guò)復(fù)雜消息相互關(guān)聯(lián)的對(duì)象是緊耦通過(guò)復(fù)雜消息相
3、互關(guān)聯(lián)的對(duì)象是緊耦合的合的l5 使用簡(jiǎn)單的服務(wù)使用簡(jiǎn)單的服務(wù) l6 把設(shè)計(jì)變動(dòng)減至最小把設(shè)計(jì)變動(dòng)減至最小 服務(wù)通常一般只有服務(wù)通常一般只有35行源程序語(yǔ)句行源程序語(yǔ)句 一般說(shuō)來(lái),應(yīng)該盡量避免使用復(fù)雜的服務(wù)。如果一般說(shuō)來(lái),應(yīng)該盡量避免使用復(fù)雜的服務(wù)。如果需要需要 在服務(wù)中使用在服務(wù)中使用CASE語(yǔ)句,通常應(yīng)該考慮用一般語(yǔ)句,通常應(yīng)該考慮用一般一特殊結(jié)構(gòu)代替這個(gè)類的可能性。一特殊結(jié)構(gòu)代替這個(gè)類的可能性。 設(shè)計(jì)的質(zhì)量越高,設(shè)計(jì)結(jié)果保持不變的時(shí)間也越長(zhǎng)。設(shè)計(jì)的質(zhì)量越高,設(shè)計(jì)結(jié)果保持不變的時(shí)間也越長(zhǎng)。即使出現(xiàn)必須修改設(shè)計(jì)的情況,也應(yīng)該使修改的范圍盡可即使出現(xiàn)必須修改設(shè)計(jì)的情況,也應(yīng)該使修改的范圍盡可能小
4、。能小。11.3 軟件重用軟件重用11.3.1 概述概述 1 重用重用:也叫再用或復(fù)用,是指同一事物不也叫再用或復(fù)用,是指同一事物不作修改或稍加改動(dòng)就多次重復(fù)使用。作修改或稍加改動(dòng)就多次重復(fù)使用。 (1)知識(shí)重用知識(shí)重用(例如,軟件工程知識(shí)的重用例如,軟件工程知識(shí)的重用)。 (2)方法和標(biāo)準(zhǔn)的重用方法和標(biāo)準(zhǔn)的重用(例如,面向?qū)ο蠓椒ɡ纾嫦驅(qū)ο蠓椒ɑ驀?guó)家制定的軟件開(kāi)發(fā)規(guī)范的重用或國(guó)家制定的軟件開(kāi)發(fā)規(guī)范的重用)。 (3)軟件成分的重用。軟件成分的重用。2軟件成分的重用級(jí)別軟件成分的重用級(jí)別(1)代碼重用代碼重用源代碼剪貼源代碼剪貼源代碼包含源代碼包含:提供包含提供包含(Include)庫(kù)中源代
5、碼的機(jī)制。庫(kù)中源代碼的機(jī)制。繼承繼承(2)設(shè)計(jì)結(jié)果重用設(shè)計(jì)結(jié)果重用(3)分析結(jié)果重用分析結(jié)果重用3 典型的可重用軟件成分典型的可重用軟件成分(1)項(xiàng)目計(jì)劃項(xiàng)目計(jì)劃 (2)成本估計(jì))成本估計(jì)(3)體系結(jié)構(gòu))體系結(jié)構(gòu) (4)需求模型和規(guī)格說(shuō)明)需求模型和規(guī)格說(shuō)明(5)設(shè)計(jì)設(shè)計(jì) (6)源代碼源代碼(7)用戶文檔和技術(shù)文檔)用戶文檔和技術(shù)文檔 (8)用戶界面)用戶界面 (9)數(shù)據(jù))數(shù)據(jù)(10)測(cè)試用例)測(cè)試用例11.3.2 類構(gòu)件類構(gòu)件 面向?qū)ο笾械念愂潜容^理想的可重用的構(gòu)件,面向?qū)ο笾械念愂潜容^理想的可重用的構(gòu)件,稱類構(gòu)件。稱類構(gòu)件。1可重用軟構(gòu)件應(yīng)具備的特點(diǎn)可重用軟構(gòu)件應(yīng)具備的特點(diǎn)(1)模塊獨(dú)立性
6、強(qiáng)模塊獨(dú)立性強(qiáng) 具有單一、完整的功能,且經(jīng)過(guò)反復(fù)測(cè)試被具有單一、完整的功能,且經(jīng)過(guò)反復(fù)測(cè)試被確認(rèn)是正確的,內(nèi)部實(shí)現(xiàn)在外面是不可見(jiàn)的。確認(rèn)是正確的,內(nèi)部實(shí)現(xiàn)在外面是不可見(jiàn)的。(2)具有高度可塑性具有高度可塑性 必須提供為適應(yīng)特定需求而擴(kuò)充或修改已有必須提供為適應(yīng)特定需求而擴(kuò)充或修改已有構(gòu)件的機(jī)制,而且所提供的機(jī)制必須使用起來(lái)非常構(gòu)件的機(jī)制,而且所提供的機(jī)制必須使用起來(lái)非常簡(jiǎn)單方便。簡(jiǎn)單方便。(3)接口清晰、簡(jiǎn)明、可靠接口清晰、簡(jiǎn)明、可靠 應(yīng)該有詳盡的文檔說(shuō)明應(yīng)該有詳盡的文檔說(shuō)明2類構(gòu)件的重用方式類構(gòu)件的重用方式(1)實(shí)例重用實(shí)例重用 向創(chuàng)建的實(shí)例發(fā)送適當(dāng)?shù)南ⅲ瑔?dòng)相應(yīng)的服向創(chuàng)建的實(shí)例發(fā)送適當(dāng)?shù)?/p>
7、消息,啟動(dòng)相應(yīng)的服務(wù),完成需要完成的工作。務(wù),完成需要完成的工作。 還可以用幾個(gè)簡(jiǎn)單的對(duì)象作為類的成員,創(chuàng)建還可以用幾個(gè)簡(jiǎn)單的對(duì)象作為類的成員,創(chuàng)建出一個(gè)更復(fù)雜的類,這是實(shí)例重用的另一種形式。出一個(gè)更復(fù)雜的類,這是實(shí)例重用的另一種形式。 (2)繼承重用繼承重用 提供了一種對(duì)已有的類構(gòu)件進(jìn)行裁剪的機(jī)制提供了一種對(duì)已有的類構(gòu)件進(jìn)行裁剪的機(jī)制 (3)多態(tài)重用多態(tài)重用 利用多態(tài)性不僅可以便對(duì)象的對(duì)外接口更加一利用多態(tài)性不僅可以便對(duì)象的對(duì)外接口更加一般化般化(基類與派生類的許多對(duì)外接口是相同的基類與派生類的許多對(duì)外接口是相同的),從而,從而降低了消息連接的復(fù)雜程度,而且還提供了一種簡(jiǎn)便降低了消息連接的復(fù)
8、雜程度,而且還提供了一種簡(jiǎn)便可靠的軟構(gòu)件組合機(jī)制。系統(tǒng)運(yùn)行時(shí),根據(jù)接收消息可靠的軟構(gòu)件組合機(jī)制。系統(tǒng)運(yùn)行時(shí),根據(jù)接收消息的對(duì)象類型,由多態(tài)性機(jī)制啟動(dòng)正確的方法,去響應(yīng)的對(duì)象類型,由多態(tài)性機(jī)制啟動(dòng)正確的方法,去響應(yīng)一個(gè)一般化的消息,從而簡(jiǎn)化消息界面和軟構(gòu)件連接一個(gè)一般化的消息,從而簡(jiǎn)化消息界面和軟構(gòu)件連接過(guò)程。過(guò)程。11.3.3 軟件重用的效益軟件重用的效益1 質(zhì)量質(zhì)量 HP公司的研究公司的研究2 生產(chǎn)率生產(chǎn)率 創(chuàng)建計(jì)劃、模型、文檔、代碼和數(shù)據(jù)所需花費(fèi)的創(chuàng)建計(jì)劃、模型、文檔、代碼和數(shù)據(jù)所需花費(fèi)的時(shí)間將減少。重用時(shí)間將減少。重用30%-50%提高生產(chǎn)率提高生產(chǎn)率25%-40%3 成本成本 軟件重用
9、帶來(lái)的凈成本節(jié)省軟件重用帶來(lái)的凈成本節(jié)省 C=Cs-Cr-CdCs從頭開(kāi)發(fā)(沒(méi)有重用)所需成本;從頭開(kāi)發(fā)(沒(méi)有重用)所需成本;Cr與重用相關(guān)聯(lián)與重用相關(guān)聯(lián)的成本;的成本;Cd交付給客戶軟件的實(shí)際成本交付給客戶軟件的實(shí)際成本11.4 系統(tǒng)分解系統(tǒng)分解 系統(tǒng)的主要組成部分稱為子系統(tǒng),通常根據(jù)所提供系統(tǒng)的主要組成部分稱為子系統(tǒng),通常根據(jù)所提供的功能來(lái)劃分子系統(tǒng)。的功能來(lái)劃分子系統(tǒng)。 例如,編譯系統(tǒng)可劃分成詞法分析、語(yǔ)法分析、中例如,編譯系統(tǒng)可劃分成詞法分析、語(yǔ)法分析、中間代碼生成、優(yōu)化、目標(biāo)代碼生成和出錯(cuò)處理等于系統(tǒng)。間代碼生成、優(yōu)化、目標(biāo)代碼生成和出錯(cuò)處理等于系統(tǒng)。 子系統(tǒng)的數(shù)目應(yīng)該與系統(tǒng)規(guī)?;?/p>
10、匹配。子系統(tǒng)的數(shù)目應(yīng)該與系統(tǒng)規(guī)?;酒ヅ?。 在劃分和設(shè)計(jì)子系統(tǒng)時(shí),應(yīng)該盡量減少于系統(tǒng)彼此在劃分和設(shè)計(jì)子系統(tǒng)時(shí),應(yīng)該盡量減少于系統(tǒng)彼此間的依賴性。間的依賴性。 面向?qū)ο笤O(shè)計(jì)模型面向?qū)ο笤O(shè)計(jì)模型(即求解域的對(duì)象模型即求解域的對(duì)象模型),也由主,也由主題、類與對(duì)象、結(jié)構(gòu)、屬性、服務(wù)等五個(gè)層次組成。這題、類與對(duì)象、結(jié)構(gòu)、屬性、服務(wù)等五個(gè)層次組成。這五個(gè)層次一層比一層表示的細(xì)節(jié)更多。五個(gè)層次一層比一層表示的細(xì)節(jié)更多。 面向?qū)ο笤O(shè)計(jì)模型,在邏輯上都由四大部分組成。面向?qū)ο笤O(shè)計(jì)模型,在邏輯上都由四大部分組成。這四大部分對(duì)應(yīng)于組成目標(biāo)系統(tǒng)的四個(gè)子系統(tǒng),它們這四大部分對(duì)應(yīng)于組成目標(biāo)系統(tǒng)的四個(gè)子系統(tǒng),它們分別是問(wèn)
11、題域子系統(tǒng)、人分別是問(wèn)題域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)管理機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。 1141 子系統(tǒng)之間的兩種交互方式子系統(tǒng)之間的兩種交互方式1 客戶一供應(yīng)商關(guān)系客戶一供應(yīng)商關(guān)系 在這種關(guān)系中,作為在這種關(guān)系中,作為“客戶客戶”的子系統(tǒng)調(diào)用作為的子系統(tǒng)調(diào)用作為“供應(yīng)商供應(yīng)商”的子系統(tǒng),后者完成某些服務(wù)工作并返回結(jié)果。的子系統(tǒng),后者完成某些服務(wù)工作并返回結(jié)果。使用這種交互方案,作為客戶的子系統(tǒng)必須了解作為供應(yīng)使用這種交互方案,作為客戶的子系統(tǒng)必須了解作為供應(yīng)商的子系統(tǒng)的接口,然而后者卻無(wú)須了解前者的接口,因商的子系統(tǒng)的接口,然而后者卻無(wú)須了解前者的接
12、口,因?yàn)槿魏谓换バ袨槎际怯汕罢唑?qū)動(dòng)的。為任何交互行為都是由前者驅(qū)動(dòng)的。 2平等伙伴關(guān)系平等伙伴關(guān)系 在這種關(guān)系中,每個(gè)子系統(tǒng)都可能調(diào)用其他子系統(tǒng),在這種關(guān)系中,每個(gè)子系統(tǒng)都可能調(diào)用其他子系統(tǒng),因此,每個(gè)子系統(tǒng)部必須了解其他子系統(tǒng)的接口。因此,每個(gè)子系統(tǒng)部必須了解其他子系統(tǒng)的接口。 總的說(shuō)來(lái),單向交互比雙向交互更容易理解,也更總的說(shuō)來(lái),單向交互比雙向交互更容易理解,也更容易設(shè)計(jì)和修改,因此應(yīng)該盡量使用客戶一供應(yīng)商關(guān)系。容易設(shè)計(jì)和修改,因此應(yīng)該盡量使用客戶一供應(yīng)商關(guān)系。1142 組織系統(tǒng)的兩種方案組織系統(tǒng)的兩種方案1層次組織層次組織 這種組織方案把軟件系統(tǒng)組織成一個(gè)層次系統(tǒng),每這種組織方案把軟件系
13、統(tǒng)組織成一個(gè)層次系統(tǒng),每層是一個(gè)子系統(tǒng)。層是一個(gè)子系統(tǒng)。 在上、下層之間存在客戶一供應(yīng)商關(guān)系。低層子系在上、下層之間存在客戶一供應(yīng)商關(guān)系。低層子系統(tǒng)提供服務(wù),相當(dāng)于供應(yīng)商,上層子系統(tǒng)使用下層提供的統(tǒng)提供服務(wù),相當(dāng)于供應(yīng)商,上層子系統(tǒng)使用下層提供的服務(wù),相當(dāng)于客戶。服務(wù),相當(dāng)于客戶。 2塊狀組織塊狀組織 這種組織方案把軟件系統(tǒng)垂直地分解成系統(tǒng)相當(dāng)于這種組織方案把軟件系統(tǒng)垂直地分解成系統(tǒng)相當(dāng)于一塊,每塊提供一種類型的服務(wù)。一塊,每塊提供一種類型的服務(wù)。 利用層次和塊的各種利用層次和塊的各種可能的組合,可以成功地由多個(gè)子系統(tǒng)組成一個(gè)完整的軟可能的組合,可以成功地由多個(gè)子系統(tǒng)組成一個(gè)完整的軟件系統(tǒng)。件
14、系統(tǒng)。 OOA的模型直接放到的模型直接放到OOD D的問(wèn)題的問(wèn)題域部分域部分, , OOD階段對(duì)階段對(duì)OOA結(jié)果進(jìn)行結(jié)果進(jìn)行改動(dòng)和增補(bǔ)。改動(dòng)和增補(bǔ)。 根據(jù)實(shí)現(xiàn)條件,對(duì)根據(jù)實(shí)現(xiàn)條件,對(duì)OOA產(chǎn)生模型產(chǎn)生模型的類與對(duì)象、結(jié)構(gòu)、屬性、操作進(jìn)行的類與對(duì)象、結(jié)構(gòu)、屬性、操作進(jìn)行 組合與分解,增加必要的類、屬性和組合與分解,增加必要的類、屬性和關(guān)系。關(guān)系。編程語(yǔ)言編程語(yǔ)言硬件、操作系統(tǒng)及網(wǎng)絡(luò)設(shè)施硬件、操作系統(tǒng)及網(wǎng)絡(luò)設(shè)施復(fù)用支持復(fù)用支持?jǐn)?shù)據(jù)管理系統(tǒng)數(shù)據(jù)管理系統(tǒng)界面支持系統(tǒng)界面支持系統(tǒng)輸入輸入OOA模型,進(jìn)行必要的修改模型,進(jìn)行必要的修改逐一考察影響問(wèn)題域部分設(shè)計(jì)的實(shí)現(xiàn)逐一考察影響問(wèn)題域部分設(shè)計(jì)的實(shí)現(xiàn)條件,對(duì)
15、模型進(jìn)行調(diào)整、補(bǔ)充條件,對(duì)模型進(jìn)行調(diào)整、補(bǔ)充建立分析文檔和設(shè)計(jì)文檔之間的映射建立分析文檔和設(shè)計(jì)文檔之間的映射關(guān)系關(guān)系針對(duì)編程語(yǔ)言支持能力的調(diào)整針對(duì)編程語(yǔ)言支持能力的調(diào)整增加一般類,提供共同協(xié)議增加一般類,提供共同協(xié)議為實(shí)現(xiàn)復(fù)用采取的設(shè)計(jì)策略為實(shí)現(xiàn)復(fù)用采取的設(shè)計(jì)策略提高性能提高性能為實(shí)現(xiàn)對(duì)象永久存儲(chǔ)所做的修改為實(shí)現(xiàn)對(duì)象永久存儲(chǔ)所做的修改完善對(duì)象的細(xì)節(jié)完善對(duì)象的細(xì)節(jié)定義對(duì)象實(shí)例定義對(duì)象實(shí)例修改或補(bǔ)充主題圖、交互圖和詳細(xì)說(shuō)明修改或補(bǔ)充主題圖、交互圖和詳細(xì)說(shuō)明對(duì)繼承的調(diào)整對(duì)繼承的調(diào)整簡(jiǎn)單轉(zhuǎn)換簡(jiǎn)單轉(zhuǎn)換重新定義對(duì)象類重新定義對(duì)象類保持分類,剝離多繼承信息保持分類,剝離多繼承信息對(duì)多態(tài)性的調(diào)整對(duì)多態(tài)性的調(diào)整
16、汽車客貨兩用車貨車客車針對(duì)單繼承的調(diào)整針對(duì)單繼承的調(diào)整: :分解多繼承分解多繼承, , 采用整體采用整體/ /部分結(jié)構(gòu)映射部分結(jié)構(gòu)映射汽車1,m貨運(yùn)客運(yùn)汽車用途汽車客貨兩用車貨車客車1,m貨運(yùn)客運(yùn)汽車用途汽車1針對(duì)單繼承的調(diào)整針對(duì)單繼承的調(diào)整: :分解多繼承分解多繼承, , 采用實(shí)例連接映射采用實(shí)例連接映射貨車客車汽車針對(duì)單繼承的調(diào)整針對(duì)單繼承的調(diào)整: :分解多繼承分解多繼承, , 展平為單繼承展平為單繼承客貨兩用車汽車客貨兩用車貨車客車兩種結(jié)構(gòu)的變通兩種結(jié)構(gòu)的變通冷藏車?yán)洳剀嚻嚻囍评湓O(shè)備制冷設(shè)備冷藏車?yán)洳剀嚻嚻囍评湓O(shè)備制冷設(shè)備僅用一般僅用一般- -特殊結(jié)構(gòu)特殊結(jié)構(gòu)兩種結(jié)構(gòu)兩種結(jié)構(gòu)同同
17、 用用冷藏車?yán)洳剀嚻嚻囍评湓O(shè)備制冷設(shè)備僅用整體僅用整體- -部分結(jié)構(gòu)部分結(jié)構(gòu)直接復(fù)用直接復(fù)用刪除可復(fù)用類的多余信息刪除可復(fù)用類的多余信息通過(guò)繼承復(fù)用通過(guò)繼承復(fù)用刪除多余信息,通過(guò)繼承而復(fù)用刪除多余信息,通過(guò)繼承而復(fù)用收款機(jī)收款機(jī)ABC現(xiàn)鈔收款機(jī)現(xiàn)鈔收款機(jī)D DE EF F現(xiàn)鈔收款機(jī)現(xiàn)鈔收款機(jī)ABCDEFXYZZXY為支持復(fù)用建立結(jié)構(gòu)為支持復(fù)用建立結(jié)構(gòu)收款機(jī)類成為收款機(jī)類成為可供本領(lǐng)域其可供本領(lǐng)域其它系統(tǒng)復(fù)用的它系統(tǒng)復(fù)用的領(lǐng)域構(gòu)件領(lǐng)域構(gòu)件用整體用整體- -部分結(jié)構(gòu)實(shí)現(xiàn)復(fù)用部分結(jié)構(gòu)實(shí)現(xiàn)復(fù)用車床車床機(jī)床機(jī)床刨床刨床起重機(jī)起重機(jī)電動(dòng)機(jī)電動(dòng)機(jī)鉆床鉆床送料車送料車彌補(bǔ)彌補(bǔ)OOA模型的不足模型的不足解決
18、解決OOA階段推遲考慮的問(wèn)題階段推遲考慮的問(wèn)題設(shè)計(jì)對(duì)象的服務(wù)設(shè)計(jì)對(duì)象的服務(wù)設(shè)計(jì)表示關(guān)聯(lián)的屬性設(shè)計(jì)表示關(guān)聯(lián)的屬性設(shè)計(jì)表示整體設(shè)計(jì)表示整體- -部分關(guān)系的屬性部分關(guān)系的屬性 取消沒(méi)有特殊屬性的特殊類取消沒(méi)有特殊屬性的特殊類大學(xué)生大學(xué)生研究生研究生研究方向研究方向指導(dǎo)教師指導(dǎo)教師學(xué)生學(xué)生姓名姓名學(xué)號(hào)學(xué)號(hào)班級(jí)班級(jí)研究生研究生研究方向研究方向指導(dǎo)教師指導(dǎo)教師學(xué)生學(xué)生姓名姓名學(xué)號(hào)學(xué)號(hào)班級(jí)班級(jí) 通過(guò)增加屬性簡(jiǎn)化一般通過(guò)增加屬性簡(jiǎn)化一般- -特殊結(jié)構(gòu)特殊結(jié)構(gòu)人員人員男人男人女人女人美國(guó)人美國(guó)人日本人日本人人員人員性別性別國(guó)籍國(guó)籍中國(guó)人中國(guó)人 雖然好的人機(jī)交互部分不可能挽救雖然好的人機(jī)交互部分不可能挽救一個(gè)功能
19、很差的軟件一個(gè)功能很差的軟件, , 但性能很差的但性能很差的人機(jī)交互部分將使一個(gè)功能很強(qiáng)的產(chǎn)人機(jī)交互部分將使一個(gè)功能很強(qiáng)的產(chǎn)品變的不可接受品變的不可接受! !分析活動(dòng)者分析活動(dòng)者與系統(tǒng)交互的人與系統(tǒng)交互的人從從use caseuse case分析人機(jī)交互分析人機(jī)交互分析處理異常事件的人機(jī)交互分析處理異常事件的人機(jī)交互命令的組織命令的組織輸出信息的組織結(jié)構(gòu)輸出信息的組織結(jié)構(gòu)基本命令及其命令的結(jié)構(gòu)基本命令及其命令的結(jié)構(gòu)( (a)a)線性結(jié)構(gòu)線性結(jié)構(gòu)( (b)b)樹(shù)形結(jié)構(gòu)樹(shù)形結(jié)構(gòu)( (c)c)半序網(wǎng)狀結(jié)構(gòu)半序網(wǎng)狀結(jié)構(gòu)( (d)d)一般網(wǎng)狀結(jié)構(gòu)一般網(wǎng)狀結(jié)構(gòu)高層命令結(jié)構(gòu)高層命令結(jié)構(gòu)基本命令組合成高層命令
20、的常見(jiàn)角度:基本命令組合成高層命令的常見(jiàn)角度:按功能的相似性按功能的相似性按命令所屬的子系統(tǒng)按命令所屬的子系統(tǒng)使用簡(jiǎn)便使用簡(jiǎn)便一致性一致性啟發(fā)性啟發(fā)性減少人腦記憶的負(fù)擔(dān)減少人腦記憶的負(fù)擔(dān)減少重復(fù)的輸入減少重復(fù)的輸入容錯(cuò)性容錯(cuò)性及時(shí)反饋及時(shí)反饋其他其他 在有關(guān)界面設(shè)計(jì)的著作中,在有關(guān)界面設(shè)計(jì)的著作中, Theo MandelTheo Mandel創(chuàng)造了創(chuàng)造了三條黃金原則三條黃金原則:l置用戶于控制之下置用戶于控制之下l減少用戶的記憶負(fù)擔(dān)減少用戶的記憶負(fù)擔(dān)l保持界面一致保持界面一致 MandelMandel定義的一組允許用戶操作控制的原則定義的一組允許用戶操作控制的原則:以不強(qiáng)迫用戶進(jìn)入不必要的或
21、不希望的動(dòng)作的方式以不強(qiáng)迫用戶進(jìn)入不必要的或不希望的動(dòng)作的方式來(lái)定義交互方式來(lái)定義交互方式提供靈活的交互提供靈活的交互允許用戶交互可以被中斷和撤消允許用戶交互可以被中斷和撤消當(dāng)技能級(jí)別增加時(shí)可以使交互流水化并允許定制交當(dāng)技能級(jí)別增加時(shí)可以使交互流水化并允許定制交互互使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)使用戶隔離內(nèi)部技術(shù)細(xì)節(jié)設(shè)計(jì)應(yīng)允許用戶和出現(xiàn)在屏幕上的對(duì)象直接交互設(shè)計(jì)應(yīng)允許用戶和出現(xiàn)在屏幕上的對(duì)象直接交互 MandelMandel定義了一組設(shè)計(jì)原則,使界面能夠減定義了一組設(shè)計(jì)原則,使界面能夠減少用戶記憶負(fù)擔(dān)少用戶記憶負(fù)擔(dān):減少對(duì)短期記憶的要求減少對(duì)短期記憶的要求建立有意義的缺省建立有意義的缺省定義直覺(jué)性的捷
22、徑定義直覺(jué)性的捷徑界面的視覺(jué)布局應(yīng)該基于真實(shí)世界的隱喻界面的視覺(jué)布局應(yīng)該基于真實(shí)世界的隱喻以不斷進(jìn)展的方式揭示信息以不斷進(jìn)展的方式揭示信息缺省值 用戶應(yīng)以一致的方式展示和獲取信息用戶應(yīng)以一致的方式展示和獲取信息所有可視信息的組織均按照貫穿所有屏幕顯示所保持的設(shè)計(jì)所有可視信息的組織均按照貫穿所有屏幕顯示所保持的設(shè)計(jì)標(biāo)準(zhǔn)標(biāo)準(zhǔn)輸入機(jī)制被約束到有限的集合,在整個(gè)應(yīng)用中被一致地使用輸入機(jī)制被約束到有限的集合,在整個(gè)應(yīng)用中被一致地使用從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn)從任務(wù)到任務(wù)的導(dǎo)航機(jī)制被一致地定義和實(shí)現(xiàn) MandelMandel定義了一組幫助保持界面一致性的設(shè)計(jì)原則定義了一組幫助保持界面一致性的
23、設(shè)計(jì)原則允許用戶將當(dāng)前任務(wù)放入有意義的語(yǔ)境允許用戶將當(dāng)前任務(wù)放入有意義的語(yǔ)境在應(yīng)用系列內(nèi)保持一致性在應(yīng)用系列內(nèi)保持一致性如過(guò)去的交互模型已建立起了用戶期望,除非有迫不得已的如過(guò)去的交互模型已建立起了用戶期望,除非有迫不得已的理由,不要改變它理由,不要改變它界面支持系統(tǒng)界面支持系統(tǒng)窗口系統(tǒng)窗口系統(tǒng)圖形用戶界面(圖形用戶界面(GUIGUI)可視化編程環(huán)境可視化編程環(huán)境界面元素界面元素窗口窗口菜單菜單對(duì)話框?qū)υ捒驁D符圖符滾動(dòng)條滾動(dòng)條其他其他 設(shè)計(jì)過(guò)程與策略設(shè)計(jì)過(guò)程與策略選擇和掌握界面支持系統(tǒng)選擇和掌握界面支持系統(tǒng)硬件、操作系統(tǒng)及編程語(yǔ)言硬件、操作系統(tǒng)及編程語(yǔ)言界面實(shí)現(xiàn)的支持級(jí)別界面實(shí)現(xiàn)的支持級(jí)別界面
24、風(fēng)格與視感界面風(fēng)格與視感其他其他根據(jù)人機(jī)交互需求選擇界面元素根據(jù)人機(jī)交互需求選擇界面元素l系統(tǒng)的啟動(dòng)系統(tǒng)的啟動(dòng)l高層命令組織結(jié)構(gòu)的實(shí)現(xiàn)高層命令組織結(jié)構(gòu)的實(shí)現(xiàn)l基本命令的執(zhí)行基本命令的執(zhí)行l(wèi)詳細(xì)交互過(guò)程的輸入與輸出詳細(xì)交互過(guò)程的輸入與輸出l異常命令的輸入異常命令的輸入 設(shè)計(jì)過(guò)程與策略設(shè)計(jì)過(guò)程與策略用用OOOO概念表示界面元素概念表示界面元素l對(duì)象和類對(duì)象和類l屬性和服務(wù)屬性和服務(wù)l整體整體 部分結(jié)構(gòu)部分結(jié)構(gòu)l一般一般 特殊結(jié)構(gòu)特殊結(jié)構(gòu)l關(guān)聯(lián)關(guān)聯(lián)l消息連接消息連接應(yīng)用程序主窗口應(yīng)用程序主窗口人機(jī)界面中的整體人機(jī)界面中的整體部分結(jié)構(gòu)部分結(jié)構(gòu)視窗1,1滾動(dòng)條按鈕主菜單下拉菜單工具條1,m1,11,21
25、,m1,1CDialogCDialog復(fù)用復(fù)用對(duì)話框?qū)υ捒駻 A用一般用一般特殊結(jié)特殊結(jié)構(gòu)特化可復(fù)用類構(gòu)特化可復(fù)用類工具條按鈕對(duì)話框11界面對(duì)象之間的關(guān)聯(lián)界面對(duì)象之間的關(guān)聯(lián)1,m傳感器圖形項(xiàng)目傳感器控制系統(tǒng)人機(jī)交互部分設(shè)計(jì)舉例傳感器控制系統(tǒng)人機(jī)交互部分設(shè)計(jì)舉例調(diào)用項(xiàng)目傳感器狀況窗口顯示菜單調(diào)用菜單活動(dòng)傳感器項(xiàng)目調(diào)用項(xiàng)目傳感器報(bào)警窗口顯示菜單調(diào)用菜單活動(dòng)位置傳感器報(bào)警項(xiàng)目調(diào)用項(xiàng)目傳感器窗口坐標(biāo)1.1.為什么要有任務(wù)管理部分為什么要有任務(wù)管理部分 任務(wù)管理部分的任務(wù):任務(wù)管理部分的任務(wù):l系統(tǒng)如何并發(fā)執(zhí)行系統(tǒng)如何并發(fā)執(zhí)行l(wèi)要設(shè)計(jì)哪些控制流要設(shè)計(jì)哪些控制流 根據(jù)什么決定上述問(wèn)題:根據(jù)什么決定上述問(wèn)題
26、:l問(wèn)題域和系統(tǒng)責(zé)任問(wèn)題域和系統(tǒng)責(zé)任l所選擇的實(shí)現(xiàn)條件所選擇的實(shí)現(xiàn)條件 把任務(wù)管理把任務(wù)管理( (控制驅(qū)動(dòng)控制驅(qū)動(dòng)) )部分作為部分作為OOD模型的一模型的一個(gè)獨(dú)立組成部分來(lái)設(shè)計(jì),可使實(shí)現(xiàn)條件的變化主要影個(gè)獨(dú)立組成部分來(lái)設(shè)計(jì),可使實(shí)現(xiàn)條件的變化主要影響這一部分,從而隔離對(duì)其他部分的影響響這一部分,從而隔離對(duì)其他部分的影響。l系統(tǒng)總體方案系統(tǒng)總體方案l軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)l分布式系統(tǒng)的體系結(jié)構(gòu)風(fēng)格分布式系統(tǒng)的體系結(jié)構(gòu)風(fēng)格l系統(tǒng)的并發(fā)性系統(tǒng)的并發(fā)性 總體方案中所決定的下述問(wèn)題是模型中任總體方案中所決定的下述問(wèn)題是模型中任務(wù)管理務(wù)管理( (控制驅(qū)動(dòng)控制驅(qū)動(dòng)) )部分設(shè)計(jì)的基本實(shí)現(xiàn)條件:部分設(shè)計(jì)的
27、基本實(shí)現(xiàn)條件:計(jì)算機(jī)硬件計(jì)算機(jī)硬件操作系統(tǒng)操作系統(tǒng)網(wǎng)絡(luò)方案網(wǎng)絡(luò)方案軟件體系結(jié)構(gòu)軟件體系結(jié)構(gòu)編程語(yǔ)言編程語(yǔ)言其他商品軟件其他商品軟件 典型的軟件體系結(jié)構(gòu)風(fēng)格:典型的軟件體系結(jié)構(gòu)風(fēng)格:管道與過(guò)濾器風(fēng)格管道與過(guò)濾器風(fēng)格數(shù)據(jù)抽象風(fēng)格數(shù)據(jù)抽象風(fēng)格面向?qū)ο箫L(fēng)格面向?qū)ο箫L(fēng)格隱式調(diào)用風(fēng)格隱式調(diào)用風(fēng)格層次風(fēng)格層次風(fēng)格倉(cāng)庫(kù)風(fēng)格倉(cāng)庫(kù)風(fēng)格黑板風(fēng)格黑板風(fēng)格解釋器風(fēng)格解釋器風(fēng)格進(jìn)程控制風(fēng)格進(jìn)程控制風(fēng)格客戶客戶服務(wù)器風(fēng)格服務(wù)器風(fēng)格主程序主程序/ /子程序風(fēng)格子程序風(fēng)格 歷史上出現(xiàn)過(guò)的幾種分布式體系結(jié)構(gòu)風(fēng)格:歷史上出現(xiàn)過(guò)的幾種分布式體系結(jié)構(gòu)風(fēng)格:主機(jī)主機(jī)+ +仿真終端體系結(jié)構(gòu)仿真終端體系結(jié)構(gòu)文件共享體系結(jié)構(gòu)文件共享體系結(jié)構(gòu)客
28、戶客戶服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)二層客戶二層客戶服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)對(duì)等式客戶對(duì)等式客戶服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)三層客戶三層客戶服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)瘦客戶瘦客戶服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu)瀏覽器瀏覽器服務(wù)器體系結(jié)構(gòu)服務(wù)器體系結(jié)構(gòu) 當(dāng)前應(yīng)用系統(tǒng)的并行性:當(dāng)前應(yīng)用系統(tǒng)的并行性:分布在通過(guò)網(wǎng)絡(luò)相連的不同計(jì)算機(jī)上的進(jìn)程分布在通過(guò)網(wǎng)絡(luò)相連的不同計(jì)算機(jī)上的進(jìn)程之間的并發(fā)之間的并發(fā)在多在多CPUCPU的計(jì)算機(jī)上運(yùn)行的多個(gè)進(jìn)程或線程的計(jì)算機(jī)上運(yùn)行的多個(gè)進(jìn)程或線程之間的并發(fā)之間的并發(fā)在單在單CPUCPU的計(jì)算機(jī)上運(yùn)行的多個(gè)進(jìn)程或線程的計(jì)算機(jī)上運(yùn)行的多個(gè)進(jìn)程或線程之間的并發(fā)之間的并發(fā)l選擇軟
29、件體系結(jié)構(gòu)風(fēng)格選擇軟件體系結(jié)構(gòu)風(fēng)格l確定系統(tǒng)分布方案確定系統(tǒng)分布方案對(duì)象的分布對(duì)象的分布類的分布類的分布類圖的劃分類圖的劃分l識(shí)別控制流識(shí)別控制流以節(jié)點(diǎn)為單位識(shí)別控制流以節(jié)點(diǎn)為單位識(shí)別控制流從用戶需求出發(fā)識(shí)別控制流從用戶需求出發(fā)識(shí)別控制流從從use caseuse case識(shí)別控制流識(shí)別控制流參照參照OOA模型中的主動(dòng)對(duì)象模型中的主動(dòng)對(duì)象為改善性能而增加的控制流為改善性能而增加的控制流實(shí)現(xiàn)并行計(jì)算的控制流實(shí)現(xiàn)并行計(jì)算的控制流實(shí)現(xiàn)節(jié)點(diǎn)之間通信的控制流實(shí)現(xiàn)節(jié)點(diǎn)之間通信的控制流對(duì)其他控制流進(jìn)行協(xié)調(diào)的控制流對(duì)其他控制流進(jìn)行協(xié)調(diào)的控制流l用主動(dòng)對(duì)象表示控制流用主動(dòng)對(duì)象表示控制流l把任務(wù)管理把任務(wù)管理(
30、(控制驅(qū)動(dòng)控制驅(qū)動(dòng)) )部分看做一個(gè)主題部分看做一個(gè)主題考慮系統(tǒng)中并發(fā)執(zhí)行的任務(wù)的幾個(gè)角度:考慮系統(tǒng)中并發(fā)執(zhí)行的任務(wù)的幾個(gè)角度:事件驅(qū)動(dòng)的任務(wù)事件驅(qū)動(dòng)的任務(wù)時(shí)鐘驅(qū)動(dòng)的任務(wù)時(shí)鐘驅(qū)動(dòng)的任務(wù)高優(yōu)先級(jí)任務(wù)高優(yōu)先級(jí)任務(wù)低優(yōu)先級(jí)任務(wù)低優(yōu)先級(jí)任務(wù)關(guān)鍵任務(wù)關(guān)鍵任務(wù)協(xié)調(diào)者任務(wù)協(xié)調(diào)者任務(wù)把集中式的類圖分散到各個(gè)節(jié)點(diǎn)上作為主題把集中式的類圖分散到各個(gè)節(jié)點(diǎn)上作為主題集中式類圖集中式類圖節(jié)點(diǎn)節(jié)點(diǎn)A主題主題節(jié)點(diǎn)節(jié)點(diǎn)B主題主題節(jié)點(diǎn)節(jié)點(diǎn)C主題主題分分布布到到網(wǎng)網(wǎng)絡(luò)絡(luò)的的不不同同節(jié)節(jié)點(diǎn)點(diǎn)上上類圖的劃分類圖的劃分1*ACBDFEG集中式類圖集中式類圖*IJH11 11 11 12 22 22 22 2按節(jié)點(diǎn)劃分主題按節(jié)點(diǎn)劃分主題
31、1. 服務(wù)器服務(wù)器1*C CBDFEGA服務(wù)器主題服務(wù)器主題2. 客戶機(jī)客戶機(jī)客戶機(jī)主題客戶機(jī)主題( (第一種策略第一種策略) )HIJ*1A副本D副本2. 客戶機(jī)客戶機(jī)客戶機(jī)主題客戶機(jī)主題( (第二種策略第二種策略) )HIJ*1D副本傳感器控制系統(tǒng)任務(wù)管理部分設(shè)計(jì)舉例傳感器控制系統(tǒng)任務(wù)管理部分設(shè)計(jì)舉例任務(wù)協(xié)調(diào)器任務(wù)協(xié)調(diào)器協(xié)調(diào)協(xié)調(diào)任務(wù)任務(wù)名字名字描述描述優(yōu)先級(jí)優(yōu)先級(jí)服務(wù)服務(wù)協(xié)調(diào)協(xié)調(diào)通信通信初始化初始化開(kāi)始開(kāi)始準(zhǔn)備好準(zhǔn)備好結(jié)束結(jié)束10,m傳感器任務(wù)描述舉例傳感器任務(wù)描述舉例任務(wù)任務(wù)1 1名字:名字: 傳感器讀出。傳感器讀出。描述:描述: 該任務(wù)在需要脈沖調(diào)幅時(shí)負(fù)責(zé)讀該任務(wù)在需要脈沖調(diào)幅時(shí)負(fù)責(zé)讀
32、 出傳感器。出傳感器。包含:包含: 傳感器傳感器. .樣本。樣本。優(yōu)先級(jí)優(yōu)先級(jí): :中等。中等。協(xié)調(diào):協(xié)調(diào): 時(shí)鐘驅(qū)動(dòng),時(shí)鐘驅(qū)動(dòng),100ms的時(shí)間間隔。的時(shí)間間隔。通信:通信: 從輸入線(傳感器)得到值,從輸入線(傳感器)得到值, 給雷達(dá)郵箱發(fā)送值。給雷達(dá)郵箱發(fā)送值。 數(shù)據(jù)管理部分提供了數(shù)據(jù)在數(shù)據(jù)管數(shù)據(jù)管理部分提供了數(shù)據(jù)在數(shù)據(jù)管系統(tǒng)中存儲(chǔ)和檢索對(duì)象的基本結(jié)構(gòu),它系統(tǒng)中存儲(chǔ)和檢索對(duì)象的基本結(jié)構(gòu),它分離了數(shù)據(jù)管理方案的影響分離了數(shù)據(jù)管理方案的影響 ( (不管該方不管該方案是普通文件、關(guān)系型數(shù)據(jù)庫(kù)、面向?qū)Π甘瞧胀ㄎ募?、關(guān)系型數(shù)據(jù)庫(kù)、面向?qū)ο髷?shù)據(jù)庫(kù)或其它方式象數(shù)據(jù)庫(kù)或其它方式.).)如何設(shè)計(jì)數(shù)據(jù)管理部
33、分如何設(shè)計(jì)數(shù)據(jù)管理部分 ( (1)1)數(shù)據(jù)存放方法設(shè)計(jì)數(shù)據(jù)存放方法設(shè)計(jì)(2)(2)相應(yīng)服務(wù)的設(shè)計(jì)相應(yīng)服務(wù)的設(shè)計(jì) 為每個(gè)需存儲(chǔ)其對(duì)象的類增加一個(gè)為每個(gè)需存儲(chǔ)其對(duì)象的類增加一個(gè)屬性和服務(wù)屬性和服務(wù)對(duì)象存儲(chǔ)方案與數(shù)據(jù)接口的設(shè)計(jì)策略對(duì)象存儲(chǔ)方案與數(shù)據(jù)接口的設(shè)計(jì)策略 針對(duì)針對(duì)RDBMS的的設(shè)計(jì)設(shè)計(jì)對(duì)象及對(duì)關(guān)系數(shù)據(jù)庫(kù)的使用對(duì)象及對(duì)關(guān)系數(shù)據(jù)庫(kù)的使用應(yīng)用系統(tǒng)應(yīng)用系統(tǒng)數(shù)據(jù)接口數(shù)據(jù)接口RDBMS關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)用關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)對(duì)象用關(guān)系數(shù)據(jù)庫(kù)存儲(chǔ)對(duì)象類類A對(duì)象與數(shù)據(jù)庫(kù)表元組的不同映射方式對(duì)象與數(shù)據(jù)庫(kù)表元組的不同映射方式元元組組1元元組組2.元元組組n表表A數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)實(shí)例化實(shí)例化RDBMS內(nèi)內(nèi)存存空空間間類類
34、A元元組組1元元組組2.元元組組n表表A數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)實(shí)例化實(shí)例化RDBMS內(nèi)內(nèi)存存空空間間面向?qū)ο笤O(shè)計(jì)實(shí)例:面向?qū)ο笤O(shè)計(jì)實(shí)例:簡(jiǎn)化的簡(jiǎn)化的C+C+類庫(kù)管理系統(tǒng)類庫(kù)管理系統(tǒng)需求描述:需求描述:l管理用管理用C+C+語(yǔ)言定義的類語(yǔ)言定義的類l用戶能夠方便地向類庫(kù)中添加新類,并建立新類與庫(kù)用戶能夠方便地向類庫(kù)中添加新類,并建立新類與庫(kù)中原有類的關(guān)系中原有類的關(guān)系l用戶能夠通過(guò)類名從庫(kù)中查詢出指定的類用戶能夠通過(guò)類名從庫(kù)中查詢出指定的類l用戶能夠查看或修改與指定類有關(guān)的信息用戶能夠查看或修改與指定類有關(guān)的信息l用戶能夠從類中刪除指定的類用戶能夠從類中刪除指定的類l用戶能夠在瀏覽窗中方便、快速地瀏覽當(dāng)前
35、類的父類用戶能夠在瀏覽窗中方便、快速地瀏覽當(dāng)前類的父類和子類和子類l具有具有“聯(lián)想聯(lián)想”瀏覽功能瀏覽功能l用戶能查看或修改某個(gè)類的指定的成員函數(shù)的源代碼用戶能查看或修改某個(gè)類的指定的成員函數(shù)的源代碼l本系統(tǒng)是一個(gè)簡(jiǎn)化的多用戶系統(tǒng),每個(gè)用戶都可以建本系統(tǒng)是一個(gè)簡(jiǎn)化的多用戶系統(tǒng),每個(gè)用戶都可以建立自己的類庫(kù),不同類庫(kù)之間互不干擾立自己的類庫(kù),不同類庫(kù)之間互不干擾l對(duì)于用戶誤操作或錯(cuò)誤的輸入對(duì)于用戶誤操作或錯(cuò)誤的輸入, ,能提示并繼續(xù)穩(wěn)定運(yùn)行能提示并繼續(xù)穩(wěn)定運(yùn)行l(wèi)系統(tǒng)易學(xué),用戶界面應(yīng)是系統(tǒng)易學(xué),用戶界面應(yīng)是GUIDGUID的的OOA階段建立階段建立的類庫(kù)管理的類庫(kù)管理系統(tǒng)對(duì)象模型系統(tǒng)對(duì)象模型類庫(kù)類庫(kù)
36、庫(kù)名庫(kù)名類條目列表類條目列表插入類條目插入類條目刪除類條目刪除類條目1+0,n1類條目類條目類名類名父類列表父類列表設(shè)置類名設(shè)置類名添加父類添加父類成員函數(shù)成員函數(shù)函數(shù)名函數(shù)名訪問(wèn)權(quán)訪問(wèn)權(quán)虛基類標(biāo)志虛基類標(biāo)志父類父類名字名字訪問(wèn)權(quán)訪問(wèn)權(quán)虛基類標(biāo)志虛基類標(biāo)志數(shù)據(jù)成員數(shù)據(jù)成員數(shù)據(jù)名數(shù)據(jù)名訪問(wèn)權(quán)訪問(wèn)權(quán)數(shù)據(jù)類型數(shù)據(jù)類型0,n20,n30,m用戶用戶擁有擁有面向?qū)ο笤O(shè)計(jì)面向?qū)ο笤O(shè)計(jì)(簡(jiǎn)化的簡(jiǎn)化的C+C+類庫(kù)管理系統(tǒng)類庫(kù)管理系統(tǒng))設(shè)計(jì)類庫(kù)結(jié)構(gòu)設(shè)計(jì)類庫(kù)結(jié)構(gòu) 兩種可把類條目組織成類庫(kù)的數(shù)據(jù)結(jié)構(gòu)兩種可把類條目組織成類庫(kù)的數(shù)據(jù)結(jié)構(gòu): :l二叉樹(shù)二叉樹(shù)l鏈表鏈表: : 容易表示多重繼承容易表示多重繼承設(shè)計(jì)問(wèn)題域子系
37、統(tǒng)設(shè)計(jì)問(wèn)題域子系統(tǒng)對(duì)對(duì)象模型做補(bǔ)充和細(xì)化對(duì)對(duì)象模型做補(bǔ)充和細(xì)化類條目(類條目(ClassEntryClassEntry)類庫(kù)(類庫(kù)(ClassEntryLinkClassEntryLink)父類(父類(ClassBaseClassBase)、)、成員函數(shù)(成員函數(shù)(ClassFunClassFun) 和數(shù)據(jù)成員(和數(shù)據(jù)成員(ClassDataClassData)1.1.類條目緩沖區(qū)(類條目緩沖區(qū)(ClassEntryBufferClassEntryBuffer)類條目類條目類名類名父類列表父類列表成員函數(shù)列表成員函數(shù)列表數(shù)據(jù)成員列表數(shù)據(jù)成員列表類條目類條目類名類名父類鏈表頭指針父類鏈表頭指針成
38、員函數(shù)鏈表頭指針成員函數(shù)鏈表頭指針數(shù)據(jù)成員鏈表頭指針數(shù)據(jù)成員鏈表頭指針注釋注釋指向下一類條目指針指向下一類條目指針新增數(shù)據(jù)成員新增數(shù)據(jù)成員新增操作新增操作設(shè)置類名設(shè)置類名添加父類添加父類刪除父類刪除父類更改父類更改父類添加成員函數(shù)添加成員函數(shù)刪除成員函數(shù)刪除成員函數(shù)更改成員函數(shù)更改成員函數(shù)添加數(shù)據(jù)成員添加數(shù)據(jù)成員刪除數(shù)據(jù)成員刪除數(shù)據(jù)成員更改數(shù)據(jù)成員更改數(shù)據(jù)成員查找并取出指定父類信息查找并取出指定父類信息查找并取出指定成員函數(shù)信息查找并取出指定成員函數(shù)信息查找并取出指定數(shù)據(jù)成員信息查找并取出指定數(shù)據(jù)成員信息設(shè)置類名設(shè)置類名添加父類添加父類刪除父類刪除父類更改父類更改父類添加成員函數(shù)添加成員函數(shù)刪除成員函數(shù)刪除成員函數(shù)更改成員函數(shù)更改成員函數(shù)添加數(shù)據(jù)成員添加數(shù)據(jù)成員刪除數(shù)據(jù)成員刪除數(shù)據(jù)成員更改數(shù)據(jù)成員更改數(shù)據(jù)成員具體化具體化類
溫馨提示
- 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年度車輛抵押給個(gè)人質(zhì)押貸款合同:豪華轎車使用權(quán)協(xié)議
- 2025年度特種車輛拖車與吊裝作業(yè)服務(wù)合同
- 二零二五年度旅游居間協(xié)議合同服務(wù)項(xiàng)目解析
- 二零二五年度泳池安全知識(shí)培訓(xùn)免責(zé)協(xié)議
- 二零二五年度空調(diào)銷售與節(jié)能改造升級(jí)合同
- 二零二五年度餐飲管理公司員工培訓(xùn)與用工合同
- 高速公路排水溝施工合同(2025年度)包含臨時(shí)道路修復(fù)服務(wù)
- 2025年度銷售人員商業(yè)秘密保護(hù)及保密補(bǔ)償協(xié)議
- 二零二五年度傳媒行業(yè)勞動(dòng)合同終止及競(jìng)業(yè)限制協(xié)議范本
- 2025年度道路養(yǎng)護(hù)承包合同解除書(shū)
- SLT 478-2021 水利數(shù)據(jù)庫(kù)表結(jié)構(gòu)及標(biāo)識(shí)符編制總則
- 2024年春學(xué)期人教版小學(xué)道德與法治六年級(jí)下冊(cè)教學(xué)計(jì)劃附教學(xué)進(jìn)度表
- MIL-STD-1916抽樣計(jì)劃表(抽樣數(shù))大
- 中考數(shù)學(xué)一輪復(fù)習(xí)各章節(jié)復(fù)習(xí)有答案完美版
- 2024 年袋鼠數(shù)學(xué)競(jìng)賽 等級(jí)E(中國(guó)區(qū))
- 【《海信電器企業(yè)作業(yè)成本法下的物流成本核算分析》8500字】
- 2024年南京旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)匯編
- 馬克思主義基本原理概論400道(考點(diǎn)提分)
- 研究生調(diào)劑合同
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及一套參考答案
- 2022年袋鼠數(shù)學(xué)競(jìng)賽真題一二年級(jí)組含答案
評(píng)論
0/150
提交評(píng)論