二級c語言公共基礎(chǔ)知識總結(jié)(3)
3.3 結(jié)構(gòu)化設(shè)計(jì)方法
軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件設(shè)計(jì)是確定系統(tǒng)的物理模型。
軟件設(shè)計(jì)是開發(fā)階段最重要的步驟,是將需求準(zhǔn)確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。
從技術(shù)觀點(diǎn)來看,軟件設(shè)計(jì)包括軟件結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì)。
結(jié)構(gòu)設(shè)計(jì):定義軟件系統(tǒng)各主要部件之間的關(guān)系。
數(shù)據(jù)設(shè)計(jì):將分析時(shí)創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。
接口設(shè)計(jì):描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。
過程設(shè)計(jì):把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。
從工程管理角度來看:概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)。
軟件設(shè)計(jì)的一般過程:軟件設(shè)計(jì)是一個(gè)迭代的過程;先進(jìn)行高層次的結(jié)構(gòu)設(shè)計(jì);后進(jìn)行低層次的過程設(shè)計(jì);穿插進(jìn)行數(shù)據(jù)設(shè)計(jì)和接口設(shè)計(jì)。
衡量軟件模塊獨(dú)立性使用耦合性和內(nèi)聚性兩個(gè)定性的度量標(biāo)準(zhǔn)。
在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。
軟件概要設(shè)計(jì)的基本任務(wù)是:
(1)設(shè)計(jì)軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(jì);
(3)編寫概要設(shè)計(jì)文檔; (4)概要設(shè)計(jì)文檔評審。
模塊用一個(gè)矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。
在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實(shí)心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。
結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。
結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。
典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。
變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。
事務(wù)型數(shù)據(jù)流的特點(diǎn)是:接受一項(xiàng)事務(wù),根據(jù)事務(wù)處理的特點(diǎn)和性質(zhì),選擇分派一個(gè)適當(dāng)?shù)奶幚韱卧?,然后給出結(jié)果。
詳細(xì)設(shè)計(jì):是為軟件結(jié)構(gòu)圖中的每一個(gè)模塊確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達(dá)工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。
常見的過程設(shè)計(jì)工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。
3.4 軟件測試
軟件測試定義:使用人工或自動手段來運(yùn)行或測定某個(gè)系統(tǒng)的過程,其目的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。
軟件測試的目的:發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過程。
軟件測試方法:靜態(tài)測試和動態(tài)測試。
靜態(tài)測試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實(shí)際運(yùn)行軟件,主要通過人工進(jìn)行。
動態(tài)測試:是基本計(jì)算機(jī)的測試,主要包括白盒測試方法和黑盒測試方法。
白盒測試:在程序內(nèi)部進(jìn)行,主要用于完成軟件內(nèi)部CAO作的驗(yàn)證。主要方法有邏輯覆蓋、基本基路徑測試。
黑盒測試:主要診斷功能不對或遺漏、界面錯(cuò)誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯(cuò)誤、性能錯(cuò)誤、初始化和終止條件錯(cuò),用于軟件確認(rèn)。主要方法有等價(jià)類劃分法、邊界值分析法、錯(cuò)誤推測法、因果圖等。
軟件測試過程一般按4個(gè)步驟進(jìn)行:單元測試、集成測試、驗(yàn)收測試(確認(rèn)測試)和系統(tǒng)測試。
3.5 程序的調(diào)試
程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤,主要在開發(fā)階段進(jìn)行。
程序調(diào)試的基本步驟:
(1)錯(cuò)誤定位;
(2)修改設(shè)計(jì)和代碼,以排除錯(cuò)誤;
(3)進(jìn)行回歸測試,防止引進(jìn)新的錯(cuò)誤。
軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯(cuò),是主要的設(shè)計(jì)手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:
(1)強(qiáng)行排錯(cuò)法;
(2)回溯法;
(3)原因排除法。
第四章 數(shù)據(jù)庫設(shè)計(jì)基礎(chǔ)
4.1 數(shù)據(jù)庫系統(tǒng)的基本概念
數(shù)據(jù):實(shí)際上就是描述事物的符號記錄。
數(shù)據(jù)的特點(diǎn):有一定的結(jié)構(gòu),有型與值之分,如整型、實(shí)型、字符型等。而數(shù)據(jù)的值給出了符合定型的值,如整型值15。
數(shù)據(jù)庫:是數(shù)據(jù)的集合,具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序共享。
數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,具有集成與共享的特點(diǎn)。
數(shù)據(jù)庫管理系統(tǒng):一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,是數(shù)據(jù)庫的核心。
數(shù)據(jù)庫管理系統(tǒng)功能:
(1)數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構(gòu)建其數(shù)據(jù)框架;
(2)數(shù)據(jù)存取的物理構(gòu)建:為數(shù)據(jù)模式的物理存取與構(gòu)建提供有效的存取方法與手段;
(3)數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)提供方便,如查詢、插入、修改、刪除等以及簡單的算術(shù)運(yùn)算及統(tǒng)計(jì);
(4)數(shù)據(jù)的完整性、安生性定義與檢查;
(5)數(shù)據(jù)庫的并發(fā)控制與故障恢復(fù);
(6)數(shù)據(jù)的服務(wù):如拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等。
為完成以上六個(gè)功能,數(shù)據(jù)庫管理系統(tǒng)提供以下的數(shù)據(jù)語言:
(1)數(shù)據(jù)定義語言:負(fù)責(zé)數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構(gòu)建;
(2)數(shù)據(jù)操縱語言:負(fù)責(zé)數(shù)據(jù)的操縱,如查詢與增、刪、改等;
(3)數(shù)據(jù)控制語言:負(fù)責(zé)數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等。
數(shù)據(jù)語言按其使用方式具有兩種結(jié)構(gòu)形式:交互式命令(又稱自含型或自主型語言)宿主型語言(一般可嵌入某些宿主語言中)。
數(shù)據(jù)庫管理員:對數(shù)據(jù)庫進(jìn)行規(guī)劃、設(shè)計(jì)、維護(hù)、監(jiān)視等的專業(yè)管理人員。
數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫管理系統(tǒng)(軟件)、數(shù)據(jù)庫管理員(人員)、硬件平臺(硬件)、軟件平臺(軟件)五個(gè)部分構(gòu)成的運(yùn)行實(shí)體。
數(shù)據(jù)庫應(yīng)用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應(yīng)用軟件及應(yīng)用界面三者組成。
文件系統(tǒng)階段:提供了簡單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無法提供完整的、統(tǒng)一的、管理和數(shù)據(jù)共享的能力。
層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段 :為統(tǒng)一與共享數(shù)據(jù)提供了有力支撐。
關(guān)系數(shù)據(jù)庫系統(tǒng)階段
數(shù)據(jù)庫系統(tǒng)的基本特點(diǎn):數(shù)據(jù)的集成性 、數(shù)據(jù)的高共享性與低冗余性 、數(shù)據(jù)獨(dú)立性(物理獨(dú)立性與邏輯獨(dú)立性)、數(shù)據(jù)統(tǒng)一管理與控制。
數(shù)據(jù)庫系統(tǒng)的三級模式:
(1)概念模式:數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,全體用戶公共數(shù)據(jù)視圖;
(2)外模式:也稱子模式與用戶模式。是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;
(3)內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法。
數(shù)據(jù)庫系統(tǒng)的兩級映射:
(1)概念模式到內(nèi)模式的映射;
(2)外模式到概念模式的映射。
4.2 數(shù)據(jù)模型
數(shù)據(jù)模型的概念:是數(shù)據(jù)特征的抽象,從抽象層次上描述了系統(tǒng)的靜態(tài)特征、動態(tài)行為和約束條件,為數(shù)據(jù)庫系統(tǒng)的信息表與操作提供一個(gè)抽象的框架。描述了數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作及數(shù)據(jù)約束。
E-R模型的基本概念
(1)實(shí)體:現(xiàn)實(shí)世界中的事物;
(2)屬性:事物的特性;
(3)聯(lián)系:現(xiàn)實(shí)世界中事物間的關(guān)系。實(shí)體集的關(guān)系有一對一、一對多、多對多的聯(lián)系。
E-R模型三個(gè)基本概念之間的聯(lián)接關(guān)系:實(shí)體是概念世界中的基本單位,屬性有屬性域,每個(gè)實(shí)體可取屬性域內(nèi)的值。一個(gè)實(shí)體的所有屬性值叫元組。
E-R模型的圖示法:(1)實(shí)體集表示法; (2)屬性表法; (3)聯(lián)系表示法。
層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),具有以下特點(diǎn):
(1)每棵樹有且僅有一個(gè)無雙親結(jié)點(diǎn),稱為根;
(2)樹中除根外所有結(jié)點(diǎn)有且僅有一個(gè)雙親。
從圖論上看,網(wǎng)狀模型是一個(gè)不加任何條件限制的無向圖。
關(guān)系模型采用二維表來表示,簡稱表,由表框架及表的元組組成。一個(gè)二維表就是一個(gè)關(guān)系。
在二維表中凡能唯一標(biāo)識元組的最小屬性稱為鍵或碼。從所有侯選健中選取一個(gè)作為用戶使用的鍵稱主鍵。表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。
關(guān)系中的數(shù)據(jù)約束:
(1)實(shí)體完整性約束:約束關(guān)系的主鍵中屬性值不能為空值;
(2)參照完全性約束:是關(guān)系之間的基本約束;
(3)用戶定義的完整性約束:它反映了具體應(yīng)用中數(shù)據(jù)的語義要求。
4.3關(guān)系代數(shù)
關(guān)系數(shù)據(jù)庫系統(tǒng)的特點(diǎn)之一是它建立在數(shù)據(jù)理論的基礎(chǔ)之上,有很多數(shù)據(jù)理論可以表示關(guān)系模型的數(shù)據(jù)操作,其中最為著名的是關(guān)系代數(shù)與關(guān)系演算。
關(guān)系模型的基本運(yùn)算:
(1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運(yùn)算)
4.4 數(shù)據(jù)庫設(shè)計(jì)與管理
數(shù)據(jù)庫設(shè)計(jì)是數(shù)據(jù)應(yīng)用的核心。
數(shù)據(jù)庫設(shè)計(jì)的兩種方法:
(1)面向數(shù)據(jù):以信息需求為主,兼顧處理需求;
(2)面向過程:以處理需求為主,兼顧信息需求。
數(shù)據(jù)庫的生命周期:需求分析階段、概念設(shè)計(jì)階段、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、編碼階段、測試階段、運(yùn)行階段、進(jìn)一步修改階段。
需求分析常用結(jié)構(gòu)析方法和面向?qū)ο蟮姆椒ā=Y(jié)構(gòu)化分析(簡稱SA)方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖表達(dá)數(shù)據(jù)和處理過程的關(guān)系。對數(shù)據(jù)庫設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。
數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,包括5個(gè)部分:數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流(可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu))、數(shù)據(jù)存儲、處理過程。
數(shù)據(jù)庫概念設(shè)計(jì)的目的是分析數(shù)據(jù)內(nèi)在語義關(guān)系。設(shè)計(jì)的方法有兩種
(1)集中式模式設(shè)計(jì)法(適用于小型或并不復(fù)雜的單位或部門);
(2)視圖集成設(shè)計(jì)法。
設(shè)計(jì)方法:E-R模型與視圖集成。
視圖設(shè)計(jì)一般有三種設(shè)計(jì)次序:自頂向下、由底向上、由內(nèi)向外。
視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。
關(guān)系視圖設(shè)計(jì):關(guān)系視圖的設(shè)計(jì)又稱外模式設(shè)計(jì)。
關(guān)系視圖的主要作用:
(1)提供數(shù)據(jù)邏輯獨(dú)立性;
(2)能適應(yīng)用戶對數(shù)據(jù)的不同需求;
(3)有一定數(shù)據(jù)保密功能。
數(shù)據(jù)庫的物理設(shè)計(jì)主要目標(biāo)是對數(shù)據(jù)內(nèi)部物理結(jié)構(gòu)作調(diào)整并選擇合理的存取路徑,以提高數(shù)據(jù)庫訪問速度有效利用存儲空間。一般RDBMS中留給用戶參與物理設(shè)計(jì)的內(nèi)容大致有索引設(shè)計(jì)、集成簇設(shè)計(jì)和分區(qū)設(shè)計(jì)。
數(shù)據(jù)庫管理的內(nèi)容:
(1)數(shù)據(jù)庫的建立;
(2)數(shù)據(jù)庫的調(diào)整;
(3)數(shù)據(jù)庫的重組;
(4)數(shù)據(jù)庫安全性與完整性控制;
(5)數(shù)據(jù)庫的故障恢復(fù);
(6)數(shù)據(jù)庫監(jiān)控。
看過“二級c語言公共基礎(chǔ)知識總結(jié)“的人還看了:
1.計(jì)算機(jī)二級公共基礎(chǔ)知識總結(jié)
2.計(jì)算機(jī)考試二級C語言應(yīng)試技巧