久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

對軟件架構(gòu)設(shè)計(jì)的一些總結(jié)和理解

 數(shù)字課堂 2017-04-26

1. 軟件架構(gòu)設(shè)計(jì)的What & Why

● 啥是軟件架構(gòu)(Software Architecture)?

軟件架構(gòu)是指在一定的設(shè)計(jì)原則基礎(chǔ)上,,從不同角度對組成系統(tǒng)的各部分進(jìn)行搭配和安排,,形成系統(tǒng)的多個(gè)結(jié)構(gòu)而組成架構(gòu),,它包括該系統(tǒng)的各個(gè)組件,,組件的外部可見屬性及組件之間的相互關(guān)系,。組件的外部可見屬性是指其他組件對該組件所做的假設(shè)。

軟件架構(gòu)設(shè)計(jì)就是從宏觀上說明一套軟件系統(tǒng)的組成與特性,。

軟件架構(gòu)設(shè)計(jì)是一系列有層次的決策 ,,比如:功能與展現(xiàn)的決策;技術(shù)架構(gòu)的決策,;自主研發(fā)還是合作,;商業(yè)軟件還是開源軟件 。


為啥要進(jìn)行軟件架構(gòu)設(shè)計(jì),?

業(yè)務(wù)需求層出不窮,;軟件系統(tǒng)越來越復(fù)雜;參與的人越來越多,;共性和特殊性的問題越來越多,;技術(shù)發(fā)展日異月新;……


2. 軟件架構(gòu)師


2.1. 軟件架構(gòu)師是干什么的

介于需求與開發(fā)的中間人     良好的溝通能力
能夠統(tǒng)領(lǐng)全局的大牛 良好的大局觀
能夠?qū)⑿枨筠D(zhuǎn)換為技術(shù)     洞悉前沿與市場嗅覺
能夠?yàn)檐浖邪l(fā)提供指導(dǎo)     見多識廣的大牛
需要全面思考軟件系統(tǒng)方方面面的問題     縝密地思考問題
能夠攻關(guān)和搞定重要技術(shù)難題     公司可信賴的支柱


2.2. 架構(gòu)師的素質(zhì)

全局思維  

從業(yè)務(wù),、市場,,到技術(shù)實(shí)現(xiàn);

從軟件的過去,、現(xiàn)在,,到將來;

從外部客戶,,到內(nèi)部研發(fā),;

從軟件研發(fā),到硬件部署,;

從功能實(shí)現(xiàn),,到運(yùn)行效率  

戰(zhàn)略思維  

在所在行業(yè)的發(fā)展戰(zhàn)略;

在業(yè)務(wù)領(lǐng)域的發(fā)展戰(zhàn)略,;

在技術(shù)方向的發(fā)展戰(zhàn)略,;

在潛在市場的發(fā)展戰(zhàn)略。

前瞻思維  

市場趨勢的發(fā)展動(dòng)向,;

前沿技術(shù)的發(fā)展動(dòng)向,;

競爭對手的發(fā)展動(dòng)向;

合作伙伴的發(fā)展動(dòng)向,。

抽象思維  

各項(xiàng)業(yè)務(wù)需求:抽象成功能模塊,;

各項(xiàng)功能的實(shí)現(xiàn):抽象成軟件架構(gòu)。 

逆向思維

假如不實(shí)現(xiàn)會(huì)怎樣,?

假如沒搞定會(huì)怎樣,?

假如沒有它會(huì)怎樣,?

假如被延期會(huì)怎樣?


2.3.  架構(gòu)師的分類

隨著行業(yè)和社會(huì)的發(fā)展,,架構(gòu)師的定義和分類越來越廣泛和細(xì)分,,廣泛和細(xì)分其實(shí)并不矛盾,如果“廣泛”是x軸,,“細(xì)分”是y軸,,則二維坐標(biāo)系x和y軸中間的任一點(diǎn)就是一種架構(gòu)師類別。但總體來說,,或目前來說,,集合業(yè)界的大致認(rèn)知,總結(jié)如下:

No. 分類 描述
1 解決方案架構(gòu)師 與客戶探討業(yè)務(wù)需求,,將業(yè)務(wù),、市場,與技術(shù),、產(chǎn)品結(jié)合起來,,為客戶提供解決他們需求的方案。
2 系統(tǒng)架構(gòu)師 也稱應(yīng)用架構(gòu)師,。最終確認(rèn)和評估系統(tǒng)需求,,并將業(yè)務(wù)轉(zhuǎn)換為技術(shù),為研發(fā)人員制訂核心框架與技術(shù)規(guī)范 為研發(fā)工作澄清技術(shù)細(xì)節(jié)并掃清技術(shù)障礙 ,。
3 平臺(tái)架構(gòu)師 這里的平臺(tái)其實(shí)包括兩個(gè)平臺(tái),,一個(gè)是系統(tǒng)平臺(tái),也就是負(fù)責(zé)搭建多個(gè)系統(tǒng)整合的系統(tǒng)應(yīng)用平臺(tái),;另外一個(gè)其實(shí)是基礎(chǔ)平臺(tái),,是專門負(fù)責(zé)搭建基礎(chǔ)技術(shù)平臺(tái);兩者其 實(shí)區(qū)別蠻大,,也經(jīng)常容易被從業(yè)人員混亂,。舉個(gè)簡單例子,金蝶有平臺(tái)架構(gòu)師一職,,但是金蝶BOSS應(yīng)用和金蝶中間件兩者招聘的對象和技術(shù)要求是截然不同的,。
4 業(yè)務(wù)架構(gòu)師 業(yè)務(wù)架構(gòu)其實(shí)已經(jīng)開始脫離技術(shù)層面了,但是它要求架構(gòu)師有跨越多系統(tǒng)的大局觀,,去整合和組織不同系統(tǒng)的技術(shù)平臺(tái)與交互模式,。其實(shí)這個(gè)職位的未來也就是CIO了。
5 網(wǎng)絡(luò)架構(gòu)師 過去,,我們可能聽的最多的是網(wǎng)絡(luò)工程師,。不錯(cuò),一個(gè)優(yōu)秀的網(wǎng)絡(luò)架構(gòu)師必須有足夠的網(wǎng)絡(luò)技術(shù)基底,并且它的關(guān)注點(diǎn)也是系統(tǒng)的基礎(chǔ)架構(gòu),。比如說如果搭建并優(yōu)化集群環(huán)境,,如果構(gòu)建基于云計(jì)算的系統(tǒng)應(yīng)用與部署等等。它對于像淘寶,、騰訊這樣的互聯(lián)網(wǎng)公司是極其重要的,。
6 移動(dòng)架構(gòu)師 移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展橫向和縱向都細(xì)分出了很多新的職責(zé)和崗位,移動(dòng)架構(gòu)師的職責(zé)和作用日益重要,,既要整體和全局考慮整個(gè)前后端的軟件系統(tǒng)架構(gòu),,又要重點(diǎn)深入移動(dòng)客戶端的架構(gòu)設(shè)計(jì)的方方面面,既要有跨平臺(tái)思維,,又要拿捏好原生和混合開發(fā)的尺度,另外移動(dòng)應(yīng)用的特點(diǎn),,導(dǎo)致移動(dòng)架構(gòu)師必須要比傳統(tǒng)系統(tǒng)架構(gòu)師更加注重非功能性的質(zhì)量屬性,。
7 前端架構(gòu)師 這也是移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展而細(xì)分出來的新的職責(zé)和崗位,這里的前端特指網(wǎng)站開發(fā)中的前端,,主要考慮前端呈現(xiàn)層的設(shè)計(jì)(HTML/CSS/JS/AJAX/RIA/…),,跨瀏覽器設(shè)計(jì)等等。
8 ... ...


3.  軟件需求

軟件架構(gòu)設(shè)計(jì)中常說需求驅(qū)動(dòng)架構(gòu)設(shè)計(jì),,可見需求在整個(gè)架構(gòu)設(shè)計(jì)中起到了關(guān)鍵指引和方向的作用,,如果以目標(biāo)導(dǎo)向?yàn)樵瓌t,則需求的滿足和實(shí)現(xiàn)就是架構(gòu)設(shè)計(jì)的終極目標(biāo),。
OK,,在進(jìn)行架構(gòu)設(shè)計(jì)之前,我們先看下軟件需求,。

3.1.  軟件需求怎么來的(軟件需求的過程)

階段

需求階段

說明

什么人做什么事

可能產(chǎn)生的文檔

客戶方

實(shí)施方

客戶方

實(shí)施方

1

業(yè)務(wù)需求

來自客戶的原始需求,,背景描述,業(yè)務(wù)訴求和期望目標(biāo),。

項(xiàng)目負(fù)責(zé)人或接口人描述需求或提供客戶方需求文檔,。

銷售或售前接觸客戶,聽取和記錄需求,。

工作說明書(SOW),,或邀標(biāo)書

售前的方案建議書

2

用戶需求

通常是在問題定義的基礎(chǔ)上進(jìn)行用戶訪談、調(diào)查,,對用戶使用的場景進(jìn)行整理,,從而建立從用戶角度的需求。

項(xiàng)目負(fù)責(zé)人或接口人接受訪談和調(diào)研,。

需求分析師或項(xiàng)目經(jīng)理等進(jìn)行需求調(diào)研,。

 

調(diào)研計(jì)劃、用戶需求調(diào)研提問庫,、調(diào)研日志,、用戶需求說明書

3

軟件需求

從系統(tǒng)實(shí)現(xiàn)的角度描述的需求,。開發(fā)人員(設(shè)計(jì)和分析人員)在業(yè)務(wù)需求、用戶需求的基礎(chǔ)上形成的,。

 

需求分析師或項(xiàng)目經(jīng)理,、架構(gòu)師等討論和細(xì)化需求,編寫需求文檔

 

SRSSoftware Requirement Specification)軟件需求規(guī)格說明書


3.2.  軟件需求的分類:

另外,,也有McCall軟件質(zhì)量模型:

注:在架構(gòu)設(shè)計(jì)中,,對非功能性需求的重視程度,也會(huì)影響架構(gòu)設(shè)計(jì)的好與劣,;但也要平衡過渡設(shè)計(jì)和適可而止的關(guān)系,。


4.  軟件架構(gòu)的過程

業(yè)界軟件架構(gòu)設(shè)計(jì)的方法論很多,各有各自的應(yīng)用場景和特點(diǎn),,下文結(jié)合ADMEMS(Architecture Design Method has been Extended to Method System)架構(gòu)設(shè)計(jì)方法論說明軟件架構(gòu)的過程:

架構(gòu)階段

目標(biāo)

方式方法

現(xiàn)實(shí)工作場景

預(yù)架構(gòu)階段

全面理解需求,;需求結(jié)構(gòu)化,摒棄需求列表,,建立二維需求觀(ADMEMS矩陣),。

使用ADMEMS矩陣方法,捋清需求間關(guān)系和發(fā)現(xiàn)衍生需求,。

1,、與人:與項(xiàng)目經(jīng)理、需求分析師等內(nèi)部需求人員了解需求,;與客戶了解需求(不建議架構(gòu)師做需求分析師角色),。
2
、與物:了解《需求規(guī)格說明書》等需求文檔,。"
3
,、對需求有什么問題,反饋給售前或銷售,,可能會(huì)參與拜訪客戶或電話會(huì)議,。
4
、銷售或售前有時(shí)會(huì)要求提供一個(gè)大致的工作量,,以便他們初步評估項(xiàng)目可行性,。

概念架構(gòu)

高層組件及其關(guān)系

1、初步設(shè)計(jì),,基于關(guān)鍵功能,,借助魯棒圖進(jìn)行以發(fā)現(xiàn)職責(zé)為目的的初步設(shè)計(jì)(不是必須)。
2
,、高層分割,,將復(fù)雜系統(tǒng)切分為多個(gè)二級系統(tǒng)或多個(gè)子系統(tǒng)。
3
、考慮非功能需求,,采用ADMEMS推薦的目標(biāo)-場景-決策表,。

1、參與內(nèi)部討論:項(xiàng)目可行性分析,、討論,,從需求、技術(shù),、人力,、風(fēng)險(xiǎn)等角度提供建議。
2
,、項(xiàng)目投標(biāo)準(zhǔn)備:參與投標(biāo)團(tuán)隊(duì)的技術(shù)方案編寫,,編寫系統(tǒng)架構(gòu)章節(jié),解決招標(biāo)書上技術(shù)問題的問答,。
3
,、參與項(xiàng)目講標(biāo):作為講標(biāo)團(tuán)隊(duì)成員參與項(xiàng)目講標(biāo),負(fù)責(zé)技術(shù)問答環(huán)節(jié)的應(yīng)對,。

細(xì)化架構(gòu)

 

5視圖法

在項(xiàng)目概要設(shè)計(jì)階段,進(jìn)行架構(gòu)設(shè)計(jì),,制定規(guī)范和約定,,為詳細(xì)設(shè)計(jì)提供指導(dǎo)。

實(shí)現(xiàn)

詳細(xì)設(shè)計(jì)
編碼實(shí)現(xiàn)

架構(gòu)設(shè)計(jì)形成詳細(xì)設(shè)計(jì)文檔

在項(xiàng)目實(shí)現(xiàn)階段,,對開發(fā)人員提供規(guī)范指引和技術(shù)支持,。


注:架構(gòu)設(shè)計(jì)的過程和內(nèi)容的不是固定不變的,現(xiàn)實(shí)中,,比如售前提供解決方案中,,很多時(shí)候需要架構(gòu)師提供細(xì)化架構(gòu)中才會(huì)深思的邏輯架構(gòu)、物理架構(gòu)等,,這時(shí)候,,架構(gòu)師就需要有螺旋思維和跳躍思維的方式,就像武功中,,招式是死的,,人是活的,要學(xué)會(huì)靈活運(yùn)用,。


5.  軟件架構(gòu)設(shè)計(jì)的方式方法


5.1.  多視圖法


多視圖方法是業(yè)界廣泛認(rèn)同的一種架構(gòu)設(shè)計(jì)思路,,包括:
● SEI的3視圖法:
模塊視圖、組件-連接器視圖,、分配視圖,。
● 西門子的4視圖法:
概念視圖,、模塊視圖、代碼視圖,、執(zhí)行視圖,。
● RUP的4+1視圖法:
用例視圖、邏輯視圖,、開發(fā)視圖,、進(jìn)程視圖、物理視圖,。
● 聯(lián)邦企業(yè)架構(gòu)框架:
技術(shù)架構(gòu)視圖,、信息架構(gòu)視圖、應(yīng)用架構(gòu)視圖,、業(yè)務(wù)架構(gòu)視圖,。
● ……

5.2.  5視圖法


5視圖法分析的意義:

● 全面分析軟件系統(tǒng)方方面面的問題
● 盡早地發(fā)現(xiàn)和排除項(xiàng)目風(fēng)險(xiǎn)與不確定因素
● 從不同角度去展現(xiàn)要設(shè)計(jì)的軟件系統(tǒng)
● 為項(xiàng)目進(jìn)行中不同的干系人提供指導(dǎo):
    -- 邏輯架構(gòu)描述系統(tǒng)功能,并指導(dǎo)系統(tǒng)測試
    -- 開發(fā)架構(gòu)規(guī)范軟件的層次及代碼風(fēng)格
    -- 數(shù)據(jù)架構(gòu)指導(dǎo)數(shù)據(jù)庫的設(shè)計(jì)
    -- 運(yùn)行架構(gòu)定義了一些關(guān)鍵過程的設(shè)計(jì)
    -- 物理架構(gòu)明確軟件如何部署與實(shí)施

5.3.  5視圖法設(shè)計(jì)步驟

兩種觀念:

觀念

設(shè)計(jì)步驟

觀念一

順序進(jìn)行:

1,、邏輯架構(gòu),。

2、開發(fā)架構(gòu)

3,、數(shù)據(jù)架構(gòu)

4,、運(yùn)行架構(gòu)

5、物理架構(gòu)

觀念二

5個(gè)視圖是穿插進(jìn)行設(shè)計(jì)的,,對復(fù)雜系統(tǒng)而言,,根本不可能將邏輯視圖設(shè)計(jì)完了后再考慮其它視圖。

筆者觀念

觀念一和觀念二的情況在現(xiàn)實(shí)狀況中都可能存在,,要根據(jù)具體情況具體分析,,但總體而言,5視圖穿插進(jìn)行思考更有利于思考的全局性和完整性,。


5.4.  如何進(jìn)行5視圖法的設(shè)計(jì)

以下5視圖表格中的工具和方法每個(gè)架構(gòu)師或略有差異,,以下僅為參考。

5.4.1.  邏輯架構(gòu)

邏輯架構(gòu)的重點(diǎn)是考慮軟件功能性需求,。

No.

考慮的方面

產(chǎn)出物

工具

說明

1

系統(tǒng)功能劃分為幾個(gè)子系統(tǒng)與功能模塊,?

系統(tǒng)功能樹

樹型結(jié)構(gòu)圖

 

2

向什么用戶提供什么樣的功能?

用例模型

UML用例圖

體現(xiàn)用戶和行為

3

每個(gè)功能都是怎樣的操作流程與分支,?

用例描述

用例描述表

 

含輸入輸出,、事件流分析;

不要有界面描述

UML活動(dòng)圖

進(jìn)行業(yè)務(wù)流程分析,,包括泳道圖

4

如何通過界面與用戶交互,?怎樣交互?

魯棒分析

魯棒圖

通過對“用例描述表”進(jìn)行原文分析法揀出名詞和動(dòng)詞

5

應(yīng)當(dāng)設(shè)計(jì)哪些類與界面,?怎樣設(shè)計(jì),?

領(lǐng)域模型

UML類圖

 

6

與哪些外部系統(tǒng)接口,?怎樣接口?

接口描述

UML類圖

 


5.4.2.  開發(fā)架構(gòu)

開發(fā)架構(gòu)重點(diǎn)關(guān)注的是開發(fā)編碼實(shí)現(xiàn)方面的問題,。

No.

考慮的方面

產(chǎn)出物

工具

說明

1

分層結(jié)構(gòu)設(shè)計(jì)

分層架構(gòu)圖(開發(fā)架構(gòu)圖)

各種繪圖工具

好的分層結(jié)構(gòu)支持自動(dòng)化測試

2

開發(fā)技術(shù)選項(xiàng)

開發(fā)語言

開發(fā)框架

開發(fā)工具

 

考慮商用產(chǎn)品,、開源框架、自研框架

3

模塊劃分

源碼工程,;Project目錄結(jié)構(gòu),;

分包(分庫)

 

 

4

開發(fā)規(guī)范

開發(fā)/編碼規(guī)范文檔;

 

 

5

軟件質(zhì)量屬性

分析和決策結(jié)果

 

考慮運(yùn)行期和開發(fā)期軟件質(zhì)量屬性,,并權(quán)衡利弊進(jìn)行決策,。

5.4.3.  數(shù)據(jù)架構(gòu)

數(shù)據(jù)架構(gòu)不僅僅要考慮開發(fā)中涉及到的數(shù)據(jù)庫,實(shí)體模型,,也要考慮物理架構(gòu)中數(shù)據(jù)存儲(chǔ)的設(shè)計(jì),。

No.

考慮的方面

產(chǎn)出物

工具

說明

1

數(shù)據(jù)是集中還是分布存儲(chǔ)的?如何考慮分布式存儲(chǔ),?

數(shù)據(jù)架構(gòu)圖

 

 

2

領(lǐng)域模型到數(shù)據(jù)庫表的轉(zhuǎn)換,?表結(jié)構(gòu)關(guān)系的設(shè)計(jì)?

邏輯模型

物理模型

ER

Power Designer

Visio

 

3

實(shí)體如何設(shè)計(jì),?充血模型和貧血模型,?

UML類圖

 

 

4

使用什么數(shù)據(jù)庫?關(guān)系型還是非關(guān)系型,?

選型結(jié)果

 

 


關(guān)系型數(shù)據(jù)庫

非關(guān)系型數(shù)據(jù)庫(NoSQL

Oracle(首次發(fā)行:1980年)

MySQL(首次發(fā)行:1995

MS SQL Server(首次發(fā)行:1989

PostgreSQL(首次發(fā)行:1989

IBM DB2(首次發(fā)行:1983

Microsoft Access(首次發(fā)行:1992

Sybase ASE(首次發(fā)行:1987

SQLite(首次發(fā)行:2000

…… 

MongoDB(首次發(fā)行:2009

Cassandra(首次發(fā)行:2008

Apache CouchDB

Hbase

Redis

db4o

BaseX

…… 


5.4.4.  運(yùn)行架構(gòu)

運(yùn)行架構(gòu)關(guān)注的不再是全局而是局部,,著重關(guān)注那些關(guān)鍵點(diǎn)與難點(diǎn),常常需要技術(shù)攻關(guān)與預(yù)研,。主要考慮控制流、通訊機(jī)制,、資源爭用,、鎖機(jī)制、同步異步,、并發(fā),、串行,同時(shí)也要考慮質(zhì)量屬性,。

No.

考慮的方面

產(chǎn)出物

工具

說明

1

運(yùn)行:同步vs.異步,;并發(fā)vs.串行

考慮開發(fā)架構(gòu)中代碼的實(shí)現(xiàn)。

 

 

2

交互:對象間交互,;狀態(tài)轉(zhuǎn)換

考慮開發(fā)架構(gòu)的合理性,,到類、到接口,、到代碼,。

 

 

3

質(zhì)量:安全,;可靠;可伸縮

考慮開發(fā)架構(gòu)的合理性

 

 

4

性能:響應(yīng)時(shí)間,;吞吐量

估算:

在線人數(shù),、并發(fā)人數(shù);

每秒事務(wù)量,;

響應(yīng)時(shí)間,。

 

 


5.4.5.  物理架構(gòu)

物理架構(gòu)主要考慮硬件選擇和拓?fù)浣Y(jié)構(gòu),軟件到硬件的映射,,軟硬件的相互影響,。

 

考慮的方面

產(chǎn)出物

工具

說明

1

網(wǎng)絡(luò)方面:網(wǎng)絡(luò)拓?fù)洌痪W(wǎng)絡(luò)設(shè)備,;安全機(jī)制

拓?fù)鋱D

安全規(guī)范

 

 

2

性能方面:可靠性,、可伸縮性

需要什么樣設(shè)備性能

 

 

3

部署方面:集中式還是分布式;組件部署

部署圖

 

 

 


6.  一個(gè)思考,,誰驅(qū)動(dòng)了架構(gòu)設(shè)計(jì),?

需求驅(qū)動(dòng)了架構(gòu)設(shè)計(jì)?

質(zhì)量屬性了驅(qū)動(dòng)了架構(gòu)設(shè)計(jì)(ADD),?

領(lǐng)域驅(qū)動(dòng)了架構(gòu)設(shè)計(jì)(DDD),?

風(fēng)險(xiǎn)驅(qū)動(dòng)了架構(gòu)設(shè)計(jì)?

質(zhì)疑驅(qū)動(dòng)了架構(gòu)設(shè)計(jì),?

……

到底是誰驅(qū)動(dòng)了架構(gòu)設(shè)計(jì),?我們以船舶設(shè)計(jì)建造為例,來看這些問題:

目標(biāo)和結(jié)果 à

問題 à

回答 à

小結(jié)

設(shè)計(jì)和制造一艘遠(yuǎn)洋貨輪,,能經(jīng)歷數(shù)月海上顛簸和長途跋涉,,并保證貨物的安全和完整,最后能順利抵達(dá)目標(biāo)港口,。

我們?yōu)槭裁匆O(shè)計(jì)和制造這樣的大船,?

市場有這個(gè)需求;

獲利很豐厚,;

解決就業(yè),;

……

不管是外部需求還是內(nèi)部的需求,都是需求,。不正是需求驅(qū)動(dòng)嗎,?

如何保證貨船能長途航行并經(jīng)受波濤和風(fēng)雨?

船要造的結(jié)實(shí),;

魯棒性

這些不正是質(zhì)量屬性驅(qū)動(dòng)設(shè)計(jì)嗎,?

引擎設(shè)計(jì)的強(qiáng)勁;

性能

船的燃料充足,;

持續(xù)可用性

裝備衛(wèi)星電話,、GPS,、雷達(dá)等設(shè)備

互操作性

貨物和人員要安全

安全性

船舶設(shè)計(jì)師怎么設(shè)計(jì)這樣的船舶?

現(xiàn)在都會(huì)通過計(jì)算機(jī)進(jìn)行船舶的CAD和3D模型設(shè)計(jì),。

是不是佷似領(lǐng)域模型驅(qū)動(dòng)了設(shè)計(jì),?

造船一定有很多風(fēng)險(xiǎn)吧?

那是,,比如訂貨方客戶有時(shí)提出改裝船舶的意見(需求變化的風(fēng)險(xiǎn)),;有時(shí)某些工藝成品率不穩(wěn)定(質(zhì)量風(fēng)險(xiǎn));等等,。

所有可能的風(fēng)險(xiǎn)點(diǎn)在設(shè)計(jì)時(shí)都要考慮到,,做好預(yù)案,才能保證架構(gòu)設(shè)計(jì)的可行性和靈活性,,風(fēng)險(xiǎn)驅(qū)動(dòng)了架構(gòu)設(shè)計(jì),。

上面怎么提了那么多問題,其實(shí)還有很多問題,,比如……

嗯,,你現(xiàn)在有不少疑問了。

不斷的質(zhì)疑架構(gòu)設(shè)計(jì)中可能存在各種問題,,有質(zhì)疑才有思考,,才有解決方案,從而推動(dòng)架構(gòu)設(shè)計(jì)的不斷完善,。


總結(jié):

以上幾個(gè)方面都能驅(qū)動(dòng)架構(gòu)設(shè)計(jì),,并不是零和的規(guī)則,而是一個(gè)立方體從不同方向看的問題,。以上方面有些是指導(dǎo)思想,,有些是行動(dòng)方式,有的兼而有之,,闡述方式看似不同,,終極目標(biāo)還是造出大船(實(shí)現(xiàn)需求),造出好船(質(zhì)量屬性),,怎么造(領(lǐng)域模型),造的順利(風(fēng)險(xiǎn)控制),,挑不出毛?。軜?gòu)師自己先質(zhì)疑問題并解決了)。


7.  軟件架構(gòu)設(shè)計(jì)的誤區(qū)

● 高開高走落不到實(shí)處

● 理想與現(xiàn)實(shí)需要折中

● 遺漏關(guān)鍵性約束與非功能需求

● 為虛無的未來埋單而過度設(shè)計(jì)

● 過早做出關(guān)鍵性決策

● 客戶說啥就是啥成為醬油哥

● 埋頭干活兒缺乏前瞻性

● 架構(gòu)設(shè)計(jì)還要考慮系統(tǒng)可測性

● 架構(gòu)設(shè)計(jì)不要企圖一步到位


8.  部分參考資料

溫昱的《一線架構(gòu)師實(shí)踐指南》



    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多