【系统分析师之路】2020年下系统分析师案例分析真题
【系統(tǒng)分析師之路】2020年下系統(tǒng)分析師案例分析真題
2020年下系統(tǒng)分析師案例分析真題
- 【系統(tǒng)分析師之路】2020年下系統(tǒng)分析師案例分析真題
- 2020年下系統(tǒng)分析師案例分析試題一(面向?qū)ο蠓治鲈O(shè)計(jì))
- 2020年下系統(tǒng)分析師案例分析試題二(結(jié)構(gòu)化分析設(shè)計(jì))
- 2020年下系統(tǒng)分析師案例分析試題三(嵌入式系統(tǒng))
- 2020年下系統(tǒng)分析師案例分析試題四(數(shù)據(jù)管理)
- 2020年下系統(tǒng)分析師案例分析試題五(Web應(yīng)用系統(tǒng))
2020年下系統(tǒng)分析師案例分析試題一(面向?qū)ο蠓治鲈O(shè)計(jì))
閱讀下列說(shuō)明,回答問(wèn)題1至問(wèn)題3,將解答填入答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明】
某軟件企業(yè)擬采用面向?qū)ο蠓椒ㄩ_(kāi)發(fā)一套體育用品在線(xiàn)銷(xiāo)售系統(tǒng),在系統(tǒng)分析階段,“提交訂單”用例詳細(xì)描述如表1—1所示。
【問(wèn)題1】 (9分)
面向?qū)ο笙到y(tǒng)開(kāi)發(fā)中,實(shí)體對(duì)象、控制對(duì)象和接口對(duì)象的含義是什么?
【問(wèn)題2】 (10分)
面向?qū)ο笙到y(tǒng)分析與建模中,從潛在候選對(duì)象中篩選系統(tǒng)業(yè)務(wù)對(duì)象的原則有哪些?
【問(wèn)題3】 (6分)
根據(jù)題目所示“提交訂單”用例詳細(xì)描述,可以識(shí)別出哪些業(yè)務(wù)對(duì)象?
【問(wèn)題1我的解答】
接口對(duì)象是指系統(tǒng)內(nèi)部與系統(tǒng)外部實(shí)體進(jìn)行交互的接口對(duì)象;
實(shí)體對(duì)象是指系統(tǒng)內(nèi)部用來(lái)操作持久化數(shù)據(jù)的存取的對(duì)象;
控制對(duì)象是指用來(lái)實(shí)現(xiàn)系統(tǒng)功能用例的對(duì)象,通過(guò)控制協(xié)調(diào)其他控制對(duì)象,接口對(duì)象和實(shí)體對(duì)象來(lái)實(shí)現(xiàn)用例功能。
【問(wèn)題1標(biāo)準(zhǔn)答案】
實(shí)體對(duì)象:用來(lái)表示業(yè)務(wù)域的事實(shí)數(shù)據(jù)并需要持久化存儲(chǔ)的對(duì)象類(lèi)型;
控制對(duì)象:用來(lái)表示業(yè)務(wù)系統(tǒng)中應(yīng)用邏輯和業(yè)務(wù)規(guī)則的對(duì)象類(lèi)型;
實(shí)體對(duì)象:用來(lái)表示用戶(hù)與系統(tǒng)之間進(jìn)行交互方式的對(duì)象類(lèi)型。
【問(wèn)題2我的解答】
系統(tǒng)的參與者往往可以識(shí)別為接口對(duì)象;
執(zhí)行步驟中的名詞可以識(shí)別為業(yè)務(wù)對(duì)象;
執(zhí)行步驟中的動(dòng)詞短語(yǔ)一般可以識(shí)別為控制對(duì)象;
執(zhí)行步驟中涉及數(shù)據(jù)流保存的名詞可以識(shí)別為實(shí)體對(duì)象;
【問(wèn)題2標(biāo)準(zhǔn)答案】
1.去除具有相同含義的對(duì)象
2.去除不屬于本系統(tǒng)范圍內(nèi)的對(duì)象
3.去除沒(méi)有特定獨(dú)立行為的對(duì)象
4.去除含義解釋不清楚的對(duì)象
5.去除屬于另一個(gè)對(duì)象屬性或行為的對(duì)象
【問(wèn)題3我的解答】
商家,倉(cāng)庫(kù),支付系統(tǒng),快遞公司
會(huì)員,商品,購(gòu)物車(chē),結(jié)算商品,商品支付
【問(wèn)題3標(biāo)準(zhǔn)答案】
會(huì)員,商品,購(gòu)物車(chē)
訂單,配送信息,支付記錄
【試題解析】
本題考查的是面向?qū)ο蠓治雠c建模相關(guān)知識(shí)及應(yīng)用。
面向?qū)ο笙到y(tǒng)開(kāi)發(fā)過(guò)程中,按照對(duì)象所承擔(dān)的職責(zé)不同,可以將對(duì)象分為實(shí)體對(duì)象、控制對(duì)象和接口對(duì)象。其中實(shí)體對(duì)象是用來(lái)表示業(yè)務(wù)域的事實(shí)數(shù)據(jù)并需要持久化存儲(chǔ)的對(duì)象類(lèi)型;控制對(duì)象是用來(lái)表示業(yè)務(wù)系統(tǒng)中應(yīng)用邏輯和業(yè)務(wù)規(guī)則的對(duì)象類(lèi)型;接口對(duì)象是用來(lái)表示用戶(hù)與系統(tǒng)之間交互方式的對(duì)象類(lèi)型。
面向?qū)ο笙到y(tǒng)設(shè)計(jì)的一般步驟
1、對(duì)實(shí)體對(duì)象進(jìn)行增、并、改,并識(shí)別接口對(duì)象和控制對(duì)象。
2、確定實(shí)體對(duì)象、接口對(duì)象和控制對(duì)象之間的各種關(guān)系。
3、完善對(duì)象類(lèi)結(jié)構(gòu)圖,組織系統(tǒng)的體系結(jié)構(gòu)。
在面向?qū)ο蠓治鲋?#xff0c;并不是所有的名詞都表示了問(wèn)題域內(nèi)有用的業(yè)務(wù)對(duì)象,通過(guò)刪除對(duì)象的同義詞、系統(tǒng)范圍之外的名詞、不具有獨(dú)特行為的名詞、不清楚的名詞和另一個(gè)對(duì)象的行動(dòng)或?qū)傩缘拿~來(lái)最終清理候選對(duì)象列表。
解答業(yè)務(wù)對(duì)象是指對(duì)數(shù)據(jù)進(jìn)行檢索和處理的組件。是簡(jiǎn)單的真實(shí)世界的軟件抽象
業(yè)務(wù)對(duì)象的必要條件:
1、由狀態(tài)和行為組成
2、表達(dá)了來(lái)自業(yè)務(wù)域的一個(gè)人,地點(diǎn),事物或概念
3、可以重用
業(yè)務(wù)對(duì)象的分類(lèi):
1.實(shí)體業(yè)務(wù)對(duì)象
表達(dá)了一個(gè)人,地點(diǎn),事物或者概念,根據(jù)業(yè)務(wù)中的名詞從業(yè)務(wù)域中提取的,如客戶(hù),訂單,物品等。在EJB應(yīng)用程序中,一般為實(shí)體Bean;在傳統(tǒng)的web應(yīng)用程序中,可能是包含業(yè)務(wù)應(yīng)用的狀態(tài)和行為的普通JavaBean。
2.過(guò)程業(yè)務(wù)對(duì)象
表達(dá)應(yīng)用程序中業(yè)務(wù)處理過(guò)程或者工作流程任務(wù),通常依賴(lài)于實(shí)體業(yè)務(wù)對(duì)象,是業(yè)務(wù)的動(dòng)詞。在EJB應(yīng)用程序中,通常是模型的會(huì)話(huà)Bean,或者消息驅(qū)動(dòng)Bean;在非EJB應(yīng)用中,可能是JavaBean,包含特定的行為,作為應(yīng)用程序的管理者或者控制者。
3.事件業(yè)務(wù)對(duì)象
表達(dá)應(yīng)用程序中由于系統(tǒng)的一些操作造成或產(chǎn)生的一些事件。
商家、倉(cāng)庫(kù)、支付系統(tǒng)、快遞公司屬于系統(tǒng)外部數(shù)據(jù)項(xiàng),商品列表和商品重復(fù),價(jià)格、支付、密碼和配送地址等都屬于其他數(shù)據(jù)項(xiàng)的屬性或行為,無(wú)需獨(dú)立作為候選對(duì)象。最后可以篩選出候選對(duì)象,包括會(huì)員、商品、購(gòu)物車(chē)、訂單、配送信息、支付記錄。
2020年下系統(tǒng)分析師案例分析試題二(結(jié)構(gòu)化分析設(shè)計(jì))
閱讀以下關(guān)于軟件系統(tǒng)分析與設(shè)計(jì)的敘述,在答題紙上回答問(wèn)題1至問(wèn)題3。
【說(shuō)明】
某企業(yè)擬開(kāi)發(fā)一套數(shù)據(jù)處理系統(tǒng),在系統(tǒng)分析階段,系統(tǒng)分析師整理的核心業(yè)務(wù)流程與需求如下:
(a)系統(tǒng)分為管理員和用戶(hù)兩類(lèi)角色,其中管理員主要進(jìn)行用戶(hù)注冊(cè)與權(quán)限設(shè)置,用戶(hù)主要完成業(yè)務(wù)功能;
(b)系統(tǒng)支持用戶(hù)上傳多種類(lèi)型的數(shù)據(jù),主要包括圖像、文本和二維曲線(xiàn)等;
(c)數(shù)據(jù)上傳完成后,用戶(hù)需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理操作,預(yù)處理操作包括圖像增強(qiáng)、文本摘要,曲線(xiàn)平滑等; .
(d)預(yù)處理操作完成后,需要進(jìn)一步對(duì)數(shù)據(jù)進(jìn)行智能分析,智能分析操作包括圖像分類(lèi)、文本情感分析、曲線(xiàn)未來(lái)走勢(shì)預(yù)測(cè)等;
(e)上述預(yù)處理和智能分析操作的中間結(jié)果均需要進(jìn)行保存;
(f)用戶(hù)可以將數(shù)據(jù)分析結(jié)果以圖片、文本、二維圖表等多種方式進(jìn)行展示,并支持結(jié)果匯總,最終導(dǎo)出為符合某種格式的報(bào)告。
【問(wèn)題1】 (9分)
數(shù)據(jù)流圖(Data Flow Diagram, DFD) 是一種重要的結(jié)構(gòu)化系統(tǒng)分析方法,重點(diǎn)表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的傳遞關(guān)系,并通過(guò)數(shù)據(jù)流描述系統(tǒng)功能。請(qǐng)用300字以?xún)?nèi)的文字說(shuō)明DFD在進(jìn)行系統(tǒng)需求分析過(guò)程中的主要作用。
【問(wèn)題2】 (10分)
頂層圖(也稱(chēng)作上下文數(shù)據(jù)流圖)是描述系統(tǒng)最高層結(jié)構(gòu)的DFD,它的特點(diǎn)是將整個(gè)待開(kāi)發(fā)的系統(tǒng)表示為一個(gè)加工,將所有的外部實(shí)體和進(jìn)出系統(tǒng)的數(shù)據(jù)流都畫(huà)在一張圖中。請(qǐng)參考題干描述,將合適的內(nèi)容填入圖2—1中(1) ~ (5)空白處,完成該系統(tǒng)的頂層圖。
【問(wèn)題3】 (6分)
在結(jié)構(gòu)化設(shè)計(jì)方法中,通常采用流程圖表示某一處理過(guò)程,這種過(guò)程既可以是生產(chǎn)線(xiàn)上的工藝流程,也可以是完成一項(xiàng)任務(wù)必需的管理過(guò)程。而在面向?qū)ο蟮脑O(shè)計(jì)方法中,則主要采用活動(dòng)圖表示某個(gè)用例的工作流程。請(qǐng)用300字以?xún)?nèi)的文字說(shuō)明流程圖和活動(dòng)圖在表達(dá)業(yè)務(wù)流程時(shí)的三個(gè)主要不同點(diǎn)。
【問(wèn)題1我的解答】
DFD圖是對(duì)系統(tǒng)進(jìn)行功能建模的一個(gè)工具。
DFD圖可以很好的描述數(shù)據(jù)在系統(tǒng)中的流動(dòng)。
DFD圖通俗易懂,容易拿DFD圖與客戶(hù)或者用戶(hù)進(jìn)行交流溝通以便分析需求。
DFD圖中從頂層圖分解為0層圖1層圖,以達(dá)到結(jié)構(gòu)化系統(tǒng)分析中自頂向下,逐步求精。
【問(wèn)題1標(biāo)準(zhǔn)答案】
DFD圖是理解和表達(dá)用戶(hù)需求的工具,是需求分析的手段。
DFD作為一個(gè)存檔的文字資料,是進(jìn)一步修改和充實(shí)開(kāi)發(fā)計(jì)劃的依據(jù)。
DFD概括的描述了系統(tǒng)的內(nèi)部邏輯過(guò)程,是需求分析結(jié)果的表達(dá)工具,也是系統(tǒng)設(shè)計(jì)的重要參考資料,是系統(tǒng)設(shè)計(jì)的起點(diǎn)。
【問(wèn)題2我的解答】
1)管理員
2)用戶(hù)權(quán)限設(shè)置
3)用戶(hù)
4)上傳數(shù)據(jù)
5)導(dǎo)出報(bào)告
【問(wèn)題2標(biāo)準(zhǔn)答案】
1)管理員
2)用戶(hù)權(quán)限信息
3)用戶(hù)
4)多種類(lèi)型數(shù)據(jù)
5)導(dǎo)出報(bào)告/展示結(jié)果
【問(wèn)題3我的解答】
流程圖通常使用在結(jié)構(gòu)系統(tǒng)分析當(dāng)中,而活動(dòng)圖一般使用在面向?qū)ο笤O(shè)計(jì)中。
活動(dòng)圖可以表示進(jìn)程間并發(fā),表示多個(gè)用戶(hù)在不同時(shí)期對(duì)系統(tǒng)的操作流程,而流程圖往往做不到;
流程圖往往用來(lái)表示系統(tǒng)的控制流,活動(dòng)圖除了可以描述控制流,還可以描述數(shù)據(jù)流在對(duì)象之間傳遞。
【問(wèn)題3標(biāo)準(zhǔn)答案】
流程圖著重描述處理過(guò)程,它的主要控制結(jié)構(gòu)是順序,分支,循環(huán);各個(gè)處理過(guò)程之間有嚴(yán)格的順序和時(shí)間關(guān)系;而活動(dòng)圖描述的是對(duì)象活動(dòng)的順序關(guān)系所遵循的規(guī)則,它著重表現(xiàn)的是系統(tǒng)的行為,而非系統(tǒng)的處理過(guò)程。
流程圖只能表達(dá)順序的執(zhí)行過(guò)程,活動(dòng)圖則可以表達(dá)并發(fā)執(zhí)行過(guò)程。
活動(dòng)圖可以有多個(gè)結(jié)束狀態(tài),而流程圖只能有一個(gè)結(jié)束狀態(tài)。
【試題解析】
本題考查的是結(jié)構(gòu)化分析工具-數(shù)據(jù)流圖DFD的分析與應(yīng)用。
DFD是SA方法中的重要工具,是表達(dá)系統(tǒng)內(nèi)數(shù)據(jù)的流動(dòng)并通過(guò)數(shù)據(jù)流描述系統(tǒng)功能的一種方法。DFD還可被認(rèn)為是一個(gè)系統(tǒng)模型,在信息系統(tǒng)開(kāi)發(fā)中,如果采用結(jié)構(gòu)化方法,則一般將DFD作為需求規(guī)格說(shuō)明書(shū)的一個(gè)組成部分。
DFD從數(shù)據(jù)傳遞和加工的角度,利用圖形符號(hào)通過(guò)逐層細(xì)分描述系統(tǒng)內(nèi)各個(gè)部件的功能和數(shù)據(jù)在它們之間傳遞的情況,來(lái)說(shuō)明系統(tǒng)所完成的功能。具體來(lái)說(shuō),DFD的主要作用如下:
(1)DFD是理解和表達(dá)用戶(hù)需求的工具,是需求分析的手段。
由于DFD簡(jiǎn)明易懂,不需要任何計(jì)算機(jī)專(zhuān)業(yè)知識(shí)就可以理解它,因此,系統(tǒng)分析師可以通過(guò)DFD與用戶(hù)進(jìn)行交流。
(2)DFD概括地描述了系統(tǒng)的內(nèi)部邏輯過(guò)程,是需求分析結(jié)果的表達(dá)工具,也是系統(tǒng)設(shè)計(jì)的重要參考資料,是系統(tǒng)設(shè)計(jì)的起點(diǎn)。
(3)DFD作為一個(gè)存檔的文字材料,是進(jìn)一步修改和充實(shí)開(kāi)發(fā)計(jì)劃的依據(jù)。
在DFD中,通常會(huì)出現(xiàn)4種基本符號(hào),分別是數(shù)據(jù)流、加工、數(shù)據(jù)存儲(chǔ)和外部實(shí)體(數(shù)據(jù)源及數(shù)據(jù)終點(diǎn))。數(shù)據(jù)流是具有名字和流向的數(shù)據(jù),在DFD中用標(biāo)有名字的箭頭表示。加工是對(duì)數(shù)據(jù)流的變換,一般用圓圈表示。數(shù)據(jù)存儲(chǔ)是可訪(fǎng)問(wèn)的存儲(chǔ)信息,一般用直線(xiàn)段表示。外部實(shí)體是位于被建模的系統(tǒng)之外的信息生產(chǎn)者或消費(fèi)者,是不能由計(jì)算機(jī)處理的成分,它們分別表明數(shù)據(jù)處理過(guò)程的數(shù)據(jù)來(lái)源及數(shù)據(jù)去向,用標(biāo)有名字的方框表示。
流程圖是對(duì)過(guò)程、算法、流程的一種圖像表示,在技術(shù)設(shè)計(jì)、交流及商業(yè)簡(jiǎn)報(bào)等領(lǐng)域有廣泛的應(yīng)用。通常用一些圖框來(lái)表示各種類(lèi)型的操作,在框內(nèi)寫(xiě)出各個(gè)步驟,然后用帶箭頭的線(xiàn)把它們連接起來(lái),以表示執(zhí)行的先后順序。用圖形表示算法,直觀(guān)形象,易于理解。有時(shí)候也被稱(chēng)之為輸入-輸出圖。顧名思義,就是用來(lái)直觀(guān)地描述一個(gè)工作過(guò)程的具體步驟。這種過(guò)程既可以是生產(chǎn)線(xiàn)上的工藝流程,也可以是完成一項(xiàng)任務(wù)所必需的管理過(guò)程。
活動(dòng)圖是由活動(dòng)節(jié)點(diǎn)和轉(zhuǎn)換流程構(gòu)成的圖。它描述系統(tǒng)或業(yè)務(wù)的一系列活動(dòng)構(gòu)成的控制流,描述系統(tǒng)從一種活動(dòng)轉(zhuǎn)換到另一種活動(dòng)的整個(gè)過(guò)程。
2020年下系統(tǒng)分析師案例分析試題三(嵌入式系統(tǒng))
閱讀以下關(guān)于嵌入式實(shí)時(shí)系統(tǒng)設(shè)計(jì)的相關(guān)技術(shù)的描述,回答問(wèn)題1至問(wèn)題3。
【說(shuō)明】
某公司長(zhǎng)期從事嵌入式系統(tǒng)研制任務(wù),面對(duì)機(jī)器人市場(chǎng)的蓬勃發(fā)展,公司領(lǐng)導(dǎo)決定自主研制一款通用的工業(yè)機(jī)器人。王工承擔(dān)了此工作,他在泛調(diào)研的基礎(chǔ)上提出:公司要成功地完成工業(yè)機(jī)器人項(xiàng)目的研制,應(yīng)采用實(shí)時(shí)結(jié)構(gòu)化分析和設(shè)計(jì)(RTSAD)方法,該方法已被廣泛應(yīng)用于機(jī)器人頂層分析和設(shè)計(jì)中。
【問(wèn)題1】 (9分)
實(shí)時(shí)結(jié)構(gòu)化分析和設(shè)計(jì)(RTSAD)方法分為分析和設(shè)計(jì)兩個(gè)階段。分析階段要開(kāi)發(fā)個(gè)基本模型,即需求模型,基本模型中包含一個(gè)環(huán)境模型和一個(gè)行為模型:設(shè)計(jì)階段是一種程序設(shè)計(jì)方法,該方法在轉(zhuǎn)換分析和事務(wù)分析策略中結(jié)合使用了模塊耦合和內(nèi)聚標(biāo)準(zhǔn),用于開(kāi)發(fā)從結(jié)構(gòu)化分析規(guī)范開(kāi)始的設(shè)計(jì)方案。請(qǐng)用300字以?xún)?nèi)文字說(shuō)明環(huán)境模型、行為模型、模塊耦合和內(nèi)聚的含義;并從模塊獨(dú)立性的角度,說(shuō)明模塊設(shè)計(jì)的基本原則。
【問(wèn)題2】 (9分)
圖3-1給出了機(jī)器人控制器的狀態(tài)轉(zhuǎn)換圖,其中T1T6表示了狀態(tài)轉(zhuǎn)換過(guò)程中的觸發(fā)事件,請(qǐng)將T1T6填到圖31中的空(1) ~ (6)處,完善機(jī)器人控制器的狀態(tài)轉(zhuǎn)換圖,并將正確答案填寫(xiě)在答題紙上
【問(wèn)題3】 (7分)
參考機(jī)器人控制器狀態(tài)轉(zhuǎn)換圖(圖31)和機(jī)器人控制器環(huán)境圖(圖32),完善機(jī)器人控制器命令的數(shù)據(jù)流程圖(圖33)中的空(1) ~ (7)處,并將正確答案填寫(xiě)在答題紙上
【問(wèn)題1我的解答】
環(huán)境模型:描述系統(tǒng)的物理靜態(tài)結(jié)構(gòu)的模型。
行為模型:描述系統(tǒng)內(nèi)部的狀態(tài)轉(zhuǎn)換過(guò)程的模型。
模塊耦合:模塊與模塊之間相互聯(lián)系與依賴(lài)的關(guān)系
模塊內(nèi)聚:模塊內(nèi)部的依賴(lài)聯(lián)系關(guān)系。
模塊設(shè)計(jì)的基本原則:高內(nèi)聚低耦合,標(biāo)準(zhǔn)化接口設(shè)計(jì),模塊設(shè)計(jì)要多扇入少扇出。
【問(wèn)題1標(biāo)準(zhǔn)答案】
環(huán)境模型是系統(tǒng)運(yùn)行時(shí)所處的環(huán)境,也就是系統(tǒng)所連接的外部實(shí)體,以及發(fā)送給系統(tǒng)的輸入和來(lái)自系統(tǒng)的輸出。
行為模型描述的是行為,也就是系統(tǒng)對(duì)外部環(huán)境中接收到的輸入信息的反應(yīng),這些反應(yīng)都是依賴(lài)于狀態(tài)的。
模塊耦合在模塊分解過(guò)程中作為一種標(biāo)準(zhǔn)來(lái)使用,用于判斷模塊之間連接性的程度。
模塊內(nèi)聚是在模塊分解過(guò)程中,作為一種標(biāo)準(zhǔn)來(lái)使用,用于確定模塊內(nèi)部的強(qiáng)度或統(tǒng)一性。
模塊設(shè)計(jì)的原則就是高內(nèi)聚低耦合。
【問(wèn)題2我的解答】
1)程序選擇,T1,觸發(fā)改變程序
2)已結(jié)束,T4,處理程序已結(jié)束
3)運(yùn)行,T2,觸發(fā)開(kāi)始程序
4)結(jié)束,T3,觸發(fā)結(jié)束程序
5)運(yùn)行,T6,觸發(fā)恢復(fù)程序
6)停止,T5,觸發(fā)停止程序
【問(wèn)題2標(biāo)準(zhǔn)答案】
同上
【問(wèn)題3我的解答】
1)機(jī)器人控制
2)傳動(dòng)器輸出
3)傳動(dòng)器輸入
4)關(guān)閉控制面板燈
5)關(guān)閉控制面板燈
6)停止運(yùn)行軸馬達(dá)
7)繼續(xù)運(yùn)行軸馬達(dá)
【問(wèn)題3標(biāo)準(zhǔn)答案】
1)控制機(jī)器人
2)修改程序
3)啟動(dòng)程序
4)結(jié)束程序
5)處理程序結(jié)束
6)停止程序
7)繼續(xù)執(zhí)行程序
本題是對(duì)嵌入式結(jié)構(gòu)化分析與設(shè)計(jì)相關(guān)內(nèi)容的考查。
RTSAD(Real-Time Structured Analysis and Design)方法是對(duì)傳統(tǒng)的結(jié)構(gòu)化分析和設(shè)計(jì)方法的補(bǔ)充擴(kuò)展,專(zhuān)門(mén)用于開(kāi)發(fā)實(shí)時(shí)系統(tǒng)。
【問(wèn)題1】
實(shí)時(shí)結(jié)構(gòu)化分析和設(shè)計(jì)(RTSAD)方法主要包含分析和設(shè)計(jì)兩個(gè)階段,其中分析階段要求開(kāi)發(fā)一個(gè)基礎(chǔ)模型,這個(gè)基礎(chǔ)模型稱(chēng)為需求模型。通常基本模型中應(yīng)包含一個(gè)環(huán)境模型和一個(gè)行為模型。
環(huán)境模型描述的是系統(tǒng)運(yùn)行時(shí)所處的環(huán)境,也就是系統(tǒng)要連接的外部實(shí)體,以及發(fā)送給系統(tǒng)的輸入和來(lái)自系統(tǒng)的輸出。
行為模型描述的是行為,也就是系統(tǒng)對(duì)從外部環(huán)境中接收到的輸入信息的反應(yīng),在實(shí)時(shí)系統(tǒng)中,這些反應(yīng)一般都是依賴(lài)于狀態(tài)的。
其中行為模型常用狀態(tài)轉(zhuǎn)換圖(簡(jiǎn)稱(chēng)狀態(tài)圖)來(lái)描述,它又稱(chēng)為狀態(tài)機(jī)模型。行為模型通過(guò)描述系統(tǒng)的狀態(tài)以及引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件來(lái)表示系統(tǒng)的行為。狀態(tài)圖中的基本元素有事件、狀態(tài)和行為等。
內(nèi)聚是指模塊內(nèi)各元素之間的關(guān)聯(lián)交互。耦合是指模塊間的依賴(lài)關(guān)聯(lián)、交互關(guān)系。模塊耦合在模塊分解過(guò)程中作為種標(biāo)準(zhǔn)來(lái)使用,用于判斷模塊間連接性的程度。模塊內(nèi)聚在模塊分解過(guò)程中作為 種標(biāo)準(zhǔn)來(lái)使用,用于確定模塊內(nèi)部的強(qiáng)度或統(tǒng)一性。從模塊設(shè)計(jì)角度看,模塊獨(dú)立性應(yīng)遵守“高內(nèi)聚低耦合”的基本原則。
【問(wèn)題2】
狀態(tài)轉(zhuǎn)換圖,即STD圖(State Transform Diagram),表示行為模型。STD通過(guò)描述系統(tǒng)的狀態(tài)和引起系統(tǒng)狀態(tài)轉(zhuǎn)換的事件,來(lái)表示系統(tǒng)的行為,指出作為特定事件的結(jié)果將執(zhí)行哪些動(dòng)作(例如處理數(shù)據(jù)等)。STD描述系統(tǒng)對(duì)外部事件如何響應(yīng),如何動(dòng)作。在狀態(tài)轉(zhuǎn)換圖中,每一個(gè)節(jié)點(diǎn)代表一個(gè)狀態(tài)。
機(jī)器人控制器設(shè)定了6種狀態(tài),即已關(guān)閉、增加動(dòng)力、手動(dòng)、運(yùn)行、終止和已掛起,在6個(gè)狀態(tài)相互轉(zhuǎn)換時(shí),設(shè)計(jì)了6個(gè)觸發(fā)事件(T1~T6)。
當(dāng)按下啟動(dòng)按鍵時(shí),系統(tǒng)就會(huì)進(jìn)入增加動(dòng)力狀態(tài)。在成功地完成了增加動(dòng)力的過(guò)程之后,系統(tǒng)就會(huì)進(jìn)入手動(dòng)狀態(tài)。
系統(tǒng)手動(dòng)狀態(tài)時(shí)操作員按下運(yùn)行按鈕,就會(huì)啟動(dòng)當(dāng)前選擇程序的執(zhí)行過(guò)程,然后系統(tǒng)就會(huì)過(guò)渡到運(yùn)行狀態(tài),所以第三空應(yīng)該為T(mén)2:觸發(fā)【開(kāi)始程序】。
系統(tǒng)運(yùn)行狀態(tài)時(shí)操作員可以通過(guò)按下停止按鈕來(lái)掛起程序的執(zhí)行過(guò)程,然后系統(tǒng)就會(huì)進(jìn)入已掛起狀態(tài),所以第六空應(yīng)該為T(mén)5:觸發(fā)【停止程序】。
系統(tǒng)已掛起狀態(tài)時(shí)操作員可以按下運(yùn)行按鈕來(lái)繼續(xù)執(zhí)行程序,系統(tǒng)則返回到運(yùn)行狀態(tài),所以第五空應(yīng)該為T(mén)6:觸發(fā)【恢復(fù)程序】。
系統(tǒng)運(yùn)行狀態(tài)時(shí)操作員可以按下結(jié)束按鈕,系統(tǒng)進(jìn)入終止?fàn)顟B(tài),所以第四空應(yīng)該為T(mén)3:觸發(fā)【結(jié)束程序】。
當(dāng)程序終止執(zhí)行時(shí)要想返回手動(dòng)狀態(tài),就需要觸發(fā)【處理程序已結(jié)束】,從而回到手動(dòng)狀態(tài)。所以所以第二空應(yīng)該為T(mén)4:觸發(fā)【處理程序已結(jié)束】。
系統(tǒng)手動(dòng)狀態(tài)時(shí)操作員現(xiàn)在可以使用程序選擇旋鈕開(kāi)關(guān)來(lái)選擇程序,所以應(yīng)該觸發(fā)【改變程序】,第一空應(yīng)該為T(mén)1:觸發(fā)【改變程序】。
【問(wèn)題3】
數(shù)據(jù)流程圖(Data Flow Diagram,DFD/Data Flow Chart), 是一種描述系統(tǒng)數(shù)據(jù)流程的主要工具,它用一組符號(hào)來(lái)描述整個(gè)系統(tǒng)中信息的全貌,綜合地反映出信息在系統(tǒng)中的流動(dòng)、處理和存儲(chǔ)情況。
數(shù)據(jù)流程圖有兩個(gè)特征: 抽象性和概括性。抽象性指的是數(shù)據(jù)流程圖把具體的組織機(jī)構(gòu)、工作場(chǎng)所、物質(zhì)流都去掉,只剩下信息和數(shù)據(jù)存儲(chǔ)、流動(dòng)、使用以及加工情況。概括性則是指數(shù)據(jù)流程圖把系統(tǒng)對(duì)各種業(yè)務(wù)的處理過(guò)程聯(lián)系起來(lái)考慮,形成一個(gè)總體。
圖3-3為機(jī)器人控制器命令的數(shù)據(jù)流程圖。讀取控制面板輸入轉(zhuǎn)換可以從控制面板接收輸入。這些輸入要作為事件流發(fā)送給控制機(jī)器人,所以(1)答案為控制機(jī)器人。
控制機(jī)器人轉(zhuǎn)換要在系統(tǒng)當(dāng)前狀態(tài)下檢查輸入是否有效,如果有效,那么控制機(jī)器人轉(zhuǎn)換就可以從狀態(tài)轉(zhuǎn)換圖中判斷新的狀態(tài)和所需操作,然后該轉(zhuǎn)換就會(huì)觸發(fā)相應(yīng)的數(shù)據(jù)轉(zhuǎn)換來(lái)實(shí)現(xiàn)操作。
因此,根據(jù)問(wèn)題2中狀態(tài)轉(zhuǎn)換圖,T1觸發(fā)了【修改程序】轉(zhuǎn)換,所以(2)答案為修改程序。
T2觸發(fā)了【啟動(dòng)程序】轉(zhuǎn)換,所以(3)答案為啟動(dòng)程序。
T3觸發(fā)了【結(jié)束程序】轉(zhuǎn)換,所以(4)答案為結(jié)束程序。
T4觸發(fā)了【處理程序結(jié)束】轉(zhuǎn)換,所以(5)答案為處理程序結(jié)束。
T5觸發(fā)了【停止程序】轉(zhuǎn)換,所以(6)答案為停止程序。
T6觸發(fā)了【繼續(xù)執(zhí)行程序】轉(zhuǎn)換,所以(7)答案為繼續(xù)執(zhí)行程序。
2020年下系統(tǒng)分析師案例分析試題四(數(shù)據(jù)管理)
閱讀以下關(guān)于數(shù)據(jù)管理的敘述,在答題紙上回答問(wèn)題1至問(wèn)題3。
【說(shuō)明】
某全國(guó)連鎖藥店企業(yè)在新冠肺炎疫情期間,緊急推出在線(xiàn)口罩預(yù)約業(yè)務(wù)系統(tǒng)。該業(yè)務(wù)系統(tǒng)為普通用戶(hù)提供口罩商品查詢(xún)、購(gòu)買(mǎi)、訂單查詢(xún)等業(yè)務(wù),為后臺(tái)管理人員提供訂單查詢(xún)、訂單地點(diǎn)分布匯總、物流調(diào)度等功能。該系統(tǒng)核心的關(guān)系模式為預(yù)約訂單信息表。
推出業(yè)務(wù)系統(tǒng)后,幾天內(nèi)業(yè)務(wù)迅速增長(zhǎng)到每日10萬(wàn)多筆預(yù)約訂單,系統(tǒng)數(shù)據(jù)庫(kù)服務(wù)器壓力劇增,導(dǎo)致該業(yè)務(wù)交易響應(yīng)速度迅速降低,甚至出現(xiàn)部分用戶(hù)頁(yè)面無(wú)法刷新、預(yù)約訂單服務(wù)無(wú)響應(yīng)的情況。為此,該企業(yè)緊急成立技術(shù)團(tuán)隊(duì),由張工負(fù)責(zé),以期盡快解決該問(wèn)題
【問(wèn)題1】 (9分)
經(jīng)過(guò)分析,張工認(rèn)為當(dāng)前預(yù)約訂單信息表存儲(chǔ)了所有訂單信息,記錄已達(dá)到了百萬(wàn)級(jí)別。系統(tǒng)主要的核心功能均涉及對(duì)訂單信息表的操作,應(yīng)首先優(yōu)化預(yù)約訂單信息表的讀寫(xiě)性能,建議針對(duì)系統(tǒng)中的SQL語(yǔ)句,建立相應(yīng)索引,并進(jìn)行適當(dāng)?shù)乃饕齼?yōu)化。
針對(duì)張工的方案,其他設(shè)計(jì)人員提出了一些異議,認(rèn)為索引過(guò)多有很多副作用。請(qǐng)用100字以?xún)?nèi)的文字簡(jiǎn)要說(shuō)明索引過(guò)多的副作用。
【問(wèn)題2】 (10分)
作為團(tuán)隊(duì)成員之一 ,李工認(rèn)為增加索引并進(jìn)行優(yōu)化并不能解決當(dāng)前問(wèn)題,建議采用物理分區(qū)策略,可以根據(jù)預(yù)約訂單信息表中“所在城市”屬性進(jìn)行表分區(qū),并將每個(gè)分區(qū)分布到獨(dú)立的物理磁盤(pán)上,以提高讀寫(xiě)性能。常見(jiàn)的物理分區(qū)特征如表4-1所示。李工建議選擇物理分區(qū)中的列表分區(qū)模式。
請(qǐng)?zhí)钛a(bǔ)表4-1中的空(a) ~ (d)處,并用100字以?xún)?nèi)的文字解釋說(shuō)明李工選擇該方案的原因。
【問(wèn)題3】 (6分)
在系統(tǒng)運(yùn)行過(guò)程中,李工發(fā)現(xiàn)后臺(tái)管理人員執(zhí)行的訂單地址信息匯總等操作,經(jīng)常出現(xiàn)與普通用戶(hù)的預(yù)約訂單操作形成讀寫(xiě)沖突,影響系統(tǒng)的性能。因此李工建議采用讀寫(xiě)分離模式,采用兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器,并采用主從復(fù)制的方式進(jìn)行數(shù)據(jù)同步。請(qǐng)用100字以?xún)?nèi)的文字簡(jiǎn)要說(shuō)明主從復(fù)制的基本步驟
【問(wèn)題1我的解答】
索引過(guò)多的副作用是每次對(duì)表進(jìn)行更新操作(還有增刪操作)之后,都需要更新索引。如果更新過(guò)于頻繁的話(huà),需要頻繁維護(hù)更新索引,所以性能問(wèn)題就并不能很好的改善了。
【問(wèn)題1標(biāo)準(zhǔn)答案】
1)會(huì)占用大量存儲(chǔ)空間
2)更新開(kāi)銷(xiāo),更新語(yǔ)句會(huì)引起相應(yīng)索引更新
3)會(huì)導(dǎo)致查詢(xún)優(yōu)化器需要評(píng)估的組合增多
【問(wèn)題2我的解答】
a)屬性列表分區(qū)
b)離散值
c)能力強(qiáng)
d)均勻
因?yàn)槭歉鶕?jù)所在城市進(jìn)行分區(qū),按所在城市分區(qū)它是單個(gè)屬性,而且是離散的分布情況,且數(shù)據(jù)是不均勻的,適合采用列表分區(qū)。
【問(wèn)題2標(biāo)準(zhǔn)答案】
a)屬性的離散值
b)周期性數(shù)據(jù)
c)能力強(qiáng)
d)均勻
李工建議根據(jù)預(yù)約訂單所在城市進(jìn)行表分區(qū),而所在城市屬性是離散值,根據(jù)所在城市建立列表分區(qū),也方便不同城市處理自己的數(shù)據(jù),方便數(shù)據(jù)管理。
【問(wèn)題3標(biāo)準(zhǔn)答案】
1)主服務(wù)器將所做的修改通過(guò)自己的IO線(xiàn)程保存在本地二進(jìn)制日志當(dāng)中。
2)從服務(wù)器上的IO線(xiàn)程讀取主服務(wù)器上面的二進(jìn)制日志,然后寫(xiě)入到從服務(wù)器本地的中繼日志。
3)從服務(wù)器上同時(shí)開(kāi)啟一個(gè)SQL線(xiàn)程,定期檢查中繼日志,如果發(fā)現(xiàn)有更新,則立刻把更新的內(nèi)容在本機(jī)的數(shù)據(jù)庫(kù)上面執(zhí)行一遍。
【試題解析】
本題考查的是數(shù)據(jù)庫(kù)相關(guān)知識(shí)內(nèi)容及應(yīng)用。
問(wèn)題1:
索引是為了加速對(duì)表中數(shù)據(jù)行的檢索而創(chuàng)建的一種分散的存儲(chǔ)結(jié)構(gòu)。索引是針對(duì)表而建立的,它是由數(shù)據(jù)頁(yè)面以外的索引頁(yè)面組成的,每個(gè)索引頁(yè)面中的行都會(huì)含有邏輯指針,以便加速檢索物理數(shù)據(jù)。
索引的優(yōu)點(diǎn):
(1)加快了數(shù)據(jù)的檢索速度;
(2)創(chuàng)建唯一性索引,保證數(shù)據(jù)庫(kù)表中每一行數(shù)據(jù)的唯一性;
(3)加速表和表之間的連接;
(4)在使用分組和排序子句進(jìn)行數(shù)據(jù)檢索時(shí),可以顯著減少查詢(xún)中分組和排序的時(shí)間;
(5)建立索引之后,在信息查詢(xún)過(guò)程中可以使用優(yōu)化隱藏器,提高整個(gè)信息檢索系統(tǒng)的性能。
索引過(guò)多的缺點(diǎn):
(1)過(guò)多的索引會(huì)占用大量的存儲(chǔ)空間;
(2)更新開(kāi)銷(xiāo),更新語(yǔ)句會(huì)引起相應(yīng)的索引更新;
(3)過(guò)多索引會(huì)導(dǎo)致查詢(xún)優(yōu)化器需要評(píng)估的組合增多;
(4)每個(gè)索引都有對(duì)應(yīng)的統(tǒng)計(jì)信息,索引越多則需要的統(tǒng)計(jì)信息越多;
(5)聚集索引的變化會(huì)導(dǎo)致非聚集索引的同步變化。
問(wèn)題2:
范圍分區(qū):Range分區(qū)是應(yīng)用范圍比較廣的表分區(qū)方式,它是以列的值的范圍來(lái)做為分區(qū)的劃分條件,將記錄存放到列值所在的range分區(qū)中。如按照時(shí)間劃分,2010年1月的數(shù)據(jù)放到a分區(qū),2月的數(shù)據(jù)放到b分區(qū),在創(chuàng)建的時(shí)候,需要指定基于的列,以及分區(qū)的范圍值。
列表分區(qū):List分區(qū)也需要指定列的值,其分區(qū)值必須明確指定,該分區(qū)列只能有一個(gè),不能像range或者h(yuǎn)ash分區(qū)那樣同時(shí)指定多個(gè)列做為分區(qū)依賴(lài)列,但它的單個(gè)分區(qū)對(duì)應(yīng)值可以是多個(gè)。在根據(jù)某字段,如城市代碼分區(qū)時(shí),可以指定default,把非分區(qū)規(guī)則的數(shù)據(jù),全部放到這個(gè)default分區(qū)。
組合分區(qū):如果某表按照某列分區(qū)之后,仍然較大,或者是一些其它的需求,還可以通過(guò)分區(qū)內(nèi)再建子分區(qū)的方式將分區(qū)再分區(qū),即組合分區(qū)的方式。
Hash分區(qū)(散列分區(qū)):對(duì)于那些無(wú)法有效劃分范圍的表,可以使用hash分區(qū),這樣對(duì)于提高性能還是會(huì)有一定的幫助。hash分區(qū)會(huì)將表中的數(shù)據(jù)平均分配到你指定的幾個(gè)分區(qū)中,列所在分區(qū)是依據(jù)分區(qū)列的hash值自動(dòng)分配,因此你并不能控制也不知道哪條記錄會(huì)被放到哪個(gè)分區(qū)中,hash分區(qū)也可以支持多個(gè)依賴(lài)列。
李工建議根據(jù)預(yù)約訂單所在城市進(jìn)行表分區(qū),而所在城市屬性為離散值,根據(jù)所在城市屬性建立列表分區(qū),也方便不同城市處理自己的數(shù)據(jù),方便數(shù)據(jù)管理。
問(wèn)題3:
主從復(fù)制的定義:
主從復(fù)制,是用來(lái)建立一個(gè)和主數(shù)據(jù)庫(kù)完全一樣的數(shù)據(jù)庫(kù)環(huán)境,稱(chēng)為從數(shù)據(jù)庫(kù)。在賦值過(guò)程中,一個(gè)服務(wù)器充當(dāng)主服務(wù)器,而另外一臺(tái)服務(wù)器充當(dāng)從服務(wù)器。當(dāng)一臺(tái)從服務(wù)器連接到主服務(wù)器時(shí),從服務(wù)器會(huì)通知主服務(wù)器從服務(wù)器的日志文件中讀取最后一次成功更新的位置。然后從服務(wù)器會(huì)接收從哪個(gè)時(shí)刻起發(fā)生的任何更新,然后鎖住并等到主服務(wù)器通知新的更新。
主從復(fù)制的原理:
1.數(shù)據(jù)庫(kù)有個(gè)bin-log二進(jìn)制文件,記錄了所有sql語(yǔ)句。
2.我們的目標(biāo)就是把主數(shù)據(jù)庫(kù)的bin-log文件的sql語(yǔ)句復(fù)制過(guò)來(lái)。
3.讓其在從數(shù)據(jù)的relay-log重做日志文件中再執(zhí)行一次這些sql語(yǔ)句即可。
主從復(fù)制的基本步驟:
(1)主服務(wù)器將所做修改通過(guò)自己的IO線(xiàn)程,保存在本地二進(jìn)制日志中;
(2)從服務(wù)器上的IO線(xiàn)程讀取主服務(wù)器上面的二進(jìn)制日志,然后寫(xiě)入從服務(wù)器本地的中繼日志;
(3)從服務(wù)器上同時(shí)開(kāi)啟一個(gè)SQL thread,定時(shí)檢查中繼日志,如果發(fā)現(xiàn)有更新則立即把更新的內(nèi)容在本機(jī)的數(shù)據(jù)庫(kù)上面執(zhí)行一遍。
2020年下系統(tǒng)分析師案例分析試題五(Web應(yīng)用系統(tǒng))
閱讀以下關(guān)于Web應(yīng)用系統(tǒng)的敘述,在答題紙上回答問(wèn)題1至問(wèn)題3。
【說(shuō)明】
某公司擬開(kāi)發(fā)個(gè)基于O2O (Onine To Ofline)外賣(mài)配送模式的外賣(mài)平臺(tái)。該外賣(mài)平臺(tái)采用自行建立的配送體系承接餐飲商家配送訂單,收取費(fèi)用,提供配送服務(wù)。餐飲商家在該O2O外賣(mài)平臺(tái)發(fā)布配送訂單后,根據(jù)餐飲商家、訂餐用戶(hù)、外賣(mài)配送員位置等信息,以騎手搶單、平臺(tái)派單等多種方式為訂單找到匹配的外賣(mài)配送員,完成配送環(huán)節(jié),形成線(xiàn)上線(xiàn)下的O2O閉環(huán)。
基于項(xiàng)目需求,該公司多次召開(kāi)項(xiàng)目研發(fā)討論會(huì)。會(huì)議上,張工分析了O2O外賣(mài)平臺(tái)配送服務(wù)的業(yè)務(wù)流程,提出應(yīng)采用事件系統(tǒng)架構(gòu)風(fēng)格實(shí)現(xiàn)訂單配送,并建議采用基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式的事件派遣機(jī)制。
【問(wèn)題1】 (10分)
基于對(duì)O2O外賣(mài)平臺(tái)配送服務(wù)的業(yè)務(wù)流程分析,在圖51的空(1) ~ (5)處完善020外賣(mài)平臺(tái)配送的服務(wù)流程。
【問(wèn)題2】 (9分)
根據(jù)張工的建議,該系統(tǒng)采用事件系統(tǒng)架構(gòu)風(fēng)格實(shí)現(xiàn)訂單配送服務(wù)。請(qǐng)基于對(duì)事件系統(tǒng)架構(gòu)風(fēng)格的了解,補(bǔ)充圖52的空(1) ~ (3) 處,完成事件系統(tǒng)的工作原理圖。
【問(wèn)題3】 (6分)
請(qǐng)用200字以?xún)?nèi)的文字說(shuō)明基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式的定義,并簡(jiǎn)要分析張工建議該系統(tǒng)采用基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式的事件派遣機(jī)制的原因。
【問(wèn)題1我的解答】
1)作成訂單/發(fā)布訂單
2)通知商家
3)配送平臺(tái)
4)完成配送(關(guān)閉訂單)
5)外賣(mài)配送員
【問(wèn)題1標(biāo)準(zhǔn)答案】
1)提交訂單
2)發(fā)布訂單
3)外賣(mài)平臺(tái)
4)交付餐品
5)配送員
【問(wèn)題2我的解答】
1)配送的訂單
2)事件消息隊(duì)列
3)外賣(mài)配送員
【問(wèn)題2標(biāo)準(zhǔn)答案】
1)事件源
2)事件管理器
3)事件處理器
【問(wèn)題3我的解答】
在項(xiàng)目需求中有這樣的描述:根據(jù)餐飲商家、訂餐用戶(hù)、外賣(mài)配送員位置等信息,以騎手搶單、平臺(tái)派單等多種方式為訂單找到匹配的外賣(mài)配送員。基于消息的定對(duì)點(diǎn)模式可以很好的支持該需求。
也就是說(shuō)訂單由誰(shuí)來(lái)派送不是事先定好的,而是會(huì)根據(jù)位置情況找到最合適配送的外賣(mài)員,或者由配送員自己搶單。
【問(wèn)題3標(biāo)準(zhǔn)答案】
在基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式中,消息生產(chǎn)者生產(chǎn)消息并發(fā)送到消息隊(duì)列中,然后消息消費(fèi)者從消息隊(duì)列中取出并且消費(fèi)消息。消息被消費(fèi)之后,在消息隊(duì)列中就不再存儲(chǔ),所以消息消費(fèi)者不可能消費(fèi)到已經(jīng)被消費(fèi)的信息,隊(duì)列支持存在多個(gè)消費(fèi)者,但是對(duì)一個(gè)消息而言,只有一個(gè)消費(fèi)者可以消費(fèi)它。
任何一個(gè)外賣(mài)配送訂單都只能被一個(gè)配送員也就是消費(fèi)者接單,所以應(yīng)該采用基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式。
【試題解析】
根據(jù)題干“餐飲商家在該O2O外賣(mài)平臺(tái)發(fā)布配送訂單后,根據(jù)餐飲商家、訂餐用戶(hù)、外賣(mài)配送員位置等信息,以騎手搶單、平臺(tái)派單等多種方式為訂單找到匹配的外賣(mài)配送員,完成配送環(huán)節(jié),形成線(xiàn)上線(xiàn)下的O2O閉環(huán)。”可知第二空應(yīng)該為(2)發(fā)布訂單,第五空應(yīng)該為(5)配送員,第三空應(yīng)該為(3)外賣(mài)平臺(tái)。訂餐用戶(hù)應(yīng)該先提交訂單給外賣(mài)平臺(tái),外賣(mài)平臺(tái)才能發(fā)布配送訂單,所以第一空應(yīng)該為(1)提交訂單。配送員配送外賣(mài)到送餐地址之后應(yīng)該通知用戶(hù)取餐并把餐品交付給用戶(hù),所以第四空應(yīng)該為(4)交付餐品。
事件:能夠激活對(duì)象功能的動(dòng)作,當(dāng)發(fā)生動(dòng)作后會(huì)給所涉及對(duì)象發(fā)送一條消息,對(duì)象便可執(zhí)行相應(yīng)的功能。事件源負(fù)責(zé)廣播一些事件,系統(tǒng)中的其他處理器在事件管理器中注冊(cè)自己感興趣的事件,并將自己的過(guò)程與某個(gè)事件相關(guān)聯(lián),事件管理器通過(guò)注冊(cè)調(diào)用相關(guān)的處理器。
問(wèn)題2
事件驅(qū)動(dòng)過(guò)程:事件源,事件管理器,事件處理器,由事件源發(fā)表事件,由事件管理器來(lái)決定分派事件給事件處理器來(lái)處理。所以(1)應(yīng)該為事件源,事件源發(fā)表事件。(2)(3)應(yīng)該分別為事件管理器和事件處理器,由事件管理器來(lái)決定分派事件給事件處理器來(lái)處理。
問(wèn)題3:
消息隊(duì)列包括兩種模式,點(diǎn)對(duì)點(diǎn)模式(point to point,queue)和發(fā)布/訂閱模式(publish/subscribe,topic)
點(diǎn)對(duì)點(diǎn)模式下包括三個(gè)角色:
消息隊(duì)列
發(fā)送者 (生產(chǎn)者)
接收者(消費(fèi)者)
消息發(fā)送者生產(chǎn)消息發(fā)送到 queue 中,然后消息接收者從queue 中取出并且消費(fèi)消息。消息被消費(fèi)以后,queue 中不再有存儲(chǔ),所以消息接收者不可能消費(fèi)到已經(jīng)被消費(fèi)的消息。
點(diǎn)對(duì)點(diǎn)模式特點(diǎn):
(1)每個(gè)消息只有一個(gè)接收者(Consumer)(即一旦被消費(fèi),消息就不再在消息隊(duì)列中);
(2)送者和接發(fā)收者間沒(méi)有依賴(lài)性,發(fā)送者發(fā)送消息之后,不管有沒(méi)有接收者在運(yùn)行,都不會(huì)影響到發(fā)送者下次發(fā)送消息;
(3)接收者在成功接收消息之后需向隊(duì)列應(yīng)答成功,以便消息隊(duì)列刪除當(dāng)前接收的消息;
發(fā)布/訂閱模式下包括三個(gè)角色:
角色主題(Topic)
發(fā)布者(Publisher)
訂閱者(Subscriber)
發(fā)布者將消息發(fā)送到 Topic,系統(tǒng)將這些消息傳遞給多個(gè)訂閱者。
發(fā)布/訂閱模式特點(diǎn):
(1)每個(gè)消息可以有多個(gè)訂閱者;
(2)發(fā)布者和訂閱者之間有時(shí)間上的依賴(lài)性。針對(duì)某個(gè)主題(Topic)的訂閱者,它必須創(chuàng)建一個(gè)訂閱者之后,才能消費(fèi)發(fā)布者的消息。
(3)為了消費(fèi)消息,訂閱者需要提前訂閱該角色主題,并保持在線(xiàn)運(yùn)行;
因?yàn)槿魏我粋€(gè)外賣(mài)配送訂單(消息)都只能被一個(gè)配送員(消費(fèi)者)接單,而不是每個(gè)消息可以有多個(gè)訂閱者,所以,應(yīng)該采用基于消息隊(duì)列的點(diǎn)對(duì)點(diǎn)模式
總結(jié)
以上是生活随笔為你收集整理的【系统分析师之路】2020年下系统分析师案例分析真题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 搜狗输入法繁简体切换
- 下一篇: Kafka SASL/SCRAM+ACL