點擊查看:2018軟考《系統(tǒng)集成項目管理工程師》復習知識點匯總
3.4面向?qū)ο笙到y(tǒng)分析與設計
●面向?qū)ο蟮幕靖拍?/P>
基本概念:對象、類、抽象、封裝、繼承、多態(tài)、接口、消息、組件、模式、復用。
對象3要素:對象標識、對象狀態(tài)、對象行為。
類的數(shù)據(jù)(屬性)表現(xiàn)類靜態(tài)方面;類的函數(shù)(功能)表現(xiàn)類動態(tài)方面。
類和對象的關(guān)系:每個對象都是某一個類的實例;每個類有零或多個實例;類是生成對象的模板;類是靜態(tài)的,它的存在、語義和關(guān)系在程序執(zhí)行前就已經(jīng)定義好了,對象是動態(tài)的,它在程序執(zhí)行時可以被創(chuàng)建和刪除。
繼承表示類之間的關(guān)系,可分為單繼承和多繼承。Java是單繼承語言,C++是多繼承語言。
多態(tài)是一種方法,使得多個類中可以定義同一個操作或?qū)傩悦,并在每個類中都有不同的實現(xiàn)。
接口是對操作規(guī)范的說明,定義操作應該做什么,沒有定義操作如何做,即沒有定義實現(xiàn)細節(jié)。
消息是對象間的交互手段。
組件是軟件系統(tǒng)可替換的、物理的組成部分,它封裝了實現(xiàn)體(實現(xiàn)某個功能),并提供了一組接口的實現(xiàn)方法。組件應利于復用,同時提供公共特性和可變特性。
模式是一條由3部分組成的規(guī)則,表示了一個特定環(huán)境、一個問題、一個解決方案之間的關(guān)系。每個模式描述了一個重復發(fā)生的問題,以及該問題的解決方案。
●統(tǒng)一建模語言UML與可視化建模
統(tǒng)一建模語言(UML,UnifiedModelingLanguage)是一個通用的可視化建模語言,它是面向?qū)ο蠓治龊驮O計的一種標準化表示,用于對軟件進行描述、可視化處理、構(gòu)造和建立軟件系統(tǒng)的文檔。
UML描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為,它將系統(tǒng)描述為一些獨立的相互作用的對象,構(gòu)成為外界提供一定功能的模型結(jié)構(gòu)。靜態(tài)結(jié)構(gòu)定義了系統(tǒng)中重要對象的屬性和服務;動態(tài)行為定義了對象的時間特性和對象為完成目標而進行相互間通訊的機制。
UML不是一種可視化的程序設計語言,是一種可視化的建模語言。UML沒有定義一種標準的開發(fā)過程,但它比較適用于迭代式的開發(fā)過程,是為支持面向?qū)ο蟮拈_發(fā)過程設計的。
●面向?qū)ο笙到y(tǒng)分析
面向?qū)ο蟮南到y(tǒng)分析指運用面向?qū)ο蟮姆椒ǚ治鰡栴}域,建立基于對象、消息的業(yè)務模型,形成對客觀世界和業(yè)務本身的正確認識。
面向?qū)ο蟮姆治瞿P陀捎美P、?對象模型、對象-關(guān)系模型、對象-行為模型組成。
(1)用例模型描述用戶和系統(tǒng)間的交互;
(2)類-對象模型描述系統(tǒng)涉及的全部對象和類;
(3)對象-關(guān)系模型描述對象間的靜態(tài)關(guān)系;
(4)對象-行為模型描述系統(tǒng)的動態(tài)行為。
●面向?qū)ο笙到y(tǒng)設計
面向?qū)ο蟮南到y(tǒng)設計指用分析階段給出的問題域模型,用面向?qū)ο蟮姆椒ㄔO計出軟件基礎架構(gòu)(概要設計)和完整的類結(jié)構(gòu)(詳細設計),以實現(xiàn)業(yè)務功能。
面向?qū)ο笤O計階段:用例設計、類設計、子系統(tǒng)設計。
3.5軟件系統(tǒng)結(jié)構(gòu)(軟件架構(gòu))
●軟件體系結(jié)構(gòu)定義
軟件架構(gòu)定義:將軟件系統(tǒng)劃分為多個模塊,明確各模塊間的相互作用,組合起來實現(xiàn)系統(tǒng)的全部特性。
軟件架構(gòu)不僅確定了系統(tǒng)的組織結(jié)構(gòu)和拓撲結(jié)構(gòu),還顯示了系統(tǒng)需求和構(gòu)成系統(tǒng)各要素間的對應關(guān)系,提供了一些設計決策的基本原則。
●典型體系結(jié)構(gòu)
軟件架構(gòu)設計的一個核心問題是能夠使用重復的架構(gòu)模式,能否達到架構(gòu)級的軟件復用。
常見的架構(gòu)模式:
管道/過濾器模式;面向?qū)ο竽J?事件驅(qū)動模式;分層模式;知識庫模式;C/S模式;
●軟件體系結(jié)構(gòu)設計方法
軟件架構(gòu)設計是動態(tài)的,初期的設計并不能完全確定下來,和建筑設計不同。
架構(gòu)設計的目標:最大化復用;復雜問題簡單化(這也是中間件和多層技術(shù)的根本目標);靈活的擴展性;
●軟件體系結(jié)構(gòu)分析與評估
軟件架構(gòu)設計注意事項:關(guān)系數(shù)據(jù)庫優(yōu)于對象數(shù)據(jù)庫,前者成熟,多廠商支持,后者技術(shù)先進;用戶界面選擇使用HTML(HTTP);靈活性與性能考慮,即考慮獨立于廠家方案還是單廠家方案;選擇成熟的技術(shù)可以規(guī)避項目風險;聘請經(jīng)驗豐富的架構(gòu)設計師。
●軟件中間件
中間件(Middleware)用來解決分布系統(tǒng)的異構(gòu)問題。中間件是位于硬件、操作系統(tǒng)等平臺和應用之間的通用服務,這些服務有標準的程序接口(API)和協(xié)議。
中間件的分類:
數(shù)據(jù)庫訪問中間件(ODBC-Windows;JDBC-Java);遠程過程調(diào)用中間件(RPC);面向消息的中間件(MOM);分布式對象中間件(CORBA;EJB;DCOM);事務中間件(TPM);
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |