自己電腦上做網(wǎng)站南寧百度快速優(yōu)化
DBAS功能概要設(shè)計(jì)
參照b站【計(jì)算機(jī)三級(jí)數(shù)據(jù)庫(kù)技術(shù)】
DBAS功能設(shè)計(jì)包括應(yīng)用軟件中的數(shù)據(jù)庫(kù)事務(wù)設(shè)計(jì)和應(yīng)用程序設(shè)計(jì)。
功能設(shè)計(jì)過(guò)程一般被劃分為總體設(shè)計(jì)、概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。而具體到數(shù)據(jù)庫(kù)事務(wù)設(shè)計(jì)部分,又可分成事務(wù)概要設(shè)計(jì)和事務(wù)詳細(xì)設(shè)計(jì)。完成系統(tǒng)設(shè)計(jì)工作之后,就進(jìn)入系統(tǒng)實(shí)現(xiàn)與部署階段。
1. 軟件體系結(jié)構(gòu)與設(shè)計(jì)過(guò)程
?軟件體系結(jié)構(gòu)
又稱軟件架構(gòu),軟件體系結(jié)構(gòu)= {構(gòu)件,連接件,約束}
軟件體系結(jié)構(gòu)是軟件系統(tǒng)中最本質(zhì)的東西。良好的體系結(jié)構(gòu)必須是普適、高效和穩(wěn)定的。
軟件體系結(jié)構(gòu)有多種風(fēng)格和類型,如分層體系結(jié)構(gòu)、模型-視圖控制器(MVC )體系結(jié)構(gòu)、客戶端/服務(wù)器體系結(jié)構(gòu)
2. 軟件設(shè)計(jì)過(guò)程
?軟件設(shè)計(jì)過(guò)程
-
軟件開(kāi)發(fā)由設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試三個(gè)環(huán)節(jié)組成,設(shè)計(jì)又包含概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
-
概要設(shè)計(jì)的任務(wù)是進(jìn)行軟件總體結(jié)構(gòu)設(shè)計(jì),可采用層次結(jié)構(gòu)圖建立軟件總體結(jié)構(gòu)圖。詳細(xì)設(shè)計(jì)的任務(wù)是進(jìn)行數(shù)據(jù)設(shè)計(jì)、過(guò)程設(shè)計(jì)及人機(jī)界面設(shè)計(jì)。
-
設(shè)計(jì)原則:模塊化、信息隱藏、抽象與逐步求精。
-
軟件設(shè)計(jì)可選用結(jié)構(gòu)化設(shè)計(jì)方法、面向?qū)ο笤O(shè)計(jì)方法或面向數(shù)據(jù)設(shè)計(jì)方法等。
1. DBAS體系結(jié)構(gòu)設(shè)計(jì)
?將系統(tǒng)從功能、層次/結(jié)構(gòu)、地理分布等角度進(jìn)行分解,劃分為多個(gè)子系統(tǒng),定義各子系統(tǒng)功能;
設(shè)計(jì)系統(tǒng)的全局控制,明確各子系統(tǒng)間的交互和接口關(guān)系。
?兩種常見(jiàn)的DBAS體系結(jié)構(gòu):
- 客戶/服務(wù)器體系結(jié)構(gòu)(C/S)
- 瀏覽器/服務(wù)器體系結(jié)構(gòu)(B/S)
DBAS總體設(shè)計(jì)的任務(wù)是確定系統(tǒng)總體框架,主要內(nèi)容包括:
?DBAS體系結(jié)構(gòu)設(shè)計(jì);
?軟件體系結(jié)構(gòu)設(shè)計(jì);
?軟件硬件選型與配置設(shè)計(jì);
?業(yè)務(wù)規(guī)則初步設(shè)計(jì)。
2. 軟件體系結(jié)構(gòu)設(shè)計(jì)
?DBAS軟件包括操作系統(tǒng)、數(shù)據(jù)庫(kù)管理系統(tǒng)、開(kāi)發(fā)環(huán)境、中間件、應(yīng)用軟件(數(shù)據(jù)庫(kù)事務(wù)和應(yīng)用程序)。
?從需求分析出發(fā)分解成各子系統(tǒng),分配相應(yīng)功能,定義相互間交互機(jī)制,完成子系統(tǒng)結(jié)構(gòu)設(shè)計(jì),將各子系統(tǒng)從功能上分成數(shù)據(jù)庫(kù)事務(wù)模塊(事務(wù)自身處理邏輯)與粒度大的應(yīng)用程序模塊,確定全局控制和調(diào)用關(guān)系,可用模塊結(jié)構(gòu)圖(模塊+調(diào)用+數(shù)據(jù)+控制+轉(zhuǎn)接)來(lái)表示系統(tǒng)總體結(jié)構(gòu)和分層模塊結(jié)構(gòu)。
3. 軟件硬件選型與配置設(shè)計(jì)
?規(guī)劃分析階段提出系統(tǒng)功能、性能及實(shí)現(xiàn)的約束對(duì)軟硬倫了評(píng)估和選擇建議;需求對(duì)系統(tǒng)功能性能提出了具體要求。為保證DBAS功能性能順利實(shí)現(xiàn),總體設(shè)計(jì)階段需要對(duì)軟硬件設(shè)備做出合理選擇,并進(jìn)行初步配置設(shè)計(jì)。
?軟硬件選型涉及的內(nèi)容:
網(wǎng)絡(luò)及設(shè)備選型;數(shù)據(jù)存儲(chǔ)及備份方案:服務(wù)器選型;終端軟件環(huán)境;軟件開(kāi)發(fā)平臺(tái)和語(yǔ)言、工具;系統(tǒng)中間件及第三方軟件選型。
4. 業(yè)務(wù)規(guī)則初步設(shè)計(jì)
?任務(wù):從系統(tǒng)的角度,規(guī)劃DBAS的業(yè)務(wù)流程,使之符合客戶的實(shí)際業(yè)務(wù)需要。
?DBAS的各項(xiàng)業(yè)務(wù)活動(dòng)具有邏輯上的先后關(guān)系,可將它們表示成一個(gè)操作序列,并用業(yè)務(wù)流程圖表示。
?在總體設(shè)計(jì)結(jié)果基礎(chǔ)上,將DBAS應(yīng)用軟件進(jìn)一步細(xì)化為模塊/子模塊,組成應(yīng)用軟件的系統(tǒng)-子系統(tǒng)模塊-子模塊層次結(jié)構(gòu),并從結(jié)構(gòu)、行為、數(shù)據(jù)三方面進(jìn)行設(shè)計(jì)。
?從功能角度,DBAS系統(tǒng)通常劃分為個(gè)層次實(shí)現(xiàn)
- 表示層
- 業(yè)務(wù)邏輯層
- 數(shù)據(jù)訪問(wèn)層
- 數(shù)據(jù)持久層
1. 表示層概要設(shè)計(jì)
?人機(jī)界面設(shè)計(jì),影響系統(tǒng)易用性。目前第四代是WIMP (窗口、圖標(biāo)、菜單、指示器)與Web技術(shù)、多任務(wù)處理技術(shù)相結(jié)合。
?設(shè)計(jì)原則:‘用戶自主控制’;反饋及時(shí)上下文感知;容錯(cuò)與錯(cuò)誤恢復(fù);界面標(biāo)準(zhǔn)常規(guī);輸入靈活
界面簡(jiǎn)潔交互及時(shí)……
2. 業(yè)務(wù)邏輯層概要設(shè)計(jì)
?設(shè)計(jì)原則
高內(nèi)聚低(松)糅合,即構(gòu)件單一原則;構(gòu)件獨(dú)立功能;接口簡(jiǎn)單明確;構(gòu)件間關(guān)系簡(jiǎn)單,過(guò)于復(fù)雜,就細(xì)化,分解。
?設(shè)計(jì)內(nèi)容
結(jié)構(gòu),行為,數(shù)據(jù),接口,故障處理,安全設(shè)計(jì),系統(tǒng)維護(hù)和保障等
3. 數(shù)據(jù)訪問(wèn)層概要設(shè)計(jì)
?任務(wù):針對(duì)DBAS的數(shù)據(jù)處理需求設(shè)計(jì)用于操作數(shù)據(jù)庫(kù)的各類事務(wù)
?事務(wù)概要設(shè)計(jì)核心在于辨識(shí)和設(shè)計(jì)事務(wù)自身處理邏輯,注重流程,不考慮與平臺(tái)相關(guān)、具體操作方法和事務(wù)實(shí)現(xiàn)機(jī)制。
?-個(gè)完整的事務(wù)概要設(shè)計(jì)包括事務(wù)名稱、訪問(wèn)的關(guān)系表及其數(shù)據(jù)項(xiàng)、事務(wù)邏輯(事務(wù)描述)、事務(wù)用戶(使用、啟動(dòng)、調(diào)用該事務(wù)的軟件模塊和系統(tǒng))。
補(bǔ)充:
- 事務(wù):事務(wù)( Transaction )是訪問(wèn)并可能更新數(shù)據(jù)庫(kù)中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元(unit)。
- 事務(wù)的特性:原子性、一致性、隔離性、持續(xù)性。稱為ACID
- 原子性( atomicity )。一個(gè)不可分割的工作單位。
- 一致性( consistency )。從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)
- 隔離性( isolation)。執(zhí)行不能被其他事務(wù)干擾。
- 持久性( durability )。永久性(permanence),指一個(gè)數(shù)據(jù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就應(yīng)該是永久性的。
4. 數(shù)據(jù)持久層概要設(shè)計(jì)
?屬于數(shù)據(jù)組織與存儲(chǔ)方面的設(shè)計(jì)內(nèi)容,
3. 表示層詳細(xì)設(shè)計(jì)
人機(jī)界面采用原型迭代法合適,三個(gè)步驟:
- ( 1 )初步設(shè)計(jì):設(shè)計(jì)人機(jī)交互命令系統(tǒng)并優(yōu)化。(總體設(shè)計(jì))
- ( 2 )用戶界面細(xì)節(jié)設(shè)計(jì)。如組織形式、風(fēng)格、彩色(概要設(shè)計(jì) )
- ( 3 )原型設(shè)計(jì)與改進(jìn)(詳細(xì)設(shè)計(jì))
4. 業(yè)務(wù)邏輯層詳細(xì)設(shè)計(jì)
設(shè)計(jì)各模塊內(nèi)部處理流程和算法、具體數(shù)據(jù)結(jié)構(gòu)、詳細(xì)接口等。
1. 數(shù)據(jù)安全設(shè)計(jì)
五個(gè)方面:
- 安全性保護(hù):防止非法用戶對(duì)數(shù)據(jù)庫(kù)的非法使用,避免數(shù)據(jù)泄露、篡改或破壞
- 完整性保護(hù):保證數(shù)據(jù)源的正確性、一致性和相容性。
- 并發(fā)性控制:保證多個(gè)用戶能共享數(shù)據(jù)庫(kù),并維護(hù)數(shù)據(jù)一致性。
- 數(shù)據(jù)備份與恢復(fù):系統(tǒng)失效后的數(shù)據(jù)恢復(fù),配合定時(shí)備份,不丟失數(shù)據(jù)。
- 數(shù)據(jù)加密傳輸:將一些高級(jí)的敏感數(shù)據(jù)通過(guò)一定的加密算法加密傳輸。
( 1 )數(shù)據(jù)庫(kù)的安全性保護(hù)
主要保護(hù)方式:
- 用戶身份鑒別
Windows身份驗(yàn)證、SQL身份驗(yàn)證。 - 權(quán)限控制
對(duì)后臺(tái)數(shù)據(jù)庫(kù)時(shí)不同用戶對(duì)數(shù)據(jù)的不同存取需求設(shè)置不同的權(quán)限;對(duì)前臺(tái)程序是了每個(gè)合法用戶設(shè)定權(quán)限等級(jí),外部用戶設(shè)置有限查詢功能 - 視圖機(jī)制
通過(guò)視圖機(jī)制把保密數(shù)據(jù)對(duì)無(wú)權(quán)用戶隱藏
( 2 )數(shù)據(jù)庫(kù)的完整性保護(hù)
數(shù)據(jù)庫(kù)的完整性指數(shù)據(jù)庫(kù)中數(shù)據(jù)的正確性、一致性及相容性
?方法:設(shè)置完整性檢查
即對(duì)數(shù)據(jù)設(shè)置些約束條件(如實(shí)體完整性、參考完整性,用戶自定義完整性)
?完整性約束條件作用對(duì)象:列(類型、范圍、精度、排序),元組(記錄中各屬性之間的聯(lián)系約束)、關(guān)系(若干記錄集合與集合之間的聯(lián)系)三種級(jí)別。
( 3 )數(shù)據(jù)庫(kù)的并發(fā)性控制
?并發(fā)訪問(wèn)( Concurrent Access ) :事務(wù)在時(shí)間上重疊執(zhí)行,對(duì)多用戶并發(fā)存取同一數(shù)據(jù)的操作可能導(dǎo)致數(shù)據(jù)不一致破壞事務(wù)的隔離性,因此DBMS必須提供并發(fā)控制機(jī)制,并發(fā)訪問(wèn)機(jī)制是衡量一個(gè)DBMS性能的重要標(biāo)志之一。 實(shí)現(xiàn)數(shù)據(jù)中并發(fā)機(jī)制的常用方法是封鎖技術(shù)。
?所謂封鎖,是指事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖,加鎖后對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在事務(wù)T釋放它的鎖之前,事務(wù)不能更新此數(shù)據(jù)對(duì)象。
?基本鎖類型
- 排它鎖( eXclusive lock,簡(jiǎn)記為X鎖) ,寫(xiě)鎖,若事務(wù)對(duì)數(shù)據(jù)對(duì)象A加上X鎖,則只允許T讀取和修改A ,其它任何事務(wù)不能再對(duì)A加任何類型的鎖,直到T釋放A上的鎖.排它鎖保證了其它事務(wù)在T釋放A.上的鎖之前不能再讀取和修改A。
- 共享鎖( Share lock ,簡(jiǎn)記為S鎖),讀鎖,若事務(wù)T對(duì)象A加上S鎖,則其它事務(wù)只能再對(duì)A加S鎖,而不能加X(jué)鎖直到T釋放A上的S鎖。共享鎖保證了其它事務(wù)可以保證其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對(duì)A做任何修改。
?避免死鎖
- 死鎖是兩個(gè)或兩個(gè)以上的事務(wù)之間的循環(huán)等待。
- 設(shè)計(jì)避免死鎖的原則:
- 按照同一順序訪問(wèn)資源。(如第一 個(gè)事務(wù)提交或回滾后第二個(gè)事務(wù)進(jìn)行)
- 避免事務(wù)交互性
- 采用小事務(wù)模式,縮短長(zhǎng)度和占用時(shí)間。
- 盡量使用記錄級(jí)別的所(行鎖),少用表
- 使用綁定連接,同一用戶打開(kāi)的兩個(gè)或多1以互相合作。
( 4 )數(shù)據(jù)庫(kù)的數(shù)據(jù)備份與恢復(fù)
?數(shù)據(jù)庫(kù)恢復(fù)的基本原理:
利用存儲(chǔ)在系統(tǒng)其他存儲(chǔ)器上的冗余數(shù)據(jù)(即數(shù)據(jù)備份)來(lái)重建。
?數(shù)據(jù)庫(kù)備份與恢復(fù)策略:
- 雙機(jī)熱備(基于Active/Standby方式的服務(wù)器)
- 熱數(shù)據(jù)轉(zhuǎn)儲(chǔ)(也稱為數(shù)據(jù)備份)
- 數(shù)據(jù)加密存儲(chǔ)(針對(duì)高敏感數(shù)據(jù))
(5)數(shù)據(jù)加密傳輸
?常見(jiàn)的數(shù)據(jù)加密傳輸手段
- 數(shù)字安全證書(shū)
- 對(duì)稱密鑰加密
- 數(shù)字簽名
- 數(shù)字信封
2.環(huán)境安全設(shè)計(jì)
?漏洞與補(bǔ)丁:定期查找漏洞更新補(bǔ)丁
?計(jì)算機(jī)病毒防護(hù)
?網(wǎng)絡(luò)環(huán)境安全:防火墻;入侵檢測(cè)系統(tǒng);網(wǎng)絡(luò)隔離(邏輯隔離與物理隔離)
?物理環(huán)境安全:如防盜設(shè)施;UPS;濕溫度報(bào)警器
3.制度安全設(shè)計(jì)
管理層面安全措施
DBAS實(shí)施階段主要包括以下工作:
1.創(chuàng)建數(shù)據(jù)庫(kù)
考慮因素:初始空間大小;數(shù)據(jù)庫(kù)增量大小;訪問(wèn)性能(并發(fā)數(shù),訪問(wèn)頻率)
2.數(shù)據(jù)裝載
步驟:篩選數(shù)據(jù)-轉(zhuǎn)換數(shù)據(jù)格式-輸入數(shù)據(jù)-校驗(yàn)
3.編寫(xiě)與調(diào)試應(yīng)用程序
4.數(shù)據(jù)庫(kù)系統(tǒng)試運(yùn)行(功能測(cè)試與性能測(cè)試)