軟件工程體系機(jī)構(gòu)設(shè)計(jì)課件_第1頁(yè)
軟件工程體系機(jī)構(gòu)設(shè)計(jì)課件_第2頁(yè)
軟件工程體系機(jī)構(gòu)設(shè)計(jì)課件_第3頁(yè)
軟件工程體系機(jī)構(gòu)設(shè)計(jì)課件_第4頁(yè)
軟件工程體系機(jī)構(gòu)設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩97頁(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、進(jìn)行體系結(jié)構(gòu)設(shè)計(jì) 設(shè)計(jì)的任務(wù):從需求信息中綜合出數(shù)據(jù)的表示、程序結(jié)構(gòu)、接口特征和過(guò)程細(xì)節(jié)。 信息、功能、行為是創(chuàng)建設(shè)計(jì)的三個(gè)指南。件件系系統(tǒng)統(tǒng)組組織織的的定定義,義,一一個(gè)個(gè)程程序序和和計(jì)計(jì)算算機(jī)機(jī)系系統(tǒng)統(tǒng)軟軟件件體體系系結(jié)結(jié)構(gòu)構(gòu)是是指指系系統(tǒng)統(tǒng)的的一一個(gè)個(gè)或或者者多多個(gè)個(gè)結(jié)結(jié)構(gòu)構(gòu)。結(jié)結(jié)構(gòu)構(gòu)中中包包括括:軟軟件件的的構(gòu)構(gòu)件件,構(gòu)構(gòu)件件的的外外部部可可見(jiàn)見(jiàn)屬屬性性以以及及它它們們之之間間的的相相互互關(guān)關(guān)系系,系系統(tǒng)統(tǒng)集集成成方方法法和和約約束束。構(gòu)構(gòu)件:件:是是軟軟件件的的組組成成單單元,元,例例如如一一個(gè)個(gè)計(jì)計(jì)算算單單元,元,或或存存儲(chǔ)儲(chǔ)單單元元是是一一定定程程度度上上的的抽抽象,象,非非可可

2、運(yùn)運(yùn)行行的的軟軟件件發(fā)發(fā)人人員員可可以:以:分分析析設(shè)設(shè)計(jì)計(jì)在在滿滿足足規(guī)規(guī)定定需需求求方方面面的的有有效效性性在在設(shè)設(shè)計(jì)計(jì)變變更更相相對(duì)對(duì)容容易易的的階階段,段,考考慮慮體體系系結(jié)結(jié)構(gòu)構(gòu)可可能能的的選選擇擇方方案案降降低低與與軟軟件件構(gòu)構(gòu)造造相相關(guān)關(guān)聯(lián)聯(lián)的的因因軟軟件件構(gòu)構(gòu)造造不不合合理理帶帶來(lái)來(lái)的的風(fēng)風(fēng)險(xiǎn)險(xiǎn)軟件體系結(jié)構(gòu)接口設(shè)計(jì)接口設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)體系結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)模型設(shè)計(jì)模型構(gòu)件級(jí)設(shè)計(jì)構(gòu)件級(jí)設(shè)計(jì)數(shù)據(jù)數(shù)據(jù)/類類 設(shè)計(jì)設(shè)計(jì)軟件體系結(jié)構(gòu)設(shè)計(jì)軟件構(gòu)件的結(jié)構(gòu)、屬性和交互作用傳統(tǒng)系統(tǒng)中體系結(jié)構(gòu)的數(shù)據(jù)構(gòu)件和面向?qū)ο笙到y(tǒng)中類的定義有有助助于于對(duì)對(duì)系系統(tǒng)統(tǒng)開(kāi)開(kāi)發(fā)發(fā)感感興興趣趣的的利利益益相相關(guān)關(guān)者者的的各各方

3、方交交流流突突出出了了早早期期設(shè)設(shè)計(jì)計(jì)決決策策,這這些些決決策策對(duì)對(duì)隨隨后后的的軟軟件件工工程程工工作作有有深深遠(yuǎn)遠(yuǎn)影影響,響,同同時(shí)時(shí)對(duì)對(duì)系系統(tǒng)統(tǒng)作作為為一一個(gè)個(gè)可可運(yùn)運(yùn)行行實(shí)實(shí)體體的的最最后后成成功功有有重重要要作作用用構(gòu)構(gòu)建建了了一一個(gè)個(gè)相相對(duì)對(duì)小小的,的,易易于于理理解解的的模模型型,該該模模型型描描述述了了系系統(tǒng)統(tǒng)如如何何構(gòu)構(gòu)成成以以及及其其構(gòu)構(gòu)件件如如何何協(xié)協(xié)同同工工作作體系結(jié)構(gòu)發(fā)展過(guò)程-1單主機(jī)結(jié)構(gòu)單主機(jī)結(jié)構(gòu)界面、數(shù)據(jù)和程序集中在單臺(tái)主機(jī)上界面、數(shù)據(jù)和程序集中在單臺(tái)主機(jī)上不需要考慮多用戶并發(fā)操作的問(wèn)題不需要考慮多用戶并發(fā)操作的問(wèn)題C/S(Client/Server)結(jié)構(gòu)結(jié)構(gòu)常見(jiàn)的

4、服務(wù)器端體現(xiàn)為關(guān)系數(shù)據(jù)庫(kù)常見(jiàn)的服務(wù)器端體現(xiàn)為關(guān)系數(shù)據(jù)庫(kù)客戶端負(fù)責(zé)顯示和業(yè)務(wù)邏輯處理客戶端負(fù)責(zé)顯示和業(yè)務(wù)邏輯處理在部署和擴(kuò)展性方面存在不足:系統(tǒng)升級(jí)需要一一更在部署和擴(kuò)展性方面存在不足:系統(tǒng)升級(jí)需要一一更新所有客戶端新所有客戶端體系結(jié)構(gòu)發(fā)展過(guò)程-2B/S(Browser/Server)結(jié)構(gòu)結(jié)構(gòu)瘦客戶端:瀏覽器或客戶端程序瘦客戶端:瀏覽器或客戶端程序(Applet等等)三層結(jié)構(gòu)三層結(jié)構(gòu)客戶端:處理用戶接口和用戶請(qǐng)求客戶端:處理用戶接口和用戶請(qǐng)求Web服務(wù)器端:處理服務(wù)器端:處理Web服務(wù)和運(yùn)行業(yè)務(wù)代碼服務(wù)和運(yùn)行業(yè)務(wù)代碼數(shù)據(jù)端:關(guān)系型數(shù)據(jù)庫(kù)和其他后端數(shù)據(jù)資源數(shù)據(jù)端:關(guān)系型數(shù)據(jù)庫(kù)和其他后端數(shù)據(jù)資源新的

5、發(fā)展:多層結(jié)構(gòu)新的發(fā)展:多層結(jié)構(gòu)Web服務(wù)器分離為服務(wù)器分離為Web端和業(yè)務(wù)服務(wù)端端和業(yè)務(wù)服務(wù)端(例如例如J2EE應(yīng)用服應(yīng)用服務(wù)器務(wù)器)軟件工程設(shè)計(jì)過(guò)程需求分析體系結(jié)構(gòu)設(shè)計(jì)模塊化設(shè)計(jì)用戶界面設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)與算法設(shè)計(jì)實(shí)現(xiàn)與測(cè)試計(jì)劃高層設(shè)計(jì)階段概要設(shè)計(jì)階段詳細(xì)設(shè)計(jì)階段軟軟件件構(gòu)構(gòu)件件級(jí)級(jí)的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu),并并在在必必要要時(shí)時(shí)轉(zhuǎn)轉(zhuǎn)化化為為應(yīng)應(yīng)用用程程序序級(jí)級(jí)的的數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)體體系系結(jié)結(jié)構(gòu)構(gòu)體體系系結(jié)結(jié)構(gòu)構(gòu)級(jí)級(jí)的的數(shù)數(shù)據(jù)據(jù)設(shè)設(shè)計(jì)計(jì)數(shù)數(shù)據(jù)據(jù)倉(cāng)倉(cāng)庫(kù)庫(kù)構(gòu)構(gòu)件件級(jí)級(jí)的的數(shù)數(shù)據(jù)據(jù)設(shè)設(shè)計(jì)計(jì)關(guān)關(guān)注注被被一一個(gè)個(gè)或或多多個(gè)個(gè)構(gòu)構(gòu)件件直直接接訪訪問(wèn)問(wèn)的的數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)的的表表示示數(shù)據(jù)設(shè)計(jì)體系結(jié)構(gòu)級(jí)的數(shù)據(jù)設(shè)

6、計(jì) 龐大數(shù)據(jù)環(huán)境中有效信息提取的方式數(shù)據(jù)挖掘數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)(KDD)數(shù)據(jù)倉(cāng)庫(kù) 數(shù)據(jù)倉(cāng)庫(kù)是一種解決方案,是對(duì)原始的操作數(shù)據(jù)進(jìn)行 各種處理并轉(zhuǎn)換成有用信息的處理過(guò)程,用戶可以通過(guò)分 析這些信息從而作出策略性的決策。因此,在很多場(chǎng)合,我 們也把數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)稱為決策支持系統(tǒng)。數(shù)據(jù)設(shè)計(jì)構(gòu)件級(jí)的數(shù)據(jù)設(shè)計(jì) 數(shù)據(jù)規(guī)格說(shuō)明原則: 1、應(yīng)用于功能和行為的系統(tǒng)分析原則也可應(yīng)用于數(shù)據(jù) 2、標(biāo)識(shí)所有數(shù)據(jù)結(jié)構(gòu)及其完成的操作 3、應(yīng)該建立定義數(shù)據(jù)對(duì)象內(nèi)容的機(jī)制,并且用于定義數(shù)據(jù)及其操作 4、低層的數(shù)據(jù)設(shè)計(jì)決策應(yīng)該延遲到設(shè)計(jì)過(guò)程的后期 5、只有那些直接使用數(shù)據(jù)結(jié)構(gòu)內(nèi)部數(shù)據(jù)的模塊才能夠看到該數(shù)據(jù)結(jié)構(gòu)的表示 6、應(yīng)該開(kāi)發(fā)一個(gè)

7、由有用的數(shù)據(jù)結(jié)構(gòu)及其操作組成的庫(kù) 7、軟件設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言應(yīng)該支持抽象數(shù)據(jù)類型的規(guī)格說(shuō)明和實(shí)現(xiàn)描描述述一一種種系系統(tǒng)統(tǒng)類類別,別,包包括括四四個(gè)個(gè)關(guān)關(guān)鍵鍵元元素:素:一一組組構(gòu)構(gòu)件件,它它們們完完成成系系統(tǒng)統(tǒng)需需要要的的某某種種功功能能一一組組連連接接器器,它它們們實(shí)實(shí)現(xiàn)現(xiàn)構(gòu)構(gòu)件件間間的的“通通信、信、合合作作和和協(xié)協(xié)調(diào)調(diào)”約約束束,定定義義構(gòu)構(gòu)件件如如何何集集成成為為一一個(gè)個(gè)系系統(tǒng)統(tǒng)語(yǔ)語(yǔ)義義模模型型,使使設(shè)設(shè)計(jì)計(jì)者者能能通通過(guò)過(guò)分分析析系系統(tǒng)統(tǒng)的的構(gòu)構(gòu)成成成成分分的的性性質(zhì),質(zhì),來(lái)來(lái)理理解解系系統(tǒng)統(tǒng)的的整整體體性性質(zhì)質(zhì)體系結(jié)構(gòu)模式 體系結(jié)構(gòu)模式是風(fēng)格的具體體現(xiàn),或者體系結(jié)構(gòu)設(shè)計(jì)的一個(gè)框架。

8、 (1)體系結(jié)構(gòu)模式涉及的范圍要小一些,它更多集中在體系結(jié)構(gòu)的某一局部而不是體系結(jié)構(gòu)的整體 (2)模式在體系結(jié)構(gòu)上施加規(guī)則,描述了軟件是如何在基礎(chǔ)設(shè)施層次上處理某些功能性方面的問(wèn)題 (3)體系結(jié)構(gòu)模式傾向于在系統(tǒng)結(jié)構(gòu)的環(huán)境中處理特定的行為問(wèn)題體系結(jié)構(gòu)風(fēng)格、程序設(shè)計(jì)樣式與設(shè)計(jì)模式 程序設(shè)計(jì)樣式 重點(diǎn)在于給出開(kāi)發(fā)原則、可實(shí)現(xiàn) 抽象層次:代碼級(jí) 直接可用 設(shè)計(jì)模式 重點(diǎn)在于重用、概念完整性 抽象層次:構(gòu)件級(jí) 直接可用 體系結(jié)構(gòu)風(fēng)格 重點(diǎn)在于重用、概念完整性 抽象層次:體系結(jié)構(gòu) 有約束和指導(dǎo)作用體系結(jié)構(gòu)風(fēng)格定義了一系列系統(tǒng)的結(jié)體系結(jié)構(gòu)風(fēng)格定義了一系列系統(tǒng)的結(jié)構(gòu)組織的構(gòu)組織的模式模式,它是對(duì)一類具有,它

9、是對(duì)一類具有相似相似結(jié)構(gòu)結(jié)構(gòu)的系統(tǒng)體系結(jié)構(gòu)的的系統(tǒng)體系結(jié)構(gòu)的抽象抽象以數(shù)據(jù)為中心的體系結(jié)構(gòu)以數(shù)據(jù)為中心的體系結(jié)構(gòu)數(shù)據(jù)流體系結(jié)構(gòu)數(shù)據(jù)流體系結(jié)構(gòu)調(diào)用和返回體系結(jié)構(gòu)調(diào)用和返回體系結(jié)構(gòu)面向?qū)ο篌w系結(jié)構(gòu)面向?qū)ο篌w系結(jié)構(gòu)層次體系結(jié)構(gòu)層次體系結(jié)構(gòu)一一些些數(shù)數(shù)據(jù)據(jù)(比比如如一一個(gè)個(gè)文文件件或或者者數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù))保保存存在在整整個(gè)個(gè)結(jié)結(jié)構(gòu)構(gòu)的的中中心,心,并并且且被被其其他他部部件件頻頻繁繁地地使使用、用、添添加、加、刪刪除、除、或或者者修修改改 他他構(gòu)構(gòu)件件訪訪問(wèn)問(wèn)該該數(shù)數(shù)據(jù)據(jù)存存儲(chǔ),儲(chǔ),并并進(jìn)進(jìn)行行各各種種數(shù)數(shù)據(jù)據(jù)操操作作黑黑板:板:當(dāng)當(dāng)用用戶戶感感興興趣趣的的數(shù)數(shù)據(jù)據(jù)發(fā)發(fā)生生變變化化時(shí),時(shí),它它將將通通知

10、知客客戶戶軟軟件。件。新新的的客客戶戶構(gòu)構(gòu)件件可可以以加加入入到到系系統(tǒng)統(tǒng)結(jié)結(jié)構(gòu)構(gòu)中,中,而而無(wú)無(wú)需需考考慮慮其其他他的的客客戶。戶。數(shù)數(shù)據(jù)據(jù)可可以以在在客客戶戶間間通通過(guò)過(guò)“黑黑板板”機(jī)機(jī)制制傳傳送,送,客客戶戶構(gòu)構(gòu)件件獨(dú)獨(dú)立立地地執(zhí)執(zhí)行行過(guò)過(guò)程。程。優(yōu)優(yōu)點(diǎn)點(diǎn)開(kāi)開(kāi)放:放:數(shù)數(shù)據(jù)據(jù)對(duì)對(duì)所所有有使使用用者者開(kāi)開(kāi)放,放,客客戶戶軟軟件件可可以以直直接接決決定定存存取取方方式式客客戶戶構(gòu)構(gòu)件件基基本本獨(dú)獨(dú)立立問(wèn)問(wèn)題題客客戶戶軟軟件件難難以以協(xié)協(xié)作作中中心心數(shù)數(shù)據(jù)據(jù)的的格格式式必必須須為為所所有有客客戶戶軟軟件件所所接接受受這這種種結(jié)結(jié)構(gòu)構(gòu)適適用用于于輸輸入入數(shù)數(shù)據(jù)據(jù)被被一一系系列列的的計(jì)計(jì)算算或或者

11、者處處理理部部件件變變換換成成輸輸出出數(shù)數(shù)據(jù)。據(jù)。擁?yè)碛杏幸灰唤M組稱稱為為過(guò)過(guò)濾濾器器的的構(gòu)構(gòu)件,件,這這些些構(gòu)構(gòu)件件通通過(guò)過(guò)管管道道連連接,接,每每個(gè)個(gè)過(guò)過(guò)濾濾器器獨(dú)獨(dú)立立于于其其上上游游和和下下游游的的構(gòu)構(gòu)件件而而工工作作程程優(yōu)優(yōu)點(diǎn)點(diǎn)易易理理解解過(guò)過(guò)濾濾器器易易于于重重用用系系統(tǒng)統(tǒng)易易維維護(hù)護(hù)易易并并行行運(yùn)運(yùn)行行問(wèn)問(wèn)題題適適用用于于批批處處理,理,不不易易交交互互流流的的協(xié)協(xié)作作需需要要考考慮慮.過(guò)過(guò)濾濾器器功功能能重重復(fù)復(fù)層層次次結(jié)結(jié)構(gòu),構(gòu),其其中中的的“主主”程程序序調(diào)調(diào)用用一一組組程程序序構(gòu)構(gòu)件,件,這這些些程程序序構(gòu)構(gòu)件件又又去去調(diào)調(diào)用用別別的的程程序序構(gòu)構(gòu)件件(此此時(shí),時(shí),對(duì)對(duì)于

12、于被被調(diào)調(diào)者者來(lái)來(lái)說(shuō),說(shuō),這這些些主主調(diào)調(diào)者者就就是是主主程程序)序)遠(yuǎn)遠(yuǎn)程程過(guò)過(guò)程程調(diào)調(diào)用用體體系系結(jié)結(jié)構(gòu):構(gòu):構(gòu)構(gòu)件件分分布布在在網(wǎng)網(wǎng)絡(luò)絡(luò)的的多多個(gè)個(gè)計(jì)計(jì)算算機(jī)機(jī)上。上。這種風(fēng)格使一個(gè)軟件設(shè)計(jì)者設(shè)計(jì)出非這種風(fēng)格使一個(gè)軟件設(shè)計(jì)者設(shè)計(jì)出非常容易修改和擴(kuò)充的體系結(jié)構(gòu)常容易修改和擴(kuò)充的體系結(jié)構(gòu)主程序主程序/子程序風(fēng)格體系結(jié)構(gòu)子程序風(fēng)格體系結(jié)構(gòu)遠(yuǎn)程過(guò)程調(diào)用風(fēng)格的體系結(jié)構(gòu)遠(yuǎn)程過(guò)程調(diào)用風(fēng)格的體系結(jié)構(gòu) 在這里要了解幾個(gè)概念:在這里要了解幾個(gè)概念:程序結(jié)構(gòu)的深度程序結(jié)構(gòu)的深度:程序結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)的深:程序結(jié)構(gòu)的層次數(shù)稱為結(jié)構(gòu)的深度。結(jié)構(gòu)的深度在一定意義上反映了程序結(jié)構(gòu)的規(guī)度。結(jié)構(gòu)的深度在一定意義上反映

13、了程序結(jié)構(gòu)的規(guī)模和復(fù)雜程度。模和復(fù)雜程度。程序結(jié)構(gòu)的寬度程序結(jié)構(gòu)的寬度:層次結(jié)構(gòu)中同一層模塊的最大模:層次結(jié)構(gòu)中同一層模塊的最大模塊個(gè)數(shù)稱為結(jié)構(gòu)的寬度。塊個(gè)數(shù)稱為結(jié)構(gòu)的寬度。模塊的扇入和扇出模塊的扇入和扇出:扇出表示一個(gè)模塊直接調(diào)用(:扇出表示一個(gè)模塊直接調(diào)用(或控制)的其它模塊數(shù)目。扇入則定義為調(diào)用(或或控制)的其它模塊數(shù)目。扇入則定義為調(diào)用(或控制)一個(gè)給定模塊的模塊個(gè)數(shù)。多扇出意味著需控制)一個(gè)給定模塊的模塊個(gè)數(shù)。多扇出意味著需要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常要控制和協(xié)調(diào)許多下屬模塊。而多扇入的模塊通常是公用模塊。是公用模塊。操操作作構(gòu)構(gòu)件件間間通通過(guò)過(guò)消消息息傳傳遞遞進(jìn)進(jìn)行

14、行通通信信與與合合作。作。在這種結(jié)構(gòu)中,定義不同的層次,每層都完成了相對(duì)外在這種結(jié)構(gòu)中,定義不同的層次,每層都完成了相對(duì)外層更靠近機(jī)器指令的操作層更靠近機(jī)器指令的操作成成各各自自操操作作每每一一層層為為上上層層提提供供服服務(wù),務(wù),又又接接受受下下層層的的服服務(wù)務(wù)優(yōu)優(yōu)點(diǎn):點(diǎn):明明確確的的抽抽象象層層次、次、易易于于增增減減或或修修改改層層次次問(wèn)問(wèn)題:題:系系統(tǒng)統(tǒng)并并不不是是總總能能分分層層ApplicationPresentationSessionTransportNetworkData LinkPhysicalApplicationPresentationSessionTransportNet

15、workData LinkPhysical體系結(jié)構(gòu)模式 不同模式操作下的一些特征:并發(fā)性持久性分布性組織和求精 從兩個(gè)方面考慮組織和求精:控制數(shù)據(jù)例例化化的的完完整整系系統(tǒng)統(tǒng)實(shí)實(shí)例例MFC(Microsoft Foundation Classes)框框架架:微微軟軟把把涉涉及及文文件、件、數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)操操作、作、網(wǎng)網(wǎng)絡(luò)絡(luò)I/O、圖圖形、形、通通用用數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)、構(gòu)、用用戶戶界界面面對(duì)對(duì)象象等等應(yīng)應(yīng)用用功功能能構(gòu)構(gòu)件件組組合合在在一一起,起,封封閉閉所所得得的的應(yīng)應(yīng)用用框框架。架。Struts:基基于于WEB應(yīng)應(yīng)用用的的開(kāi)開(kāi)發(fā)發(fā)框框架。架。專專家家系系統(tǒng)統(tǒng)外外殼殼(行行業(yè)業(yè)應(yīng)應(yīng)用用框框架)架)

16、義義與與軟軟件件交交互互的的外外部部(其其他他系系統(tǒng)、統(tǒng)、設(shè)設(shè)備、備、人)人)和和交交互互的的特特性性描描述述一一組組體體系系結(jié)結(jié)構(gòu)構(gòu)原原始始模模型型原原始始模模型型是是一一個(gè)個(gè)類類或或者者一一個(gè)個(gè)模模式,式,表表示示體體系系結(jié)結(jié)構(gòu)構(gòu)中中穩(wěn)穩(wěn)定定的的元元素,素,它它是是體體系系結(jié)結(jié)構(gòu)構(gòu)設(shè)設(shè)計(jì)計(jì)中中抽抽象象的的構(gòu)構(gòu)造造塊。塊。設(shè)設(shè)計(jì)計(jì)者者通通過(guò)過(guò)定定義、義、精精化化對(duì)對(duì)應(yīng)應(yīng)于于每每一一個(gè)個(gè)原原始始模模型型的的構(gòu)構(gòu)件件來(lái)來(lái)定定義義軟軟件件結(jié)結(jié)構(gòu)構(gòu)ural context diagram, ACD):對(duì)對(duì)軟軟件件與與外外部部實(shí)實(shí)體體交交互互方方式式進(jìn)進(jìn)行行建建模模與與目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)(開(kāi)開(kāi)發(fā)發(fā)體體系

17、系結(jié)結(jié)構(gòu)構(gòu)的的系系統(tǒng))統(tǒng))交交互互的的系系統(tǒng)統(tǒng)可可以以表表示示為:為:上上級(jí)級(jí)系系統(tǒng):統(tǒng):把把目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)作作為為某某些些高高層層處處理理方方案案的的一一部部分分下下級(jí)級(jí)系系統(tǒng):統(tǒng):被被目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)使使用,用,為為了了完完成成目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)的的功功能能提提供供必必要要的的數(shù)數(shù)據(jù)據(jù)和和處處理理同同級(jí)級(jí)系系統(tǒng):統(tǒng):在在對(duì)對(duì)等等的的基基礎(chǔ)礎(chǔ)上上相相互互作作用用參參與與者:者:通通過(guò)過(guò)產(chǎn)產(chǎn)生生和和消消耗耗必必不不可可少少的的處處理理所所需需的的信信息,息,實(shí)實(shí)現(xiàn)現(xiàn)與與目目標(biāo)標(biāo)系系統(tǒng)統(tǒng)交交互互的的實(shí)實(shí)體體(人、人、設(shè)設(shè)備)備)。系統(tǒng)的環(huán)境表示體系結(jié)構(gòu)環(huán)境圖體系結(jié)構(gòu)環(huán)境圖Architectura

18、l Context Diagram (ACD)目標(biāo)系統(tǒng)上級(jí)系統(tǒng)被用被用依賴于依賴于下級(jí)系統(tǒng)使用使用同級(jí)使用使用參與者示例示例: SafeHome安全功能的體系結(jié)構(gòu)環(huán)境圖(安全功能的體系結(jié)構(gòu)環(huán)境圖(ACD圖)圖)目標(biāo)系統(tǒng):目標(biāo)系統(tǒng):安全功能安全功能SafeHome 產(chǎn)品產(chǎn)品基于因特網(wǎng)基于因特網(wǎng)的系統(tǒng)的系統(tǒng)使用使用同級(jí)系統(tǒng)同級(jí)系統(tǒng)監(jiān)視功能監(jiān)視功能使用使用房主房主控制面板控制面板 傳感器傳感器傳感器傳感器使用使用定義原始模型 原始模型(archetype)是一個(gè)類或一個(gè)模式,描述了一個(gè)目標(biāo)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)的核心抽象。ArchetypeArchetypeArchetypeArchetype目標(biāo)系統(tǒng)目標(biāo)

19、系統(tǒng)控制器控制器結(jié)點(diǎn)結(jié)點(diǎn)探測(cè)器探測(cè)器指示器指示器SaftHome 安全功能原始模型安全功能原始模型通信通信域:域:如如內(nèi)內(nèi)存存管管理、理、通通信信構(gòu)構(gòu)件、件、數(shù)數(shù)據(jù)據(jù)庫(kù)庫(kù)構(gòu)構(gòu)件件等等界界面面領(lǐng)領(lǐng)域:域:環(huán)環(huán)境境圖圖中中描描述述的的接接口口隱隱含含著著一一個(gè)個(gè)或或者者多多個(gè)個(gè)特特定定的的構(gòu)構(gòu)件件精精化:化:將將體體系系結(jié)結(jié)構(gòu)構(gòu)應(yīng)應(yīng)用用到到一一個(gè)個(gè)特特定定的的問(wèn)問(wèn)題題上上對(duì)于同一個(gè)軟件需求,由于各種設(shè)計(jì)方法的原理不同,會(huì)對(duì)于同一個(gè)軟件需求,由于各種設(shè)計(jì)方法的原理不同,會(huì)導(dǎo)出不同的軟件結(jié)構(gòu)。導(dǎo)出不同的軟件結(jié)構(gòu)。 同一問(wèn)題的不同軟件結(jié)構(gòu):同一問(wèn)題的不同軟件結(jié)構(gòu):re Trade-off Analysi

20、s Method, ATAM)Step.1 收收集集場(chǎng)場(chǎng)景景Step.2 誘誘導(dǎo)導(dǎo)需需求、求、約約束束和和環(huán)環(huán)境境描描述述Step.3 描描述述那那些些已已經(jīng)經(jīng)被被用用于于解解決決場(chǎng)場(chǎng)景景和和需需求求的的體體系系結(jié)結(jié)構(gòu)構(gòu)風(fēng)風(fēng)格格/模模式式Step.4 通通過(guò)過(guò)孤孤立立地地考考慮慮每每個(gè)個(gè)屬屬性性來(lái)來(lái)評(píng)評(píng)估估質(zhì)質(zhì)量量屬屬性性Step.5 針針對(duì)對(duì)特特定定的的體體系系結(jié)結(jié)構(gòu)構(gòu)風(fēng)風(fēng)格、格、弄弄清清質(zhì)質(zhì)量量屬屬性性對(duì)對(duì)各各種種體體系系結(jié)結(jié)構(gòu)構(gòu)屬屬性性的的敏敏感感性性Step.6 使使用用上上步步的的敏敏感感性性分分析析鑒鑒定定候候選選體體系系結(jié)結(jié)構(gòu)構(gòu)1)定義應(yīng)用場(chǎng)景(定義應(yīng)用場(chǎng)景(scenarios)

21、:通過(guò)):通過(guò)use case圖圖來(lái)從用戶的角度表現(xiàn)系統(tǒng)。來(lái)從用戶的角度表現(xiàn)系統(tǒng)。2)得出需求、約束和環(huán)境描述:這是需求工程的一得出需求、約束和環(huán)境描述:這是需求工程的一部分,用以確定所有客戶方關(guān)心的問(wèn)題都被列出部分,用以確定所有客戶方關(guān)心的問(wèn)題都被列出。3)描述能處理上述情境和需求的體系結(jié)構(gòu)風(fēng)格。描述能處理上述情境和需求的體系結(jié)構(gòu)風(fēng)格。4)單獨(dú)地評(píng)價(jià)系統(tǒng)的各項(xiàng)性能。針對(duì)體系結(jié)構(gòu)設(shè)計(jì)單獨(dú)地評(píng)價(jià)系統(tǒng)的各項(xiàng)性能。針對(duì)體系結(jié)構(gòu)設(shè)計(jì)的性能包括:可靠性,性能、安全性,可維護(hù)性的性能包括:可靠性,性能、安全性,可維護(hù)性,靈活性,可測(cè)試性,可移植性,可重用性和互,靈活性,可測(cè)試性,可移植性,可重用性和互操作

22、性等。操作性等。5) 針對(duì)不同的架構(gòu)形式,評(píng)價(jià)第針對(duì)不同的架構(gòu)形式,評(píng)價(jià)第4步提到的這些性能的敏步提到的這些性能的敏感程度。可以通過(guò)這樣的方法來(lái)評(píng)價(jià):在整個(gè)架構(gòu)中做感程度??梢酝ㄟ^(guò)這樣的方法來(lái)評(píng)價(jià):在整個(gè)架構(gòu)中做一些小的變更,分析并確定上訴性能有沒(méi)有很敏感的變一些小的變更,分析并確定上訴性能有沒(méi)有很敏感的變化。那些在體系結(jié)構(gòu)改動(dòng)中受到較大影響的性能被稱為化。那些在體系結(jié)構(gòu)改動(dòng)中受到較大影響的性能被稱為敏感點(diǎn)(敏感點(diǎn)(sensitive point)。)。6) 通過(guò)第通過(guò)第5步的敏感度分析來(lái)評(píng)價(jià)第三步中提出的那些體步的敏感度分析來(lái)評(píng)價(jià)第三步中提出的那些體系結(jié)構(gòu)。系結(jié)構(gòu)。SEI描述的方法如下:當(dāng)一

23、個(gè)架構(gòu)的敏感點(diǎn)被描述的方法如下:當(dāng)一個(gè)架構(gòu)的敏感點(diǎn)被確定,我們需要找到在系統(tǒng)中最需要權(quán)衡利弊的因素(確定,我們需要找到在系統(tǒng)中最需要權(quán)衡利弊的因素(trade-off point)。權(quán)衡因素就是指改變架構(gòu)中的這項(xiàng))。權(quán)衡因素就是指改變架構(gòu)中的這項(xiàng)內(nèi)容系統(tǒng)的很多性能就會(huì)發(fā)生敏感的變化。比如說(shuō),一內(nèi)容系統(tǒng)的很多性能就會(huì)發(fā)生敏感的變化。比如說(shuō),一個(gè)個(gè)client-server結(jié)構(gòu)的系統(tǒng)的表現(xiàn)性能和系統(tǒng)中結(jié)構(gòu)的系統(tǒng)的表現(xiàn)性能和系統(tǒng)中server的數(shù)量是息息相關(guān)的(比如增加的數(shù)量是息息相關(guān)的(比如增加server的數(shù)量,一定程的數(shù)量,一定程度上系統(tǒng)的表現(xiàn)性能就會(huì)提高)度上系統(tǒng)的表現(xiàn)性能就會(huì)提高)這樣的話

24、,這樣的話,server的數(shù)量就是這個(gè)架構(gòu)中的平衡點(diǎn)。的數(shù)量就是這個(gè)架構(gòu)中的平衡點(diǎn)。供一種理解軟件體系結(jié)構(gòu)能力的方法。 對(duì)于特定的軟件體系結(jié)構(gòu), 在系統(tǒng)開(kāi)發(fā)之前, 可以使用ATAM方法確定在多個(gè)質(zhì)量屬性之間折中的必要性 可以把ATAM方法視為一個(gè)框架, 該框架依賴于質(zhì)量屬性, 可以使用不同的分析技術(shù) 可以迭代地改進(jìn)面向數(shù)據(jù)流設(shè)計(jì)的基本概念 面向數(shù)據(jù)流設(shè)計(jì)(SD)要解決的任務(wù):DFD(軟件系統(tǒng)邏輯模型)(軟件系統(tǒng)邏輯模型)軟件系統(tǒng)的結(jié)構(gòu)軟件系統(tǒng)的結(jié)構(gòu)(軟件結(jié)構(gòu)的初始結(jié)構(gòu)描述)(軟件結(jié)構(gòu)的初始結(jié)構(gòu)描述)映射映射面向數(shù)據(jù)流設(shè)計(jì)的基本步驟精化DFD確定信息流DFD類型把DFD映射到系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì)出模

25、塊結(jié)構(gòu)的上層基于DFD逐步分解高層模塊設(shè)計(jì)出下層模塊根據(jù)模塊獨(dú)立性原理,精化模塊設(shè)計(jì)模塊接口描述系統(tǒng)結(jié)構(gòu)特征:變換型結(jié)構(gòu)事務(wù)型結(jié)構(gòu)混合型結(jié)構(gòu) 結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì) 一種體系結(jié)構(gòu)設(shè)計(jì)方法一種體系結(jié)構(gòu)設(shè)計(jì)方法, 采用“調(diào)用和返回”體系結(jié)構(gòu)的映射技術(shù)以以把把數(shù)數(shù)據(jù)據(jù)流流圖圖變變換換成成軟軟件件結(jié)結(jié)構(gòu)。構(gòu)。信信息息流流的的類類型型決決定定了了映映射射的的方方法。法。兩兩種種信信息息流流類類型:型:變變換換型型、事事務(wù)務(wù)型型。變變換換分分析析是是軟軟件件系系統(tǒng)統(tǒng)結(jié)結(jié)構(gòu)構(gòu)設(shè)設(shè)計(jì)計(jì)的的主主要要方方法。法。大大型型軟軟件件系系統(tǒng)統(tǒng)通通常常是是變變換換型型結(jié)結(jié)構(gòu)構(gòu)和和事事務(wù)務(wù)型型結(jié)結(jié)構(gòu)構(gòu)的的混混合合通通常常采采

26、用用以以變變換換分分析析為為主,主,事事務(wù)務(wù)分分析析為為輔輔的的方方式式進(jìn)進(jìn)行行軟軟件件結(jié)結(jié)構(gòu)構(gòu)設(shè)設(shè)計(jì)。計(jì)。變換流變換流 事務(wù)流事務(wù)流輸入輸入處理處理輸出輸出事務(wù)中心事務(wù)中心入入流流輸輸入入數(shù)數(shù)據(jù)據(jù)通通過(guò)過(guò)“變變換換中中心心”,進(jìn)進(jìn)行行轉(zhuǎn)轉(zhuǎn)換,換,此此處處的的信信息息流流稱稱為為變變換換流流轉(zhuǎn)轉(zhuǎn)換換后后的的數(shù)數(shù)據(jù)據(jù)沿沿各各種種路路徑徑流流出出軟軟件,件,這這些些流流出出的的路路徑徑稱稱為為輸輸出出流流變換流分析變換型數(shù)據(jù)流圖變換流設(shè)計(jì)實(shí)例步驟第一級(jí)分解建立初始結(jié)構(gòu)框架第二級(jí)分解分解結(jié)構(gòu)圖各分支變換流分析實(shí)例結(jié)構(gòu)圖變換流分析示例并并且且根根據(jù)據(jù)評(píng)評(píng)估估結(jié)結(jié)果,果,啟啟動(dòng)動(dòng)其其中中一一條條(也也可

27、可能能是是若若干干條)條)動(dòng)動(dòng)作作路路徑徑流流發(fā)發(fā)出出很很多多動(dòng)動(dòng)作作路路徑徑的的信信息息流流中中心心稱稱為為事事務(wù)務(wù)中中心心事務(wù)流分析據(jù)據(jù)流流圖圖確確定定DFD是是否否含含有有變變換換流流或或事事務(wù)務(wù)流流特特征征通通過(guò)過(guò)確確定定輸輸入入和和輸輸出出流流的的邊邊界,界,分分離離出出變變換換中中心心完完成成“第第一一級(jí)級(jí)分分解解”完完成成第第二二級(jí)級(jí)分分解,解,將將DFD中中的的每每個(gè)個(gè)加加工工映映射射到到體體系系結(jié)結(jié)構(gòu)構(gòu)中中的的相相應(yīng)應(yīng)模模塊塊精精化化第第一一次次迭迭代代得得到到的的體體系系結(jié)結(jié)構(gòu)構(gòu)data flow modelTransform mappingabcdefghijx1x2x3

28、x4bcadefgihjabTghdefikjlmnDFDMbaTP1defP2ghP2.1ijkP3lmn據(jù)據(jù)流流圖圖確確定定DFD含含有有變變換換流流還還是是事事務(wù)務(wù)流流特特征征標(biāo)標(biāo)識(shí)識(shí)事事務(wù)務(wù)中中心心和和每每條條動(dòng)動(dòng)作作路路徑徑上上的的流流特特征征將將DFD映映射射到到一一個(gè)個(gè)適適合合事事務(wù)務(wù)處處理理的的體體系系結(jié)結(jié)構(gòu)構(gòu)上上分分解解并并精精化化事事務(wù)務(wù)結(jié)結(jié)構(gòu)構(gòu)和和每每條條動(dòng)動(dòng)作作路路徑徑的的結(jié)結(jié)構(gòu)構(gòu)精精化化第第一一次次迭迭代代得得到到的的體體系系結(jié)結(jié)構(gòu)構(gòu)實(shí)實(shí)現(xiàn)現(xiàn)傳傳感感器器和和微微處處理理機(jī)機(jī)接接口;口;(2) 在在發(fā)發(fā)光光二二極極管管面面板板上上顯顯示示數(shù)數(shù)據(jù);據(jù);(3) 指指示示每每

29、小小時(shí)時(shí)英英里里數(shù)數(shù)(mph),行行駛駛里里程,程,每每加加侖侖油油行行駛駛的的英英里里數(shù)數(shù)(mpg)等等等;等;(4) 指指示示加加速速或或減減速;速;(5) 超超速速警警告:告:如如果果車(chē)車(chē)速速超超過(guò)過(guò)55英英里里/小小時(shí),時(shí),則則發(fā)發(fā)出出超超速速警警告告鈴鈴聲。聲。制制模模塊塊Cm協(xié)協(xié)調(diào)調(diào)下下述述從從屬屬模模塊塊的的功功能:能:輸輸入入信信息息處處理理控控制制模模塊塊Ca,協(xié)協(xié)調(diào)調(diào)對(duì)對(duì)所所有有輸輸入入數(shù)數(shù)據(jù)據(jù)的的接接收;收;變變換換中中心心控控制制模模塊塊Ct,完完成成對(duì)對(duì)內(nèi)內(nèi)部部形形式式的的數(shù)數(shù)據(jù)據(jù)的的所所有有操操作;作;輸輸出出信信息息處處理理控控制制模模塊塊Ce,協(xié)協(xié)調(diào)調(diào)輸輸出出信

30、信息息的的產(chǎn)產(chǎn)生。生。件件結(jié)結(jié)構(gòu)構(gòu)中中一一個(gè)個(gè)適適當(dāng)當(dāng)?shù)牡哪DK塊第第二二級(jí)級(jí)分分解解方方法法從從變變換換中中心心的的邊邊界,界,沿沿著著輸輸入入通通路路向向外外移移動(dòng),動(dòng),把把輸輸入入通通路路中中每每個(gè)個(gè)處處理理映映射射成成軟軟件件結(jié)結(jié)構(gòu)構(gòu)中中Ca控控制制下下的的一一個(gè)個(gè)低低層層模模塊塊從從變變換換中中心心的的邊邊界,界,沿沿輸輸出出通通路路向向外外移移動(dòng),動(dòng),把把輸輸出出通通路路中中每每個(gè)個(gè)處處理理映映射射成成受受模模塊塊Ce控控制制的的一一個(gè)個(gè)低低層層模模塊塊把把變變換換中中心心內(nèi)內(nèi)的的每每個(gè)個(gè)處處理理映映射射成成受受Ct控控制制的的一一個(gè)個(gè)模模塊塊件件結(jié)結(jié)構(gòu),構(gòu),應(yīng)應(yīng)該該對(duì)對(duì)初初步步分

31、分割割得得到到的的模模塊塊進(jìn)進(jìn)行行再再分分解解或或合合并并。變換分析過(guò)程復(fù)審基本系統(tǒng)模型復(fù)審并精化DFD確定DFD的類型確定輸入流和輸出流的邊界,孤立變換中心完成“第一級(jí)分解” (確定頂層和第一層)完成“第二級(jí)分解”(把每個(gè)處理映射到SC的一個(gè)模塊)利用啟發(fā)式規(guī)則和設(shè)計(jì)度量對(duì)軟件結(jié)構(gòu)進(jìn)一步精化BCADPQRWUVE打印顯示鍵盤(pán)輸入傳感器(離物理輸入端最遠(yuǎn),但仍然可以被看作系統(tǒng)輸入的那些數(shù)據(jù)流)(離物理輸出端最遠(yuǎn),但仍然可以被看作系統(tǒng)輸出的那些數(shù)據(jù)流)。第一級(jí)分解,確定頂層和第一層MCMAMTMEQPRGet CGet EGet BRead AB to CRead DD to EA to BPu

32、t UWrite WU to VWriteV從邊界沿輸出通路向外移動(dòng),將每個(gè)處理映射成Me的子模塊第二級(jí)分解:將變換中心內(nèi)的處理映射成Mt的子模塊從邊界沿輸入通路向外移動(dòng),將每個(gè)處理映射成Ma的子模塊;在輸入、輸出路徑上數(shù)據(jù)的內(nèi)容和形式也可能發(fā)生變化,但應(yīng)區(qū)別于中心加工系系結(jié)結(jié)構(gòu)構(gòu)案案例例形形( (軌軌跡跡) )的的形形式式顯顯示示在在屏屏幕幕上上的的儀儀表表系系統(tǒng)統(tǒng)設(shè)設(shè)計(jì)計(jì)示示波波器器軟軟件件時(shí)時(shí)面面臨臨的的問(wèn)問(wèn)題:題:復(fù)復(fù)用用率率極極低低新新示示波波器器軟軟件件要要根根據(jù)據(jù)硬硬件件性性能能和和用用戶戶要要求求的的接接口口重重新新設(shè)設(shè)計(jì)計(jì)不不能能快快速速配配置置軟軟件,件,影影響響了了示示波波器器性性能能的的增增強(qiáng)強(qiá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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論