軟件工程實(shí)用教程4-軟件設(shè)計(jì)(2)_第1頁(yè)
軟件工程實(shí)用教程4-軟件設(shè)計(jì)(2)_第2頁(yè)
軟件工程實(shí)用教程4-軟件設(shè)計(jì)(2)_第3頁(yè)
軟件工程實(shí)用教程4-軟件設(shè)計(jì)(2)_第4頁(yè)
軟件工程實(shí)用教程4-軟件設(shè)計(jì)(2)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、軟 件 工 程第四章 軟件設(shè)計(jì)(2)任務(wù)2 構(gòu)建數(shù)據(jù)庫(kù)數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)任務(wù)3 設(shè)計(jì)界面任務(wù)4 描述算法詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)工具2任務(wù)2 構(gòu)建數(shù)據(jù)庫(kù)在分析圖書管理系統(tǒng)的過程中出現(xiàn)了很多與業(yè)務(wù)相關(guān)的數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)實(shí)體等數(shù)據(jù)表現(xiàn)形式。這些數(shù)據(jù)在系統(tǒng)實(shí)現(xiàn)過程中都需要使用到并需要體現(xiàn)出來(lái)的。例如,數(shù)據(jù)存儲(chǔ)本身是一種靜態(tài)數(shù)據(jù)的表示方式,就意味著在系統(tǒng)中需要持久化這些數(shù)據(jù)。數(shù)據(jù)庫(kù)往往是持久化數(shù)據(jù)的常用方法。那么,這些數(shù)據(jù)應(yīng)該以什么樣的形式進(jìn)行組織,又應(yīng)該怎樣表達(dá)出來(lái)呢?31 數(shù)據(jù)設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)的內(nèi)容數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)文件的設(shè)計(jì)數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)設(shè)計(jì)的層次業(yè)務(wù)級(jí)存儲(chǔ)在不同數(shù)據(jù)庫(kù)并且重新組織為“數(shù)據(jù)倉(cāng)

2、庫(kù)”的信息的集合,它啟動(dòng)了數(shù)據(jù)挖掘或知識(shí)發(fā)現(xiàn),對(duì)業(yè)務(wù)本身的成功有重要影響。應(yīng)用級(jí)需求工程導(dǎo)出的數(shù)據(jù)模型到數(shù)據(jù)庫(kù)的轉(zhuǎn)換,是達(dá)到系統(tǒng)業(yè)務(wù)目標(biāo)的關(guān)鍵;程序構(gòu)件級(jí)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和操作它們所需要的相關(guān)算法,對(duì)創(chuàng)建高質(zhì)量的應(yīng)用至關(guān)重要。5數(shù)據(jù)設(shè)計(jì)的原則在數(shù)據(jù)設(shè)計(jì)中也可以使用自頂向下、逐步細(xì)化的方法。底層數(shù)據(jù)設(shè)計(jì)的決策應(yīng)該推遲到設(shè)計(jì)過程的后期進(jìn)行數(shù)據(jù)設(shè)計(jì)時(shí)應(yīng)遵從信息隱藏原則要確定所有數(shù)據(jù)結(jié)構(gòu),以及在每種數(shù)據(jù)結(jié)構(gòu)上實(shí)施的操作應(yīng)當(dāng)創(chuàng)建一個(gè)存放數(shù)據(jù)結(jié)構(gòu)和相關(guān)操作的庫(kù)2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)原則盡量使用簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)在設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)時(shí)要注意數(shù)據(jù)之間的關(guān)系為了加強(qiáng)數(shù)據(jù)設(shè)計(jì)的可復(fù)用性,應(yīng)該針對(duì)常用的數(shù)據(jù)結(jié)構(gòu)和復(fù)雜的數(shù)據(jù)

3、結(jié)構(gòu)設(shè)計(jì)抽象類型盡量使用經(jīng)典數(shù)據(jù)結(jié)構(gòu)在確定數(shù)據(jù)結(jié)構(gòu)時(shí)一般先考慮靜態(tài)結(jié)構(gòu)對(duì)于復(fù)雜數(shù)據(jù)結(jié)構(gòu),應(yīng)給出圖形和文字描述,以便于理解3 數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)的基本步驟(1)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)(2)數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)(3)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì) 概念結(jié)構(gòu)設(shè)計(jì)應(yīng)在系統(tǒng)分析階段進(jìn)行。任務(wù)是根據(jù)用戶需求設(shè)計(jì)數(shù)據(jù)庫(kù)的概念數(shù)據(jù)模型 (簡(jiǎn)稱概念模型)。概念模型是從用戶角度看到的數(shù)據(jù)庫(kù),它可用E-R模型表示。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)是將概念結(jié)構(gòu)設(shè)計(jì)階段完成的概念模型轉(zhuǎn)換成能被選定的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)支持的數(shù)據(jù)模型。目前常見的是關(guān)系模型。將E-R模型轉(zhuǎn)換為關(guān)系模型的一般規(guī)則(

4、1)每一實(shí)體集對(duì)應(yīng)于一個(gè)關(guān)系模式,實(shí)體名作為關(guān)系名,實(shí)體的屬性作為對(duì)應(yīng)關(guān)系的屬性。 (2)實(shí)體間的聯(lián)系一般對(duì)應(yīng)一個(gè)關(guān)系,聯(lián)系名作為對(duì)應(yīng)的關(guān)系名,不帶有屬性的聯(lián)系可以去掉。 (3)實(shí)體和聯(lián)系中關(guān)鍵字對(duì)應(yīng)的屬性在關(guān)系模式中仍作為關(guān)鍵字。重?cái)?shù)數(shù)據(jù)庫(kù)操作一對(duì)一為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表每個(gè)表中的主碼也是相關(guān)表中的外碼一對(duì)多為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表關(guān)聯(lián)中“一”這一側(cè)表的主碼是“多”那一側(cè)表的外碼多對(duì)多為每個(gè)對(duì)象分別創(chuàng)建一個(gè)表創(chuàng)建一個(gè)附加的交叉表每個(gè)對(duì)象對(duì)應(yīng)的表的主碼在交叉表中都定義為外碼交叉表的主碼可以是單獨(dú)的特定一列(自動(dòng)生成的代主碼),或者也可能是來(lái)自其他表的兩個(gè)外鍵的組合再加上一個(gè)有含義的標(biāo)識(shí)符(如

5、角色、類型)將重?cái)?shù)映射到數(shù)據(jù)庫(kù)操作根據(jù)規(guī)則,下面的實(shí)體和聯(lián)系就很容易轉(zhuǎn)換成了上述對(duì)應(yīng)的關(guān)系數(shù)據(jù)模型: 學(xué)生 (學(xué)號(hào),姓名,性別,出生日期,籍貫) 課程 (課程編號(hào),課程名,學(xué)時(shí),學(xué)分,教材名稱) 教師 (教師編號(hào),教師姓名,性別,出生日期,職稱,學(xué)歷,工作時(shí)間) 學(xué)習(xí) (學(xué)號(hào),課程編號(hào),成績(jī)) 教學(xué) (教師編號(hào),課程編號(hào),效果)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)是為數(shù)據(jù)模型在設(shè)備上選定合適的存儲(chǔ)結(jié)構(gòu)和存取方法,以獲得數(shù)據(jù)庫(kù)的最佳存取效率。物理結(jié)構(gòu)設(shè)計(jì)的主要內(nèi)容包括: 庫(kù)文件的組織形式。如選用順序文件組織形式、索引文件組織形式等。 存儲(chǔ)介質(zhì)的分配。例如將易變的、存取頻繁的數(shù)據(jù)存放在高速存儲(chǔ)器上,穩(wěn)

6、定的、存取頻度小的數(shù)據(jù)存放在低速存儲(chǔ)器上。 存取路徑的選擇等。第一范式(1NF)在關(guān)系模式R中的每一個(gè)具體關(guān)系r中,如果每個(gè)屬性值 都是不可再分的最小數(shù)據(jù)單位,則稱R是第一范式的關(guān)系。 第二范式(2NF)如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性都完全依賴于任意一個(gè)候選關(guān)鍵字,則稱關(guān)系R 是屬于第二范式的。 第三范式(3NF)如果關(guān)系模式R(U,F(xiàn))中的所有非主屬性對(duì)任何候選關(guān)鍵字都不存在傳遞信賴,則稱關(guān)系R是屬于第三范式的。 任務(wù)3 設(shè)計(jì)界面在需求分析階段我們已經(jīng)接觸到采用快速原型的方式來(lái)獲取和明確用戶的需求,在設(shè)計(jì)階段我們已經(jīng)基本上掌握了用戶的想法,需要根據(jù)需求規(guī)格說(shuō)明書中提到的信息構(gòu)建和明

7、細(xì)系統(tǒng)實(shí)現(xiàn)的界面,那么,在用戶界面構(gòu)建的過程中,除了確定界面中所包含的界面信息外,還有哪些方面是我們需要注意的呢?15界面設(shè)計(jì)設(shè)計(jì)用戶界面就是設(shè)計(jì)輸入輸出,這些輸入輸出是指為了執(zhí)行一個(gè)任務(wù)用戶與計(jì)算機(jī)系統(tǒng)之間進(jìn)行的交互。我們側(cè)重于人和計(jì)算機(jī)交互的界面設(shè)計(jì),即人機(jī)交互界面。遵循一組界面設(shè)計(jì)原則,設(shè)計(jì)任務(wù)需標(biāo)識(shí)界面對(duì)象和動(dòng)作,然后創(chuàng)建屏幕布局,形成用戶界面原形的基礎(chǔ)。界面設(shè)計(jì)八項(xiàng)黃金規(guī)則盡量保持一致性為熟練用戶提供快捷鍵提供有效反饋設(shè)計(jì)完整的對(duì)話過程提供簡(jiǎn)單的錯(cuò)誤處理機(jī)制允許撤銷動(dòng)作提供控制的內(nèi)部軌跡減少短期記憶負(fù)擔(dān)任務(wù)4 描述算法通過概要設(shè)計(jì)階段所獲得的軟件體系結(jié)構(gòu),我們已經(jīng)了解了系統(tǒng)內(nèi)部基本的

8、組成形式及模塊間的調(diào)用關(guān)系,下面我們需要深入到模塊內(nèi)部,去探尋一下每個(gè)模塊具體的實(shí)現(xiàn)策略,那么,可以采用什么樣的方式來(lái)對(duì)模塊內(nèi)部實(shí)現(xiàn)策略進(jìn)行描述呢?181 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì)也稱為構(gòu)件級(jí)設(shè)計(jì)或過程設(shè)計(jì)。在數(shù)據(jù)設(shè)計(jì)、體系結(jié)構(gòu)設(shè)計(jì)和接口設(shè)計(jì)完成之后進(jìn)行。其意圖是將設(shè)計(jì)模型翻譯為可以運(yùn)行的軟件。構(gòu)件級(jí)設(shè)計(jì)建立起操縱數(shù)據(jù)結(jié)構(gòu),影響軟件構(gòu)件間通過它們的接口的通信以及實(shí)現(xiàn)分配到每個(gè)構(gòu)件的處理算法所需的算法細(xì)節(jié)。 2 詳細(xì)設(shè)計(jì)工具從軟件開發(fā)的工程化觀點(diǎn)來(lái)看,在使用程序設(shè)計(jì)語(yǔ)言編制程序以前,需要對(duì)所采用算法的邏輯關(guān)系進(jìn)行分析,設(shè)計(jì)出全部必要的過程細(xì)節(jié),并給予清晰的表達(dá)。這就是過程設(shè)計(jì)的任務(wù)。在過程設(shè)計(jì)階

9、段,要決定各個(gè)模塊的實(shí)現(xiàn)算法,并精確地表達(dá)這些算法。表達(dá)過程規(guī)格說(shuō)明的工具叫做詳細(xì)設(shè)計(jì)工具,它可以分為以下三類: 圖形工具 表格工具 語(yǔ)言工具20(1)圖形工具程序流程圖五種基本控制結(jié)構(gòu)A ;B ;對(duì)應(yīng)的代碼If P A ;else B ;對(duì)應(yīng)的代碼while P S ;對(duì)應(yīng)的代碼Do S ;Until P對(duì)應(yīng)的代碼Switch P case 1:A1;break; case 2:A2;break; case n:An; 對(duì)應(yīng)的代碼 示例練習(xí)1閱讀前面給出的程序流程圖,請(qǐng)用偽碼進(jìn)行表示。練習(xí)2將下述偽碼轉(zhuǎn)換為程序流程圖A; B;if x1 then while x2 E; if x3 then

10、 C; D; F;N-S圖也叫做盒圖。五種基本控制結(jié)構(gòu)由五種圖形構(gòu)件表示。示例N-S圖的嵌套定義形式問題分析圖(PAD)PAD也設(shè)置了五種基本控制結(jié)構(gòu)的圖式,并允許遞歸使用。PAD描述的示例(2)表格工具判定表判定表能夠清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。一張判定表由四部分組成,包括所有可能條件、所有可能做的動(dòng)作、各種條件的可能組合、每種條件組合相對(duì)應(yīng)的動(dòng)作。判定表的每一列實(shí)質(zhì)上是一條規(guī)則,規(guī)定了與特定的條件組合相對(duì)應(yīng)的動(dòng)作。舉例優(yōu)先進(jìn)行維修處理的決策:對(duì)功率大于50馬力的機(jī)器、維修記錄不全或已運(yùn)行10年以上的機(jī)器,應(yīng)給予優(yōu)先的維修處理。建立判定表的步驟列出與一個(gè)具體過程(或模

11、塊)有關(guān)的所有處理。列出過程執(zhí)行期間的所有條件(或所有判斷)。將特定條件取值組合與特定的處理相匹配,消去不可能發(fā)生的條件取值組合。將右部每一縱列規(guī)定為一個(gè)處理規(guī)則,即對(duì)于某一條件取值組合將有什么動(dòng)作。練習(xí)以行李托運(yùn)費(fèi)的算法為例說(shuō)明判定表的組織方法。假設(shè)某航空公司規(guī)定,乘客可以免費(fèi)托運(yùn)重量不超過30公斤的行李。當(dāng)行李重量超過30公斤時(shí),對(duì)頭等艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)4元,對(duì)其他艙的國(guó)內(nèi)乘客超重部分每公斤收費(fèi)6元,對(duì)外國(guó)乘客超重部分每公斤收費(fèi)比國(guó)內(nèi)乘客多一倍,對(duì)殘疾乘客超重部分每公斤收費(fèi)比正常乘客少一半。用判定表可以清楚地表示與上述每種條件組合相對(duì)應(yīng)的動(dòng)作(算法)。 條件123456789國(guó)內(nèi)乘客TTTTF FFF頭等艙TFTFTFTF殘疾乘客FFTTFFTT行李重量W30TFFFFFFFF 動(dòng)作免費(fèi)(W-30)2(W-30)3(W-30)4(W-30)6(W-30)8(W-30)12判定樹判定樹是判定表的變種也能清晰地表示復(fù)雜的條件組合與應(yīng)做的動(dòng)作之間的對(duì)應(yīng)關(guān)系。判定樹的形式簡(jiǎn)單,易于掌握和使用。舉例殘疾乘客(W-30)2正常乘客(W-30)4正常乘客(W-30)6殘疾乘客(W-30)3殘疾乘客(W-30)4正常乘客(W-30)8殘疾乘

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論