版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第七章特定領域的軟件體系結構§7.1特定領域的軟件體系結概述§7.2DSSA組成§7.3基于DSSA的軟件開發(fā)§7.4基于DSSA的DRICSM系統(tǒng)建?!?.5流行的軟件體系結構7.1.1特定領域的軟件體系結構的定義
特定領域的軟件體系結構(DomainSpecificSoftwareArchitecture,簡寫為DSSA)是從一個領域中所有應用系統(tǒng)的體系結構抽象出來的更高層次的體系結構,這個共有的體系結構是針對領域模型中的領域需求給出的解決方案。DSSA是體現(xiàn)了領域中各系統(tǒng)的結構共性的軟件體系結構,它通用于領域中的各個系統(tǒng)?!?/p>
7.1特定領域的軟件體系結概述7.1.2特定領域體系結構的意義在特定領域中存在著相類似的知識,這些知識信息可以在解決方案中復用。其總體結構、計算構件、連接件以及其數(shù)據(jù)件都是可重的。一旦以上構件設計出來后,開發(fā)應用軟件的工作就簡化了,90%以上的工作量是可重用,留下的僅是處理同一領域中屬個性化的部件,開發(fā)一個應用系統(tǒng)人員素質可以降低、質量反而提高、開發(fā)周期大大縮短,從而提高了生產率。需求工程以往需求獲取中存在問題1.由系統(tǒng)分析員去向用戶調查,然后寫出需求報告,系統(tǒng)分析員是不了解用戶業(yè)務的,因此只能做到一知半解地寫“需求分析報告”這個需求報告自身就隱藏著大量的錯誤,現(xiàn)在的做法是仿真現(xiàn)實系統(tǒng),讓用戶老老實實地將自己如何工作的情況寫下來,用戶是能夠寫好的。2.需求和分析這二件事是二個不同范疇中的事,需求獲取是描述客觀系統(tǒng),屬用戶范疇,分析工作應由軟件人員通過抽象和分析,為下一步設計作準備,是屬分析員的范圍內的事,因此其知識要求,目標和工作方式是截然不同的?,F(xiàn)在的做法是需求獲取和領域分析分開成不同階段,不能將它們混在一起進行。需求生成工具該工具有以下功能:1.一致性完備性檢查,如用的名字是否有定義且統(tǒng)一,有些文檔無人接受,有些文檔不知從哪里獲得,每個事務或功能的觸發(fā)條件,有些功能責職無人承擔等,需進一步反覆完善。2.生成各種文檔:需求報告、費用估算、實施計劃、合同草稿、詞典、編碼表、亞當圖等。生成文檔的作用需求報告、費用估算、實施計劃、合同等文檔,是提供給用戶,給以確認。其它文檔供集成商、領域分析員、系統(tǒng)開發(fā)員或集成員之用。所有文檔都是根據(jù)參考模式從可重用文檔庫中取出樣版填寫而成的,為此必需規(guī)范化。獲取需求過程的框架產生參考模式參考模式交互或填表用戶需求生存工具合同和估算表和圖需求報告規(guī)格說明庫分析員關鍵技術所有文檔都應規(guī)范化,才能實現(xiàn)生存工具,實現(xiàn)文檔的轉換。文檔應遵循受限自然語言的語法和語義。受限自然語言的語法和語義可用BNF方式定義。提供CASE平臺,包括文檔庫及工具庫。要有實際工程基礎,才能提供出參考模式。其它需求信息各崗位角色的權限定義,是設計系統(tǒng)安全性的依據(jù)。用戶界面的風格,是用戶直接與機器打交通的部分,應有演示,讓用戶能挑選。了解與外部的聯(lián)系以及進一步發(fā)展規(guī)劃,為系統(tǒng)發(fā)展留有余地?,F(xiàn)有計算機使用情況。.....等等。小結
客觀系統(tǒng)的建立是基于用戶觀念,仿真現(xiàn)實人工系統(tǒng)而獲得,用戶只要寫出本人的承擔任務,及其具體工作步驟。因此可以由用戶自己編寫??陀^系統(tǒng)的模型是采用角色法模型仿照IPO圖的方式,是面向現(xiàn)實系統(tǒng)的模型,因此需求說明易于用戶接受也易于驗證。領域工程基本假設:在特定領域中存在著相類似的知識,這些知識信息可以在解決方案中復用。領域工程是針對同領域的應用工程建立基本能力和必要基礎設施。領域工程是針對特定領域分析、設計和實現(xiàn)軟件系統(tǒng)。領域工程設計出該領域的體系結構模型;對此模型進一步細化,形成領域體結構框架多個模型,它還包括:①提煉出可重用的構件;②設計出可重用數(shù)據(jù)(稱主題數(shù)據(jù)),即完成數(shù)據(jù)結構和邏輯數(shù)據(jù)庫的設計,通常在同一領域中數(shù)據(jù)結構是最穩(wěn)定的。領域工程要求有足夠的領域信息才能開展,即要求有完整的領域需求報告,或已開發(fā)過多個同領域的應用軟件。領域工程的核心是通過領域分析和設計形成領域的邏輯系統(tǒng)。當每次開發(fā)一個同一領域時,僅需要作少量修改加以組裝集成,就大大縮短開發(fā)周期、降低開發(fā)成本,也便干維護。領域工程模型領域應用應用應用應用領域工程DA1B1C1A2B2領域可復用構件輸入輸出領域工程師最終用戶領域專家應用系統(tǒng)開發(fā)需求分析員、軟件設計者......數(shù)據(jù)件連接件領域工程領域構架模型領城建模的信息來源(圖示)需求報告專家系統(tǒng)原型演示己有系統(tǒng)用戶工具客觀世界模型:主題文檔領域個性和知識需求模型
參加人員:領域專家分析員領域設計的任務設計數(shù)據(jù)環(huán)境,如主題數(shù)據(jù)庫。設計邏輯系統(tǒng)的體系結構。設計各構件及相互連接關系。四種數(shù)據(jù)環(huán)境(一)
文件系統(tǒng)(DataFile)每一項應用都設計有各自的文件,這常常是結構化分析的直接結果,數(shù)據(jù)包含于功能中。在這類數(shù)據(jù)環(huán)境中,沒有使用數(shù)據(jù)庫管理系統(tǒng),文件是在應用開發(fā)時由分析員或程序員設計的。它的特點:簡單和相對比較容易實現(xiàn);但數(shù)據(jù)冗余量大,不靈活,修改的代價很高。四種數(shù)據(jù)環(huán)境(二)應用數(shù)據(jù)庫(ApplicationDataBases)使用了數(shù)據(jù)庫管理系統(tǒng),分散的數(shù)據(jù)為分散的應用而設計。沒有發(fā)揮使用數(shù)據(jù)庫的優(yōu)越性。其特點:不同的應用系統(tǒng)擁有自己的數(shù)據(jù)庫,各個應用之間的綜合數(shù)據(jù)管理,比下面第三類數(shù)據(jù)環(huán)境之較容易實現(xiàn);但數(shù)據(jù)的共享程度不好,維護費用高,隨著應用的擴充,數(shù)據(jù)庫數(shù)目的大量增加會象文件系統(tǒng)那樣導致大量冗余。如報表數(shù)據(jù)庫四種數(shù)據(jù)環(huán)境(四)
信息檢索系統(tǒng)(InformationRetrievalSystems)目前,采用數(shù)據(jù)倉庫技術來實現(xiàn)。是一種被設計的便于一般信息檢索和靈活數(shù)據(jù)搜索的系統(tǒng)。來源于多個數(shù)據(jù)源的事先收集、整理、存放在敉據(jù)侖庫中,通??晒Q策處理用。主題數(shù)據(jù)庫設計詹姆斯.馬丁(JamesMartin)在《信息工程》中提出了基于主題數(shù)據(jù)庫的總體數(shù)據(jù)規(guī)劃方法以解決“數(shù)據(jù)處理危機”。主題數(shù)據(jù)庫(SubjectDataBases)是獨立于具體應用數(shù)據(jù)而相關于領域的數(shù)據(jù)資源,數(shù)據(jù)結構和存儲方式;它獨立于使用數(shù)據(jù)的各種職能。主題數(shù)據(jù)庫作用和意義當一些互不相聯(lián)的系統(tǒng)分析員在分散獨立的開發(fā)應用軟件系統(tǒng)時,相同的數(shù)據(jù)被不同的開發(fā)小組開發(fā)多次,而且具有不同的結構,這樣,應該互相協(xié)調的數(shù)據(jù)就不能協(xié)調,不同部門之間的數(shù)據(jù)傳輸也很難進行。數(shù)據(jù)在主題數(shù)據(jù)庫中的存放方式,使得它們獨立于使用數(shù)據(jù)的程序。主題數(shù)據(jù)庫作用和意義主題數(shù)據(jù)庫的重要性:1.它有助于保證數(shù)據(jù)的完整性和一致性;2.它有助于提高應用開發(fā)效率,一旦某一領域的主題數(shù)據(jù)庫建立,可在以后的同領域開發(fā)項目中重用3.由主題數(shù)據(jù)的重用可得到相應的業(yè)務職能的重用。主題數(shù)據(jù)庫設計原則主題數(shù)據(jù)庫中的數(shù)據(jù)應該是在領域中穩(wěn)定的,綜合用戶數(shù)據(jù)視圖,盡可能消除冗余的數(shù)據(jù)和聯(lián)系。這個綜合過程應遵循一套規(guī)則的規(guī)范化步驟(如第三和第四范式),因此應該能由計算機完成。應使最終用戶盡可能的參與設計。主題數(shù)據(jù)庫規(guī)劃的基本步驟第一步,進行業(yè)務分析,建立企業(yè)模型,這部分屬于需求獲取階段。按照企業(yè)內部的理解關系,將它們劃分若干職能區(qū)域,然后,弄清各職能區(qū)域中所包含的全部業(yè)務過程,再把業(yè)務過程細分為一些活動(Activity)。按邏輯劃分出的職能區(qū)域,業(yè)務過程和活動的層次關系描述就是企業(yè)模型。第二步,進行實體分析,建立主題數(shù)據(jù)庫模型清查所有業(yè)務活動所涉及的數(shù)據(jù)實體(Entity)及其屬性(Attribute),作好保證標準化的定義與說明,取得著方面一致的理解。然后重點分析這些實體之間的聯(lián)系,將聯(lián)系密切的實體組劃分到一起,形成一些實體大組(Supergroup)。這些實體大組內部的實體之聯(lián)系密切而與外界實體聯(lián)系很少,作為劃分主題數(shù)據(jù)庫的依據(jù)。第三步,進行數(shù)據(jù)的分布分析。
結合數(shù)據(jù)存儲地點,進一步調整確定主題數(shù)據(jù)庫的內容和機構,制定數(shù)據(jù)庫的開發(fā)策略。分布分析要充分考慮:業(yè)務數(shù)據(jù)的發(fā)生和處理地點,權衡集中式數(shù)據(jù)存儲和分布式數(shù)據(jù)存儲的利弊;還要考慮數(shù)據(jù)的安全性、保密性,系統(tǒng)的運行效率和用戶的特殊要求等。根據(jù)這些調整實體大組的機構,制定最終的主題數(shù)據(jù)庫。第四步,體系結構設計。利用企業(yè)模型和主題數(shù)據(jù)庫建立業(yè)務過程與主題數(shù)據(jù)庫的對應表。從表中劃分出邏輯子系統(tǒng),劃分的原則是盡量使數(shù)據(jù)交換最頻繁的一組業(yè)務過程和一組主題數(shù)據(jù)庫出現(xiàn)在同一子系統(tǒng)中。使得各個子系統(tǒng)之間低耦合高內聚,適于作為重用構件。如下圖所示:領域構件類的提取的幾種途徑智能性很強,無統(tǒng)一方法,必需要與領域專家共同完成。從企業(yè)模型中的業(yè)務過程來劃分成子系統(tǒng)構件。從數(shù)據(jù)模型優(yōu)化中分析與主題數(shù)據(jù)密切相關的業(yè)務活動組成構件。從已有的各種模式中尋找相似的結構建立構件,或購買構件產品,經(jīng)過包裝。通過抽象技術分析出系統(tǒng)中各抽象模型§7.2DSSA的組成
DSSA由領域模型、參考模型、參考體系結構3個主要信息元素以及框架/環(huán)境支持工具、抽取和評估組成。7.2.1研究DSSA及其開發(fā)方法的意義DSSA是一門以軟件重用為核心,研究軟件應用框架的獲取、表示和應用等問題的軟件方法學。特定領域的軟件體系結構強調應用領域內的重復出現(xiàn)的大粒度問題及其解的抽象提取。
(1)基于DSSA的軟件開發(fā)具有更好的可操作性與可行性(2)基于DSSA的開發(fā)更高效與實用
7.2.2DSSA的螺旋型演化過程為了使DSSA能夠較好應用于實際領域,從創(chuàng)建到最終完成需要多次反復進行才能達到要求。實際應用中領域需求是變化的,那么DSSA應該緊跟需求而變,其變化過程如下圖:§7.3基于DSSA的軟件開發(fā)基于DSSA的應用開發(fā)步驟及其相關的支持工具如下圖(開發(fā)流程)§7.4基于DSSA的DRICSM系統(tǒng)建?!?.5.1DRICSM的定義
DRICSM(DigitalResource’sIntegrationofCreation,SaleandManagement)它是數(shù)字圖書館企業(yè)將數(shù)字資源的生產加工、銷售、財務核對、數(shù)字資源庫存管理等一系列經(jīng)營管理過程融為一個整體來實現(xiàn)對數(shù)字資源的業(yè)務控制。7.4.1DRICSM的構成按照數(shù)字圖書館企業(yè)對數(shù)字資源處理流程,可以分為如下幾個功能模塊(見下圖):7.4.2DRICSMSA的體系結構模型DRICSMSA的開發(fā)流程對于一個數(shù)字圖書館企業(yè)而言,在為其開DRICSM系統(tǒng)集成模型時,開發(fā)分析的過程像一個三角形的層次結構,如下圖:7.4.3.DRICSMSA的應用需求分析§7.4.4DRICSMSA的應用開發(fā)§7.5流行的軟件體系結構
為適應軟件日益發(fā)展的新需求,新的軟件開發(fā)末世必需直尺分布式計算、瀏覽器/服務器結構、模塊化和構件化集成,是軟件類似于硬件一樣,可用不同的標準構件組裝而成。具體的說可是現(xiàn)下列幾點要求:
●
提供一種手段,是應用軟件可用預先編好的、功能明確的產品部件定制而成,并可用不同版本的部件實現(xiàn)應用的擴展和更新。
●利用模塊化方法,將復雜的難以維護的系統(tǒng)分解為互相獨立、協(xié)同工作的部件,并努力使這些部件可反復重用?!裢黄茣r間、空間及不同硬件設備的限制,利用客戶和軟件之間統(tǒng)一的接口實現(xiàn)跨平臺的互操作。7.5.1基于CORBA的分布式構件技術
CORBA是對象管理協(xié)會(OMG)發(fā)布的異構網(wǎng)絡分布對象的交互標準。OMG是一個由業(yè)界760多個公司組成的工業(yè)協(xié)會,這些公司成立OMG的目的就是為了共同制定出一個大家都遵循的分布式對象計算標準。這一切的努力的結果就是現(xiàn)在大家所見到的對象管理體系(OMA)。OMA將對象分為三類:CORBA服務、CORBA設備和應用對象如下圖:7.5.2基于Java的分布式構件技術7.5.3基于.NET平臺的分布式構件技術7.5.4面向服務的體系結構面向服務的體系結構的定義
SOA是繼面相對象,基于構件的軟件架構方法之后被提出的一種新的體系結構。它來源于早期的基于構件的分布式計算方式,用以解決復雜環(huán)境下的分布式應用,即解決異構集成和系統(tǒng)演化兩個問題。SOA是傳統(tǒng)的面向對象和基于構件的軟件設計方法的替代模型?;赟OA的系統(tǒng)可以使用構件組裝
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年廣東省江門市單招職業(yè)傾向性測試題庫及答案詳解一套
- 2026年河北司法警官職業(yè)學院單招職業(yè)適應性測試題庫及參考答案詳解
- 2026年福建生物工程職業(yè)技術學院單招職業(yè)適應性考試題庫及參考答案詳解1套
- 2026年西安工商學院單招綜合素質考試題庫及完整答案詳解1套
- 2026年上海海洋大學單招職業(yè)傾向性考試題庫含答案詳解
- 四川省南充市嘉陵一中2024-2025學年高二上學期第二次月考(11月)生物試題含答案生物試卷
- 巨野護理面試題及答案
- 旅行社和地接社合作協(xié)議書范本
- 2025年第十三師中級人民法院聘用制書記員招聘備考題庫及一套參考答案詳解
- 東莞仲裁委員會2026年校園招聘備考題庫及答案詳解1套
- 2025西部機場集團航空物流有限公司招聘考試筆試參考題庫及答案解析
- 供應商環(huán)保協(xié)議
- 教科版小學三年級上冊科學實驗報告20篇
- 2026廣西壯族自治區(qū)公安機關人民警察特殊職位招錄考試195人備考題庫附答案詳解(a卷)
- 2025年及未來5年市場數(shù)據(jù)中國LPG加氣站行業(yè)市場全景調研及投資規(guī)劃建議報告
- 2025年藥店店員培訓試卷及答案
- 衛(wèi)生院對村衛(wèi)生室基本公衛(wèi)資金分配方案
- 內科常見疾病護理要點詳解
- 工程接管合同協(xié)議書
- 2025年秋人教PEP版(2024)小學英語三年級上冊期末檢測試卷及答案
- 2025年上海市春考語文真題試卷(詳析版)
評論
0/150
提交評論