2019年下半年(下午)《軟件設(shè)計師》真題
《2019年下半年(下午)《軟件設(shè)計師》真題》由會員分享,可在線閱讀,更多相關(guān)《2019年下半年(下午)《軟件設(shè)計師》真題(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2019年下半年(下午)《軟件設(shè)計師》真題 注意:圖片可根據(jù)實際需要調(diào)整大小 卷面總分:6分 答題時間:240分鐘 試卷題量:6題 練習(xí)次數(shù):0次 問答題 (共6題,共6分) 1.公司擬開發(fā)新入職員工的技能培訓(xùn)管理系統(tǒng)以便使新員工快速勝任新崗位。 1.部門信息包括:部門號、名稱、部門負(fù)責(zé)人、電話等,部門號唯一標(biāo)識部門關(guān)系中的每一個元組,一個部門有多個員工,但一名員工只屬于一個部門,每個部門只有一名負(fù)責(zé)人,負(fù)責(zé)部門工作。 2.員工信息包括員工號、姓名、部門號、崗位、基本工資、電話、家庭住址等,其中員工號
2、是唯一標(biāo)示員工關(guān)系中的每一個元組。崗位有新入職員工,培訓(xùn)師、部門負(fù)責(zé)人等不同崗位設(shè)置不同的基本工資,新入職員工要選擇多門課程進(jìn)行培訓(xùn),并通過考試取得課程成績,一名培訓(xùn)師可以講授多門課程、一門課程可由多名培訓(xùn)師講授。 3.課程信息包括課程號,課程名稱、學(xué)時等;其中課程號唯一標(biāo)識課程關(guān)系的每一個元組。 關(guān)系模式設(shè)計 部門(部門號,部門名,部門負(fù)責(zé)人,電話) 員工(員工號,姓名,部門號,d,電話,家庭住址) 課程(e,課程名稱,學(xué)時) 講授(課程號,培訓(xùn)師,培訓(xùn)地點) 培訓(xùn)(課程號,(f)) 根據(jù)需求階段收集的信息,設(shè)計的實體聯(lián)系圖如圖2-1所示 圖2-1 【問題1】 (1
3、)補(bǔ)充圖2-1中的空(a)-(c)。 (2)圖2-1中是否存在缺失聯(lián)系,若存在,則說明所缺失的聯(lián)系和聯(lián)系類型。 【問題2】 根據(jù)題意,將關(guān)系模式中的空(d)-(f)補(bǔ)充完整。 【問題3】 員工關(guān)系模式的主鍵為(g),外鍵為(h),講授關(guān)系模式的主鍵為(i),外鍵為(j)。 【問題4】 員工關(guān)系是否存在傳遞依賴?用100字以內(nèi)的文字說明理由。 ?收藏查看解析 參考答案: 【問題1】 (1)(a)部門負(fù)責(zé)人;(b)培訓(xùn)師;(c)新入職員工 (2)存在缺失聯(lián)系:員工與部門之間隸屬關(guān)系,聯(lián)系類型*:1。 (或,存在缺失聯(lián)系:部門與員工之間隸屬關(guān)系,聯(lián)系類型1:*)。 【問題
4、2】 (d)崗位,基本工資;(e)課程號;(f)新入職員工/新入職員工工號,課程成績 【問題3】 【問題4】 存在傳遞函數(shù)依賴。 在員工關(guān)系中,員工的崗位有新入職員工,培訓(xùn)師,部門負(fù)責(zé)人,不同崗位設(shè)置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。 正確答案: 本題解析: 【問題1】 (1)(a)部門負(fù)責(zé)人;(b)培訓(xùn)師;(c)新入職員工 (2)存在缺失聯(lián)系:員工與部門之間隸屬關(guān)系,聯(lián)系類型*:1。 (或,存在缺失聯(lián)系:部門與員工之間隸屬關(guān)系,聯(lián)系類型1:*)。
5、【問題2】 (d)崗位,基本工資;(e)課程號;(f)新入職員工/新入職員工工號,課程成績 【問題3】 【問題4】 存在傳遞函數(shù)依賴。 在員工關(guān)系中,員工的崗位有新入職員工,培訓(xùn)師,部門負(fù)責(zé)人,不同崗位設(shè)置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。 【問題1】 (本題預(yù)估分值5分,填空每空1分,聯(lián)系2分) (1)根據(jù)題干描述員工崗位有新入職員工、培訓(xùn)師、部門負(fù)責(zé)人,所以對于員工的特殊化實體有新入職員工、培訓(xùn)師、部門負(fù)責(zé)人,又根據(jù)圖示,(a)與部門之間有負(fù)責(zé)關(guān)系,所以(a)是部門負(fù)責(zé)人,(b)與課程之間有講授關(guān)系,所以(b)為培訓(xùn)師,(c)與課程之間有
6、培訓(xùn)關(guān)系,根據(jù)題干描述新入職員工需要選擇多門課程進(jìn)行培訓(xùn),所以(c)是新入職員工。 (2)根據(jù)題干說明,一個部門有多個員工,但一名員工只屬于一個部門,所以員工與部門之間存在隸屬關(guān)系,并且員工與部門之間聯(lián)系類型為*:1。(或部門與員工之間存在1:*的聯(lián)系)。 【問題2】 (本題預(yù)估分值3分,每空1分) 根據(jù)題干說明“員工信息包括員工號、姓名、部門號、崗位、基本工資、電話、家庭住址等”,員工關(guān)系缺少屬性(d):崗位,基本工資。 根據(jù)題干說明“課程信息包括課程號、課程名稱、學(xué)時等”,課程關(guān)系缺失屬性(e):課程號。 根據(jù)題干說明,培訓(xùn)關(guān)系是新入職員工與課程之間多對多聯(lián)系的轉(zhuǎn)換,所以必須包
7、含二者的主鍵即新入職員工的員工號(員工號唯一標(biāo)識員工關(guān)系中的每一個元組)和課程的課程號(課程號唯一標(biāo)識課程關(guān)系的每一個元組),又根據(jù)說明“新入職員工要選擇多門課程進(jìn)行培訓(xùn),并通過考試取得課程成績”,因此培訓(xùn)還需要有自身的屬性課程成績,即培訓(xùn)關(guān)系缺失屬性(f):新入職員工/新入職員工工號,課程成績。 【問題3】 (本題預(yù)估分值4分,每空1分) 本題考查對主鍵和外鍵的判斷,主鍵可以唯一標(biāo)識元組,外鍵是其他關(guān)系的主鍵。 根據(jù)題干說明“員工號唯一標(biāo)識員工關(guān)系中的每一個元組”,因此員工關(guān)系的主鍵(g)為員工號,又因為“部門號唯一標(biāo)識部門關(guān)系中的每一個元組”,即部門號是部門關(guān)系的主鍵,在員工關(guān)系中
8、,是作為外鍵(h)的。 根據(jù)題干說明和圖示可知,講授關(guān)系是培訓(xùn)師與課程之間多對多的聯(lián)系轉(zhuǎn)換,此時主鍵應(yīng)該是二者的主鍵組合,即主鍵(i)(培訓(xùn)師,課程號),又因為培訓(xùn)師是培訓(xùn)師的主鍵,課程號是課程的主鍵,所以二者又是講授關(guān)系的外鍵(j)。本題由于培訓(xùn)地點是否固定并沒有給出描述,所以無法判斷是否屬于主鍵組合的一部分,因此給出主鍵(i)(培訓(xùn)師,課程號,培訓(xùn)地點)組合鍵也可以得分。 【問題4】 (本題預(yù)估3分,判斷1分,理由2分) 本題存在傳遞函數(shù)依賴。 在員工關(guān)系中,員工的崗位有新入職員工,培訓(xùn)師,部門負(fù)責(zé)人,不同崗位設(shè)置不同的基本工資,即存在傳遞函數(shù)依賴,員工號→崗位,崗位→基本工資。
9、 2.某文件管理系統(tǒng)中定義了類OfficeDoc和DocExplorer。當(dāng)類OfficeDoc發(fā)生變化時,類DocExplorer的所有對象都要更新其自身的狀態(tài)?,F(xiàn)采用觀察者(Observer)設(shè)計模式來實現(xiàn)該需求,所設(shè)計的類圖如圖6-1所示。 正確答案: 本題解析: (1)virtual void update()=0 (2)Observer* (3)(*iter)->update() (4)Subject* (5)Attach(this)
10、 本題考查設(shè)計模式中的觀察者(Observer)模式的基本概念和應(yīng)用。 觀察者模式的意圖是,定義對象間的一種一對多的依賴關(guān)系,當(dāng)一個對象的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。觀察者模式的結(jié)構(gòu)圖如圖5-2所示。 其中: Subject(目標(biāo))知道它的觀察者,可以有任意多個觀察者觀察同一個目標(biāo);提供注冊和刪除觀察者對象的接口。 Observer(觀察者)為那些在目標(biāo)發(fā)生改變時需獲得通知的對象定義一個更新接口。 ConcreteSubject(具體目標(biāo))將有關(guān)狀態(tài)存入各ConcreteObserver對象;當(dāng)它的狀態(tài)發(fā)生改變時,向它的各個觀察者發(fā)出通知。 Co
11、ncreteObserver(具體觀察者)維護(hù)一個指向ConcreteSubject對象的引用;存儲有關(guān)狀態(tài),這些狀態(tài)應(yīng)與目標(biāo)的狀態(tài)保持一致;實現(xiàn)Observer的更新接口,以使自身狀態(tài)與目標(biāo)的狀態(tài)保持一致。 觀察者模式適用于: 當(dāng)一個抽象模型有兩個方面,其中一個方面依賴于另一個方面,將這兩者封裝在獨(dú)立的對象中以使它們可以各自獨(dú)立地改變和復(fù)用。 當(dāng)對一個對象的改變需要同時改變其他對象,而不知道具體有多少對象有待改變時。 當(dāng)一個對象必須通知其他對象,而它又不能假定其他對象是誰,即不希望這些對象是緊耦合的。 本題中的類Subject對應(yīng)于圖6-2中的Subject,類OfficeDoc對
12、應(yīng)ConcreteSubject,類Observer對應(yīng)圖6-2中的Observer,類DocExplore對應(yīng)ConcreteObserver。DocExplore維護(hù)一個指向OfficeDoc對象的引用,當(dāng)OfficeDoc的狀態(tài)發(fā)生改變時,向DocExplore發(fā)出通知。 第(1)空需要填寫Observer中的核心方法,即在目標(biāo)發(fā)生改變時通知觀察者的更新接口。這個方法的原型可以在Obsever的子類DocExplore中找到:void update()。update方法需要在其子類中進(jìn)行重置,這里采用了C++中的動態(tài)多態(tài)計機(jī)制——純虛擬函數(shù)。所以第(1)空應(yīng)填入virtual void
13、 update()=0。 一個Subject可以有多個觀察者,在Subject中需要提供增加和刪除觀察者的接口,即類中的Attach、Detach方法。這兩個方法的主要操作對象就是類中的屬性myObs。根據(jù)程序上下文推斷,myObs表示的應(yīng)該是觀察者的集合,所以第(2)空應(yīng)填入Observer*。 第(3)空出現(xiàn)在Subject的方法Notify中,這個方法的功能是當(dāng)目標(biāo)發(fā)生變化時,通知所有與該目標(biāo)關(guān)聯(lián)的觀察者,即調(diào)用每個觀察者定義的update方法,所以第(3)空應(yīng)填入(*iter)->update()。 DocExplore是一個具體的觀察者,它需要維護(hù)一個指向目標(biāo)的對象,在這里實際
14、上就是指向OfficeDoc的對象。觀察者與目標(biāo)的關(guān)聯(lián)關(guān)系是通過DocExplore的構(gòu)造函數(shù)實現(xiàn)的。在面向?qū)ο蟮睦^承機(jī)制中,通常傾向于用基類指針代替派生類指針,因此第(4)空應(yīng)填入Subject*。 觀察者與目標(biāo)的關(guān)聯(lián)關(guān)系的建立需要調(diào)用Subject中的方法Attach,因此第(5)空應(yīng)填入Attach(this)。 3.某公司欲開發(fā)一款二手車物流系統(tǒng),以有效提升物流成交效率。該系統(tǒng)的主要功能是: (1)訂單管理:系統(tǒng)抓取線索,將車輛交易系統(tǒng)的交易信息抓取為線索。幫買顧問看到有買車線索后,會打電話詢問買家是否需要物流,若需要,幫買顧問就將這個線索發(fā)起為訂單
15、并在系統(tǒng)中存儲,然后系統(tǒng)幫助買家尋找物流商進(jìn)行承運(yùn)。 (2)路線管理:幫買顧問對物流商的路線進(jìn)行管理,存儲的路線信息包括路線類型、物流商、起止地點。路線分為三種,即固定路線、包車路線、競拍體系,其中固定路線和包車路線是合約制。包車路線的發(fā)車時間由公司自行管理,是訂單的首選途徑。 (3)合約管理:幫買顧問根據(jù)公司與物流商確定的合約,對合約內(nèi)容進(jìn)行設(shè)置,合約信息包括物流商信息、路線起止城市、價格、有效期等。 (4)尋找物流商:系統(tǒng)根據(jù)訂單的類型(保賣車、全國購和普通二手車)、起止城市,需要的服務(wù)模式(買家接、送到買家等)進(jìn)行自動派發(fā)或以競拍體系方式選擇合適的物流商。即:有新訂單時,若為保賣車
16、或全國購,則直接分配到競拍體系中。否則,若符合固定路線和/或包車路線,系統(tǒng)自動分配給合約物流商,若不符合固定路線和包車路線,系統(tǒng)將訂單信息分配到競拍體系中。競拍體系接收到訂單后,將訂單信息推送給有相關(guān)路線的物流商,物流商對訂單進(jìn)行競拍出價,最優(yōu)報價的物流商中標(biāo)。最后,給承運(yùn)的物流商發(fā)送物流消息,更新訂單的物流信息,給車輛交易系統(tǒng)發(fā)送物流信息。 (5)物流商注冊:物流商賬號的注冊開通。 現(xiàn)采用結(jié)構(gòu)化方法對二手車物流系統(tǒng)進(jìn)行分析與設(shè)計,獲得如圖1-1所示的上下文數(shù)據(jù)流圖和圖1-2所示的0層數(shù)據(jù)流圖。 【問題1】(3分) 使用說明中的詞語,給出圖1-1中的實體E1~E3的名稱。 【
17、問題2】(5分) 使用說明中的詞語,給出圖1-2中的數(shù)據(jù)存儲D1~D5的名稱。 【問題3】(4分) 根據(jù)說明和圖中術(shù)語,補(bǔ)充圖1-2中缺失的數(shù)據(jù)流及其起點和終點。 【問題4】(3分) 根據(jù)說明,采用結(jié)構(gòu)化語言對“P5:尋找物流商”的加工邏輯進(jìn)行描述。 正確答案: 本題解析: 【問題1】 E1:幫買顧問;E2:車輛交易系統(tǒng);E3:物流商。 【問題2】 D1:線索信息表/線索信息存儲;D2:訂單信息表/訂單信息存儲; D3:路線信息表/路線信息存儲;D4:合約信息表/合約信息存儲; D5
18、:物流商信息表。 【問題3】 【問題4】 【問題1】 本題屬于常規(guī)題型,補(bǔ)充數(shù)據(jù)流圖中的實體名,實體一般為人員、組織機(jī)構(gòu)、第三方系統(tǒng)等。 根據(jù)題干描述,“幫買顧問看到有買車線索后,…”可知接收交易線索的E1對應(yīng)實體應(yīng)該是幫買顧問;根據(jù)題干描述“將車輛交易系統(tǒng)的交易信息抓取為線索”可知提供車輛交易信息的E2對應(yīng)實體應(yīng)該是車輛交易信息;根據(jù)題干描述“物流商注冊:物流商賬號的注冊開通?!笨芍峁┪锪魃套孕畔⒌腅3對應(yīng)實體應(yīng)該是物流商。 【問題2】 本題屬于常規(guī)題型,補(bǔ)充數(shù)據(jù)流圖中的數(shù)據(jù)存儲名,一般對應(yīng)**庫、**表、**檔案等。 根據(jù)題干描述和圖示P1抓取線索后交易線索
19、數(shù)據(jù)流入并且有線索數(shù)據(jù)流出的數(shù)據(jù)存儲,應(yīng)該是線索存儲,即D1為線索信息表(線索信息存儲等)。根據(jù)題干描述“幫買顧問將這個線索發(fā)起為訂單并在系統(tǒng)中存儲”和圖示P2發(fā)起訂單,新訂單數(shù)據(jù)流入的數(shù)據(jù)存儲D2,應(yīng)該是訂單信息表。根據(jù)題干描述和圖示P3路線管理,有路線數(shù)據(jù)流入的數(shù)據(jù)存儲D3應(yīng)該是路線信息表。根據(jù)題干描述和圖示P4合約管理,有合約數(shù)據(jù)流入的數(shù)據(jù)存儲D4應(yīng)該是合約信息表。根據(jù)題干描述和圖示P5、P6,有新物流商數(shù)據(jù)流入、物流商信息數(shù)據(jù)流出的數(shù)據(jù)存儲D5,應(yīng)該是物流商信息表。 【問題3】 本題屬于常規(guī)題型,補(bǔ)充缺失的數(shù)據(jù)流及其起點和終點。 1、根據(jù)父圖-子圖平衡原則,父圖存在E2→二手車物
20、流系統(tǒng)的物流信息數(shù)據(jù)流,子圖不存在,又根據(jù)題干描述:尋找物流商:…,給車輛交易系統(tǒng)發(fā)送物流信息,所以圖1-2缺失數(shù)據(jù)流p5→E2,物流信息。 2、根據(jù)題干描述“系統(tǒng)根據(jù)訂單的類型(保賣車、全國購和普通二手車)、起止城市、…選擇合適的物流商”,P5尋找物流商缺失訂單信息流入。 3、根據(jù)題干描述“若符合固定路線和/或包車路線,系統(tǒng)自動分配給合約物流商,若不符合…”,P5尋找物流商需要依據(jù)固定路線和/或包車路線,還需要根據(jù)合約的有效期等信息判斷是否可以分配,所以需要補(bǔ)充數(shù)據(jù)流路線信息:D3→P5,合約信息:D4→P5。 【問題4】 本題屬于擴(kuò)展題型。結(jié)構(gòu)化語言是一種介于自然語言和形式化語言之
21、間的半形式化語言,是自然語言的一個受限子集。結(jié)構(gòu)化語言沒有嚴(yán)格的語法,通常分為內(nèi)層和外層。外層有嚴(yán)格的語法,內(nèi)層接近于自然語言的描述。 外層用來描述控制結(jié)構(gòu),采用順序、選擇和重復(fù)3種基本結(jié)構(gòu)。順序結(jié)構(gòu)是一組祈使句、選擇語句、重復(fù)語句的順序排列。選擇結(jié)構(gòu)一般用IF-THEN-ENDIF等關(guān)鍵字。重復(fù)結(jié)構(gòu)一般用DO-WHILE-ENDDO等關(guān)鍵字。內(nèi)層一般使用祈使句的自然語言短語。 4.某牙科診所擬開發(fā)一套信息系統(tǒng),用于管理病人的基本信息和就診信息。診所工作人員包括:醫(yī)護(hù)人員(DentalStaff)、接待員(Receptionist)和辦公人員(OfficeSt
22、aff)等。系統(tǒng)主要功能需求描述如下: 1.記錄病人基本信息(Maintainpatientinfo)。初次就診的病人,由接待員將病人基本信息錄入系統(tǒng)。病人基本信息包括病人姓名、身份證號、出生日期、性別、首次就診時間和最后一次就診時間等。每位病人與其醫(yī)保信息(MedicalInsurance)關(guān)聯(lián)。 2.記錄就診信息(Recordofficevisit info)。病人在診所的每一次就診,由接待員將就診信息(OfficeVisit)錄入系統(tǒng)。就診信息包括就診時間、就診費(fèi)用、支付代碼、病人支付費(fèi)用和醫(yī)保支付費(fèi)用等。 3.記錄治療信息(Recorddentalprocedure)。病人在就診
23、時,可能需要接受多項治療,每項治療(Procedure)可能由多位醫(yī)護(hù)人員為其服務(wù)。治療信息包括:治療項目名稱、治療項目描述、治療的牙齒和費(fèi)用等。治療信息由每位參與治療的醫(yī)護(hù)人員分別向系統(tǒng)中錄入。 4.打印發(fā)票(Printinvoices)。發(fā)票(Invoice)由辦公人員打印。發(fā)票分為兩種:給醫(yī)保機(jī)構(gòu)的發(fā)票(InsuranceInvoice)和給病人的發(fā)票(PatientInvoice)。兩種發(fā)票內(nèi)容相同,只是支付的費(fèi)用不同。當(dāng)收到治療費(fèi)用后,辦公人員在系統(tǒng)中更新支付狀態(tài)(Enterpayment)。 5.記錄醫(yī)護(hù)人員信息(Maintaindentalstaff info)。辦公人員將醫(yī)
24、護(hù)人員信息錄入系統(tǒng)。醫(yī)護(hù)人員信息包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等。 6.醫(yī)護(hù)人員可以查詢并打印其參與的治療項目相關(guān)信息(Searchandprintprocedureinfo)。 現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng),得到如圖3-1所示的用例圖和3-2所示的初始類圖。 【問題1】(6分) 根據(jù)說明中的描述,給出圖3-1中A1~A3所對應(yīng)的參與者名稱和U1~U3所對應(yīng)的用例名稱。 【問題2】(5分) 根據(jù)說明中的描述,給出圖3-2中C1~C5所對應(yīng)的類名。 【問題3】(4分) 根據(jù)說明中的描述,給出圖3-2中類C4、C5、Patient和DentalStaff的必要屬性
25、。 正確答案: 本題解析: 【問題1】 A1:Receptionist(按待員) A2:DentalStaff(醫(yī)護(hù)人員) A3:OfficeStaff(辦公人員) U1:Maintainpatientinfo(記錄病人基本信息) U2:Recordofficevisitinfo(記錄就診信息) U3:Print invoices(打印發(fā)票) 【問題2】 C1:Patient Invoice C2:InsuranceInvoice C3:Invoice C4:Procedure
26、C5:OfficeVisit 【問題3】 C4:治療項目名稱、治療項目描述、治療的牙齒和費(fèi)用、Office Visit、Dental Staff C5:病人就診時間和費(fèi)用、支付代碼、病人支付費(fèi)用、醫(yī)保支付費(fèi)用、病人patient Patient:姓名、身份證號、出生日期、性別等 DentalStaff:姓名、職位、身份證號、住址、聯(lián)系電話、職工號 【問題1】 本題屬于常規(guī)考題,考查對參與者和用例名的補(bǔ)充,系統(tǒng)的參與者一般為人員、機(jī)構(gòu)或第三方系統(tǒng)。用例名一般為動詞+名詞或名詞+動詞,是對系統(tǒng)功能的概括和描述。 本題根據(jù)題干說明,參與者即診所工作人員包括:醫(yī)護(hù)人員(DentalSt
27、aff)、按待員(Receptionist)和辦公人員(OfficeStaff)等。 根據(jù)用例圖已有信息,A2使用用例Recorddentalprocedure和Searchandprintprocedureinfo,根據(jù)題干說明記錄治療信息(Recorddentalprocedure)由每位參與治療的醫(yī)護(hù)人員分別錄入,醫(yī)護(hù)人員可以查詢并打印其參與的治療項目相關(guān)信息(Searchandprint procedure info),因此A2為醫(yī)護(hù)人員(DentalStaff)。 根據(jù)用例圖已有信息A3使用用例Maintaindentalstaffinfo和Enterpayment,根據(jù)題干說明
28、記錄醫(yī)護(hù)人員信息(Maintaindentalstaffinfo),由辦公人員錄入系統(tǒng),所以A3為OfficeStaff(辦公人員)。并且根據(jù)題干辦公人員還需要打印發(fā)票(Printinvoices)、更新支付狀態(tài)(Enterpayment),缺失的U3應(yīng)該是打印發(fā)票(Printinvoices)。根據(jù)題干描述A3與U2之間的聯(lián)系沒有意義,不參考。 根據(jù)題干描述和圖示,A1對應(yīng)的參與者應(yīng)該是A1:Receptionist(按待員),接待員需要參與的功能有記錄病人基本信息(Maintainpatientinfo)和記錄就診信息(Recordofficevisitinfo),分別對應(yīng)U1、U2,二
29、者與辦公人員都沒有明確聯(lián)系,位置可以互換。 【問題2】 本題屬于常規(guī)考查題型,補(bǔ)充缺失的類名,常見的實體類類名一般為名詞形式,也會有特殊的邊界類/接口類和協(xié)調(diào)類。需要參照題干描述和類圖中類與類之間的關(guān)系,來確定缺失的類名及其位置。 根據(jù)初始類圖,存在一組泛化關(guān)系,C3是C1、C2的泛化,即C3是C1、C2的父類,根據(jù)題干描述存在這樣泛化關(guān)系的只有發(fā)票(Invoice)、病人發(fā)票(PatientInvoice)、醫(yī)保機(jī)構(gòu)發(fā)票(InsuranceInvoice),又根據(jù)多重度來分析,由于可能存在全自費(fèi)的情況,即醫(yī)保發(fā)票不存在,所以多重度0…*對應(yīng)的C2類名應(yīng)該是醫(yī)保機(jī)構(gòu)發(fā)票(Insuranc
30、eInvoice),C1對應(yīng)的是病人發(fā)票(PatientInvoice),父類C3對應(yīng)的是發(fā)票(Invoice)。 又根據(jù)圖示和題干,與醫(yī)護(hù)人員(DentalStaff)相關(guān)的用例有記錄治療信息(Recorddental procedure)、查詢并打印其參與的治療項目相關(guān)信息(Searchandprintprocedureinfo),其中能夠找到相關(guān)內(nèi)容治療信息procedure,即C4對應(yīng)的是實體類治療信息Procedure,與治療相關(guān)的是就診信息officevisit,即C5對應(yīng)的是實體類就診信息OfficeVisit。 【問題3】 根據(jù)題干描述,“病人基本信息包括病人姓名、身份證
31、號、出生日期、性別、首次就診時間和最后一次就診時間等”,因此Patient的必要屬性包括病人姓名、身份證號、出生日期、性別、首次就診時間和最后一次就診時間。 根據(jù)題干描述,“醫(yī)護(hù)人員信息包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等”,因此Dental Staff的必要屬性包括姓名、職位、身份證號、家庭住址和聯(lián)系電話等。 根據(jù)題干描述,C5:OfficeVisit就診信息包括就診時間、就診費(fèi)用、支付代碼、病人支付費(fèi)用和醫(yī)保支付費(fèi)用等,又因為病人與就診1…*聯(lián)系起來,所以還需要補(bǔ)充屬性病人patient。 根據(jù)題干描述C4:Procedure治療信息包括:治療項目名稱、治療項目描述、治療的
32、牙齒和費(fèi)用等,又因為治療信息與醫(yī)護(hù)人員存在1…*對應(yīng)關(guān)系,與C5就診信息存在1…*對應(yīng)關(guān)系,所以這里還需要補(bǔ)充醫(yī)護(hù)人員DentalStaff、就診信息OfficeVisit。 5.0-1背包問題定義為:給定i個物品的價值v[1…i]、小重量w[1…i]和背包容量T,每個物品裝到背包里或者不裝到背包里。求最優(yōu)的裝包方案,使得所得到的價值最大。 0-1背包問題具有最優(yōu)子結(jié)構(gòu)性質(zhì)。定義c[i][T]為最優(yōu)裝包方案所獲得的最大價值,則可得到如下所示的遞歸式。 【c代碼】 下面是算法的C語言實現(xiàn)。 (1)常量和變量說明 T:背包容量 v[]:價值數(shù)組 w
33、[]:重量數(shù)組 c[][]:c[i][j]表示前i個物品在背包容量為j的情況下最優(yōu)裝包方案所能獲得的最大價值 (2)C程序 【問題1】(8分) 根據(jù)說明和C代碼,填充C代碼中的空(1)-(4)。 【問題2】(4分) 根據(jù)說明和C代碼,算法采用了(5)設(shè)計策略。在求解過程中,采用了(6) (自底向上或者自頂向下)的方式。 【問題3】(3分) 若5項物品的價值數(shù)組和重量數(shù)組分別為v[]={0,1,6,18,22,28}和w[]={0,1,2,5,6,7}背包容量為T=11,則獲得的最大價值為(7)。 正確答案:
34、 本題解析: 【問題1】 (1)c[i][j] (2)i>0&&j>=w[i] (3)Calculate_Max_Value(v,w,i-1,j-w[i])+v[i] (4)c[i][j]=temp 【問題2】 (5)動態(tài)規(guī)劃 (6)自頂向下 【問題3】 (7)40 本題考查的是動態(tài)規(guī)劃法,將中間結(jié)果存在二維數(shù)組c[][]當(dāng)中。 【問題1】 結(jié)合題干描述中的遞歸式,函數(shù)最終返回值應(yīng)該是c[i][T],又根據(jù)代碼上下文,T在函數(shù)中傳參為j,所以第(1)空返回的結(jié)果為c[i][j]。 根據(jù)遞歸式和代碼上下文可知,c[i][j]=0已處理,if
35、后面處理的是max遞歸部分,又根據(jù)上下文可以看到temp會與c[i][j]進(jìn)行比較,遞歸時i=i-1,所以這里判斷的是temp與c[i-1][T]的值,第(3)空的處理是將c[i-1][j-w[i]]+v[i]傳遞給temp,即temp=Calculate_Max_Value(v,w,i-1,j-w[i])+v[i],注意這里不是直接穿c[][]數(shù)組值,而是遞歸調(diào)用Calculate_Max_Value()函數(shù)。那么第(2)空缺失的判斷條件根據(jù)第3個表達(dá)式條件為i>0且T>=w[i],對應(yīng)代碼中的參數(shù)即i>0&&j>=w[i]。 第(4)空是c[i][j]<temp比較后的返回值,根據(jù)題干,
36、我們需要返回max最大值,最終返回的結(jié)果是c[i][j],因此要保證c[i][j]最大,當(dāng)c[i][j]<temp時,將temp賦值給c[i][j],即c[i][j]=temp。 【問題2】 本題采用遞歸形式,并且求取的是全局最優(yōu)解,中間結(jié)果存在二維數(shù)組c[][]當(dāng)中,所以采用的是動態(tài)規(guī)劃法。動態(tài)規(guī)劃法采用遞歸形式,i會從N-1遞減至0,所以是自頂向下的方式。 【問題3】 本題考查最優(yōu)解,可以忽略題干描述,直接湊數(shù),可得第3和第4個物品,重量為11,價值為40,此時為最優(yōu)解,即為最大價值。 6.某文件管理系統(tǒng)中定義了類OfficeDoe和DocExplo
37、rer。當(dāng)類OfficeDoe發(fā)生變化時,類DocExplorer的所有對象都要更新其自身的狀態(tài)。現(xiàn)采用觀察者(Observer)設(shè)計模式來實現(xiàn)該需求,所設(shè)計的類圖如圖6-1所示。 圖6-1 【Java代碼】 正確答案: 本題解析: (1)void update(); (2)Observer; (3)obs.update(); (4)Subject; (5)Attach(this); 本題是對觀察者模式的考查,觀察者模式的意圖是:定義對象間的一種一對多的依賴關(guān)系,當(dāng)一個對象
38、的狀態(tài)發(fā)生改變時,所有依賴于它的對象都得到通知并被自動更新。 本題根據(jù)Observer接口的實現(xiàn)類DocExplorer,實現(xiàn)類包括同名構(gòu)造函數(shù)和update()方法,所以接口Observer缺失的是update()方法,并且沒有方法體,(1)空填寫void update()。 第2空是myObs表單類型的缺失,根據(jù)代碼上下文,在構(gòu)造函數(shù)中,根據(jù)this.myObs=new ArrayList<Observer>(),可以知道m(xù)yObs是Observer表單,第(2)空填寫Observer。 第3空是Notify()方法體的缺失,根據(jù)代碼上下文,Notify傳入了一個參數(shù)Observer
39、 obs,又根據(jù)代碼上下文可知Observer只有一個update()方法,此時方法體調(diào)用的應(yīng)該是update()方法,調(diào)用方法的對應(yīng)是傳入的obs,第(3)空填寫obs.update()。 第4空、第5空缺失的是DocExplorer類的同名構(gòu)造函數(shù)傳入的參數(shù)類型以及構(gòu)造方法體,這里結(jié)合根據(jù)觀察者模式填空,對于實際觀察者類,需要與被觀察者聯(lián)系起來,所以這里是與被觀察者Subject聯(lián)系,也就是調(diào)用Subject中的Attach()添加觀察者列表。因此第(4)空需要填寫參數(shù)類型Subject,形參名sub已經(jīng)給出了提示;sub調(diào)用增加觀察者方法,將當(dāng)前觀察者添加到對應(yīng)列表,即第(5)空填寫Attach(this)。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 24香港璀璨的明珠
- 第02講 第一章 綜合布線基礎(chǔ)知識
- 預(yù)防傳染病課件
- 【創(chuàng)新設(shè)計】2011屆高考生物一輪復(fù)習(xí) 第5章單元綜合提升 細(xì)胞增殖、分化、衰老和凋亡課件 蘇教版必修1
- 512防震減災(zāi)安全教育班會課件
- 2022年浙教初中數(shù)學(xué)八下《反證法》課件10
- 1山中訪友課后作業(yè)(A組-基礎(chǔ)篇)
- 產(chǎn)后出血完整版
- 質(zhì)量培訓(xùn)教材(2)
- 部編版一年級下冊語文課件第三單元語文園地三(完美版)
- 我最好老師課件
- 面向?qū)ο蟾呒墤?yīng)用及C-sharp-語法新特性課件
- 堿金屬元素課件
- 部編人教版六年級語文下冊14《文言文二則-》學(xué)-弈課件
- 部編版六年級上冊語文課件--宇宙生命之謎