軟件工程作業(yè)答案_第1頁
軟件工程作業(yè)答案_第2頁
軟件工程作業(yè)答案_第3頁
軟件工程作業(yè)答案_第4頁
軟件工程作業(yè)答案_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、4. 什么是軟件危機?有什么表現(xiàn)?如何應對?5. 什么叫軟件工程?其目標和原則是什么?6. 軟件工程的三要素是什么?軟件危機,是指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。(1)對軟件開發(fā)成本和進度的估計常常不準確。(2)用戶對“已完成”系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生。(3)軟件產(chǎn)品的質(zhì)量往往不能得到保證。(4)軟件的可維護程度非常低。(5)軟件通常沒有適當?shù)奈臋n資料。(6)軟件成本在計算機系統(tǒng)總成本中所占比例逐年上升。按工程化的原則和方法組織軟件開發(fā)工作是有效的,是擺脫軟件危機的一個主要出路。IEEE 計算機學會定義軟件工程是將系統(tǒng)化、規(guī)范化、可度量的方法應用于軟件的開發(fā)、運行和維護過

2、程,即將工程化應用于軟件中的方法的研究。目標: 付出較低的開發(fā)成本; 達到所需的軟件功能; 取得較好的軟件性能; 開發(fā)的軟件易于移植; 需要較低的維護費用; 能按時完成開發(fā)工作,及時交付使用。原則(1)抽象(2)信息隱蔽(3)模塊化(4)局部化(5)確定性(6)一致性(7)完備性(8)可驗證性過程、方法和工具是軟件工程的三個要素。軟件工程過程是為獲得軟件產(chǎn)品,在軟件工具支持下由軟件開發(fā)人員完成的一系列軟件工程的活動。過程層將方法和工具結(jié)合起來,定義了一組關(guān)鍵過程區(qū)域的框架,定義了方法使用的順序、要求交付的文檔資料、為保證質(zhì)量和協(xié)調(diào)變化所需要的管理以及軟件開發(fā)各個階段完成的里程碑。最終目的是保證

3、軟件工程技術(shù)被有效地應用,使得軟件能夠被及時、高質(zhì)量和合理地開發(fā)出來。方法層為軟件開發(fā)的各個階段提供所需的各種方法。工具層為軟件工程方法提供了一種自動或半自動的軟件支撐環(huán)境。P28 4,5,64. 什么是原型?試述原型模型在軟件生命周期中的應用。5. 為什么說噴泉模型較好地體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?6. RUP 模型的思想是什么?RUP 模型融合了哪些傳統(tǒng)生命周期模型的特點?4. 什么是原型?試述原型模型在軟件生命周期中的應用。原型一般是指對某種產(chǎn)品進行模擬的初始版本或者原始模型,在工程領(lǐng)域中具有廣泛應用。原型系統(tǒng)能夠逐步明確用戶需求,可以適應需求的變化性,而且由于用戶參與到

4、軟件開發(fā)過程,能夠及早發(fā)現(xiàn)問題、降低軟件開發(fā)的風險,加快軟件產(chǎn)品的形成,降低軟件開發(fā)的成本。5. 為什么說噴泉模型較好地體現(xiàn)了面向?qū)ο筌浖_發(fā)過程無縫和迭代的特性?噴泉模型認為軟件開發(fā)過程的各個階段是相互重疊、多次反復的,就像噴泉一樣,水噴上去又可以落下來,既可以落在中間,又可以落到底部。各個開發(fā)階段沒有特定的次序要求,完全可以并行進行,可以在某個開發(fā)階段中隨時補充其他任何開發(fā)階段中遺漏的需求。其優(yōu)點是可以提高軟件項目開發(fā)效率,節(jié)省開發(fā)時間。6. RUP 模型的思想是什么?RUP 模型融合了哪些傳統(tǒng)生命周期模型的特點?RUP 的迭代增量開發(fā)思想RUP 的每一個階段可以進一步劃分為一個或多個迭代

5、過程。在每次迭代中只考慮系統(tǒng)的一部分需求,針對這部分需求進行分析、設(shè)計、實現(xiàn)、測試和部署等工作,每次迭代都是在系統(tǒng)已完成部分的基礎(chǔ)上進行的,每次給系統(tǒng)增加一些新的功能,如此循環(huán)下去,直至完成最終產(chǎn)品。每一次迭代內(nèi)容的制訂是風險驅(qū)動的,即根據(jù)業(yè)務(wù)需求重要性、技術(shù)風險等級高低來決定迭代內(nèi)容的安排。(1)面向?qū)ο螅簭募夹g(shù)角度,RUP開發(fā)是基于面向?qū)ο蠹夹g(shù),即它使用和支持面向?qū)ο蠹夹g(shù)的概念和方法。RUP要求建立的設(shè)計模型、實現(xiàn)模型都是對象模型。(2)USE CASE驅(qū)動(3)以架構(gòu)為中心;(4)螺旋上升式的開發(fā)過程;(5)以質(zhì)量控制和風險管理為目標;(6)與UML配置;(7)適用性強;P45頁 1、2

6、、7、8可行性研究的任務(wù)是以最小的代價在盡可能短的時間內(nèi)確定問題是否能夠解決。簡單地說,可行性研究的最終結(jié)果是決定項目“做還是不做”而不是“如何做”。7. 為方便旅客,某航空公司擬開發(fā)一個機票預訂系統(tǒng)。旅行社把預訂機票的旅客信息(姓名、性別、工作單位、身份證號碼、旅行時間、旅行目的地等)輸入該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和賬單,旅客在飛機起飛的前一天憑取票通知單和賬單交款取票,系統(tǒng)校對無誤即打印出機票給旅客。寫出問題定義并分析此系統(tǒng)的可行性,畫出系統(tǒng)流程圖。用戶單位用戶單位XxxXxx航空公司航空公司負責人負責人xxxxxx開發(fā)單位開發(fā)單位xxxxxxxx開發(fā)單位負開發(fā)單位負責人責人

7、xxxxxxxx項目名稱項目名稱機票預訂系統(tǒng)機票預訂系統(tǒng)問題描述問題描述旅行社把預訂機票的旅客信息輸入系統(tǒng),系統(tǒng)為旅客旅行社把預訂機票的旅客信息輸入系統(tǒng),系統(tǒng)為旅客安排航班,旅客自己取票。安排航班,旅客自己取票。項目目標項目目標開發(fā)一個效率較高的機票預訂系統(tǒng),開發(fā)一個效率較高的機票預訂系統(tǒng),.項目規(guī)模項目規(guī)模項目的開發(fā)預投入約項目的開發(fā)預投入約xxxxxx元元可行性研究可行性研究建議進行建議進行3 3個月,費用不超過個月,費用不超過xxxxxx元元 xxx xxx年年xxxx月月xxxx日日 簽字:簽字:xxxxxxxx8. 某計算機系統(tǒng)投入使用后,5 年內(nèi)每年可節(jié)省人民幣 2 000 元。假

8、設(shè)系統(tǒng)的投資額為5 000 元,年利率為12。試計算投資回收期和純收入。1、投資回收期最初投資額為5000元,經(jīng)過3年后可以節(jié)省4814.28元,比最初投資還少1185.72元,第4年一年再次節(jié)省1273.89元,則 118572127389=0.15 3 + 0.15=3.15 因此這項工程的投資回收期是3.15年。2、純收入722453 - 5000=222453元 0,值得投資。P64頁 1、2、3、6需求工程是指應用已證實有效的技術(shù)、方法進行需求分析,確定客戶需求,幫助分析人員理解問題并定義目標系統(tǒng)的所有外部特征的一門學科。它通過合適的工具和記號系統(tǒng)地描述待開發(fā)系統(tǒng),及其行為特征和相關(guān)

9、約束,形成需求文檔;并對用戶不斷變化的需求演進給予支持。3 個層次,業(yè)務(wù)需求、用戶需求、功能需求和非功能需求。3. 指出下列需求描述的不當之處,并進行改寫,使之符合好需求的特性。存在問題:需求不可測產(chǎn)品的哪個模塊;具體哪些狀態(tài)信息;一定必須60秒么,允許誤差么?修改建議后臺任務(wù)管理器應該以誤差上下不超過10秒的60秒間隔,在用戶界面的指定位置顯示狀態(tài)信息。A。如果后臺進程處理正常,那么應該顯示任務(wù)已完成的百分數(shù)比。B。任務(wù)完成時,應顯示相關(guān)的信息C。后臺任務(wù)出錯應該顯示錯誤信息單詞“快速”使其模糊,沒有加進錯誤報告的定義也是其部完整。我不知道,你怎么驗證這個需求。找一個自稱為HTML的入門者,

10、看看能不能根據(jù)錯誤報告快速解決錯誤?HTML分析器可以產(chǎn)生一個錯誤報告,錯誤報告包含有在被分析文件中出錯的HTML文本和行號以及錯誤的描述。如果沒有錯誤,就不會產(chǎn)生錯誤報告。計算機在瞬間不能做任何事,所以這個需求不切實可行。它的不完整性表現(xiàn)在沒有聲明觸發(fā)狀態(tài)切換的條件。軟件要在某些條件下更改自己?或者用戶為了模仿更改要做一些動作?而且,在文檔中改變顯示的范圍是多大:選中的文本,整個的文檔,或其他的?這也是個模糊的問題。不可打印字符合隱藏字符一樣嗎?或者是一些屬性標志或一些控制字符?問題的后果,就是需求的不可證實。用戶能夠在一個由特定觸發(fā)條件激活處于編輯的文檔中在顯示和隱藏所有HTML標記間切換

11、。結(jié)構(gòu)化:系統(tǒng)的思想、問題分解與抽象,至頂向下。面向?qū)ο螅簭默F(xiàn)實世界中客觀存在的事物出發(fā),盡可能地運用人類的自然思維方式來分析構(gòu)造系統(tǒng)。P86頁4、5、6、74. 根據(jù)以下描述的業(yè)務(wù)過程畫出庫存管理的數(shù)據(jù)流圖。根據(jù)車間發(fā)來的產(chǎn)品入庫單做登入庫賬處理后存入庫存賬。對銷售科發(fā)來的產(chǎn)品出庫單,在查閱庫存賬后,如果庫存數(shù)量足夠,則做登出庫賬處理,否則將出庫單退回銷售科,并向生產(chǎn)科發(fā)出缺貨通知。5. 某倉庫管理系統(tǒng)按照以下步驟進行信息處理:(1)保管員根據(jù)當日的出庫單和入庫單通過出入庫處理修改庫存臺賬。(2)根據(jù)庫存臺賬由統(tǒng)計打印程序輸出庫存日報表。(3)必要進行查詢時,可利用查詢程序,在輸入查詢條件后

12、,到庫存臺賬去查找,并顯示查詢結(jié)果。試按上述過程畫出數(shù)據(jù)流圖。6. 某銀行的計算機儲蓄系統(tǒng)功能是:將儲戶的存戶填寫的存款單或取款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名住址存款類型存款日期利率等信息,并打印出存款單給儲戶;如果是取款,系統(tǒng)計算清單給儲戶。請用數(shù)據(jù)流圖描繪該功能的需求,并建立相應的數(shù)據(jù)字典。存款 1取款 2存款單存單取款單利息清單D1 儲戶存款文件利率設(shè)置 3存款利率D2 存款利率文件存款單檢查 1.1輸出存單1.3存款單存單D1.1 儲戶帳戶文件存入款戶1.2存款信息D1.2 事務(wù)流水帳D2 存款利率文件密碼校驗2.1D1.1帳戶文件取款處理2.2取款單取款信息打印利息清單2

13、.3D1.2事務(wù)文件利息清單D2 存款利率文件1、數(shù)據(jù)流數(shù)據(jù)流名稱:取款單、存款單別名:無簡述:顧客存/取款時填寫的單據(jù)來源:顧客去向:核查數(shù)據(jù)流量:200份/天組成:日期取|存款金額姓名地址存/取款類型+密碼賬號 數(shù)據(jù)流名稱:存款憑證別名:無簡述:顧客存款后得到的憑據(jù)來源:銀行存款系統(tǒng)去向:顧客數(shù)據(jù)流量:200份/天組成:日期存款金額儲戶姓名儲戶地址存款類型賬號利率操作員 數(shù)據(jù)流名稱:結(jié)算單別名:無簡述:顧客取款時得到的利率清單來源:銀行儲蓄系統(tǒng)去向:顧客數(shù)據(jù)流量:200份/天組成:取款日期取款金額儲戶姓名儲戶地址存款類型+利息總金額操作員數(shù)據(jù)流名稱:存/取款信息別名:無簡述:系統(tǒng)檢查確認后

14、得到的存/取信息來源:銀行儲蓄系統(tǒng)去向:登錄數(shù)據(jù)流量:200份/天組成:日期存|取款金額儲戶姓名儲戶地址存款類型+賬號利率密碼操作員數(shù)據(jù)流名稱:付款信息別名:無簡述:存儲系統(tǒng)處理的取款信息來源:銀行儲蓄系統(tǒng)去向:付款處理數(shù)據(jù)流量:200份/天組成:日期取款金額儲戶姓名儲戶地址存款類型+賬號利息總金額操作員2、數(shù)據(jù)存儲數(shù)據(jù)存儲名稱:賬卡別名:無簡述:存放用戶信息及存取款情況組成:儲戶姓名儲戶地址賬號|日期|存/取款金額+存款類型利率密碼操作員組織方式:數(shù)據(jù)文件,以儲戶姓名或賬號為關(guān)鍵字進行索引查詢要求:要求能立即查詢并修改 3、數(shù)據(jù)項數(shù)據(jù)項名稱:存款類型別名:無簡述:國家規(guī)定的幾類存款方式類型:

15、字符串長度:2位取值范圍及含義:00:定期; 01:零存整??;10:活期;11:定/活兩便4、加工加工名:核查編號:激發(fā)條件:接受存款單或取款單輸入:存款單或取款單輸出:認定的合格的村/取款信息加工邏輯:根據(jù)賬卡及用戶存/取款單據(jù)if 單據(jù)存款單 then 存款單據(jù)是否填寫規(guī)范,是否與現(xiàn)金一致else 審核是否為有效取款單,取款金額不得超出存款金額,密碼是否正確7. 某廠對部分職工重新分配工作的政策是:年齡在20 歲以下、初中文化程度者脫產(chǎn)學習;高中文化程度者當電工。20 歲至40 歲之間,初中文化程度,男性當鉗工,女性當車工;大學文化程度都當技術(shù)員。年齡在40 歲以上者,初中文化程度當材料員

16、,大學文化程度當技術(shù)員。請用結(jié)構(gòu)化語言判定表或判定樹描述上述問題的加工邏輯。工作分配規(guī)則年齡年齡=20=202020年齡年齡=404040初中畢業(yè)初中畢業(yè)高中畢業(yè)高中畢業(yè)脫產(chǎn)學習脫產(chǎn)學習電工電工大學畢業(yè)大學畢業(yè)技術(shù)員技術(shù)員鉗工鉗工材料員材料員男男女女車工車工P116 3、4、73. UML 的內(nèi)容包括哪些部分?它的特點是什么?UML 由視圖(Views)、模型元素(Model Elements)、圖(Diagrams)等部分組成。47邏輯視圖邏輯視圖構(gòu)件視圖構(gòu)件視圖配置視圖配置視圖進程視圖進程視圖Use case視圖視圖描述系統(tǒng)的外部特性、描述系統(tǒng)的外部特性、系統(tǒng)功能等系統(tǒng)功能等系統(tǒng)代碼構(gòu)件組

17、系統(tǒng)代碼構(gòu)件組織和實現(xiàn)模塊以織和實現(xiàn)模塊以及它們之間的依及它們之間的依賴關(guān)系賴關(guān)系用于描述如何實用于描述如何實現(xiàn)系統(tǒng)內(nèi)部的功現(xiàn)系統(tǒng)內(nèi)部的功能,系統(tǒng)的靜態(tài)能,系統(tǒng)的靜態(tài)結(jié)構(gòu)和因發(fā)送消結(jié)構(gòu)和因發(fā)送消息而出現(xiàn)的動態(tài)息而出現(xiàn)的動態(tài)協(xié)作關(guān)系協(xié)作關(guān)系描述系統(tǒng)內(nèi)部的控描述系統(tǒng)內(nèi)部的控制機制制機制描述系統(tǒng)的物理配置描述系統(tǒng)的物理配置特征特征模型元素指的是建模過程中涉及的一些基本概念,如類、對象、用例、結(jié)點、狀態(tài)、接口、包(子系統(tǒng))、注釋、構(gòu)件等。49對象圖模型動動態(tài)態(tài)行行為為功能功能靜靜態(tài)態(tài)結(jié)結(jié)構(gòu)構(gòu)物理物理架構(gòu)架構(gòu)(1) 統(tǒng)一標準。UML 統(tǒng)一了 Booch、OMT 和 OOSE 等方法中的基本概念,已成為

18、OMG的正式標準,提供了標準的面向?qū)ο竽P驮氐亩x和表示。 (2) 面向?qū)ο?。UML 吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處。UML 符號表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號,也添加了一些新符號。 (3) 可視化、表達能力強。系統(tǒng)的邏輯模型或?qū)崿F(xiàn)模型都能用 UML 模型清晰表示,可用于復雜軟件系統(tǒng)的建模。它不只是一堆圖形符號,在每一個圖形表示符號后面,都有良好定義的語義;UML 還提供了語言的擴展機制,用戶可以根據(jù)需要增加定義自己的構(gòu)造模型、標記值和約束等,強大表達能力使它可以用于各種復雜類型的軟件系統(tǒng)建模。 (4) 獨立于過程。UML 是系統(tǒng)建模語言

19、,不依賴于特定的程序設(shè)計語言,獨立于開發(fā)過程。 (5) 易掌握、易用。由于 UML 的概念明確,建模表示法簡潔明了,圖形結(jié)構(gòu)清晰,易于掌握使用。4. 解釋下列術(shù)語,并舉例說明。對象、類、關(guān)聯(lián)、泛化、聚合、依賴對象(Object)是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位,由一組屬性和對這組屬性進行操作的一組服務(wù)組成。類(Class)是具有相同屬性和服務(wù)的一組對象的集合,它為屬于該類的全部對象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個主要部分。類代表一個抽象的概念或事物,對象是在客觀世界中實際存在的類的實例。 對象之間的聯(lián)系分類結(jié)構(gòu):一般與特殊的關(guān)系(泛華)分類結(jié)構(gòu):一般

20、與特殊的關(guān)系(泛華)組成結(jié)構(gòu):部分與整體的關(guān)系(組成結(jié)構(gòu):部分與整體的關(guān)系(聚合)實例連接:對象之間的靜態(tài)聯(lián)系(實例連接:對象之間的靜態(tài)聯(lián)系(關(guān)聯(lián))消息連接:對象之間的通信聯(lián)系消息連接:對象之間的通信聯(lián)系分類結(jié)構(gòu)分類結(jié)構(gòu)表示的是事物的一般與特殊的關(guān)系分類結(jié)構(gòu)表示的是事物的一般與特殊的關(guān)系(“is a”)(“is a”),在面,在面向?qū)ο笮g(shù)語中,將一般與特殊的關(guān)系稱為向?qū)ο笮g(shù)語中,將一般與特殊的關(guān)系稱為泛化泛化( (Generalization)Generalization)聯(lián)系聯(lián)系。如果在分類結(jié)構(gòu)中存在多繼承,將形成一個類的網(wǎng)格結(jié)構(gòu)。如果在分類結(jié)構(gòu)中存在多繼承,將形成一個類的網(wǎng)格結(jié)構(gòu)。52組成

21、結(jié)構(gòu)組成結(jié)構(gòu) 組成結(jié)構(gòu)表示對象類之間的組成關(guān)系(has a),即部分與整體關(guān)系。 組成結(jié)構(gòu)體現(xiàn)了面向?qū)ο蠓椒ǖ木酆希ˋggregation)原則 組成結(jié)構(gòu)可以表示出復雜的對象層次結(jié)構(gòu)。實例連接實例連接 實例連接表示對象之間的靜態(tài)聯(lián)系,它是通過對象的屬性來表現(xiàn)對象之間的依賴關(guān)系。 在面向?qū)ο笮g(shù)語中,對象之間的實例連接稱為鏈接(Link),存在實例連接的對象類之間的聯(lián)系稱為關(guān)聯(lián)(Association)53消息連接 消息連接是對象之間的通信聯(lián)系,它表現(xiàn)了對象行為的動消息連接是對象之間的通信聯(lián)系,它表現(xiàn)了對象行為的動態(tài)聯(lián)系。態(tài)聯(lián)系。 一個對象需要另一個對象的服務(wù),便向它發(fā)出請求服務(wù)的一個對象需要另一

22、個對象的服務(wù),便向它發(fā)出請求服務(wù)的消息,接收消息的對象響應消息,觸發(fā)所要求的服務(wù)操作。消息,接收消息的對象響應消息,觸發(fā)所要求的服務(wù)操作。 消息連接是在具有交互的對象之間的一種基本聯(lián)系。消息連接是在具有交互的對象之間的一種基本聯(lián)系。547假設(shè)你所在的學校要開發(fā)一個研究生選課系統(tǒng),要求該系統(tǒng)能夠根據(jù)預先制訂的課表保證選課無沖突。請采用UML 面向?qū)ο蠓椒樵搯栴}建立需求模型。一、用例模型用例描述“添加學生信息”用例的描述用例名稱添加學生信息用例標識UC1001基本操作選程1、打開添加學生信息頁面,輸入要添加的學生信息。2、系統(tǒng)先通過查詢確認學生信息不存在。3、將學生信息保存到數(shù)據(jù)庫中。4、將學生

23、信息在頁面上顯示出來??蛇x操作流程第2步如果要添加的學生信息已經(jīng)存在,則顯示相應的提示信息1:AppendStudentInfo:添加學生記錄2:AddStudentInfo:添加學生信息3: MySqlExecuteNonQuery:將學生信息寫入數(shù)據(jù)庫中pP132頁 1,2題 第第3 3題:題: 針對自己實驗課中所選的系統(tǒng),寫一個用例, 并根據(jù)用例建立對象模型和動態(tài)模型.1. 面向?qū)ο蠓治霭男┗顒??應該建立哪些類型的模型?面向?qū)ο蟮姆治鲞^程由 5 個活動組成:p用例驅(qū)動的面向?qū)ο蠓治鲆话氵^程1. 獲取客戶對系統(tǒng)的需求:包括標識參與者和用例,建立用例模型。2. 以用例模型為指南,選擇并標

24、識類和對象(包括屬性和操作)。3. 定義類的結(jié)構(gòu)和層次。4. 建造對象行為模型。5. 利用用例來復審分析模型。 用例用例建模建模對象對象建模建模分析分析模型模型評審評審2. 什么是實體類、邊界類和控制類?為什么將分析類劃分成這3 種類型?實體類是用于對必須存儲的信息和相關(guān)行為建模的類。實體對象(實體類的實例)用于保存和更新一些對象的有關(guān)信息,如事件、人員或者一些現(xiàn)實生活中的對象。實體類通常都是永久性的,它們具有的屬性和關(guān)系是系統(tǒng)長期需要的,有時甚至在系統(tǒng)的整個生命周期都需要。實體類主要的任務(wù)是裝載信息,同時也具有行為,但是這部分行為具有“向內(nèi)收斂”的特征,主要包括那些和實體類自身信息直接相關(guān)的

25、操作。邊界類是一種用于對系統(tǒng)外部環(huán)境與其內(nèi)部運作之間的交互進行建模的類。這種交互包括轉(zhuǎn)換事件,并記錄系統(tǒng)表示方法(如接口)中的變更??刂祁愑糜趯σ粋€或幾個用例所持有的控制行為進行建模。 控制對象(控制類的實例)通??刂破渌麑ο螅虼怂鼈兊男袨榫哂袇f(xié)調(diào)性質(zhì)??刂祁悓⒂美奶赜行袨檫M行封裝。實踐經(jīng)驗表明,如果立足于軟件功能需求,目標系統(tǒng)往往在 3 個維度容易發(fā)生變化:第一,目標系統(tǒng)和外部要素之間交互的邊界;第二,目標系統(tǒng)要記錄和維護的信息; 第三, 目標系統(tǒng)在運行中的控制邏輯。通常按照這 3 個變化因素的維度,將“分析類”劃分為 3 種類型,即邊界類、實體類和控制類.這種劃分反映了系統(tǒng)對象的不同作

26、用和相互關(guān)系,有利于開發(fā)人員嘗試找出分析類;另一方面,這種劃分將系統(tǒng)中最容易產(chǎn)生變化的邊界部分與相對穩(wěn)定的實體部分和控制部分進行分析,可以更好地適應軟件功能需求的變化。使得擬建系統(tǒng)的結(jié)構(gòu)對于軟件功能需求變化的“反響”具有顯著的“高內(nèi)聚、低耦合”特征。 P148 1、3、4、6軟件需求:解決“系統(tǒng)做什么”軟件設(shè)計:解決“系統(tǒng)應該怎么做”將需求分析階段產(chǎn)生的需求規(guī)格說明轉(zhuǎn)換將需求分析階段產(chǎn)生的需求規(guī)格說明轉(zhuǎn)換為為軟件設(shè)計文檔軟件設(shè)計文檔。軟件設(shè)計的最終目標是產(chǎn)生一個設(shè)計規(guī)約,該規(guī)約包括體系結(jié)構(gòu)、描述數(shù)據(jù)、接口和構(gòu)件的設(shè)計模型。(1) 體系結(jié)構(gòu):設(shè)計定義了軟件主要結(jié)構(gòu)性元素之間的關(guān)系。體系結(jié)構(gòu)設(shè)計表

27、示(即基于計算機的系統(tǒng)框架)可以從系統(tǒng)規(guī)約、分析模型及分析模型中所定義子系統(tǒng)的交互導出。 (2) 描述數(shù)據(jù):將分析階段創(chuàng)建的信息模型轉(zhuǎn)變成實現(xiàn)軟件所需的數(shù)據(jù)結(jié)構(gòu)。在實體-關(guān)系圖中定義的數(shù)據(jù)對象和關(guān)系,以及數(shù)據(jù)字典中描述的詳細數(shù)據(jù)內(nèi)容,提供了數(shù)據(jù)設(shè)計活動的基礎(chǔ)。當然,部分數(shù)據(jù)設(shè)計可能和軟件體系結(jié)構(gòu)的設(shè)計同時發(fā)生,但更詳細的數(shù)據(jù)設(shè)計活動則會發(fā)生在每個具體軟件構(gòu)件設(shè)計的時候。 (3) 接口設(shè)計: 描述了軟件內(nèi)部模塊之間及軟件與人之間是如何通信的(包括數(shù)據(jù)流和控制流)。一個接口意味著特定信息流(如數(shù)據(jù)流和/或控制流)及行為類型,因此,數(shù)據(jù)和控制流圖提供了接口設(shè)計所需的信息。 (4) 構(gòu)件設(shè)計:將軟件體

28、系結(jié)構(gòu)的結(jié)構(gòu)性元素轉(zhuǎn)變成對軟件構(gòu)件的過程性描述,即描述軟件構(gòu)件的詳細內(nèi)部設(shè)計細節(jié)。從工程管理的角度來看,軟件設(shè)計分兩步完成,即總體設(shè)計與詳細設(shè)計。第一個階段是總體設(shè)計,即概要設(shè)計或初步設(shè)計,將軟件需求轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)和軟件的系統(tǒng)結(jié)構(gòu),包括結(jié)構(gòu)設(shè)計和接口設(shè)計,并編寫概要設(shè)計文檔。這一階段主要確定實現(xiàn)目標系統(tǒng)的總體思想和設(shè)計框架。系統(tǒng)分析員使用系統(tǒng)流程圖或其他工具,描述每種可能的系統(tǒng),估計每種方案的成本和效益,推薦一個較好的系統(tǒng)方案(最佳方案),并且制定實現(xiàn)所推薦系統(tǒng)的詳細計劃。在用戶確認后,系統(tǒng)分析員就要設(shè)計軟件的整體結(jié)構(gòu)和框架,確定程序由哪些模塊組成,以及模塊與模塊之間的關(guān)系,最后提出概要設(shè)計說

29、明書。 第二個階段是詳細設(shè)計,即過程設(shè)計或構(gòu)件級設(shè)計,其任務(wù)是通過對結(jié)構(gòu)表示進行細化,確定各個軟件構(gòu)件的詳細數(shù)據(jù)結(jié)構(gòu)和算法,產(chǎn)生描述各個軟件構(gòu)件的詳細設(shè)計文檔。詳細設(shè)計的根本目標是確定應該怎樣具體地實現(xiàn)所要求的系統(tǒng)。程序的體系結(jié)構(gòu)是通過逐步精化處理過程的層次而設(shè)計出來的。通過逐步分解對功能的宏觀陳述而開發(fā)出層次結(jié)構(gòu),最終得出用程序設(shè)計語言表達的程序。求精實際上是細化過程。抽象與求精是一對互補的概念。抽象使得設(shè)計者能夠說明過程和數(shù)據(jù),但卻忽略了底層細節(jié)。求精則幫助設(shè)計者在設(shè)計過程中逐步揭示底層細節(jié)。模塊化與模塊獨立性;抽象與逐步求精;信息隱藏。軟件設(shè)計分兩步完成,即總體設(shè)計與詳細設(shè)計。第一個階段

30、是總體設(shè)計,即概要設(shè)計或初步設(shè)計。這一階段主要確定實現(xiàn)目標系統(tǒng)的總體思想和設(shè)計框架,確定程序由哪些模塊組成,以及模塊與模塊之間的關(guān)系,最后提出概要設(shè)計說明書。第二個階段是詳細設(shè)計,即過程設(shè)計或構(gòu)件級設(shè)計,其任務(wù)是通過對結(jié)構(gòu)表示進行細化,確定各個軟件構(gòu)件的詳細數(shù)據(jù)結(jié)構(gòu)和算法,產(chǎn)生描述各個軟件構(gòu)件的詳細設(shè)計文檔。P171 2、6、7事務(wù)流由至少一條接受路徑、一個事務(wù)中心與若干條動作路徑組成。變換流有三部分組成:即輸入流、變換中心和輸出流數(shù)據(jù)流的兩種類型數(shù)據(jù)流的兩種類型1. 1. 變換型變換型 信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形信息沿輸入通路進入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進

31、入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出式,進入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng)。通路變換成外部形式離開軟件系統(tǒng)。 當數(shù)據(jù)流圖具有這些特征時,這種信息流就叫作變換流。當數(shù)據(jù)流圖具有這些特征時,這種信息流就叫作變換流。 由由輸入、變換中心和輸出輸入、變換中心和輸出三部分組成。因此變換型的三部分組成。因此變換型的DFDDFD是一個順序結(jié)構(gòu)。是一個順序結(jié)構(gòu)。2. 事務(wù)型 數(shù)據(jù)沿輸入通路到達一個處理T,這個處理根據(jù)輸入數(shù)據(jù)的類型在若干個動作序列中選出一個來執(zhí)行。處理T 稱為事務(wù)中心,它完成以下任務(wù):(1) 接收輸入數(shù)據(jù)(輸入數(shù)據(jù)又稱為事務(wù))。(2)

32、分析每個事務(wù)以確定它的類型。(3) 根據(jù)事務(wù)類型選取一條動作路徑。7. 某圖書管理系統(tǒng)有以下功能。(1) 借書:輸入讀者借書證。系統(tǒng)首先檢查借書證是否有效,若有效,對于第一次借書的讀者,在借書證上建立檔案。否則,查閱借書文件,檢查該讀者所借圖書是否超過10 本,若已達10 本,拒借;未達10 本,辦理借書(檢查庫存,修改庫存目錄并將讀者借書情況錄入借書文件)。(2) 還書:從借書文件中讀出與讀者有關(guān)的記錄,查閱所借日期,如超期(3 個月)做罰款處理。否則,修改庫存目錄與借書文件。(3) 查詢:通過借書文件,庫存目錄文件查詢讀者情況圖書借閱及庫存情況,打印統(tǒng)計表。根據(jù)上面描述繪制系統(tǒng)模塊結(jié)構(gòu)圖和IPO 圖。P199 1、3、51. 簡述面向?qū)ο笤O(shè)計階段要做的工作。p主要考慮主要考慮“如何實現(xiàn)如何實現(xiàn)”的問題,將面向?qū)ο蠓治鰟?chuàng)建的分析的問題,將面向?qū)ο蠓治鰟?chuàng)建的分析模型,轉(zhuǎn)變?yōu)樽鳛檐浖?gòu)造藍圖的設(shè)計模型。模型,轉(zhuǎn)變?yōu)樽鳛檐浖?gòu)造藍圖的設(shè)計模型。p不僅要說明為實現(xiàn)需要必須引入的類、對象及它們之間是如不僅要說明為實現(xiàn)需要必須引入的類、對象及它們之間是如何關(guān)聯(lián)的,描述對象間如何傳遞消息和對象的行為如何實現(xiàn),何關(guān)聯(lián)的,描述對象間如何傳遞消息和對象的行為如何實現(xiàn),還必須從還必須從提高軟件設(shè)計質(zhì)

溫馨提示

  • 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

提交評論