系統(tǒng)設(shè)計(jì)之火車票預(yù)訂系統(tǒng)_第1頁
系統(tǒng)設(shè)計(jì)之火車票預(yù)訂系統(tǒng)_第2頁
系統(tǒng)設(shè)計(jì)之火車票預(yù)訂系統(tǒng)_第3頁
系統(tǒng)設(shè)計(jì)之火車票預(yù)訂系統(tǒng)_第4頁
系統(tǒng)設(shè)計(jì)之火車票預(yù)訂系統(tǒng)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

背景:昨天元宵佳節(jié)同事聚餐,大家聊起今年的網(wǎng)上訂票系統(tǒng),毀譽(yù)參半呀。從程序員的角度我們是怎么看這個(gè)鐵老大斥資幾千萬的大系統(tǒng)的,這里我就不說了。要寫的是如果我是這個(gè)系統(tǒng)的架構(gòu)師(呵呵夸口了,如果也許假設(shè)是,然而未必不見得,嘿嘿),我會(huì)如何設(shè)計(jì)這個(gè)系統(tǒng)。2月我會(huì)利用零星的時(shí)間,就這個(gè)系統(tǒng)演練下系統(tǒng)設(shè)計(jì)的能力,作為這個(gè)月送給自己的玩具,呵呵,不足之處歡迎大家批評(píng)指正踴躍拍磚。目標(biāo):本系統(tǒng)主要實(shí)現(xiàn)對(duì)火車車次的查詢、車票預(yù)訂功能。關(guān)注在大用戶量集中訪問情況下,比如春運(yùn)訂票高峰期,系統(tǒng)承載能力。當(dāng)然細(xì)節(jié)方面也要注意系統(tǒng)的易用性、用戶體驗(yàn),比如在查詢兩車站間沒有直達(dá)車時(shí)給出中轉(zhuǎn)站,輸入車站名簡稱時(shí)有提示,管理員可修改預(yù)售期、增減車次信息等。功能:兩站之間的車次查詢?具體某車次的查詢?進(jìn)出某車站所有車次的查詢?車票預(yù)訂(車票預(yù)定后,所需的座位被聲明,其余座位解鎖)?乘客取票(首先根據(jù)身份證號(hào)查詢訂單,然后修改訂單狀態(tài))?用戶的注冊(cè)和登錄,修改密碼訂單管理(訂單的查詢和撤銷等)?后臺(tái)管理員系統(tǒng)(編輯列車、車票、預(yù)售期等相關(guān)信息)系統(tǒng)設(shè)計(jì):確定關(guān)鍵需求一、分析階段(1)需求分析業(yè)務(wù)需求:本系統(tǒng)主要的業(yè)務(wù)需求包括車次查詢、車票預(yù)訂

?用戶需求(用例圖描述):?行為需求(用例規(guī)約描述)?用戶需求(用例圖描述):?行為需求(用例規(guī)約描述)蕓要正弱士題鑰允許購票人泛捋彳與期內(nèi)火車買的浸訂、克茨.安治彳訂?..2.亭弁流..2.1釜本事件旅..1.1停約訂案.,二助家人在泉累查透瓦宜檢援年次.左豐日抵查說缺會(huì)半密?.,2曲荻人點(diǎn)主彳訂技芯.芝捧薦別、埃寫弦我-點(diǎn)擊捉文技W?.?3按:辰子逢!S莊定意別撾定米數(shù)的半碇a法迭?.,4創(chuàng)建訂單..5提示早戶?3訂或:S..,2.1.2譙.?N曲瘀人君個(gè)人為蒞五件交會(huì)欺拜點(diǎn)人員..2裒票點(diǎn)人員在瀆土彼富上瀆入狂號(hào)傳M?.?m玄荻點(diǎn)人戾梅遂云件信息尋訂單傳息?..4斐票W人員*.在“出票濘按還.系旻含泓有袤企壽骨息補(bǔ)克到車卷信息牛.#毒車袤的涼道技柩云為已出褰.醪改訂單次志為交房成對(duì)..5玄荻成為..2.1.3.袤灣W訂,I購素人在我的訂年靈豆垮圭某個(gè)訂單點(diǎn)擊家攔M訂技還..■2柔安誨該訂牟關(guān)素的所有左京求戀的車票拳宏.即翊狀態(tài)互為代臺(tái)狀態(tài)共遂訂單狹態(tài)云為已取灣?.,一2.N備毋事件流-2-2.1.13配景支喜簇梟奉察或不呈示珥訂接近.b如汞胡人由志鼓大于新宏車簇蠢?提示、紊人…2.2.2..?磁肅不出正■件信札制墨無痞盍人責(zé)芋血八我件信息.“b如梟:童有以藐.或占子訂K訂單律甚,嘉云惠袤票配差.■2.2.3..a立果過于配德車痿和韋渲1策重我個(gè)蜜H它不能在一個(gè)孕務(wù)中主或.親卷后隹建呈.3.待魏布成..大..「前宣條件“無.?5.后五條祥.(2)領(lǐng)域建模首先按照功能進(jìn)行模塊化的分離。

確定關(guān)鍵需求車票預(yù)訂是本系統(tǒng)的關(guān)鍵需求概念性架構(gòu)設(shè)計(jì)步驟一、魯棒性分析魯棒圖(靜態(tài))

魯棒順序圖(動(dòng)態(tài))數(shù)據(jù)管理以系統(tǒng)交"步驟三、質(zhì)量屬性分析2.實(shí)際架構(gòu)設(shè)計(jì)(1)邏輯架構(gòu)車票預(yù)訂的邏輯架構(gòu)如下:1\LSpecificationf■RoutirgSer;1ze.RoutingServicB^tt^是構(gòu)造一個(gè)^足Spe咖賺m知鯽;啊!tin即ay.邸RoutingSemiteJZ個(gè)制i引擎.可通過玳它糙炸缸瞬第最快的路繾或最便宜命路凱票的狀態(tài)圖如下:開發(fā)架構(gòu)運(yùn)行架構(gòu)(4)物理架構(gòu)(5)數(shù)據(jù)架構(gòu)附加:?可增加求購和轉(zhuǎn)讓信息發(fā)布功能。?恰當(dāng)使用AJAX技術(shù)進(jìn)行信息的異步傳輸。?經(jīng)常查詢的數(shù)據(jù)要設(shè)置緩存。?系統(tǒng)可以擴(kuò)展個(gè)makecharge的模塊,調(diào)用服務(wù)商提供的接口,這樣就可以增加信用卡或支付寶支付功能,最好還能提供送票服務(wù)。?注意半段的車票可以繼續(xù)出售問題的設(shè)計(jì)。?注意學(xué)生票、軍人票等特殊票種的處理情況。準(zhǔn)備知識(shí):(1)邏輯架構(gòu)l思想:邏輯架構(gòu)的設(shè)計(jì)著重考慮功能需求,即系統(tǒng)應(yīng)向用戶提供什么服務(wù)。規(guī)定了軟件架構(gòu)由哪些邏輯元素組成,以及這些邏輯元素之間的關(guān)系。邏輯架構(gòu)的設(shè)計(jì)往往是從用例分析開始的,然后綜合這些用例分析成果,得到整個(gè)軟件系統(tǒng)的邏輯架構(gòu)。邏輯架構(gòu)設(shè)計(jì)要實(shí)現(xiàn)層、子系統(tǒng)、模塊等的劃分決定交互接口和交互機(jī)制(交互機(jī)制是指不同軟件單元之間交互的手段。交互機(jī)制的例子有:方法調(diào)用、基于RMI的遠(yuǎn)程方法調(diào)用、發(fā)送消息等。)l關(guān)注點(diǎn):功能需求、行為和職責(zé)的劃分,將不同的職責(zé)分配給邏輯層、功能模塊、類等不同力度的邏輯單元。l工作任務(wù):0細(xì)化功能單元0發(fā)現(xiàn)通用機(jī)制(機(jī)制Mechanism是模式的實(shí)例。機(jī)制必須進(jìn)一步細(xì)化才能成為特定模型中的協(xié)作,因此機(jī)制是獨(dú)特上下文中重復(fù)出現(xiàn)的問題的特定解決方案。)0細(xì)化領(lǐng)域模型0確定子系統(tǒng)接口和交互機(jī)制l描述方式:靜態(tài):包圖、類圖、對(duì)象圖。動(dòng)態(tài):序列圖、協(xié)作圖、狀態(tài)圖、活動(dòng)圖。(2)開發(fā)架構(gòu)l思想:開發(fā)架構(gòu)的設(shè)計(jì)著重考慮開發(fā)期質(zhì)量屬性,例如可擴(kuò)展性、可重用性、可移植性、易理解性、易測試性等。l關(guān)注點(diǎn):軟件模塊的實(shí)際組織方式,具體涉及源程序文件、配置文件、源程序包、編譯及打包后的目標(biāo)文件、第三方庫文件等。l工作任務(wù):0確定要開發(fā)或直接利用的程序包之間的依賴關(guān)系0確定采用的技術(shù)0確定采用的框架等l關(guān)系:開發(fā)架構(gòu)和邏輯架構(gòu)是什么關(guān)系?開發(fā)架構(gòu)和邏輯架構(gòu)之間存在一定的映射關(guān)系:比如邏輯架構(gòu)中的邏輯層一般會(huì)映射到開發(fā)架構(gòu)中的多個(gè)程序包;開發(fā)架構(gòu)中的源碼文件可以包含邏輯架構(gòu)中的一到多個(gè)類。l描述方式:包圖、類圖、組件圖。運(yùn)行架構(gòu)l思想:運(yùn)行架構(gòu)的設(shè)計(jì)著重考慮運(yùn)行期質(zhì)量屬性。l關(guān)注點(diǎn):進(jìn)程、線程、對(duì)象等運(yùn)行時(shí)概念,已經(jīng)相關(guān)的并發(fā)、同步、通信等問題。l工作任務(wù):0確定引入哪些進(jìn)程與線程0確定主動(dòng)對(duì)象、被動(dòng)對(duì)象、以及控制流關(guān)系0處理相關(guān)問題:進(jìn)程線程的創(chuàng)建、銷毀、通信機(jī)制、資源爭用等0協(xié)議設(shè)計(jì)(可選,例如基于TCP/IP協(xié)議定義本系統(tǒng)的“應(yīng)用協(xié)議”)l關(guān)系:開發(fā)架構(gòu)和運(yùn)行架構(gòu)是什么關(guān)系?開發(fā)架構(gòu)偏重程序包在編譯時(shí)期的靜態(tài)依賴關(guān)系,而這些程序運(yùn)行起來之后會(huì)表現(xiàn)為對(duì)象、線程、進(jìn)程,運(yùn)行架構(gòu)比較關(guān)注的是這些運(yùn)行時(shí)單元的交互問題。運(yùn)行架構(gòu)是在開發(fā)架構(gòu)的基礎(chǔ)上,從宏觀上規(guī)劃多條控制流的并發(fā)和同步。l描述方式:靜態(tài)方面可用包圖、類圖、對(duì)象圖動(dòng)態(tài)方面可用序列圖、協(xié)作圖物理架構(gòu)l思想:物理架構(gòu)的設(shè)計(jì)著重考慮安裝和部署需求。規(guī)定了軟件架構(gòu)由哪些物理元素組成,以及這些物理元素之間的關(guān)系,以及這些物理元素部署到硬件上的策略。物理架構(gòu)反映出軟件系統(tǒng)動(dòng)態(tài)運(yùn)行時(shí)的組織情況。物理元素就是進(jìn)程、線程、作為類的運(yùn)行時(shí)實(shí)例的對(duì)象等,而進(jìn)程調(diào)度、線程同步、進(jìn)程或線程通信等則進(jìn)一步反映物理架構(gòu)的動(dòng)態(tài)行為。架構(gòu)設(shè)計(jì)中可能需要專門說明數(shù)據(jù)是如何產(chǎn)生、存儲(chǔ)、共享、復(fù)制的,這時(shí)可以利用物理架構(gòu),展示軟件系統(tǒng)在運(yùn)行期間數(shù)據(jù)是由哪些運(yùn)行時(shí)單元產(chǎn)生、如何產(chǎn)生、數(shù)據(jù)如何被使用、如何被存儲(chǔ)、哪些數(shù)據(jù)需要跨網(wǎng)絡(luò)復(fù)制和共享等方面的設(shè)計(jì)決策。軟件系統(tǒng)在計(jì)算機(jī)中運(yùn)行期間的并發(fā)和交互情況(物理架構(gòu)設(shè)計(jì)方案中規(guī)定了軟件系統(tǒng)如何使用進(jìn)程和線程完成期望的并發(fā)處理,進(jìn)程線程這些主動(dòng)對(duì)象會(huì)調(diào)用哪些被動(dòng)對(duì)象參與處理,交互機(jī)制(如消息)為何等問題,從而為詳細(xì)設(shè)計(jì)和編程實(shí)現(xiàn)提供了工作目標(biāo)的動(dòng)態(tài)視圖。)l關(guān)注點(diǎn):安裝和部署需求。l工作任務(wù):0確定物理配置方案(網(wǎng)絡(luò)方案)0確定如何將目標(biāo)程序映射到物理節(jié)點(diǎn)l關(guān)系:物理架構(gòu)和運(yùn)行架構(gòu)是什么關(guān)系?物理架構(gòu)重視目標(biāo)程序的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論