軟件工程復習題與提綱_第1頁
軟件工程復習題與提綱_第2頁
軟件工程復習題與提綱_第3頁
軟件工程復習題與提綱_第4頁
軟件工程復習題與提綱_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章一、什么是軟件工程?它有哪些本質特征?怎樣用軟件工程消除軟件危機?1993年IEEE的定義:軟件工程是: 把系統(tǒng)的、規(guī)范的、可度量的途徑應用于軟件開發(fā)、運行和維護過程,也就是把工程應用于軟件; 研究中提到的途徑。軟件工程的本質特征:(1) 軟件工程關注于大型程序(軟件系統(tǒng))的構造(2) 軟件工程的中心課題是分解問題,控制復雜性(3) 軟件是經(jīng)常變化的,開發(fā)過程中必須考慮軟件將來可能的變化(4) 開發(fā)軟件的效率非常重要,因此,軟件工程的一個重要課題就是,尋求開發(fā)與維護軟件的更好更有效的方法和工具(5) 和諧地合作是開發(fā)軟件的關鍵(6) 軟件必須有效地支持它的用戶(7) 在軟件工程領域中是由

2、具有一種文化背景的人替具有另一種文化背景的人(完成一些工作)消除軟件危機的途徑:(1) 對計算機軟件有一個正確的認識(軟件程序)(2) 必須充分認識到軟件開發(fā)不是某種個體勞動的神秘技巧,而應該是一種組織良好、管理嚴密、各類人員協(xié)同配合、共同完成的工程項目(3) 推廣使用在實踐中總結出來的開發(fā)軟件的成功技術和方法(4) 開發(fā)和使用更好的軟件工具二、什么是軟件危機?它有哪些典型表現(xiàn)?為什么會出現(xiàn)軟件危機?軟件危機是指在計算機軟件開發(fā)、使用與維護過程中遇到的一系列嚴重問題和難題。它包括兩方面:如何開發(fā)軟件,已滿足對軟件日益增長的需求;如何維護數(shù)量不斷增長的已有軟件。軟件危機的典型表現(xiàn):(1) 對軟件

3、開發(fā)成本和進度的估計常常很不準確。常常出現(xiàn)實際成本比估算成本高出一個數(shù)量級、實際進度比計劃進度拖延幾個月甚至幾年的現(xiàn)象。而為了趕進度和節(jié)約成本所采取的一些權宜之計又往往損害了軟件產(chǎn)品的質量。這些都降低了開發(fā)商的信譽,引起用戶不滿。(2) 用戶對已完成的軟件不滿意的現(xiàn)象時有發(fā)生。(3) 軟件產(chǎn)品的質量往往是靠不住的。(4) 軟件常常是不可維護的。(5) 軟件通常沒有適當?shù)奈臋n資料。文檔資料不全或不合格,必將給軟件開發(fā)和維護工作帶來許多難以想象的困難和難以解決的問題。(6) 軟件成本、軟件維護費在計算機系統(tǒng)總成本中所占比例逐年上升。(7) 開發(fā)生產(chǎn)率提高的速度遠跟不上計算機應用普及的需求。軟件危機

4、出現(xiàn)的原因:(1) 來自軟件自身的特點:是邏輯部件,缺乏可見性;規(guī)模龐大、復雜,修改、維護困難。(2) 軟件開發(fā)與維護的方法不當:忽視需求分析;認為軟件開發(fā)等于程序編寫;輕視軟件維護。(3) 供求矛盾將是一個永恒的主題:面對日益增長的軟件需求,人們顯得力不從心。三、簡述結構化范型和面向對象范型的要點,并分析他們的優(yōu)缺點。七、什么是軟件生命周期模型?試比較瀑布模型、快速原型模型、增量模型和螺旋模型的優(yōu)缺點,說明每種模型的使用范圍。軟件生命周期模型是跨越整個生存期的系統(tǒng)開發(fā)、運作和維護所實施的全部過程、活動和任務的結構框架。l 瀑布模型 優(yōu)點:它提供了一個模板,這個模板使得分析、設計、編碼、測試和

5、支持的方法可以在該模板下有一個共同的指導。雖然有不少缺陷但比在軟件開發(fā)中隨意的狀態(tài)要好得多。缺點:(1) 實際的項目大部分情況難以按照該模型給出的順序進行,而且這種模型的迭代是間接的,這很容易由微小的變化而造成大的混亂。(2) 經(jīng)常情況下客戶難以表達真正的需求,而這種模型卻要求如此,這種模型是不歡迎具有二義性問題存在的。(3) 客戶要等到開發(fā)周期的晚期才能看到程序運行的測試版本,而在這時發(fā)現(xiàn)大的錯誤時,可能引起客戶的驚慌,而后果也可能是災難性的。(4) 會經(jīng)常在過程的開始和結束時碰到等待其他成員完成其所依賴的任務才能進行下去,有可能花在等待的時間比開發(fā)的時間要長。稱之為“堵塞狀態(tài)”。它是軟件工

6、程中應用最廣泛的過程模型,在軟件工程中占有肯定和重要的位置。l 快速原型模型在進行了基本需求分析之后,快速開發(fā)出產(chǎn)品的原型,然后基于這個原型,同客戶溝通、交流,更好地了解客戶需求,不斷修改這個原型,到了雙方認可的程度,再做詳細地分析、設計和編程,最終開發(fā)出令客戶滿意的產(chǎn)品。 優(yōu)點:使用戶能夠感受到實際的系統(tǒng),使開發(fā)者能夠快速地構造出系統(tǒng)的框架。缺點:產(chǎn)品的先天性不足,因為開發(fā)者常常需要做實現(xiàn)上的折中,可能采用不合適的操作系統(tǒng)或程序設計語言,以使原型能夠盡快工作。 l 增量模型優(yōu)點:(1) 人員分配靈活,剛開始不用投入大量人力資源,當核心產(chǎn)品很受歡迎時,可增加人力實現(xiàn)下一個增量。(2) 當配備的

7、人員不能在設定的期限內(nèi)完成產(chǎn)品時,它提供了一種先推出核心產(chǎn)品的途徑,這樣就可以先發(fā)布部分功能給客戶,對客戶起到鎮(zhèn)靜劑的作用。缺點:(1) 至始至終開發(fā)者和客戶糾纏在一起,直到完全版本出來。(2) 適合于軟件需求不明確、設計方案有一定風險的軟件項目。該模型具有一定的市場。l 螺旋模型優(yōu)點:對于大型系統(tǒng)及軟件的開發(fā),這種模型是一個很好的方法。開發(fā)者和客戶能夠較好地對待和理解每一個演化級別上的風險。缺點:(1) 需要相當?shù)娘L險分析評估的專門技術,且成功依賴于這種技術。(2) 很明顯一個大的沒有被發(fā)現(xiàn)的風險問題,將會導致問題的發(fā)生,可能導致演化 的方法失去控制。(3) 這種模型相對比較新,應用不廣泛,

8、其功效需要進一步的驗證。該模型適合于大型軟件的開發(fā)第二章4目前住院病人主要由護士護理,這樣做不僅需要大量護士,而且由于不能隨時觀察危重病人的病情變化,還會延誤搶救時機。某醫(yī)院打算開發(fā)一個以計算機為中心的患者監(jiān)護系統(tǒng),請寫出問題定義,并且分析開發(fā)這個系統(tǒng)的可行性。 醫(yī)院對患者監(jiān)護系統(tǒng)的基本要求是隨時接收每個病人的生理信號(脈搏、體溫、血壓、心電圖等),定時記錄病人情況以形成患者日志,當某個病人的生理信號超出醫(yī)生規(guī)定的安全范圍時向值班護士發(fā)出警告信息,此外,護士在需要時還可以要求系統(tǒng)印出某個指定病人的病情報告。問題定義:從問題陳述可知,本系統(tǒng)的數(shù)據(jù)源點是“病人”和“護士”,他們分別提供生理信號和要

9、求病情報告的信息。進一步分析問題陳述,從系統(tǒng)應該“定時記錄病人情況以形成患者日志”這項要求可以想到,還應該有一個提供日期和時間信息的“時鐘”作為數(shù)據(jù)源點。從問題陳述容易看出,本系統(tǒng)的數(shù)據(jù)終點是接收警告信息和病情報告的護士。系統(tǒng)對病人生理信號的處理功能主要是“接收信號”、“分析信號”和“產(chǎn)生警告信息”。此外,系統(tǒng)還應該具有“定時取樣生理信號”、“更新日志”和“產(chǎn)生病情報告"的功能。 為了分析病人生理信號是否超出了醫(yī)生規(guī)定的安全范圍,應該存儲“患者安全范圍”信息。此外,定時記錄病人生理信號所形成的“患者日志”,顯然也是一個數(shù)據(jù)存儲??尚行詳⑹雎?。5北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)

10、電話號碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼,再撥8位電話號碼(第1位不是0)。電話號碼 = 校內(nèi)電話號碼 | 校外電話號碼校內(nèi)電話號碼 = 非零數(shù)字 + 3位數(shù)字校外電話號碼 = 本市號碼 | 外地號碼本市號碼 = 數(shù)字零 + 8位數(shù)字外地號碼 = 數(shù)字零 + 3位數(shù)字 + 8位數(shù)字非零數(shù)字 = 1|2|3|4|5|6|7|8|9數(shù)字零 = 03位數(shù)字 = 3數(shù)字38位數(shù)字 = 非零數(shù)字 + 7位數(shù)字7位數(shù)字 = 7數(shù)字7數(shù)字 = 0|l|2|3|4|5|6|7|8

11、|9第三章1、 為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?通過需求分析,明確用戶對目標軟件系統(tǒng)在功能、性能、行為、設計約束等方面的期望,回答軟件系統(tǒng)“必須做什么”。通常對軟件系統(tǒng)的需求是以下幾方面的綜合:(1) 功能需求;(2) 性能需求;(3) 可靠性和可用性需求;(4) 出錯處理需求;(5) 接口需求;(6) 約束;(7) 逆向需求;(8) 將來可能提出的要求。2、怎樣與用戶有效的溝通以獲取用戶的真實需求?(1) 初步需求獲取,通過訪談與會議、問卷調查、觀察用戶工作流程等方法;(2) 面向數(shù)據(jù)流,自頂向下求精(3) 簡易的應用規(guī)格說明(4) 快速建立軟件原型6、復印機的工作過程大致如

12、下:未接到復印命令時處于閑置狀態(tài),一旦接到復印命令則進入復印狀態(tài),完成一個復印命令規(guī)定的工作后又回到閑置狀態(tài),等待下一個復印命令;如果執(zhí)行復印命令時發(fā)現(xiàn)沒紙,則進入缺紙狀態(tài),發(fā)出警告,等待裝紙,裝滿紙后進入閑置狀態(tài),準備接收復印命令;如果復印時發(fā)生卡紙故障,則進入卡紙狀態(tài),發(fā)出警告,等待維修人員來排除故障,故障排除后回到閑置狀態(tài)。請用狀態(tài)轉換圖描繪復印機的行為。從問題陳述可知,復印機的狀態(tài)主要有“閑置”、“復印”、“缺紙”和“卡紙”。引起狀態(tài)轉換的事件主要是“復印命令”、“完成復印命令”、“發(fā)現(xiàn)缺紙”、“裝滿紙”、“發(fā)生卡紙故障”和“排除了卡紙故障”。狀態(tài)轉換圖如下:1、為每種類型的模塊耦合舉

13、一個具體的例子。(1) 非直接耦合例如,兩個模塊沒有直接關系(模塊1和模塊2),模塊獨立性最強。(2) 數(shù)據(jù)耦合例如,下左圖 數(shù)據(jù)耦合 特征耦合(3) 特征耦合例如,上右圖“住戶情況”是一個數(shù)據(jù)結構,圖中模塊都與此數(shù)據(jù)結構有關?!坝嬎闼M”和“計算電費”本無關,由于引用了此數(shù)據(jù)結構產(chǎn)生依賴關系,它們之間也是標記偶合。(4) 控制耦合-模塊A通過傳送開關、標志、名字等控制信息,明顯地控制選擇模塊B的功能,例如下圖(5) 外部耦合例如,下左圖,模塊A、B均需使用共享打印機 外部耦合 公共環(huán)境耦合(6) 公共環(huán)境耦合例如,上右圖,模塊A、B、C共享全局變量數(shù)組(7) 內(nèi)容耦合例如,一個過程非正常地進

14、入另一個過程Sub AA()goto LEnd subSub BB()L: End sub2、用面向數(shù)據(jù)流的方法設計下列系統(tǒng)的軟件結構:(3)患者監(jiān)護系統(tǒng)(需求見習題2-4)功能級數(shù)據(jù)流圖:軟件結構圖:3、 從偽碼轉換成的數(shù)據(jù)流程圖 從偽碼轉換成的盒圖4、(1)通常所說的結構化程序,是按照狹義的結構程序的定義衡量,符合定義規(guī)定的程序。本題圖6-18所示的程序的循環(huán)控制結構有兩個出口,顯然不符合狹義的結構程序的定義,因此是非結構化的程序。(2)使用附加的標志變量flag,至少有兩種方法可以把該程序改造為等價的結構化程序,下圖所示盒圖描繪了兩個等價的結構化程序。(3)不使用flag把該程序改造為等

15、價的結構化程序的方法如下圖所示。7、令P代表交易的總金額,Q代表每股的售價,n代表交易的股數(shù)。判定表的每一列是一條計算規(guī)則。例如,第1列(規(guī)則l)規(guī)定,當交易總金額P少于1,000元,且每股售價Q低于l4元,且交易的股數(shù)n是l00的倍數(shù)時,給經(jīng)紀人的手續(xù)費為:(1+005)×0084P第16列(規(guī)則l6)表明,當交易總金額P超過l0,000元,且每股售價Q在14元到25元之間,且交易的股數(shù)n不是l00的倍數(shù)時,手續(xù)費為:(1+006)X(004P+134)表示手續(xù)費計算方法的判定表和判定樹如下圖所示。判定表判定樹4(3) 答:(1)語句覆蓋的測試用例 因為每個判定表達式為真或為假時均

16、有賦值語句,為了使每個語句都至少執(zhí)行一次,總共需要兩組測試數(shù)據(jù),以便使得每個判定表達式取值為真或為假各一次。下面是實現(xiàn)語句覆蓋的典型測試用例: 使3個判定表達式之值全為假 輸入:A=1,B=1,C=1預期的輸出:X=1,Y=2,Z=3 使3個判定表達式之值全為真 輸入:A=20,B=40,C=60預期的輸出:X=10,Y=20,Z=30 (2)路徑覆蓋的測試用例 本程序共有8條可能的執(zhí)行通路,為做到路徑覆蓋總共需要8組測試數(shù)據(jù)。下面是實現(xiàn)路徑覆蓋的典型測試用例: 3個判定表達式之值全為假 輸入:A=1,B=1,C=1預期的輸出:X=1,Y=2,Z=3 3個判定表達式依次為假、假、真 輸入:A=

17、1,B=1,C=60預期的輸出:X=1,Y=2,Z=30 3個判定表達式依次為假、真、假 輸入:A=1,B=40,C=1預期的輸出:X=1,Y=20,Z=33個判定表達式依次為假、真、真輸入:A=1,B=40,C=60預期的輸出:X=1,y=20,Z=303個判定表達式依次為真、假、假輸入:A=20,B=1,C=1預期的輸出:X=10,y=2,Z=33個判定表達式依次為真、假、真輸入:A=20,B=1,C=60預期的輸出:X=10,y=2,Z=303個判定表達式依次為真、真、假輸入:A=20,B=40,C=1預期的輸出:X=10,y=20,Z=33個判定表達式全為真輸入:A=20,B=40,C

18、=60預期的輸出:X=10,y=20,Z=306、答:應該分別使用正常的輸入數(shù)據(jù)和異常的輸入數(shù)據(jù),作為驗收測試數(shù)據(jù)。( 1 )用正常的輸人數(shù)據(jù)作為測試數(shù)據(jù) 輸入常規(guī)的出發(fā)點、目的地、5個位置校核點、高度、速度及飛機型號。 針對5對不同的出發(fā)點和目的地,重復執(zhí)行測試。 固定出發(fā)點、目的地、位置校核點、高度和速度,分別輸入35種不同的飛機型號,重復執(zhí)行測試。 固定出發(fā)點、目的地、位置校核點、高度和飛機型號,分別輸入35個不同的速度,重復執(zhí)行測試。 固定出發(fā)點、目的地、位置校核點、速度和飛機型號,分別輸入35個不同的高度,重復執(zhí)行測試。 固定出發(fā)點、目的地、高度、速度和飛機型號,分別輸入35組不同的

19、位置校核點,重復執(zhí)行測試。 固定出發(fā)點、位置校核點、高度、速度和飛機型號,分別輸入35個不同的目的地,重復執(zhí)行測試。 固定目的地、位置校核點、高度、速度和飛機型號,分別輸入35個不同的出發(fā)點,重復執(zhí)行測試。 同時改變一對參數(shù)的值,其他參數(shù)的值固定,重復執(zhí)行測試。 同時改變3個參數(shù)的值,其他參數(shù)的值固定,重復執(zhí)行測試。 (11)以適當?shù)姆绞礁淖兠枋鎏鞖鉅顩r的數(shù)據(jù),重復執(zhí)行測試。( 2 )用邊界數(shù)據(jù)值作為測試數(shù)據(jù) 分別使用距離非常近和距離非常遠的兩個地點作為出發(fā)點和目的地。 輸入位置校核點的非常規(guī)組合。 分別輸入非常高和非常低的高度值。 分別輸入非常高和非常低的速度值。 輸入極其少見的飛機型號。(

20、 3 )用無效的數(shù)據(jù)作為測試數(shù) 用由字母數(shù)字字符和控制字符混合在一起組成的字符串作為出發(fā)點或目的地。 用數(shù)字0作為所有參數(shù)的值。 用負數(shù)作為高度和速度的值。補充作業(yè):答:題中并沒有給出實現(xiàn)函數(shù)SEARCH的算法,僅僅描述了它的功能,因此,只能用黑盒測試技術設計測試它的測試方案。為了用等價劃分法設計測試方案,首先需要劃分輸入數(shù)據(jù)的等價類。根據(jù)該函數(shù)的功能,可以把它的輸入數(shù)據(jù)劃分成以下等價類:(1)有效輸入的等價類 ·數(shù)組有偶數(shù)個元素,第1個元素是所要找的數(shù)。 ·數(shù)組有偶數(shù)個元素,最后一個元素是所要找的數(shù)。 ·數(shù)組有偶數(shù)個元素,數(shù)組中沒有所要找的數(shù)。 ·數(shù)組

21、有奇數(shù)個元素,第1個元素是所要找的數(shù)。 ·數(shù)組有奇數(shù)個元素,最后一個元素是所要找的數(shù)。 ·數(shù)組有奇數(shù)個元素,數(shù)組中沒有所要找的數(shù)。 ·數(shù)組有多個元素,其中一個正整數(shù)是所要找的數(shù)。 ·數(shù)組有多個元素,其中一個負整數(shù)是所要找的數(shù)。 ·數(shù)組有多個元素,其中一個0是所要找的數(shù)。(2)無效輸入的等價類數(shù)組實際長度不等于變元size的值。為了使用邊界值分析法設計測試方案,應該再考慮下述幾種邊界情況: ·數(shù)組長度為l,其元素是所要找的數(shù)。 ·數(shù)組長度為l,其元素不是所要找的數(shù)。 ·數(shù)組為空(長度為0)。根據(jù)上面劃分出的等價類及邊

22、界情況,可以設計出下述測試方案:數(shù)組長度為l,其正整數(shù)元素是所要找的數(shù)輸入:somearray=6,size=1,value=6預期的輸出:l數(shù)組長度為l,其負整數(shù)元素是所要找的數(shù)輸入:somearray=-20),size=1,value=20預期的輸出:l數(shù)組長度為l,其元素0是所要找的數(shù)輸入:somearray=0,size=1,value=0預期的輸出:l數(shù)組長度為l,其元素不是所要找的數(shù)輸入:somearray=6,size=1,value=8預期的輸出:-1數(shù)組為空輸入:somearray=,size=0,value=6預期的輸出:-1數(shù)組有偶數(shù)個元素,第1個元素是正整數(shù)且是所要找

23、的數(shù)輸入:somearray=1,2,3,4,size=4,value=1預期的輸出:l數(shù)組有偶數(shù)個元素,最后一個元素是負整數(shù)且是所要找的數(shù)輸入:somearray=1,2,3,一4,size=4,value=4預期的輸出:4數(shù)組有偶數(shù)個元素,其中一個元素0是所要找的數(shù)輸入:somearray=1,2,0,3,size=4,value=0預期的輸出:3數(shù)組有偶數(shù)個元素,元素中沒有所要找的數(shù)輸入:somearray=1,2,3,4,size=4,value=5預期的輸入:-1,數(shù)組有奇數(shù)個元素,第1個元素是0且是要找的數(shù)輸入:somearray=0,1,2),size=3,value=0預期的輸

24、出:l(11)數(shù)組有奇數(shù)個元素,最后一個元素是負整數(shù)且是所要找的數(shù)輸入:somearray=1,2,一3,size=3,value=3預期的輸入:3(12)數(shù)組有奇數(shù)個元素,沒有要找的數(shù)輸入:somearray=1,2,3,size=3,value=3預期的輸出:-1(13)數(shù)組實際長度不等于size輸入:somearray=1,2,3,size=2,value=1預期的輸出:“無效的size值”第九章作業(yè)2、答:對象是面向對象方法學開發(fā)軟件時對客觀世界實體的抽象,它是由描述實體屬性的數(shù)據(jù)和可以對這些數(shù)據(jù)施加的所有操作封裝在一起構成的統(tǒng)一體。傳統(tǒng)的數(shù)據(jù)是傳統(tǒng)方法學開發(fā)軟件時對客觀世界實體的抽象

25、,但是,這種抽象是不全面的:數(shù)據(jù)只能描述實體的靜態(tài)屬性,不能描述實體的動態(tài)行為。必須從外界對數(shù)據(jù)施加操作,才能改變數(shù)據(jù)、實現(xiàn)相應的行為。對象與傳統(tǒng)數(shù)據(jù)有本質的區(qū)別,它不是被動地等待外界對它施加操作,相反,它是進行處理的主體。必須發(fā)消息請求對象主動地執(zhí)行它的某些操作,處理它的私有數(shù)據(jù),而不能直接從外界對它的私有數(shù)據(jù)進行操作。5、答:所謂模型,就是為了理解事物而對事物進行的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形符號和組織這些符號的規(guī)則組成,利用它們來定義和描述問題域中的術語和概念。更進一步地講,模型是一種思維工具,利用這種工具可以把知識規(guī)范地表示出來。眾所周知,在解決問題之

26、前必須理解所要解決的問題。對問題理解得越透徹,就越容易解決它。在軟件開發(fā)的過程中,為了更好地理解客戶要求解決的問題,往往需要建立問題域的模型。為了開發(fā)復雜的軟件系統(tǒng),系統(tǒng)分析員應該從不同角度抽象出目標系統(tǒng)的特征,使用精確地表示方法構造系統(tǒng)的模型,驗證模型是否滿足用戶對目標系統(tǒng)的需求,并在設計過程中逐步把和實現(xiàn)有關的細節(jié)加進模型中來,直到最終實現(xiàn)這個模型。對于那些過分復雜而不能直接理解的系統(tǒng),特別需要建立模型。建立模型的目的主要是為了降低復雜性。人的頭腦每次只能處理少量信息,模型通過把系統(tǒng)的重要部分分解成人的頭腦一次能處理的若干個子部分,從而減少了系統(tǒng)的復雜度。10、答:訂貨系統(tǒng)用例圖作業(yè)題:有

27、如下用戶需求:王大夫在小鎮(zhèn)上開了一家牙科診所。他有一個牙科助手、一個牙科保健員和一個接待員。王大夫需要一個軟件系統(tǒng)來管理預約。當病人打電話預約時,接待員將查閱預約登記表,如果病人申請的就診時間與已定下的預約時間沖突,則接待員建議一個就診時間以安排病人盡早得到診治。如果病人同意建議的就診時間,接待員將輸入約定時間和病人的名字。系統(tǒng)將核實病人的名字并提供記錄的病人數(shù)據(jù),數(shù)據(jù)包括病人的病歷號等。在每次治療或清洗后,助手或保健員將標記相應的預約診治已經(jīng)完成,如果必要的話會安排病人下一次再來。系統(tǒng)能夠按病人姓名和按日期進行查詢,能夠顯示記錄的病人數(shù)據(jù)和預約信息。接待員可以取消預約,可以打印出前兩天預約尚

28、未接診的病人清單。系統(tǒng)可以從病人記錄中獲知病人的電話號碼。接待員還可以打印出關于所有病人的每天和每周的工作安排。(1)建立牙科診所管理系統(tǒng)的對象模型;(2)建立牙科診所管理系統(tǒng)的用例模型;(3)用數(shù)據(jù)流圖建立牙科診所管理系統(tǒng)的功能模型;(4)寫出牙科診所管理系統(tǒng)的腳本;(5)畫出牙科診所管理系統(tǒng)的狀態(tài)圖。解答:(1)從對牙科診所問題的陳述中,可以找出下列名詞作為對象的候選者:王大夫,小鎮(zhèn),牙科診所,牙科助手,牙科保健員,接待員,軟件系統(tǒng),預約,病人,預約登記表,就診時間,預約時間,約定時間,系統(tǒng),名字,記錄的病人數(shù)據(jù),病歷號,姓名,日期,預約信息,病人清單,病人記錄,電話號碼,每天工作安排,每

29、周工作安排。通常,通過詞法分析找到的候選對象中有許多并不是問題域中真正有意義的對象,因此,必須對這些候選對象進行嚴格的篩選,從中刪去不正確的或不必要的,只保留確實應該記錄其信息或需要其提供服務的那些對象。具體說到牙科診所問題,“王大夫”只不過是牙醫(yī)的一個實例,實際上,本軟件系統(tǒng)的主要功能是管理病人的預約,并不關心診所內(nèi)每名工作人員的分工,因此,牙醫(yī)、牙科助手、牙科保健員和接待員都不是問題域中的對象;“小鎮(zhèn)”是牙科診所的地址屬性,不是獨立的對象;“軟件系統(tǒng)”和“系統(tǒng)”是同義詞,指的是將要開發(fā)的軟件產(chǎn)品,不是問題域中的對象;“就診時間”、“預約時間”和“約定時間”在本問題陳述中的含義相同,指的都是

30、預約的就診時間,實際上,預約的就診時間既包括日期又包括時間,但是,它們是預約登記表包含的屬性,不是問題域中獨立的對象;“名字”和“姓名”是同義詞,應該作為病人和預約登記表的屬性;“記錄的病人數(shù)據(jù)”實際上就是“病人記錄”,可以統(tǒng)一使用“病人記錄”作為對象名;“病歷號”和“電話號碼”是病人記錄的屬性,不是獨立的對象;從問題陳知,“病人清單”是已預約但尚未就診的病人名單,應該包含病人姓名、預約的就診時間等內(nèi)容,它和“預約信息”包含的內(nèi)容基本相同,可以只保留“病人清單”作為問題域中的對象。接下來分析確定問題域中對象彼此之間的關系?!懊刻旃ぷ靼才拧焙汀懊恐芄ぷ靼才拧庇性S多共同點,可以從它們泛化出一個父類

31、“工作安排”。此外,問題域的對象之間還有下述關聯(lián)關系:牙科診所診治多名病人;一位病人有一份病人記錄;一位病人可能預約多次也可能一次也沒預約;牙科診所在一段時間內(nèi)將打印出多份病人清單;牙科診所開業(yè)以來已經(jīng)建立了多份預約登記表;預約登記表中記錄了多位病人的預約;根據(jù)預約登記表在不同時問可以制定出不同的工作安排。綜上所述,可以畫出圖7.2所示的牙科診所管理系統(tǒng)的對象模型。(2)用例圖從用戶角度描述系統(tǒng)的功能,它必須包含用戶關心的所有關鍵功能。用戶通常就是用例圖中的行為者。為了畫出系統(tǒng)的用例圖,首先應該找出系統(tǒng)的用戶,然后根據(jù)用戶對系統(tǒng)功能的需求確定用例。從對牙科診所問題的陳述可知,接待員負責處理病人

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

溫馨提示

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

評論

0/150

提交評論