2018年上半年軟件設計師下午卷試題及答案解析_第1頁
2018年上半年軟件設計師下午卷試題及答案解析_第2頁
2018年上半年軟件設計師下午卷試題及答案解析_第3頁
2018年上半年軟件設計師下午卷試題及答案解析_第4頁
2018年上半年軟件設計師下午卷試題及答案解析_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、2018 年上半年軟件設師 綜合技能 試題一(共 15 分) 閱讀下列說明,將解答填入題紙的對應欄內。 【說明】 某醫(yī)療護理機構為老年人或有護理需求者提供專業(yè)護理,現欲開發(fā)一基于 web 的醫(yī)療管理系統(tǒng),以改善醫(yī)療護理效,該系統(tǒng)的主要要功能如下: (1)通用信息查詢,客廣提交通用信息查詢請求,意而通用信表表,返回查詢結果 (2)醫(yī)生聘用。醫(yī)生提出成職中申,交由去前行用事事,更新醫(yī)生表,并給醫(yī)生反聘用解聘結果:聊除解聘醫(yī)生的出診發(fā)排 (3)預約處理。醫(yī)生安排出診時向間,存入醫(yī)生出診時間表,根據客戶提交的預約查詢請求,查在職醫(yī)生及其出診時間等約所需數據并返同問:創(chuàng)建預約,提交預約請求, 在在預約表

2、中新增預約記錄,更新所約醫(yī)生出診時間并給醫(yī)生發(fā)送約通知給客戶反饋預約結果。 (4)藥品管理。醫(yī)生提交處方,根據藥品名稱從藥品數據中查詢相關藥品庫存信息開出藥品,更新對應藥品的庫存以及預約表中的治療信息;給醫(yī)生發(fā)送“藥品已開出”反饋。 (5)報表創(chuàng)建。根據主管提交的報表查詢請求(報表類型和時間段),從預的數、通用信息、藥品庫存數據、醫(yī)生以及醫(yī)生出診時間中進行查詢,生成報表返回給主管. 現采用結構化方法對醫(yī)療管理系統(tǒng)進行分析與設計,獲得如圖 11 所示的上下文數據流圖和圖 12 所示的 0 層數據流圖。 18 / 19 【問題 1】(3 分) 使用說明中的詞語,給出圖 11 中的實體 e1e3 的

3、名稱。 【問題 2】(5 分) 使用說明中的詞語,給出圖 12 中的數據存儲 d1d5 的名稱。 【問題 3)(4 分) 使用說明和圖中術語,補充圖 12 中缺失的數據流及其起點和終點。 【問題 4】(3 分) 使用說明中的詞語,說明“預約處理”可以分解為哪些子加工,并說明建模圖 11和圖 12 是如何保持數據流圖平衡。 試題二(共 15 分) 閱讀下列說明,回答問題 1 至問題 3,將解答填入答題紙的對應欄內。 【說明】 某海外代購公司為擴展公司業(yè)務,需要開發(fā)一個信息化管理系統(tǒng)。請根據公司現有業(yè)務及需求完成該系統(tǒng)的數據庫設計。 【需求描述】 (1)記錄公司員工信息。員工信息包括工號、身份證號

4、、姓名、性別和一個手機號, 工號唯一標識每位員工,員工分為代購員和配送員。 (2)記錄采購的商品信息。商品信息包括商品名稱、所在超市名稱、采購價格、銷售價格和商品介紹,系統(tǒng)內部用商品條碼唯一標識每種商品。一種商品只在一家超市代購。 (3)記錄顧客信息。顧客信息包括顧客真實姓名、身份證號(清關繳稅用)、一個手機號和一個收貨地址,系統(tǒng)自動生成唯一的顧客編號。 (4)記錄托運公司信息。托運公司信息包括托運公司名稱、電話和和地址,系統(tǒng)自動生成唯一的托運公司編號。 (5)顧客登錄系統(tǒng)之后,可以下訂單購買商品。訂單支付成功后,系統(tǒng)記錄唯一的支付憑證編號,顧客需要在訂單里指定運送方式:空運或海運。 (6)代

5、購員根據顧客的訂單在超市采購對應商品,一份訂單所含的多個商品可能由多名代購員從不同超市采購。 (7)采購完的商品交由配送員根據顧客訂單組合裝箱,然后交給托運公司運送。托運公司按顧客訂單核對商品名稱和數量,然后按顧客的地址進行運送。 【概念模型設計】 根據需求階段收集的信息,設計的實體聯系圖(不完整)如圖 21 所示。 【邏輯結構設計】 據概念模型設計階段完成的實體聯系圖,得出如下關系模式(不完整): 員工(工號,身份證號,姓名,性別,手機號) 商品(條碼,商品名稱,所在超市名稱,采購價格,銷售價格,商品介紹) 顧客(編號,姓名,身份證號,手機號,收貨地址) 托運公司司(托運公司編號,托運公司名

6、稱,電話,地址) 訂單(訂單 id,(a),商品數量,運送方式,支付憑證編號) 代購(代購 id,代購員工號,(b) 運送(運送 d,配送員工號,托運公司編,訂單 d,發(fā)運時間) 【問題 1】(3 分) 根據問題描述,補充圖 21 的實體聯系圖。 【問題 2】(6 分) 補充邏輯結構設計結果中的(a)、(b)兩處空缺。 【問題 3】(6 分) 為方便顧客,允許顧客在系統(tǒng)中保存多組收貨地址。請根據此需求,增加“顧客地址” 弱實體,對圖 21 進行補充,并修改“運送”關系模式。 試題三(共 15 分) 閱讀下列說明,回答問題 1 至問題 3,將解答填入答題紙的對應欄內。 【說明】 某 etc( e

7、lectronic toll collection,不停車收費)系統(tǒng)在高速公路沿線的特定位置上設置一個橫跨道路上空的龍門架( toll gantry),龍門架下包括 6 條車道( trafic lanes),每條車道上安裝有雷達傳感器( radar sensor)、無線傳輸器( radio transceiver)和數碼相機( digital camera)等用于不停車收費的設備,以完成正常行駛速度下的收費工作。該系統(tǒng)的基本工作過程如下: (1)每輛汽車上安裝有車載器,駕駛員( driver)將一張具有唯一識別碼的磁卡插入車載器中。磁卡中還包含有駕駛員賬戶的當前信用記錄。 (2)當汽車通過某條

8、車道時,不停車收費設備識別車載器內的特有編碼,判斷車型, 將收集到的相關信息發(fā)送到該路段所屬的區(qū)域系統(tǒng)( regional center)中,計算通行費用創(chuàng)建收費交易( transaction),從駕駛員的專用賬戶中扣除通行費用。如果駕駛員賬戶透支,則記錄透支賬戶交易信息。區(qū)域系統(tǒng)再將交易后的賬戶信息發(fā)送到維護駕駛員賬 戶信息的中心系統(tǒng)( central system) (3)車載器中的磁卡可以使用郵局的付款機進行充值。充值信息會傳送至中心系統(tǒng), 以更新駕駛員賬戶的余額。 (4)當沒有安裝車載器或者車載器發(fā)生故障的車輛通過車道時,車道上的數碼相機將對車輛進行拍照,并將車輛照片及拍攝時間發(fā)送到區(qū)

9、域系統(tǒng),記錄失敗的交易信息;并將該交易信息發(fā)送到中心系統(tǒng)。 (5)區(qū)域系統(tǒng)會獲取不停車收費設備所記錄的交通事件( traffic events);交通廣播電臺( traffic advice center)根據這些交通事件進行路況分析并播報路況。 現采用面向對象方法對上述系統(tǒng)進行分析與設計,得到如表 31 所示的用例列表以及如圖 31 所示的用例圖和圖 32 所示的分析類圖。 【問題 1】(4 分) 根據說明中的描述,給出圖 31 中 a1a4 所對應的參與者名稱。 【問題 2)(5 分) 根據說明中的描述及表 31,給出圖 31 中 uiu5 所對應的用例名稱。 【問題 3】(6 分) 根據

10、說明中的描述,給出圖 32 中 c1c6 所對應的類名。 試題四(共 15 分) 閱讀下列說明和 c 代碼,回答問題 1 和問題 2,將解答填入答題紙的對應欄內。 【說明】 某公司購買長鋼條,將其切割后進行出售。切割鋼條的成本可以忽略不計,鋼條的長度為整英寸。已知價格表 p,其中中 pi(i1,2,.,m)表示長度為 i 英寸的鋼條的價格?,F要求解使銷售收益最大的切割方案。 求解此切割方案的算法基本思想如下: 假設長鋼條的長度為 n 英寸,最佳切割方案的最左邊切割段長度為 i 英寸,則繼續(xù)求解剩余長度為 ni 英寸鋼條的最佳切割方案??紤]所有可能的 i,得到的最大收益 rn 對應的切割方案即為

11、最佳切割方案。rn 的遞歸定義如下: rn =max1 i n(pi +rn-i) 對此遞歸式,給出自頂向下和自底向上兩種實現方式 【c 代碼】 /*常量和變量說明 n:長鋼條的長度 p:價格數組 */ #define len 100 int topdown cut_rod(int p,int n)/*自頂向下* int r=0 int i; if(n=0) retum 0; for(i=1;(1);i+) int tmp=pi+top_down_ cut_rod(p,n-i) r=(r>=tmp)?r:tmp; return r; int bottom_up_cut_road(int

12、p,int n) /*自底向上*/ int rlen=0; int temp=0; int i,j; for(j=1;j<=n;j+) temp=0; for(i=l;(2);i+) temp=(3); (4) return rn; 【問題 1】(8 分) 根據說明,填充 c 代碼中的空(1)(4)。 【問題 2】(7 分) 根據說明和 c 代碼,算法采用的設計練略為(5)。 求解時,自頂向下方法的時間復雜度為(6);自底向上方法的時間復雜度為(7)(用 o 表示)。 從下列的 2 道試題(試題五至試題六)中任選 1 道解答。請在答題紙上的指定位置處將所選擇試題的題號框涂黑。若多涂或者未

13、涂題號框,則對題號最小的一道試題進行評分。 試題五(共 15 分) 閱讀下列說明和 c+代碼,將應填入(n)處的字句寫在答題紙的對應欄內。 【說明】 生成器( builder)模式的意圖是將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。圖 5-1 所示為其類圖。 【 c+ 代 碼 】 #include <iostream> #include <string> using namespace std; class product private: string parta, partb; public: product() void setpar

14、ta(const string&s) parta=s; void setpartb(const string&s) partb=s; 其余代碼省略 ; class builder public: (1); virtual void buildpartb()=0; (2); ; class concretebuilder1: public builder private: product* product; public: concretebuilder1()product=new product(); void buildparta() (3)("component

15、a"); void buildpartb() (4)("component b"); product*getresult() return product; 其余代碼省略 ; class concretebuilder2: public builder /*代碼省略*/ ; class director private: builder* builder; public: director(builder*pbuilder)builder*pbuilder; void construct() (5) 其余代碼省略 其余代碼省略 ; int main() direc

16、tor* director1=new director(new concretebuilder1(); directorl->construct(); delete director 1; return 0; 試題六(共 15 分) 閱讀下列說明和 java 代碼,將應填入(n)處的字句寫在答題紙的對應欄內。 【說明】 生成器( builder)模式的意圖是將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創(chuàng)建不同的表示。圖 6-1 所示為其類圖。 【java 代碼】 import java.util.*; class product private string part a;

17、 private string part b; public product() public void setparta(string s) parta=s; public void setpartb(string s) partb=s; interface builder public (1); public void buildpartb(); public (2); class concretebuilder1: implements builder private product product; public concretebuilder1()product=new produc

18、t(); public void buildparta() (3)("component a"); public void buildpartb() (4)("component b"); public product getresult() return product; class concretebuilder2 implements builder 代碼省略 class director private builder builder; public director(builder builder)this.builder=builder; p

19、ublic void construct() (5) 代碼省略 class test public static void main(stringargs) director director1=new director(new concretebuilder1(); directorl.construct(); 2018 年上半年(軟設)下午題答案及解析試題一、問題 1:e1:客戶e2:醫(yī)生e3:主管問題 2:d1:通用信息表d2:預約表d3:醫(yī)生表d4:出診時間表d5:藥品庫存表問題 3:數據流名稱起點終點刪除解聘醫(yī)生的出診安排p2d4查詢相關藥品庫存信息p4d2更新預約表中治療信息d5p

20、4更新所約醫(yī)生出診時間p3d4問題 4:預約處理分解為:安排出診、創(chuàng)建預約、提交預約請求、發(fā)送預約通知。即保持父圖與子圖之間的平衡:父圖中某個加工的輸入輸出數據流必須與其子圖的輸入輸出數據流在數量上和名字上相同。父圖的一個輸入(或輸出)數據流對應于子圖中幾個輸入(或輸出)數據流,而子圖中組成的這些數據流的數據項全體正好是父圖中的這一個數據流。試題二、問題 1:代購員 配送員 問題 2:(a) 商品條碼,顧客編號(b) 訂單 id,商品條碼問題 3:代購員 配送員 新增一個弱實體顧客地址,新增一個聯系 客戶收貨地址,聯連接顧客實體和顧客地址類型為 1:*;弱實體用雙矩型運送關系模式增加該訂單收貨

21、地址試題三、問題 1:a1:central system 或中心系統(tǒng)a2:driver 或駕駛員a3:regional center 或區(qū)域系統(tǒng)a4:traffic advice center 或交通廣播電臺其中 a3、a4 可以互換問題 2:u1:underpaid transaction u2:record illegal use u3:create transaction u4:record traffic event u5:charge card其中 u1、u2 可以互換,用例名稱必須為英文,因為表中的漢字是對用例的說明。問題 3:c1:center system c2:traffic

22、 events c3:toll gantry c4:radar sensor c5:radio transceiver c6:digital camera其中 c4、c5、c6 可以互換【解析】問題 1:首先要識別出參與者,是人或組織。題干中表示參與者的有:駕駛員、區(qū)域系統(tǒng)、中心系統(tǒng)、交通廣播電臺。由問題 2 得出 a1 為中心系統(tǒng)。問題 2:填寫用例,要先找到突破口,本題有兩個突破口,一個是 u1、u2 是 u3 的擴展, 而所給定的用例名稱中,只有記錄透支帳戶交易信息和記錄失敗交易信息,是記錄收費交易的擴展。二個是有一個孤立的用例,從題干中可知為記錄交通事件,再加上問題 1 中的參與者,可以推出完整的用例圖。問題 3:先從 c4、c5、c6 與 c3 的一個多組合關系。題干中只有龍門架由三個部分組成。c1 與 regional center 對應關系是 1 個對

溫馨提示

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

評論

0/150

提交評論