精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

架構(gòu)師

admin
2010年8月18日 15:0 本文熱度 3491

經(jīng)常被用來區(qū)分軟件架構(gòu)和軟件設(shè)計(jì)開發(fā)的關(guān)鍵幾點(diǎn)包括 伸縮性和抽象程度的增加以及作出正確設(shè)計(jì)決策意義的增強(qiáng)。軟件架構(gòu)是通過一個(gè)全局的觀點(diǎn),宏觀的視角來理解軟件系統(tǒng)作為一個(gè)整體如何工作。開發(fā)和架構(gòu)的界限難以捉摸。有些人告訴你它根本不存在,架構(gòu)只是開發(fā)者們所做的設(shè)計(jì)過程的簡(jiǎn)單擴(kuò)展。 另外一些人認(rèn)為這是一個(gè)鴻溝,它只能由那些做到高度抽象,而且不會(huì)陷入實(shí)現(xiàn)細(xì)節(jié)的開發(fā)者才能跨越。通常,在這兩個(gè)極端的觀點(diǎn)中間某處有個(gè)可操作的平衡點(diǎn);不論如何,怎么從開發(fā)轉(zhuǎn)換為架構(gòu)師都是個(gè)有趣的問題。


即使這能夠幫助區(qū)分軟件開發(fā)和架構(gòu),它并不能幫助理解某人如何從開發(fā)提升到架構(gòu)。 并且,它也不能幫助識(shí)別誰能夠成為一個(gè)好的軟件架構(gòu)師,如果你想雇人的話你如何去尋找他們以及你是否是一個(gè)軟件架構(gòu)師。


經(jīng)驗(yàn)可以判定但你需要更深入地了解


要成為一個(gè)軟件架構(gòu)師并不是一夜之間或者一個(gè)職位的提升就能簡(jiǎn)單達(dá)到的。 這是個(gè)職責(zé),而不是頭銜。這是個(gè)進(jìn)化的過程,你將會(huì)逐步得到擔(dān)當(dāng)這個(gè)職責(zé)所需的經(jīng)驗(yàn)和信心。


當(dāng)你尋找架構(gòu)師時(shí),需要考慮各方面的素質(zhì),他們過去的經(jīng)驗(yàn)往往是他們有能力擔(dān)當(dāng)這個(gè)職責(zé)很好的判斷。由于軟件架構(gòu)師的職責(zé)是多種多樣的,所以你需要再深入了解他們?cè)诓煌I(lǐng)域的參與度,影響力,領(lǐng)導(dǎo)力和責(zé)任感。一般來說,在大多數(shù)項(xiàng)目中軟件架構(gòu)可分為兩個(gè)階段,架構(gòu)的定義,然后是它的交付。


軟件架構(gòu)的定義


架構(gòu)的定義過程看起來非常簡(jiǎn)單明了。 你需要做的是理解需求并設(shè)計(jì)一個(gè)系統(tǒng)來滿足需求。 但實(shí)際上并沒有那么簡(jiǎn)單,根據(jù)你不同的做法,軟件架構(gòu)的職責(zé)之間差距很大,以及如何認(rèn)真看待自己的職責(zé)而定。如下圖所示,這個(gè)職責(zé)的架構(gòu)定義部分,可以進(jìn)一步細(xì)分成不同的元素。


The role of a hands-on software architect from a definition perspective



  1. 管理非功能性需求:軟件項(xiàng)目經(jīng)常陷入問用戶要求是什么,什么是他們想要的功能,但很少問他們需要什么非功能性需求(或系統(tǒng)質(zhì)量)有時(shí)候,干系人會(huì)告訴我們,“這個(gè)系統(tǒng)必須很快”,但是這太主觀了。非功能性需求如果要滿足的話需要明確,可度量,可獲得以及可測(cè)試。大多數(shù)非功能性需求本質(zhì)上是技術(shù)層面的而且經(jīng)常對(duì)軟件架構(gòu)有很大的影響。理解非功能性要求是架構(gòu)師職責(zé)非常重要的一個(gè)部分,但假設(shè)這些需求是什么并不一定是對(duì)他們的挑戰(zhàn)。你見過多少系統(tǒng)真正需要24x7的運(yùn)行呢?


    Management of non-functional requirements

  2. 架構(gòu)定義:捕捉到了非功能性需求后,下一步是開始思考你打算如何去解決干系人提出的這些問題并定義它的架構(gòu)。 公平的說每個(gè)軟件系統(tǒng)都有一個(gè)架構(gòu),但并不是每個(gè)軟件系統(tǒng)都有一個(gè)定義好的架構(gòu)。這正是問題的關(guān)鍵。架構(gòu)定義過程讓你想清楚你打算怎么在兼顧需求和限制的情況下把問題解決好。架構(gòu)定義是將結(jié)構(gòu),方針,原則和領(lǐng)導(dǎo)力引入軟件項(xiàng)目的技術(shù)層面。定義架構(gòu)是作為軟件架構(gòu)師的工作,但是從頭開始設(shè)計(jì)一個(gè)軟件系統(tǒng)和對(duì)已存在的系統(tǒng)擴(kuò)展是相當(dāng)不同的。


    Architecture definition

  3. 技術(shù)選型:技術(shù)選型通常是一個(gè)有趣的練習(xí),但它也有公平的挑戰(zhàn),因?yàn)槟阈枰C合考慮成本、許可、供應(yīng)商關(guān)系、技術(shù)策略、兼容性、協(xié)作性、支持、部署、升級(jí)的政策以及最終用戶環(huán)境等各方面。綜合這些因素,通常會(huì)導(dǎo)致簡(jiǎn)單選擇類似富客戶端技術(shù)而進(jìn)入了完全的噩夢(mèng)。接下來的問題就是這些技術(shù)是否能真正有用。技術(shù)選型是徹頭徹尾的風(fēng)險(xiǎn)管理;復(fù)雜性或不確定性太高的時(shí)候要減輕風(fēng)險(xiǎn),當(dāng)有機(jī)會(huì)或利益的時(shí)候要引入風(fēng)險(xiǎn)。技術(shù)決策需要考慮多種因素,而且所有的技術(shù)決策需要被檢查和評(píng)估。這包含軟件項(xiàng)目的主要組成部分乃至開發(fā)中引入的類庫(kù)和框架。如果定義一個(gè)架構(gòu),你還需要有信心認(rèn)為選擇這項(xiàng)技術(shù)是正確的。同樣在技術(shù)評(píng)估中也還是存在開發(fā)新系統(tǒng)和向現(xiàn)有的系統(tǒng)增加新技術(shù)的不同點(diǎn)。


    Technology selection

  4. 架構(gòu)評(píng)估:如果你設(shè)計(jì)軟件,你需要問問自己你的架構(gòu)是否有用。 對(duì)我來說,一個(gè)架構(gòu)是成功的,如果它滿足非功能性需求,而且為其他部分的代碼提供必要的基礎(chǔ),并為解決和存在的業(yè)務(wù)問題提供足夠的平臺(tái)。軟件的一個(gè)最大的問題就是它復(fù)雜而抽象,導(dǎo)致很難從UML圖或代碼本身去設(shè)想出運(yùn)行時(shí)的特性。在軟件開發(fā)周期中我們進(jìn)行了很多不同類型的測(cè)試,這樣我們能夠有信心我們發(fā)布的系統(tǒng)在推出時(shí)能夠正常運(yùn)行。我們?yōu)槭裁床粚?duì)架構(gòu)也這樣做呢? 如果能夠測(cè)試你的架構(gòu),那你就可以證明它是有效的。如果你能盡早做到這一點(diǎn),你就能減少項(xiàng)目失敗的風(fēng)險(xiǎn),而不是簡(jiǎn)單地希望一切都好。


    Architecture evaluation

  5. 架構(gòu)協(xié)作:任何一個(gè)軟件都不是與世隔絕的,需要很多人理解它。 包括從需要理解和切入架構(gòu)的直接開發(fā)團(tuán)隊(duì)到其他對(duì)安全性、數(shù)據(jù)庫(kù)、運(yùn)營(yíng)、維護(hù)、支持等有興趣的干系人。要想讓一個(gè)軟件項(xiàng)目成功,你需要和所有的系統(tǒng)干系人緊密協(xié)作來保證架構(gòu)和所在的環(huán)境很好的集成。不幸的是,現(xiàn)狀是與開發(fā)團(tuán)隊(duì)的架構(gòu)協(xié)作很少發(fā)生,更不要說外部干系人了。


    Architecture collaboration

軟件架構(gòu)的發(fā)布


對(duì)于架構(gòu)的發(fā)布也是同樣,對(duì)于成功的軟件項(xiàng)目參與程度的不同,也決定了軟件架構(gòu)職責(zé)的不同。


The role of a hands-on software architect from a delivery perspective



  1. 擁有全局的視角:為了把一個(gè)架構(gòu)成功地實(shí)現(xiàn),我們需要具有全局的視角并把貫穿軟件開發(fā)生命周期的愿景加以宣傳與推廣,必要的話在整個(gè)項(xiàng)目中展開和完善,并對(duì)成功發(fā)布負(fù)責(zé)。如果如果你定義了一個(gè)架構(gòu),參與并保持不斷發(fā)展的架構(gòu)才是有意義的,而不是選擇把它傳遞給一個(gè)“執(zhí)行小組”。


    Ownership of the bigger picture

  2. 領(lǐng)導(dǎo)力:擁有全局的視角是技術(shù)領(lǐng)導(dǎo)的一個(gè)方面,但是還有其他事情在軟件項(xiàng)目發(fā)布階段需要做。 這包括承擔(dān)責(zé)任、提供技術(shù)指導(dǎo)、作出技術(shù)決策以及具有權(quán)力作出這些決定。作為架構(gòu)師,你需要進(jìn)行技術(shù)領(lǐng)導(dǎo)來確保每件事都被考慮到,而且團(tuán)隊(duì)在朝著正確的方向持續(xù)前進(jìn)。軟件架構(gòu)師職位是需要內(nèi)在領(lǐng)導(dǎo)力的,雖然這聽起來很明顯,但很多項(xiàng)目團(tuán)隊(duì)并沒有獲得他們所需要的技術(shù)領(lǐng)導(dǎo),因?yàn)榧軜?gòu)師認(rèn)為一個(gè)成功的發(fā)布并不一定是他們所關(guān)注的問題。


    Leadership

  3. 教練和指導(dǎo):在大多數(shù)軟件開發(fā)項(xiàng)目中,教練和指導(dǎo)經(jīng)常不被重視,團(tuán)隊(duì)成員得不到他們需要的支持。 雖然技術(shù)領(lǐng)導(dǎo)是引導(dǎo)整個(gè)項(xiàng)目,但個(gè)人也經(jīng)常需要幫助。除此以外,教練和指導(dǎo)提供了一個(gè)強(qiáng)化技能的方式,并幫助提升職業(yè)生涯。這應(yīng)該是軟件架構(gòu)師份內(nèi)的事,而且指導(dǎo)團(tuán)隊(duì)架構(gòu)和設(shè)計(jì)與幫他們解決代碼問題是截然不同的。


    Architecture delivery

  4. 質(zhì)量保證:即使是世界上最好的架構(gòu)和領(lǐng)導(dǎo),很糟糕的交付也足以讓一個(gè)具備其他成功條件的項(xiàng)目失敗。質(zhì)量保證在架構(gòu)師職責(zé)中占很大一部分,但這并不只是簡(jiǎn)單做代碼檢查。 比如,你需要一個(gè)基線來確保,這意味著引入新的標(biāo)準(zhǔn)和工作實(shí)踐。從一個(gè)軟件開發(fā)的角度來說,這可能包括代碼標(biāo)準(zhǔn)、設(shè)計(jì)原則和源碼分析工具甚至于使用持續(xù)集成,自動(dòng)化單元測(cè)試以及代碼覆蓋工具。可以說大多數(shù)項(xiàng)目質(zhì)量保證做的并不夠,所以你需要搞清楚什么是重要的并給予它足夠的保證。對(duì)于我來說,一個(gè)項(xiàng)目的重要部分包括架構(gòu)上的重點(diǎn),關(guān)鍵、復(fù)雜或高度可見的業(yè)務(wù)。你要關(guān)注實(shí)效并認(rèn)識(shí)到你并不能保證一切,要知道做總比不做好。


    Quality assurance

  5. 設(shè)計(jì)、開發(fā)和測(cè)試:軟件架構(gòu)師的職責(zé)范圍的最后一件事是設(shè)計(jì)、開發(fā)和測(cè)試。作為一個(gè)實(shí)際動(dòng)手的架構(gòu)師并不是需要你每天都要寫代碼,但是它的確意味著你一直在參與項(xiàng)目,而且積極幫助打造和交付它。說了這么多,為什么每天寫代碼不應(yīng)該成為一個(gè)架構(gòu)師職責(zé)的一部分呢?大多數(shù)架構(gòu)師都有寫代碼的經(jīng)驗(yàn),因此讓這些技能保鮮是有意義的。而且,架構(gòu)師能體會(huì)到團(tuán)隊(duì)里其他人的痛苦和感受,這樣能讓他們更好地理解他們的架構(gòu)從開發(fā)角度看是什么樣的。很多公司有政策阻止軟件架構(gòu)師從事寫代碼,因?yàn)榧軜?gòu)師“去做那些廉價(jià)的工作太貴了” ,這顯然是個(gè)錯(cuò)誤的態(tài)度...如果架構(gòu)師已經(jīng)花了那么多時(shí)間精力為項(xiàng)目做架構(gòu),何必從政策上不允許他們多走一步來幫助項(xiàng)目達(dá)到最終的成功呢?當(dāng)然,有些情況下卷入代碼級(jí)別并不現(xiàn)實(shí)。比如,一個(gè)大的項(xiàng)目通常意味有一個(gè)更大的“全局觀” 來考慮它,而且可能有時(shí)候你就是沒有時(shí)間。但一般來說,一個(gè)寫代碼的架構(gòu)師比只在旁邊觀望要更高效和快樂。


    Design, development and testing

你是一個(gè)軟件架構(gòu)師嗎?


不管你認(rèn)為軟件開發(fā)和架構(gòu)之間的界限只是一個(gè)幻覺還是個(gè)巨大的鴻溝,以上強(qiáng)調(diào)了人們對(duì)整個(gè)軟件架構(gòu)中的經(jīng)驗(yàn)水平往往有很大的差別,而這取決于他們?cè)趺礃庸ぷ饕约八麄內(nèi)绾握J(rèn)真地看待他們的職責(zé)。大多數(shù)開發(fā)人員不是在某一個(gè)星期一的早晨醒來就宣布自己成為一個(gè)軟件架構(gòu)師的。我當(dāng)然也不是,我成為軟件架構(gòu)師的路線是一個(gè)漸進(jìn)的過程。話雖如此,但很可能同樣那些開發(fā)者已經(jīng)做了一部分架構(gòu)的工作,不論他們的職位名稱是什么。


為軟件系統(tǒng)的架構(gòu)作出貢獻(xiàn)和自己負(fù)責(zé)定義它有很大的區(qū)別,擁有持續(xù)的、跨不同領(lǐng)域的技能、知識(shí)和經(jīng)驗(yàn)構(gòu)成了軟件架構(gòu)的職責(zé)。跨越軟件開發(fā)者和架構(gòu)師的界限取決于你自己,但是首先你要明白你的經(jīng)驗(yàn)水平,才能開始架構(gòu)師之旅的第一站。


該文章在 2010/8/18 15:00:19 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 加勒比久久综合久久鬼色88 | 日韩美女欧美精品 | 91精品国产福利尤物免费 | xxvxx视频在线观看 | 亚洲av无码成电影在线播放 | 在线观看日本一区 | 爆乳无码专区 | 亚洲va中文字幕无码 | 国产在线拍揄自揄拍免费下 | 一区二区三区日韩无码 | 99香蕉国产精品偷在线观看 | 国产成人综合久久久久久 | 日韩精品国产另 | 91麻豆精品无码人妻糸列 | 被伴郎的内捧猛烈进出H | 亚洲国产综合99久久久精品 | 免费A级毛片无码樱桃视频 免费a级毛片樱桃视频 | 亚洲专区不卡中文字幕人成乱码熟 | 久久久无码精品亚州日韩免费看 | 亚洲国产欧美日本精品 | 国产午夜人做人免费视频网站 | 亚洲不卡视频 | 国产剧情无码播放在线看 | 少妇高潮太爽了在线观看免费 | 亚洲在av人极品无码网站 | 国产日韩av在线播放 | 日日碰狠狠躁久久躁综合网 | 亚洲伦理网站 | 亚洲一码二码三码精华液 | 9i精品福利一区二区 | 国产探花在线精品一区二区 | 最新国产精品 | 波多野结衣中文字幕一区二区三区 | 日韩麻豆电影一区二区 | 久久综合精品国产 | 国产免费av片在线观看播放下载 | 精品免费99hd樱桃视频一区二区 | 无码高潮少妇毛多水多水免 | 久久婷婷五月综合97色 | 亚洲国产另类无码日韩 | 亚洲一区二区三不卡高清 |