2018年上半年軟件設計師下午卷試題及答案解析_第1頁
2018年上半年軟件設計師下午卷試題及答案解析_第2頁
2018年上半年軟件設計師下午卷試題及答案解析_第3頁
免費預覽已結束,剩余17頁可下載查看

下載本文檔

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

文檔簡介

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

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

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

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

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

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

7、【說明】某 ETC ( Electronic Toll Collection,不停車收費)系統在高速公路沿線的特定位置上設置一個橫跨道路上空的龍門架( Toll gantry ),龍門架下包括 6 條車道 ( Trafic lanes ),每條車道上安裝有雷達傳感器( Radar sensor )、無線傳輸器 ( Radio transceiver)和數碼相機( Digital Camera )等用于不停車收費的設備,以完成正常行駛速度下的收費工作。該系統的基本工作過程如下:(1 )每輛汽車上安裝有車載器,駕駛員( Driver )將一張具有唯一識別碼的磁卡插 入車載器中。磁卡中還包含有駕駛員

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

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

10、 中 UI U5 所對應的用例名稱 問題 3 】( 6 分)根據說明中的描述,給出圖 32 中 C1C6 所對應的類名。試題四(共 15 分)閱讀下列說明和 C 代碼,回答問題 1 和問題 2 ,將解答填入答題紙的對應欄內。【說明】某公司購買長鋼條,將其切割后進行出售。切割鋼條的成本可以忽略不計,鋼條的長 度 為整英寸。已知價格表 P,其中中 Pi(i1,2,.,m )表示長度為 i 英寸的鋼條的價 格。現要求解使銷售收益最大的切割方案。求解此切割方案的算法基本思想如下:假設長鋼條的長度為 n 英寸,最佳切割方案的最左邊切割段長度為 i 英寸,則繼續求解 剩余長度為 ni 英寸鋼條的最佳切割方

11、案。考慮所有可能的 i ,得到的最大收益 rn 對應的 切割方案即為最佳切割方案。 rn 的遞歸定義如下:rn =max 1 i (pni +r n-i )對此遞歸式,給出自頂向下和自底向上兩種實現方式【C 代碼】/* 常量和變量說明n:長鋼條的長度P :價格數組*/#define LEN 100int Top Down Cut_Rod(int P ,int n) /* 自頂向下 * Int r=0Int 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 ;re

12、turn r ;自底向上 */int Bottom_Up_Cut_Road(int 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) 模式的意圖是將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。圖 5-1 所示為其類圖【 C+ 代 碼 】 #include #include using namespace std;class Product private:string partA, partB;public:Product() void setPartA(

14、const string&s) PartA=s;void setPartB(const string&s) PartB=s; 其余代碼省略;classBuilder public:(1);virtual void buildPartB()=0;(2);class ConcreteBuilder1: publicBuilder private:Product* product;public:ConcreteBuilder1()product=new Product(); void buildPartA()(3 ) (Component A);void buildPartB()( 4 )(Comp

15、onent 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()Director* director1=new Director(new ConcreteBuilder1();directorl-c

16、onstruct();delete director 1;return 0;試題六 ( 共 15 分)閱讀下列說明和 Java 代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內【說明】生成器 ( Builder) 模式的意圖是將一個復雜對象的構建與它的表示分離 可以創建不同的表示。圖 6-1 所示為其類圖。,使得同樣的構建過程【 Java 代碼】 import java.util.*;class Product private String part A;private String part B;public Product()public void setPartA(String s)

17、 partA=s;public void setPartB(String s) partB=s; interface Builderpublic (1);public void buildPartB();public (2);class ConcreteBuilder1: implements Builderprivate Product product;public ConcreteBuilder1()product=new Product(); public void buildPartA()( 3 )(Component A);public void buildPartB()(4 )(C

18、omponent B);public Product getResult() return product;class ConcreteBuilder2 implements Builder代碼省略class Director private Builder builder;public Director(Builder builder)this.builder=builder;public void construct()(5)代碼省略class Testpublic static void main(Stringargs)Director director1=new Director(ne

19、w ConcreteBuilder1(); directorl.construct();2018 年上半年 (軟設 )下午題答案及解析試題一、問題 1:E1:客戶E2: 醫生 E3:主管問題 2:D1:通用信息表D2:預約表D3:醫生表D4:出診時間表D5:藥品庫存表問題 3:數據流名稱起點終點刪除解聘醫生的出診安排P2D4查詢相關藥品庫存信息P4D2更新預約表中治療信息D5P4更新所約醫生出診時間P3D4問題 4:預約處理分解為:安排出診、創建預約、提交預約請求、發送預約通知。即保持父圖與子圖之間的平衡:父圖中某個加工的輸入輸出數據流必須與其子圖的輸入輸 出數據流在數量上和名字上相同。父圖的

20、一個輸入(或輸出)數據流對應于子圖中幾個輸 入(或輸出)數據流,而子圖中組成的這些數據流的數據項全體正好是父圖中的這一個數 據流。試題二、問題 1:商品訂單訂*單顧客問題 4:代購員問題 4:問題 2:(a) 商品條碼,顧客編號(b) 訂單 ID,商品條碼配送員問題 3:員工配送員商品顧客地址型新增為一1:個*弱;實弱體實顧體客用地雙址矩,型新增一個聯系 客戶收貨地址,聯連接顧客實體和顧客地址類運送關系模式增加該訂單收貨地址試題三、問題 1:A1: Central system 或中心系統A2:Driver 或駕駛員A3: Regional center 或區域系統A4: Traffic ad

21、vice center 或交通廣播電臺其中 A3、A4 可以互換問題 2:U1:U2:Underpaid transactionRecord Illegal useU3:Create transactionU4:Record traffic eventU5:Charge card其中 U1 、U2 可以互換,用例名稱必須為英文,因為表中的漢字是對用例的說明 問題 3:C1:Center systemC2:C3:C4:C5:Traffic eventsToll gantryRadar sensor Radio transceiverC6: Digital Camera 其中 C4、C5、C6 可以互換 【解析】問題 1:首先要識別出參與者,是人或組織。題干中表示參與者的有:駕駛員、區域系統、 中心系統、交通廣播電臺。由問題 2 得出 A1 為中心系統。問題 2:填寫用例,要先找到突破口,本題有兩個突破口,一個是U1、U2 是 U3 的擴展,而所給定的用例名稱中,只有記錄透支帳戶交易信息和記錄失敗交易信息,是記錄收費交 易的擴展。二個是有一個孤立的用例,從題干中可知為記錄交通事件,再加上問題 1 中的 參與者,可以推出完整的用例圖。問題 3:先從 C4、 C5、C6 與 C3 的一個多組合關系。題干

溫馨提示

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

評論

0/150

提交評論