- 系統分析師歷年真題解析(第2版)
- 薛大龍
- 5739字
- 2020-06-08 18:01:18
2019年系統分析師下午試題Ⅰ分析與解答
試題一(25分)
閱讀以下關于軟件系統分析的敘述,在答題紙上回答問題1至問題3。
說明
某軟件企業為電信公司開發了一套網上營業廳系統,以提升服務的質量和效率。項目組經過分析,列出了項目開發過程中的主要任務、持續時間和所依賴的前置任務,如表1-1所示。在此基礎上,繪制了項目P—E—R—T圖,簡稱PERT圖。
表1-1 網上營業廳系統PERT圖

【問題 1】(10分)
PERT圖采用網絡圖來描述一個項目的任務網絡,不僅可以表達子任務的計劃安排,還可以在任務計劃執行過程中估計任務完成的情況。針對表1-2中關于PERT圖中關鍵路徑的描述(1)~(5),判斷對PERT圖的特點描述是否正確,并說明原因。
表1-2 PERT圖特點描述

參考答案
(1)正確。關鍵路徑是項目中持續時間最長的活動順序,關鍵路徑決定了項目完成的最短工期。
(2)錯誤。關鍵路徑可以有一條或者多條。
(3)錯誤。在項目執行過程中,如果非關鍵路徑上的活動拖延到超過其松弛時間(總時差)時,關鍵路徑就會發生變化。
(4)正確。關鍵路徑越多說明項目的關鍵工作也就越多,而關鍵工作不允許拖延,因此項目會變得更加復雜。
(5)正確。關鍵路徑上的任務不能延遲,延遲會導致項目工期延長。工期延長會導致項目進度、成本、范圍等的變更。
【問題 2】(5分)
根據表1-1所示任務及其各項任務之間的依賴關系,計算對應PERT圖中的關鍵路徑及項目所需工期。
參考答案
畫出本題的PERT圖如下。

根據PERT圖,可以看出路徑ABCEGHI為最長路徑,是本題的唯一關鍵路徑,總工期為25周。
【問題3】(10分)
根據表1-1所示任務及其各項任務之間的依賴關系,分別計算對應PERT圖中任務C~G的松弛時間(Slack Time),將答案填入(a)~(e)中的空白處。
參考答案
每個活動的松弛時間為“最晚開始時間-最早開始時間”或“最晚結束時間-最早結束時間”。
其中最早時間可以采用“正推法”。根據【問題2】所畫的PERT圖,從起始節點順著箭頭方向,求出每個活動的最早時間。
最晚時間采用“逆推法”。從終止節點逆著箭頭方向,求出每個活動的最晚時間。處于關鍵路徑上的活動,其松弛時間為0,不難計算其余各活動的松弛時間。具體結果詳見【問題2】答案部分。
試題二(25分)
閱讀以下關于基于MDA(Model Driven Architecture)的軟件開發過程的敘述,在答題紙上回答問題1至問題3。
說明
某公司擬開發一套手機通信錄管理軟件,實現對手機中聯系人的組織與管理。公司系統分析師王工首先進行了需求分析,得到的系統需求列舉如下:
用戶可通過查詢接口查找聯系人,軟件以列表的方式將查找到的聯系人顯示在屏幕上。顯示信息包括姓名、照片和電話號碼。用戶點擊手機的“后退”按鈕則退出此軟件。點擊聯系人列表進入聯系人詳細信息界面,包括姓名、照片、電話號碼、電子郵箱、地址和公司等信息。為每個電話號碼提供發送短信和撥打電話兩個按鍵實現對應的操作。用戶點擊手機的“后退”按鈕則回到聯系人列表界面。在聯系人詳細信息界面點擊電話號碼對應的發送短信按鍵則進入發送短信界面。界面包括發送對象信息顯示、短信內容輸入和發送按鍵三個功能。用戶點擊發送按鍵則發送短信并返回聯系人詳細信息界面;點擊“后退”按鈕則回到聯系人詳細信息界面。在聯系人詳細信息界面內點擊電話號碼對應的撥打電話按鍵則進入手機的撥打電話界面。在通話結束或掛斷電話后返回聯系人詳細信息界面。
在系統分析與設計階段,公司經過內部討論,一致認為該系統的需求定義明確,建議基于公司現有的軟件開發框架,采用新的基于模型驅動架構的軟件開發方法,將開發人員從大量的重復工作和技術細節中解放出來,使之將主要精力集中在具體的功能或者可用性的設計上。公司任命王工為項目技術負責人,負責項目的開發工作。
【問題1】(7分)
請用300字以內的文字,從可移植性、平臺互操作性、文檔和代碼的一致性三個方面說明基于MDA的軟件開發方法的優勢。
參考答案
在MDA框架中,首先使用平臺無關的建模語言來搭建平臺無關的模型PIM,然后根據特定平臺和實現語言的映射規則,將PIM轉換以生成平臺相關的模型PSM,最終生成應用程序代碼和測試框架。因此MDA方法可移植性比較好。
MDA方法中提供了模型轉換標準,以及對象約束語言,工具廠商可以開發自動化的工具,開發人員只需關注于業務建模,開發PIM。從PIM到最后面向具體技術平臺的可執行的應用程序,都由自動化的MDA工具來解決,很好地實現了平臺互操作性。
在MDA中代碼是由模型生成的,可以保證文檔和代碼的一致性。
【問題2】(8分)
王工經過分析,設計出了一個基于MDA的軟件開發流程,如圖2-1所示。請填寫圖2-1中(1)~(4)處的空白,完成開發流程。

圖2-1 基于MDA的軟件開發流程
參考答案
(1)平臺無關模型(PIM)
(2)UML建模
(3)模型變換(映射)
(4)模型生成源碼
【問題3】(10分)
王工經過需求分析,首先建立了該手機通信錄管理軟件的狀態機模型,如圖2-2所示。請對題干需求進行仔細分析,填寫圖2-2中(1)~(5)處的空白。

圖2-2 手機通信錄管理軟件的狀態機模型
參考答案
(1)點擊“后退”按鈕
(2)聯系人詳細信息界面
(3)點擊“發送給”按鍵或點擊“后退”按鈕
(4)點擊“撥打電話”按鍵
(5)撥打電話界面
試題三(25分)
閱讀以下關于安全攸關嵌入式系統相關技術的描述,在答題紙上回答問題1至問題3。
說明
某公司機電管理系列產品被廣泛應用于飛行器后,現場事故頻繁發生,輕則飛機座艙顯示機電設備工作異常,重則系統預警,切入備份運行。這些事故給航空公司帶來了重大經濟損失。
公司領導非常重視航空公司的問題反饋,責令公司王總帶隊到現場進行故障排查。經過一個多月的排查,故障現象始終未復現,同時,公司實驗室內也在反復出現故障,結果未取得顯著成效,但發現產品存在偶然丟失協議包的現象。隨后,公司領導組織行業專家召開故障分析會。王總在會上對前期故障排查情況進行了說明,指出從外場現象看CCDL協議包丟失是引起系統報警、切換的主要原因。圖3-1給出了機電管理產品的工作原理,機電管理系統主要承擔了對飛行器的剎車、燃油和環控等子系統進行監視與控制,它對飛行器而言是安全攸關系統,因此,從系統結構上采用了雙余度計算機系統。具體工作流程簡要說明如下:
1.機電管理系統由1號計算機和2號計算機組成,雙機互為余度備份;
2.雙機中分別駐留了一個100ms周期的CCDL任務,完成雙機間的交叉對比和實時監控等工作。10ms定時器作為任務的工作頻率;
3.交叉對比協議包包含一組“AA55”報頭、消息長度、數據和校驗碼;
4.2號機將協議包通過422總線發送給1號機(422總線接口芯片有8級緩沖);
5.1號機通過中斷方式將422總線數據接收到大環形緩沖區中(大小為4096 B);
6.100ms的CCDL定時任務將大環形緩沖區的數據以512B為單位拷貝到小環形緩沖區中(大小為512 B);
7.CCDL任務按照協議包格式解析小環形緩沖的數據,如果校驗錯誤,丟棄當前協議包;
8.在協議包格式正確的情況下,進行數據交叉比對,比對正確則輸出;比對不正確,并連續不正確超過門限,則報警。

圖3-1 機電管理系統工作管理圖
【問題1】(12分)
王總匯報時指出,在設計安全攸關系統軟件時,往往不重視安全攸關軟件設計方法,不遵守C語言安全編碼規范,導致程序質量較差,代碼中存在安全隱患。請簡要說明表3-1給出的C語言代碼是C語言安全編碼標準中(如MISARC標準)不允許采用的代碼結構的原因。
表3-1 C語言代碼實例

(續表)

參考答案
(1)不允許。違背(建議)規則6.3:“必須用typedef顯示標識出各數據類型的長度和符號特性,避免直接使用標準的數據類型。如typedef unsigned int unit32_t”。
(2)不允許。違背(建議)規則6.3、(強制)規則15.3“switch語句的最后一個句子應當是default子句”和強制規則15.5“switch語句至少應有一個case子句”。
(3)不允許。違背(建議)規則6.3。
(4)不允許。違背(建議)規則6.3和(強制)規則8.1:“函數應當有原型說明,且原型在函數的定義和調用范圍內都是可見的。”
(5)不允許。違背(建議)規則6.3和(強制)規則12.2 :“表達式的值在標準所允許的任何次序下應該都是相同的。”
(6)不允許。違背(建議)規則6.3和(強制)規則10.3“(unsigned int *)s”是危險的類型轉換。
【問題2】(10分)
請根據自己對圖3-1所示機電管理系統工作原理圖的分析,用300字以內的文字說明本實例中可能存在哪三方面數據傳輸時丟失協議包現象,并簡要說明原因。
參考答案
(1)422總線傳輸速率可達10Mbit/s,4096B緩沖區是環形緩沖區,若數據不斷從2號機發送過來,可能導致未及時處理的數據被覆蓋,造成丟包。
(2)CCDL任務解析小環形緩沖的數據,若校驗錯誤可能會導致丟包。
(3)CCDL任務做協議包文交叉比對時,發現數據不一致,可能會導致丟包。
【問題3】(3分)
針對以上分析出的三種丟包原因,請舉例給出兩種以上的修改丟包bug的可能的方法。
參考答案
方案一:擴展4096B環形緩沖區容量,以減少緩沖區溢出現象。
方案二:將422總線升級為485總線,以提高傳輸可靠性。
試題四(25分)
閱讀以下關于數據管理的敘述,在答題紙上回答問題1至問題3。
說明
某軟件企業開發了一套新聞社交類軟件,提供常見的新聞發布、用戶關注、用戶推薦、新聞點評、新聞推薦、熱點新聞等功能,項目采用MySQL數據庫來存儲業務數據。系統上線后,隨著用戶數量的增加,數據庫服務器的壓力不斷加大。
為此,該企業設立了專門的工作組來解決此問題。張工提出對MySQL數據庫進行擴展,采用讀寫分離,主從復制的策略,好處是程序改動比較小,可以較快完成,后續也可以擴展到MySQL集群,其方案如圖4-1所示。李工認為,該系統的諸多功能并不需要采用關系數據庫,甚至關系數據庫限制了功能的實現,應該采用NoSQL數據庫來替代MySQL,重新構造系統的數據層。而劉工認為張工的方案過于保守,對該系統的某些功能,如關注列表、推薦列表、熱搜榜單等實現困難,且性能提升不大;而李工的方案又太激進,工作量太大,短期無法完成,應盡量綜合二者的優點,采用Key-Value數據庫+MySQL數據庫的混合方案。

圖4-1 張工方案示意圖
經過組內多次討論,該企業最終決定采用劉工提出的方案。
【問題1】(8分)
張工方案中采用了讀寫分離,主從復制策略。其中,讀寫分離設置物理上不同的主/從服務器,讓主服務器負責數據的(a)操作,從服務器負責數據的(b)操作,從而有效減少數據并發操作的(c),但卻帶來了(d)。因此,需要采用主從復制策略保持數據的(e)。
MySQL數據庫中,主/從復制是通過binarylog來實現主/從服務器的數據同步,MySQL數據庫支持的三種復制類型分別是(f)、(g)、(h)。
請將答案填入(a)~(h)處的空白,完成上述描述。
參考答案
(a)寫
(b)讀
(c)延遲
(d)數據不一致
(e)一致性(或同步)
(f)基于SQL語句的復制
(g)基于行的復制
(h)混合模式復制
注:(f)(g)(h)不分次序。
【問題2】(8分)
李工方案中給出了關系數據庫與NoSQL數據庫的比較,如表4-1所示,以此來說明該新聞社交類軟件更適合采用NoSQL數據庫。請完成表4-1中(a)~(d)處的空白。
表4-1 關系數據庫與NoSQL數據庫特征比較

參考答案
(a)弱一致性
(b)非結構化
(c)弱事務性
(d)海量數據
【問題3】(9分)
劉工提出的方案采用了Key-Value數據庫+MySQL數據庫的混合方案,是根據數據的讀寫特點將數據分別部署到不同的數據庫中。但是由于部分數據可能同時存在于兩個數據庫中,因此存在數據同步問題。請用200字以內的文字簡要說明解決該數據同步問題的三種方法。
參考答案
(1)通過定時任務做數據定期同步;
(2)通過觸發器實現數據同步;
(3)通過數據庫插件實現數據同步。
試題五(25分)
閱讀以下關于Web應用系統的敘述,在答題紙上回答問題1至問題3。
說明
某公司因業務需要,擬在短時間內同時完成“小型圖書與音像制品借閱系統”和“大學圖書館管理系統”兩項基于B/S的Web應用系統研發工作。
小型圖書與音像制品借閱系統向某所學校的所有學生提供圖書與音像制品借閱服務。所有學生無須任何費用即可自動成為會員,每人每次最多可借閱5本圖書和3個音像制品。圖書需在1個月之內歸還,音像制品需在1周之內歸還。如未能如期歸還,則取消其借閱其他圖書和音像制品的權限,但無須罰款。學生可通過網絡查詢圖書和音像制品的狀態,但不支持預訂。
大學圖書館管理系統向某所大學的師生提供圖書借閱服務。有多個圖書存儲地點,即多個分館。捜索功能應能查詢所有分館的信息,但所有的分館都處于同一個校園內,不支持館際借閱。本科生和研究生一次可借閱16本書,每本書需在1個月內歸還。教師一次可借閱任意數量的書,每本書需在2個月內歸還,且支持教師預訂圖書。如預訂圖書處于被借出狀態,系統自動向借閱者發送郵件提醒。借閱期限到達前3天,向借閱者發送郵件提醒。超出借閱期限1周,借閱者需繳納罰款2元/天。存在過期未還或罰款待繳納的借閱者無法再借閱其他圖書。圖書館僅向教師和研究生提供雜志借閱服務。
基于上述需求,該公司召開項目研發討論會。會議上,李工建議開發借閱系統產品線,基于產品線完成這兩個Web應用系統的研發工作。張工同意李工的觀點,并提出采用MVP(Model View Presenter)代替MVC的設計模式研發該產品線。
【問題1】(6分)
軟件產品線是提升軟件復用的重要手段,請用300字以內的文字分別簡要描述什么是軟件復用和軟件產品線。
參考答案
軟件復用是將已有軟件的各種有關知識用于建立新的軟件,以縮減軟件開發和維護的花費。
軟件產品線是一個產品集合,這些產品共享一個公共的、可管理的特征集,這個特征集能滿足特定領域的特定需求。軟件產品線是一個十分適合專業開發組織的軟件開發方法,能有效地提高軟件生產率和質量,縮短開發時間,降低總開發成本。
【問題2】(16分)
產品約束是軟件產品線核心資產開發的重要輸入,請從以下已給出的(a)~(k)各項內容中,分別選出產品的相似點和不同點填入表5-1中(1)~(8)處的空白,完成該軟件產品線的產品約束分析。
(a)項目當前狀態;(b)項目操作;(c)預訂策略;(d)會員分類;(e)借閱項目數量;(f)項目的類型和屬性;(g)檢索功能;(h)與支付相關的用戶信息;(i)圖書編號;(j)教師;(k)學生
表5-1 產品約束分析

參考答案
(1)f、i、g
(2)a
(3)b
(4)f、i、g
(5)d、j、k、h
(6)e
(7)c
(8)d、j、k、h
【問題3】(3分)
MVP模式是由MVC模式派生出的一種設計模式。請說明張工建議借閱系統產品線采用MVP模式代替MVC模式的原因。
參考答案
MVP將M與V徹底分離,所有交互均通過P來傳達,有利于軟件構件及架構的復用,有利于修改,可擴展性良好。
- 全國計算機等級考試真題匯編與專用題庫:二級C語言
- 全國職稱計算機考試標準教材與專用題庫:Word 2003中文字處理
- 2020年3月全國計算機等級考試《四級軟件工程》復習全書【核心講義+歷年真題詳解】
- 計算機應用技能實戰:全國計算機等級考試一級MS Office
- 2014年全國計算機等級考試3年真題精解與過關全真訓練題:二級公共基礎知識
- 黑光造型:創意造型設計佳作賞析
- 2020年3月全國計算機等級考試《二級Visual Basic語言程序設計》【教材精講+真題解析】講義與視頻課程【46小時高清視頻】
- 大學計算機應用基礎教程實驗指導
- 全國計算機等級考試真題匯編與專用題庫:二級MS Office高級應用
- 全國計算機等級考試《二級C語言程序設計》專用教材【考綱分析+考點精講+真題演練+強化習題】
- 全國職稱計算機考試標準教材與專用題庫:中文Windows 7操作系統
- 全國計算機等級考試《二級公共基礎知識》【教材精講+真題解析】講義與視頻課程【12小時高清視頻】
- 全國計算機等級考試上機專用題庫與筆試模擬考場:二級Visual Basic
- 2020年3月全國計算機等級考試《四級計算機網絡》復習全書【核心講義+歷年真題詳解】
- 全國計算機等級考試歷年真題與機考題庫:三級網絡技術