軟工題第七章_第1頁
軟工題第七章_第2頁
軟工題第七章_第3頁
軟工題第七章_第4頁
軟工題第七章_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第七章習題 一、選擇題1. 表示對象相互行為的模型是( )模型。A. 動態(tài)模型 B. 功能模型 C. 對象模型 D. 靜態(tài)模型2. 類常常被看做是一個抽象數(shù)據(jù)類型的實現(xiàn),更合適的是把類看做是某種( A )的一個模型。事實上,類是單個的( B )語義單元。類的用戶能夠操縱的操作叫做類的( C )。類定義的其余部分給出數(shù)據(jù)定義和輔助功能定義,包括類的實現(xiàn)。類的實現(xiàn)常常包括了其它類的實例,這些實例( D )被其它對象存取,包括同一個類的其它實例。類的實現(xiàn)可能還包括某些私有方法,實現(xiàn)它們的類可以使用,而其它任何對象都不能使用。類,就它是一個數(shù)據(jù)值的聚合的意義上來看,與Pascal中的記錄或C中的結(jié)構(gòu)類

2、似,但又有差別。類擴展了通常的記錄語義,可提供各種級別的( E )。類不同于記錄,因為它們包括了操作的定義,這些操作與類中聲明的數(shù)據(jù)值有相同的地位。供選擇的答案:A. 功能 概念 結(jié)構(gòu) 數(shù)據(jù)B. 語法 詞法 語義 上下文環(huán)境 C. 界面 操作 行為 活動D. 可自由地 可有控制地 可通過繼承 應受保護不E. 可移植性 可重復性 可訪問性 繼承性二、簡答題 1. 應該根據(jù)什么準則來評價用例圖?2. 應該根據(jù)什么準則來評價腳本?3. 應該根據(jù)什么準則來評價狀態(tài)圖?4. 用非正式分析法分析確定下述雜貨店問題中的對象。一家雜貨店想使其庫存管理自動化。這家雜貨店擁有能夠記錄顧客購買的所有商品的名稱和數(shù)量

3、的銷售終端。顧客服務臺也有類似的終端,以處理顧客的退貨。它在碼頭有另一個終端處理供應商發(fā)貨。肉食部和農(nóng)產(chǎn)品部有終端用于輸入由于損耗導致的損失和折扣。5. 確定第4題所述雜貨店問題中對象類之間可能有的繼承關系。6. 建立下述牙科診所管理系統(tǒng)的對象模型:王大夫在小鎮(zhèn)上開了一家牙科診所。他有一個牙科助手、一個牙科保健員和一個接待員。王大夫需要一個軟件系統(tǒng)來管理預約。當病人打電話預約時,接待員將查閱預約登記表,如果病人申請的就診時間與已定下的預約時間沖突,則接待員建議一個就診時間以安排病人盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數(shù)

4、據(jù),數(shù)據(jù)包括病人的病歷號等。在每次治療或清洗后,助手或保健員將標記相應的預約診治已經(jīng)完成,如果必要的話會安排病人下一次再來。系統(tǒng)能夠按病人姓名和按日期進行查詢,能夠顯示記錄的病人數(shù)據(jù)和預約信息。接待員可以取消預約,可以打印出前兩天預約尚未接診的病人清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼。接待員還可以打印出關于所有病人的每天和每周的工作安排。7. 建立第6題所述牙科診所管理系統(tǒng)的用例模型。8. 用數(shù)據(jù)流圖建立第6題所述牙科診所管理系統(tǒng)的功能模型。9. 寫出第6題所述牙科診所管理系統(tǒng)的腳本。10. 畫出第6題所述牙科診所管理系統(tǒng)的狀態(tài)圖。第七章習題解答一、選擇題1.A2. 答案:A. , B

5、. , C. , D. , E. 分析:類常常被看做是一個抽象數(shù)據(jù)類型的實現(xiàn)。這個定義不太夠,更合適的是把類看做是某種概念的一個模型。事實上,類是單個的語義單元,它可以更自然地管理系統(tǒng)中的對象,匹配數(shù)據(jù)定義與操作。許多面向?qū)ο蠓缎偷恼Z言都提供數(shù)據(jù)抽象機制。這個機制為類定義提供了一個手段,以指明類的用戶能夠操縱的操作。這組操作叫做類的界面。類定義的其余部分給出數(shù)據(jù)定義和輔助功能定義,包括類的實現(xiàn)。這種分離把類的用戶與類內(nèi)部修改的影響隔離開來。類的實現(xiàn)常常包括了其它類的實例,它們往往提供了新類所需要的服務。這些實例應受保護不被其它對象存取,包括同一個類的其它實例。類的實現(xiàn)可能還包括某些私有方法,實

6、現(xiàn)它們的類可以使用,而其它任何對象都不能使用。類,就它是一個數(shù)據(jù)值的聚合的意義上來看,與Pascal中的記錄或C中的結(jié)構(gòu)類似,但又有差別。類擴展了通常的記錄語義,可提供各種級別的可訪問性。也就是說,記錄的某些成份可能是不可訪問的,而這些成份對于本記錄型來說具有可訪問性。類不同于記錄,因為它們包括了操作的定義,這些操作與類中聲明的數(shù)據(jù)值有相同的地位。二、簡答題1. 答:用例圖從用戶的觀點來描述系統(tǒng)的功能,因此,必須包含用戶關心的所有關鍵功能。2. 答:腳本必須從用戶的觀點來描述每個重要的功能序列,因此,腳本應該能夠說明系統(tǒng)的一類重要功能或具體的使用方法。3. 答:狀態(tài)圖應該描繪所有可能的狀態(tài)轉(zhuǎn)換

7、。圖中每條弧都要有一個引起狀態(tài)轉(zhuǎn)換的事件。從開始結(jié)點(初態(tài))到每個結(jié)點(中間狀態(tài)),以及從每個結(jié)點到最終結(jié)點(終態(tài)),都必須有一條路徑。4. 答:非正式分析也稱為詞法分析,這種方法把用自然語言書寫的需求陳述中的名稱作為候選的對象。從對雜貨店問題的描述中,可以找出下列名稱作為對象的候選者:雜貨店,庫存,顧客,商品,名稱,數(shù)量,銷售終端,服務臺,終端,退貨,碼頭,供應商,發(fā)貨,肉食部,農(nóng)產(chǎn)品部,損耗,損失,折扣。其中,“退貨”粗看起來是動詞,好像應該作為操作的候選者,但是,經(jīng)仔細分析可知,退貨包含貨物名稱、數(shù)量、價格等屬性,實際上是一類對象。類似地,“發(fā)貨”也應該作為一類對象。詞法分析僅僅幫助我們

8、找到一些候選的對象,接下來應該嚴格考察每個候選對象,從中刪去不正確的或不必要的,只保留確實應該記錄其信息或需要其提供服務的那些對象。具體說到雜貨店問題,“名稱”和“數(shù)量”實際上是顧客所購買的商品的屬性,不是獨立存在的對象;“銷售終端”和“終端”是同樣的硬件設備,使用統(tǒng)一的名字“終端”就可以了;“服務臺”和“碼頭”是放置某些終端的地點,它們與本軟件關系不大,應該刪掉;“肉食部”和“農(nóng)產(chǎn)品部”是雜貨店的兩個部門,本軟件并不處理雜貨店的組織管理問題,因此,它們不是本問題域中的對象,但是,從這兩個部門可以想到,雜貨店有“肉食品”和“農(nóng)產(chǎn)品”這樣兩類特殊的商品,應該把這兩類商品作為問題域中的兩類對象。損

9、耗是導致?lián)p失和折扣的原因,不是獨立的對象。綜上所述,雜貨店問題域中的對象有:雜貨店,庫存,顧客,商品,終端,退貨,供應商,發(fā)貨,肉食品,農(nóng)產(chǎn)品,損失,折扣。5. 答:繼承關系是“A_KIND_OF”(“是一種”)關系,也就是說,基類是公共的對象類,派生類是一種特殊的基類。通常,有兩種常用的方法可以確定問題域中對象類之間可能存在的繼承關系:自頂向下方法通過研究已知的對象類在問題域中的行為和作用,找出在某些情況下需要特殊處理并且具有特殊屬性的對象,從而把現(xiàn)有的對象類細化成更具體的子類。自底向上方法與自頂向下方法相反,這種方法對類似的對象類進行分組,然后尋找它們之間的共性,所有相似的類的交集構(gòu)成基類

10、。也就是說,自底向上方法抽象出某些相似的類的共同特性(屬性和操作),泛化出父類。具體到雜貨店問題,自頂向下方法有助于使我們認識到,銷售肉食品和銷售農(nóng)產(chǎn)品的方法并不相同,它們是兩類不同的商品。因此,應該把商品作為父類,把肉食品和農(nóng)產(chǎn)品作為由它派生出的子類。如果詢問雜貨店經(jīng)理,還能知道更多的商品種類,也就是說,可以確定商品類的更多派生類。使用自底向上方法可以發(fā)現(xiàn),“損失”、“折扣”、“退貨”、“商品”等對象類有共同性質(zhì)(例如,名稱、數(shù)量、金額),因此,應該設立一個基類“交易”,從它派生出具體的交易類。圖7.1描繪了雜貨店問題域中類之間的繼承關系。圖7.1 雜貨店問題域中類的繼承關系在圖7.1中僅畫

11、出了存在繼承關系的那些類,沒有畫出沒有繼承關系的類。6. 答:從對牙科診所問題的陳述中個,可以找出下列名稱作為對象的候選者:王大夫,小鎮(zhèn),牙科診所,牙科助手,牙科保育員,接待員,軟件系統(tǒng),預約,病人,預約登記表,就診時間,預約時間,約定時間,系統(tǒng),名字,記錄的病人數(shù)據(jù),病歷號,姓名,日期,預約信息,病人清單,病人記錄,電話號碼,每天工作安排,每周工作安排。通常,通過詞法分析找到的候選對象中有許多并不是問題域中真正有意義的對象,因此,必須對這些候選對象進行嚴格的篩選,從中刪去不正確的或不必要的,只保留確實應該記錄其信息或需要其提供服務的那些對象。具體說到牙科診所問題,“王大夫”只不過是牙醫(yī)的一個

12、實例,實際上,本軟件系統(tǒng)的主要功能是管理病人的預約,并不關心診所內(nèi)每名工作人員的分工,因此,牙醫(yī)、牙科助手、牙科保育員和接待員都不是問題域中的對象;“小鎮(zhèn)”是牙科診所的地址屬性,不是獨立的對象;“軟件系統(tǒng)”和“系統(tǒng)”是同義詞,指的是將要開發(fā)的軟件產(chǎn)品,不是問題域中的對象;“就診時間”、“預約時間”和“約定時間”在本問題陳述中的含義相同,指的都是預約的就診時間,實際上,預約的就診時間既包括日期又包括時間,但是,它們是預約登記表包含的屬性,不是問題域中的獨立的對象;“名字”和“姓名”是同義詞,應該作為病人和預約登記表的屬性;“記錄的病人數(shù)據(jù)”實際上就是“病人記錄”,可以統(tǒng)一使用“病人記錄”作為對象

13、名;“病歷號”和“電話號碼”是病人記錄的屬性,不是獨立的對象;從問題陳述可知,“病人清單”是已預約但尚未就診的病人名單,應該包含病人姓名、預約的就診時間等內(nèi)容,它和“預約信息”包含的內(nèi)容基本相同,可以只保留“病人清單”作為問題域中的對象。接下來分析確定問題域中對象彼此之間的關系?!懊刻旃ぷ靼才拧焙汀懊恐芄ぷ靼才拧庇性S多共同點,可以從它們泛化出一個父類“工作安排”。此外,問題域的對象之間還有下述關聯(lián)關系:牙科診所診治多名病人;一位病人有一份病人記錄;一位病人可能預約多次也可能一次也沒預約;牙科診所在一段時間內(nèi)將打印出多份病人清單;牙科診所開業(yè)以來已經(jīng)建立了多份預約登記表;預約登記表中記錄了多位病

14、人的預約;根據(jù)預約登記表在不同時間可以制定出不同的工作安排。綜上所述,可以畫出圖7.2所示的牙科診所管理系統(tǒng)的對象模型。圖7.2 牙科診所對象模型7. 答:用例圖從用戶角度描述系統(tǒng)的功能,它必須包含用戶關心的所有關鍵功能。用戶通常就是用例圖中的行為者。為了畫出系統(tǒng)的用例圖,首先應該找出系統(tǒng)的用戶,然后根據(jù)用戶對系統(tǒng)功能的需求確定用例。從對牙科診所問題的陳述可知,接待員負責處理病人預約事務,為此他需要訪問預約登記表和病人記錄,接待員也可以取消預約,此外,接待員還可以根據(jù)預約登記表打印出關于所有病人的每天和每周的工作安排,牙醫(yī)將按照工作安排診治病人;在病人就診后,助手和保育員將標記相應的預約診治已

15、完成,必要時還將安排病人下次再來,也就是說,他們將更新預約登記表的內(nèi)容;系統(tǒng)能夠按照病人姓名和日期查詢預約信息,這項功能需求雖然沒有指明行為者,但是這并不意味著沒有行為者也可以有用例,事實上,一個用例至少必須與一個行為者相關聯(lián),可以認為“查詢預約”這個用例的行為者是牙科診所的職員。在牙科診所問題中,沒有必要區(qū)分接待員、助手和保育員在業(yè)務工作中扮演的不同角色,可以把他們統(tǒng)稱為職員。綜上所述,可以畫出圖7.3所示的牙科診所管理系統(tǒng)的用例圖。圖7.3 牙科診所管理系統(tǒng)的用例圖8. 答:從牙科診所管理系統(tǒng)的需求陳述得知,當進行預約時病人提供姓名、希望的就診日期等數(shù)據(jù),系統(tǒng)查詢預約登記表,以確定一個有效

16、的就診日期,此外,系統(tǒng)還將查詢病人記錄以獲得病歷號等病人數(shù)據(jù)。在每次預約診治完成之后,應該更新預約登記表,以標記相應的預約診治已經(jīng)完成,必要時將約定下次就診日期。診所職員可以按照病人姓名和日期查詢預約信息,也可以取消預約。此外,系統(tǒng)可以打印出每天和每周的工作安排給牙醫(yī)。根據(jù)上述的系統(tǒng)功能,可以畫出圖7.4所示的牙科診所管理系統(tǒng)的數(shù)據(jù)流圖。圖7.4 牙科診所管理系統(tǒng)的數(shù)據(jù)流圖9. 答:腳本從用戶角度描述系統(tǒng)典型的工作過程。根據(jù)對牙醫(yī)診所管理系統(tǒng)的需求,至少可以設想出下述3個腳本。(1)正常情況病人甲請求預約。系統(tǒng)識別出病人的姓名。系統(tǒng)建議一個就診時間。病人同意該時間,接待員輸入該預約。在預約的就診日期來到之前兩天,系統(tǒng)輸出一份包含病人姓名和電話號碼等信息的提醒單。接待員打電話提醒病人。病人如約來到。治療完之后,牙醫(yī)助手安排該病人的下一次預約。(2)新病人病

溫馨提示

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

評論

0/150

提交評論