如何規(guī)劃系統(tǒng)的架構(gòu)

在規(guī)劃一個信息系統(tǒng)時漓糙,常常有很多人一開始就畫原型并且做一些主菜單子菜單的劃分铣缠,這樣的方法是存在很大問題的,對系統(tǒng)邏輯的理解只停留在表面。
沒錯蝗蛙,在設(shè)計系統(tǒng)時最開始確實是要定義好模塊結(jié)構(gòu)的劃分蝇庭,但是劃分的方法不應(yīng)該按照功能模塊而是按照業(yè)務(wù)邏輯進行劃分。信息系統(tǒng)只有兩個作用捡硅,一個是解決問題哮内,另一個是業(yè)務(wù)提升。首先在規(guī)劃系統(tǒng)時要思考這個系統(tǒng)的作用到底是解決了什么問題或者對企業(yè)帶來了怎么樣的提升壮韭。在這個大的環(huán)境下確定了之后北发,需求分析的階段,應(yīng)該按照業(yè)務(wù)的職責區(qū)塊來劃分子系統(tǒng)泰涂。


加群957734884免費領(lǐng)取java架構(gòu)資料

這張圖應(yīng)該是很普遍而且典型的后臺管理系統(tǒng)鲫竞,但是這樣的系統(tǒng)無論是在開發(fā)還是使用我認為都是達不到出色的。圖中的板塊劃分采用"業(yè)務(wù)名詞+管理"來進行命名逼蒙,實際上也就是以"物"為線索貫穿整個系統(tǒng)。但是在實際操作中物與物之間的傳遞都是交錯在一起的寄疏,例如圖中的項目管理板塊中包含了"合同管理"是牢,在合同管理板塊中又包含了"合同管理"那么究竟是哪個進行管理呢,項目管理中是否又包含權(quán)限的區(qū)分呢陕截,這樣的劃分明顯是有問題的驳棱。我在另一個回答上提到過"窮盡不重復"的劃分方法,其實在這里就可以體現(xiàn)出作用來农曲。
那么正確的后臺劃分子系統(tǒng)的方式應(yīng)該是按照業(yè)務(wù)流程來劃分社搅,以"事"為線索貫穿系統(tǒng)。采用業(yè)務(wù)流程的環(huán)節(jié)進行劃分可以有效的避免重復和混亂的現(xiàn)象乳规,對整個系統(tǒng)的架構(gòu)都是非常清晰明了的形葬。想要以"事"為線索進行梳理,有一個很好的方法就是使用UML中的構(gòu)件圖的來解決暮的。對于產(chǎn)品人員笙以,只需要理解構(gòu)件圖的思想,畫出一個輕量級的框架冻辩。


加群957734884免費領(lǐng)取java架構(gòu)資料

首先在構(gòu)件圖中兩個最重要的概念構(gòu)件和接口對應(yīng)著事件和流程猖腕,接口與接口之間只存在實現(xiàn)(代表這個流程由這個事件提供的)和使用(代表這個事件要使用這個流程)這兩個關(guān)系。理解了這一概念之后就可以對事與事恨闪,事與流程倘感,流程與流程之間進行連接。


加群957734884領(lǐng)取java免費架構(gòu)資料

畫構(gòu)件圖咙咽,第一步是識別建模的構(gòu)建集合老玛,也就是對主題域進行劃分。可以按照工作職責范圍(部門)劃分成不同的主題域逻炊,劃分的時候也可以根據(jù)需要進行多級的嵌套互亮,這樣可以更容易理解上下級之間的關(guān)聯(lián)。例如軟件開發(fā)商可以按照開發(fā)人員余素,產(chǎn)品人員豹休,銷售人員職責不同進行第一級區(qū)塊劃分,然后再根據(jù)開發(fā)人員負責的不同環(huán)節(jié)進行第二級部門的劃分桨吊。那么根據(jù)區(qū)塊就可以很容易劃分出"銷售"和"研發(fā)"兩個主題域威根。
在研發(fā)這個主題域內(nèi)主要負責針對軟件研發(fā)進行管理,經(jīng)過設(shè)計视乐,研發(fā)洛搀,測試這幾個階段生產(chǎn)出成型的軟件。那么這塊就可以命名為"研發(fā)管理系統(tǒng)子系統(tǒng)"佑淀。
在銷售這個主題域內(nèi)主要負責對客戶的銷售留美,客戶培訓,售后服務(wù)等伸刃,因此這塊可以命名為"客戶服務(wù)管理子系統(tǒng)"谎砾。
在一般的系統(tǒng)中往往會加入后勤板塊,在這個板塊內(nèi)含有硬件捧颅,財政和人員這些基本模板景图,可以劃分成“硬件服務(wù)管理子系統(tǒng)”,"財政管理子系統(tǒng)"和"人員管理子系統(tǒng)"碉哑。后面兩個子系統(tǒng)按照范圍界定的原則相對獨立挚币,所以在前期設(shè)計中暫不考慮。


加群957734884領(lǐng)取java免費架構(gòu)資料

第二步需要把功能不同的模塊劃分成構(gòu)件扣典,同時確定構(gòu)件與構(gòu)件之間的接口妆毕,也就是開始繪制構(gòu)件圖。首先每一個主題域就是一個構(gòu)件激捏,這個比較好理解设塔。先分析各個主題域之間的關(guān)系,四個系統(tǒng)兩兩之間有不同的關(guān)系远舅。因為人員管理子系統(tǒng)相對比較獨立闰蛔,所以這塊可以最后考慮。
"研發(fā)管理系統(tǒng)子系統(tǒng)"與"客戶服務(wù)管理子系統(tǒng)":研發(fā)管理需要獲取客戶服務(wù)管理中的訂單詳情图柏、研發(fā)要求序六、客戶資料等;而客戶服務(wù)管理需要獲取研發(fā)管理中的項目進展蚤吹、功能設(shè)置等例诀。
"研發(fā)管理系統(tǒng)子系統(tǒng)"與"硬件服務(wù)管理子系統(tǒng)":研發(fā)管理需要知道數(shù)據(jù)庫和服務(wù)器的情況随抠,后臺資源占用的情況;硬件服務(wù)管理需要獲取研發(fā)團隊的項目進度繁涂,功能規(guī)劃和版本維護的情況拱她。
"客戶服務(wù)管理子系統(tǒng)"與"硬件服務(wù)管理子系統(tǒng)": 硬件服務(wù)管理需要知道客戶的基本信息以便確定投入什么硬件支持;客戶服務(wù)管理系統(tǒng)一般就不需要從后臺服務(wù)系統(tǒng)獲取信息扔罪。


加群957734884領(lǐng)取java免費架構(gòu)資料

(上圖是一個比較簡單的原型秉沼,實際規(guī)劃還要考慮主題域之間更多關(guān)聯(lián))
最后一步進行主題域范圍的明確,界定每個主題域內(nèi)進行的功能以及相關(guān)的事件矿酵。在一些書籍中也把這個關(guān)系成為上下文關(guān)系唬复,即主題域與功能之間父級與子級的概念。在這個階段要考慮到Customer與Worker之間的關(guān)系全肮。找到系統(tǒng)中所有的客戶敞咧,考慮這些客戶會引起什么事件的發(fā)生,這些事件會引起Worker什么樣的工作辜腺,講這些都考慮進來休建。然后再補充Worker主動發(fā)起的動作,那么一個系統(tǒng)的所有事件就能沒有遺漏地梳理完整了哪自。這里值得注意的是丰包,對于研發(fā)管理子系統(tǒng)而言,其他的客服管理壤巷,財政管理都屬于是客戶關(guān)系。他們對于研發(fā)關(guān)系系統(tǒng)屬于消費者的動作瞧毙。


加群957734884領(lǐng)取java免費資料

通過以上三步可以把一個系統(tǒng)大致的框架搭建起來胧华。這樣搭建的好處在于系統(tǒng)的業(yè)務(wù)流程很清晰,無論是對于研發(fā)還是使用者而言都是有好處的宙彪,每個人都能清楚地意識到自己在做什么事情矩动。上述分析方法是徐峰老師提出的SERU需求分析法中關(guān)于主題域確定,也就是系統(tǒng)框架結(jié)構(gòu)確定的第一步释漆,這也是設(shè)計一個系統(tǒng)最根基的地方悲没,然后才是去考慮更細化,更精準的業(yè)務(wù)流程設(shè)計男图。把根基打好再去做子系統(tǒng)內(nèi)部的規(guī)劃就變得比較簡單示姿。對于一個系統(tǒng),在設(shè)計時一定要有“自上而下”的思想逊笆,從最大的環(huán)境去考慮問題栈戳,這樣才不會在后期規(guī)劃中因為突然插入的東西變得混亂。(圖片有部分來自網(wǎng)絡(luò)难裆,侵刪)子檀。
最后

我分享最近幾年的收集的java視頻資料镊掖,希望可以幫助到大家的技能提升


加群957734884領(lǐng)取java免費資料

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市褂痰,隨后出現(xiàn)的幾起案子亩进,更是在濱河造成了極大的恐慌,老刑警劉巖缩歪,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件归薛,死亡現(xiàn)場離奇詭異,居然都是意外死亡驶冒,警方通過查閱死者的電腦和手機苟翻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骗污,“玉大人崇猫,你說我怎么就攤上這事⌒璺蓿” “怎么了诅炉?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長屋厘。 經(jīng)常有香客問我涕烧,道長,這世上最難降的妖魔是什么汗洒? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任议纯,我火速辦了婚禮,結(jié)果婚禮上溢谤,老公的妹妹穿的比我還像新娘瞻凤。我一直安慰自己,他們只是感情好世杀,可當我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布阀参。 她就那樣靜靜地躺著,像睡著了一般瞻坝。 火紅的嫁衣襯著肌膚如雪蛛壳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天所刀,我揣著相機與錄音衙荐,去河邊找鬼。 笑死勉痴,一個胖子當著我的面吹牛赫模,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蒸矛,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼瀑罗,長吁一口氣:“原來是場噩夢啊……” “哼胸嘴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起斩祭,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤劣像,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后摧玫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耳奕,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年诬像,在試婚紗的時候發(fā)現(xiàn)自己被綠了屋群。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡坏挠,死狀恐怖芍躏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情降狠,我是刑警寧澤对竣,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站榜配,受9級特大地震影響否纬,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蛋褥,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一临燃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧烙心,春花似錦谬俄、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屎蜓。三九已至痘昌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間炬转,已是汗流浹背辆苔。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留扼劈,地道東北人驻啤。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像荐吵,于是被迫代替她去往敵國和親骑冗。 傳聞我的和親對象是個殘疾皇子赊瞬,可洞房花燭夜當晚...
    茶點故事閱讀 43,494評論 2 348

推薦閱讀更多精彩內(nèi)容