系統(tǒng)架構(gòu)的風(fēng)險(xiǎn)點(diǎn):在系統(tǒng)架構(gòu)設(shè)計(jì)中潛在的,有問題的架構(gòu)決策所帶來的隱患;
系統(tǒng)架構(gòu)的敏感點(diǎn):為了實(shí)現(xiàn)某種特定的質(zhì)量屬性戒幔,一個(gè)或多個(gè)構(gòu)件所具有的特征;
系統(tǒng)架構(gòu)的權(quán)衡點(diǎn):影響多個(gè)質(zhì)量屬性的特性土童,是多個(gè)質(zhì)量屬性的權(quán)衡點(diǎn)诗茎。
模型(Model):應(yīng)用程序主體部分,模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯献汗,一個(gè)模型可以為多個(gè)視圖提供數(shù)據(jù)敢订。
視圖(View):用戶看到并與之交互的界面。能接收用戶輸入的數(shù)據(jù)罢吃,不對任何實(shí)際業(yè)務(wù)進(jìn)行處理楚午。
控制(controller):根據(jù)用戶輸入并調(diào)用模型和視圖完成用戶的需求,用戶界面和model的接口尿招。將視圖的輸入矾柜,解釋為系統(tǒng)能夠理解的對象,識別用戶輸入就谜,調(diào)用相對應(yīng)的模型怪蔑。處理模型的事件和模型邏輯執(zhí)行的結(jié)果,調(diào)用適當(dāng)?shù)囊晥D為用戶提供反饋丧荐。
架構(gòu)設(shè)計(jì)的一個(gè)核心問題是能否達(dá)到架構(gòu)級的軟件復(fù)用饮睬。
架構(gòu)風(fēng)格反映了領(lǐng)域中眾多系統(tǒng)所共有的結(jié)構(gòu)和語義特性,并指導(dǎo)如何將各個(gè)構(gòu)建有效的組織成一個(gè)完整的系統(tǒng)篮奄。
架構(gòu)風(fēng)格定義了用于描述系統(tǒng)的術(shù)語表和一組指導(dǎo)構(gòu)建系統(tǒng)的規(guī)則捆愁。
數(shù)據(jù)流風(fēng)格:
批處理序列:有順序的,每個(gè)步驟都是獨(dú)立的程序窟却,每一步必須在其前一步結(jié)束才能開始昼丑,數(shù)據(jù)必須是完整的,以整體的方式傳遞夸赫。
管道顧過濾器:每個(gè)構(gòu)建都有輸入和輸出菩帝,將一個(gè)過濾器的輸出,到另外一個(gè)過濾器的輸入茬腿。早起編譯器就是這樣的呼奢。
調(diào)用回放功能:
主程序/子程序:調(diào)用關(guān)系具有層次性,構(gòu)件為主程序切平,子程序握础;
面向?qū)ο螅和ㄟ^函數(shù)和函數(shù)之間進(jìn)行交互。
層次結(jié)構(gòu):每層為上一層提供服務(wù)悴品,使用下一層的服務(wù)禀综,只能見到與自己相鄰的層简烘,通過層次結(jié)構(gòu),可以將大的問題分解為若干個(gè)漸進(jìn)的小問題逐步解決定枷,可以影藏問題的復(fù)雜度孤澎。
獨(dú)立構(gòu)件風(fēng)格:
進(jìn)程通信:構(gòu)件是獨(dú)立的過程,連接件是消息傳遞欠窒。消息傳遞可以點(diǎn)對點(diǎn)覆旭、異步或同步,遠(yuǎn)程調(diào)用訪問岖妄。
事件驅(qū)動系統(tǒng)(隱式調(diào)用):構(gòu)件過程是一個(gè)或多個(gè)事件中注冊姐扮。當(dāng)某個(gè)事件被觸發(fā)時(shí),系統(tǒng)自動調(diào)用在這個(gè)事件中注冊的所有過程衣吠。
虛擬機(jī)風(fēng)格:
解釋器:解釋某個(gè)東西茶敏。但效率不高。
基于規(guī)則的風(fēng)格:包含規(guī)則集缚俏,規(guī)則集解釋器惊搏,一般在人工智能和DSS領(lǐng)域;
倉庫風(fēng)格:
數(shù)據(jù)庫系統(tǒng):有兩大類忧换,一類是中央共享數(shù)據(jù)源恬惯,另一個(gè)是多個(gè)獨(dú)立處理單元。
黑板系統(tǒng):包含知識源亚茬,黑板酪耳、控制。
超文本系統(tǒng):構(gòu)件以網(wǎng)狀鏈接的方式進(jìn)行連接刹缝。用于互聯(lián)網(wǎng)領(lǐng)域碗暗。
層次結(jié)構(gòu)風(fēng)格
優(yōu)點(diǎn):支持基于可增加抽象層的設(shè)計(jì),將一個(gè)復(fù)雜問題分解成一個(gè)增量步驟序列實(shí)現(xiàn)梢夯。
不同的層次處于不同的抽象級別言疗,越靠近底層(核心層越抽象)。
每層最多只影響兩層颂砸,只要給相鄰層噪奄,提供接口。
缺點(diǎn):不是每個(gè)系統(tǒng)都很容易的劃分人乓。
嵌入式系統(tǒng)中的閉環(huán)風(fēng)格勤篮,適用于嵌入式系統(tǒng),涉及連續(xù)動作和狀態(tài)
RUP(Rational Unified Process):統(tǒng)一軟件開發(fā)過程
包含4個(gè)階段:初始階段色罚、細(xì)化階段碰缔、交付階段(注意,題目里面可能是移交保屯,意思一樣就可以了J指骸)、構(gòu)建階段姑尺;
用例驅(qū)動以架構(gòu)為中心迭代和增量竟终;
初始階段:確定項(xiàng)目范圍和邊界識別系統(tǒng)的關(guān)鍵用例展示系統(tǒng)的候選架構(gòu),估計(jì)項(xiàng)目費(fèi)用和時(shí)間切蟋,估計(jì)項(xiàng)目風(fēng)險(xiǎn)统捶。
細(xì)化階段:分析系統(tǒng)我呢體領(lǐng)域,建立軟件架構(gòu)基礎(chǔ)柄粹,淘汰最高風(fēng)險(xiǎn)元素喘鸟。
交付階段:進(jìn)行β測試制作發(fā)布版,用戶文檔定稿驻右,確定新系統(tǒng)什黑,培訓(xùn),調(diào)整產(chǎn)品堪夭。
構(gòu)建階段:開發(fā)剩余構(gòu)件愕把,構(gòu)件組裝測試;
注意:β測試只有產(chǎn)品的才能測試森爽,在用戶環(huán)境下測試恨豁。α測試是在開發(fā)環(huán)境下才有
各維護(hù)的細(xì)節(jié)!
正確性維護(hù):改BUG爬迟;
適應(yīng)性維護(hù):適應(yīng)外部環(huán)境的變化橘蜜;
完善性維護(hù):增加功能,提升性能付呕;
預(yù)防性維護(hù):解決將來會遇到的問題计福;
項(xiàng)目中遇到最多的就是完善性維護(hù),最少的是預(yù)防性維護(hù)徽职;
最常用的12種設(shè)計(jì)模式小結(jié):
1.策略模式(Strategy): 定義了算法家族, 分別封裝起來, 讓它們之間可以互相替換棒搜。
2.裝飾著模式(Decorator): 動態(tài)的給一個(gè)對象添加一些額外的職責(zé)。
3.代理模式(Proxy): 為其他對象提供一種代理以控制對這個(gè)對象的訪問活箕。
4.工廠模式(Factory): 定義一個(gè)用以創(chuàng)建對象的接口, 讓子類決定實(shí)例化哪個(gè)類力麸。
5.模板模式(Template): 定義一個(gè)操作中的算法骨架, 而將一些步驟延遲到子類中.
6.外觀模式(Facade): 為子系統(tǒng)中的一組接口提供一個(gè)一致的界面。
7.建造者模式(Builder): 將一個(gè)復(fù)雜對象的構(gòu)建與它的表示分離育韩。
8.觀察者模式(Observer): 定義了一種一對多的依賴關(guān)系,讓多個(gè)觀察者對象同時(shí)監(jiān)聽某一主題對象,在它的狀態(tài)發(fā)生變化時(shí),會通知所有的觀察者克蚂。
9.抽象工廠模式(Abstract Factory): 提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對象的接口, 而無需指定它們具體的類。
10.適配器模式(Adapter): 將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另一個(gè)接口筋讨。
11.單例模式(Singleton): 保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問它的全局控制點(diǎn)埃叭。
12.命令模式(Command): 將一個(gè)請求封裝成為一個(gè)對象, 使可以用不同的請求對客戶進(jìn)行參數(shù)化。
用例模型中悉罕,兩個(gè)用例之間中存在的關(guān)系:擴(kuò)展(可選的關(guān)系)赤屋、使用(必須的關(guān)系)立镶、泛化(有父子關(guān)系);
注意:考試的時(shí)候类早,可能會多出幾個(gè)關(guān)系媚媒,這個(gè)時(shí)候,不要局限于上面的這3個(gè)涩僻,根據(jù)選項(xiàng)找最合適的缭召。
這里要注意,在包含和擴(kuò)展里面逆日,A為基礎(chǔ)用例嵌巷,包含是基礎(chǔ)指向大的一塊。擴(kuò)展是大的指向基礎(chǔ)的室抽,這個(gè)要注意搪哪!
泛化和實(shí)現(xiàn)中A為父類,或者接口坪圾。BC為子類噩死。泛化可以接口泛化接口,也可以父類泛化子類神年,而實(shí)現(xiàn)只能是父類和子類已维,不能接口對接口。
實(shí)際應(yīng)用領(lǐng)域中已日,EP為企業(yè)門戶包含:
企業(yè)網(wǎng)站:信息單向傳送垛耳,只能看,不能收集用戶信息飘千,填寫數(shù)據(jù)等功能堂鲜。
企業(yè)信息門戶:訪問者可以相互討論和交換信息。把數(shù)據(jù)資源和互聯(lián)網(wǎng)資源集成到EP中护奈;
企業(yè)知識門戶:主要是給員工用缔莲。
企業(yè)應(yīng)用門戶:對企業(yè)業(yè)務(wù)邏輯的集成、不僅僅內(nèi)部員工可以用霉旗,外部人員也可以用痴奏。
CRM為客戶關(guān)系管理,管理對象是客戶與企業(yè)之間的雙向關(guān)系厌秒。
在開發(fā)過程中读拆,客戶關(guān)系培養(yǎng)和維護(hù)是開發(fā)的主要目標(biāo)。
這里要注意幾個(gè)概念:SRM(供應(yīng)商關(guān)系管理)是管理供貨商的鸵闪,ERP(企業(yè)資源計(jì)劃)是企業(yè)自身管理檐晕。
S(供貨商)? ? ? ? ? ? A(企業(yè))? ? ? ? ? ? ?C(客戶)
A到C用CRM管理、S到A用SRM管理。A用ERP管理
主題數(shù)據(jù)庫:數(shù)據(jù)存放是按照主題來的辟灰,解決信息孤島問題个榕;
他包括:數(shù)據(jù)抽取、數(shù)據(jù)裝載芥喇、數(shù)據(jù)清洗(包含數(shù)據(jù)轉(zhuǎn)換)
企業(yè)應(yīng)用集成:
初級階段:部門職能展開西采,搞數(shù)據(jù)處理的;
mis階段:企業(yè)整體需求乃坤;
應(yīng)用(系統(tǒng))集成:考勤苛让、財(cái)務(wù)等沟蔑。把信息孤島關(guān)聯(lián)起來湿诊;
界面集成
界面->表示層
業(yè)務(wù)、控制集成->應(yīng)用邏輯
數(shù)據(jù)集成->中間件
中間件下面就是數(shù)據(jù)庫了瘦材!
信息化戰(zhàn)略與實(shí)施:
企業(yè)應(yīng)用集成(EAI):界面集成厅须、業(yè)務(wù)過程集成、應(yīng)用集成食棕、數(shù)據(jù)集成朗和、平臺集成;
企業(yè)信息化與電子商務(wù):B2B簿晓、B2C眶拉、C2C、O2O(Online?To?Offine)
信息系統(tǒng)戰(zhàn)略規(guī)劃:
第一階段
以數(shù)據(jù)處理為核心憔儿,圍繞職能部門需求的信息系統(tǒng)規(guī)劃
主要方法:企業(yè)系統(tǒng)規(guī)劃法忆植,關(guān)鍵成功因素法,戰(zhàn)略集合轉(zhuǎn)化法
第二階段
以企業(yè)內(nèi)部管理系統(tǒng)為核心谒臼,圍繞企業(yè)整體需求進(jìn)行的信息系統(tǒng)規(guī)劃
主要方法:信息工程法朝刊,戰(zhàn)略柵格法
第三階段
在綜合考慮企業(yè)內(nèi)外環(huán)境的情況下,以集成為核心蜈缤,圍繞企業(yè)戰(zhàn)略需求進(jìn)行的信息系統(tǒng)規(guī)劃
主要的方法:價(jià)值鏈分析法拾氓,戰(zhàn)略一致性模型