版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版鋁合金模板工程安裝與環(huán)保評(píng)估合同4篇
- 2025年盆景市場(chǎng)推廣與銷售合作合同范本4篇
- 二零二五年度綠色建筑節(jié)能改造項(xiàng)目設(shè)計(jì)咨詢服務(wù)合同4篇
- 2025年移動(dòng)通信網(wǎng)絡(luò)優(yōu)化服務(wù)合同范本
- 2025年度鋁扣板吊頂施工與維護(hù)一體化服務(wù)合同協(xié)議
- 2025游泳館會(huì)員卡年度健康體檢及運(yùn)動(dòng)康復(fù)服務(wù)協(xié)議3篇
- 2025年度凈身出戶離婚協(xié)議書模板與婚姻律師團(tuán)隊(duì)全程支持服務(wù)協(xié)議3篇
- 上海建筑工地勞務(wù)合作協(xié)議樣書
- 2025年度個(gè)人物流運(yùn)輸承包合同范本2篇
- 2025年度私立學(xué)校教師聘用合同范本(創(chuàng)新教育版)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 小學(xué)網(wǎng)管的工作總結(jié)
- 2024年銀行考試-興業(yè)銀行筆試參考題庫(kù)含答案
- 泵站運(yùn)行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學(xué)校中考一模數(shù)學(xué)試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標(biāo)準(zhǔn)》
- 浙教版七年級(jí)下冊(cè)科學(xué)全冊(cè)課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計(jì)算公式測(cè)量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測(cè)定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論