全國計算機二級公共基礎知識匯總_第1頁
全國計算機二級公共基礎知識匯總_第2頁
全國計算機二級公共基礎知識匯總_第3頁
全國計算機二級公共基礎知識匯總_第4頁
全國計算機二級公共基礎知識匯總_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.二級公共基礎學問總結30分: 10挑選 +5填空 復習及應試建議:1考生的復習必需遵守:“80/20的原就 ”二級考試的公共學問部分的掩蓋面廣,至少涵蓋了運算機應用專業(yè)的四門核心課程:算法及數(shù)據(jù)結構、程序設計基礎、軟件工程基礎和數(shù)據(jù)庫;事實上,這些課程本身的涉及面就很廣,難度系數(shù)較大;因此,這些課程甚至也是運算機專業(yè)同學最頭疼的課程,對大多數(shù)考生來說其難度之大不言而喻;所以,考生應把80%的時間用在20%的重點學問點上,爭取用20%的重點學問點來答對80%的考題,這是考生復習二級考試的公共學問部分的總體思路;2復習的關鍵是考生必需精確判定和把握常見考點考生必需能夠精確判定和把握常見考點, 例

2、如: 算法部分主要考查算法的概念及算法的復雜度; 數(shù)據(jù)結構部分主要考查最基本的概念、 最典型的數(shù)據(jù)結構和最常見的操作; 程序設計部分主要考查程序設計風格的基本要求、 結構化程序設計的最基本學問和面對對象程序設計的最常見概念; 軟件工程基礎部分主要考查軟件工程的基本概念及軟件生命周期的各個階段的基礎學問;數(shù)據(jù)庫基礎部分主要考查數(shù)據(jù)庫基本概念、數(shù)據(jù)模型、關系代數(shù)基礎學問、數(shù)據(jù)庫設計方法和步驟;對常見考點的精確把握會使考生防止盲目學習,從而能夠輕松面對考試;二級考試中要求的學問點都是最基本的、最簡潔的,真正需要“敏捷 ”把握的考點極少; 許多考生在考試過程中可能已經(jīng) 發(fā)覺,該部分的題目“會做就是不懂

3、 ”;所以建議在復習過程中不要急于“敏捷 ”,其實等到把基本的學問點把握后自然就“敏捷”了;公共學問部分僅占30%分,題目相對簡潔;因此,在答題過程中,這部分要爭取速度快、精確度高;總的原就是假如一道題在兩分鐘內(nèi)沒有任何思路,就應當跳過此題, 把時間給后面的題目;記?。憾壙荚囀且环N合格考試,不是競賽,及格就行了;使用說明:公共基礎的復習沒有技巧,就是背誦、背誦、再背誦,就是要把這10 頁紙背下來; 劃線字體是至關重要的部分,框起來的字體為填空題的??荚~匯,肯定要背熟牢記,這里面有100分里 30 分的原題;第一章數(shù)據(jù)結構與算法1.1 算法算法:是一組有窮指令集,是解題方案的精確而完整的描述;

4、通俗地說,算法就是運算機解題的過程;算法不等于程序,也不等于運算方法,程序的編制不行能優(yōu)于算法的設計;算法是一組嚴謹?shù)囟x運算次序的規(guī)章,每一個規(guī)章都是有效的,且是明確的,此次序?qū)⒃谟邢薜拇螖?shù)下終止;所以其四個基本特點包括:( 1 )確定性,算法中每一步驟都必需有明確定義,不答應有模棱兩可的說明,不答應有多義性;( 2 )有窮性,算法必需能在有限的時間內(nèi)做完,即能在執(zhí)行有限個步驟后終止;( 3 )可行性,算法原就上能夠精確地執(zhí)行;( 4 )擁有足夠的情報;算法的基本要素:一是對數(shù)據(jù)對象的運算和操作;二是算法的掌握結構;指令系統(tǒng):一個運算機系統(tǒng)能執(zhí)行的全部指令的集合;基本運算和操作包括:算術運算

5、、規(guī)律運算、關系運算、數(shù)據(jù)傳輸;算法的三種基本掌握結構:次序結構、挑選結構、循環(huán)結構;算法基本設計方法:列舉法、歸納法、遞推、遞歸、減半遞推技術、回溯法;算法效率的度量算法復雜度:算法時間復雜度和算法空間復雜度;算法時間復雜度: 指執(zhí)行算法所需要的運算工作量;即算法執(zhí)行過程中所需要的基本運算次數(shù);通常,一個算法所用的時間包括編譯時間和運行時間;算法空間復雜度: 指執(zhí)行這個算法所需要的內(nèi)存空間;包括算法程序所占的空間,輸入的初始數(shù)據(jù)所占的空間,算法執(zhí)行過程中所需的額外空間;.1.2 數(shù)據(jù)結構的基本概念數(shù)據(jù)結構:指相互有關聯(lián)的數(shù)據(jù)元素的集合;數(shù)據(jù)結構討論的三個方面:( 1 )數(shù)據(jù)集合中各數(shù)據(jù)元素之

6、間所固有的規(guī)律關系,即數(shù)據(jù)的規(guī)律結構;( 2 )在對數(shù)據(jù)進行處理時,各數(shù)據(jù)元素在運算機中的儲備關系,即數(shù)據(jù)的儲備結構;( 3 )對各種數(shù)據(jù)結構進行的運算;數(shù)據(jù)的規(guī)律結構應包含:( 1 )表示數(shù)據(jù)元素的信息;( 2 )表示各數(shù)據(jù)元素之間的前后件關系 指規(guī)律關系,與儲備位置無關 ;數(shù)據(jù)的規(guī)律結構在運算機儲備空間中的存放形式稱為數(shù)據(jù)的儲備結構,也稱數(shù)據(jù)物理結構;數(shù)據(jù)的儲備結構有次序、鏈接、索引等;線性結構的條件, 一個非空數(shù)據(jù)結構 :( 1 )有且只有一個根結點;(2 )每一個結點最多有一個前件,也最多有一個后件;非線性結構:不滿意線性結構條件的數(shù)據(jù)結構;1.3 線性表及其次序儲備結構線性表是由一組

7、數(shù)據(jù)元素構成,數(shù)據(jù)元素的位置只取決于自己的序號,元素之間的相對位置是線性的;在復雜線性表中,由如干項數(shù)據(jù)元素組成的數(shù)據(jù)元素稱為記錄;由多個記錄構成的線性表稱為文件;非空線性表的結構特點:( 1 )且只有一個根結點a1 ,它無前件;( 2 )有且只有一個終端結點an ,它無后件;( 3 )除根結點與終端結點外,其他全部結點有且只有一個前件,也有且只有一個后件;結點個數(shù) n 稱為線性表的長度,當n=0時,稱為空表;線性表的次序儲備結構具有以下兩個基本特點:( 1 )線性表中全部元素所占的儲備空間是連續(xù)的;( 2 )線性表中各數(shù)據(jù)元素在儲備空間中是按規(guī)律次序依次存放的;元素 ai 的儲備地址為:ad

8、rai=adra1+i-1k,adra1為第一個元素的地址,k 代表每個元素占的字節(jié)數(shù);次序表的運算:查找、插入、刪除;1.4 線性鏈表數(shù)據(jù)結構中的每一個結點對應于一個儲備單元,這種儲備單元稱為儲備結點,簡稱結點;結點由兩部分組成:1用于儲備數(shù)據(jù)元素值,稱為數(shù)據(jù)域;2用于存放指針,稱為指針域,用于指向前一個或后一個結點;在鏈式儲備結構中, 儲備數(shù)據(jù)結構的儲備空間可以不連續(xù),各數(shù)據(jù)結點的儲備次序與數(shù)據(jù)元素之間的規(guī)律關系可以不一樣,而數(shù)據(jù)元素之間的規(guī)律關系是由指針域來確定的;鏈式儲備方式即可用于表示線性結構,也可用于表示非線性結構;線性單鏈表中,head 稱為頭指針, head=null(或 0

9、)稱為空表;假如是雙項鏈表的兩指針:左指針(llink )指向前件結點,右指針(rlink )指向后件結點;線性鏈表的基本運算:查找、插入、刪除;1.5 棧和隊列棧 :限定在一端進行插入與刪除的線性表;其答應插入與刪除的一端稱為棧頂,用指針top 表示棧頂位置; 不答應插入與刪除的另一端稱為棧底,用指針bottom表示棧底;棧依據(jù) “先進后出 ”( filo )或 “后進先出 ”( lifo )組織數(shù)據(jù),棧具有記憶作用;棧的儲備方式有次序儲備和鏈式儲備;棧的基本運算:1入棧運算,在棧頂位置插入元素;.(2) 退棧運算,刪除元素 取出棧頂元素并賦給一個指定的變量 ;(3) 讀棧頂元素,將棧頂元素

10、賦給一個指定的變量,此時指針無變化;隊列 :指答應在一端(隊尾)進入插入,而在另一端(隊頭)進行刪除的線性表;用 rear指針指向隊尾,用front指針指向隊頭元素的前一個位置;隊列是 “先進先出 ”( fifo )或 “后進后出 ”(lilo )的線性表;隊列運算包括:1入隊運算:從隊尾插入一個元素;2退隊運算:從隊頭刪除一個元素;隊列的次序儲備結構一般采納隊列循環(huán)的形式;循環(huán)隊列 s=0表示隊列空; s=1且 front=rear表示隊列滿;運算循環(huán)隊列的元素個數(shù):“尾指針減頭指針” ,如為負數(shù),再加其容量即可;1.6 樹與二叉樹樹是一種簡潔的非線性結構,其全部元素之間具有明顯的層次特性;

11、在樹結構中,每一個結點只有一個前件,稱為父結點;沒有前件的結點只有一個,稱為樹的根結點,簡稱樹的根;每一個結點可以有多個后件,稱為該結點的子結點;沒有后件的結點稱為葉子結點;在樹結構中, 一個結點所擁有的后件的個數(shù)稱為該結點的度,全部結點中最大的度稱為樹的度;樹的最大層次稱為樹的深度;二叉樹的特點:1非空二叉樹只有一個根結點;(2) 每一個結點最多有兩棵子樹,且分別稱為該結點的左子樹與右子樹;滿二叉樹是指除最終一層外,每一層上的全部結點有兩個子結點,就k 層上有 2 k-1 個結點深度為m 的滿二叉樹有2m -1 個結點;完全二叉樹是指除最終一層外,每一層上的結點數(shù)均達到最大值,在最終一層上只

12、缺少右邊的如干結點;二叉樹基本性質(zhì):(1) 在二叉樹的第k 層上,最多有2 k-1 k 1 個結點;(2) 深度為 m 的二叉樹最多有2 m -1個結點;(3) 度為 0 的結點(即葉子結點)總是比度為2 的結點多一個;(4) 具有 n 個結點的二叉樹,其深度至少為log 2 n+1,其中 log 2 n 表示取 log 2 n 的整數(shù)部分(5) 具有 n 個結點的完全二叉樹的深度為log 2 n+1;(6) 設完全二叉樹共有n 個結點;假如從根結點開頭,按層序(每一層從左到右)用自然數(shù)1,2,n 給結點進行編號( k=1,2.n),有以下結論:如 k=1 ,就該結點為根結點,它沒有父結點;如

13、k>1 ,就該結點的父結點編號為intk/2;如 2k n ,就 k 結點的左子結點編號為2k ;否就該結點無左子結點(也無右子結點);如 2k+1 n ,就編號為k 的結點的右子結點編號為2k+1;否就該結點無右子結點;補充:增加度為1 的結點不會影響二叉樹的葉子結點數(shù),每增加一個度為2 的結點便會增加一個葉子結點,沒有度為2 的結點時葉子結點數(shù)為1 ;已知完全二叉樹有x 個結點,求其葉子結點數(shù):確定層數(shù)為k ;第 k 層的結點數(shù)y=x-2k-1 -1 ;第 k-1層的葉子結點數(shù)n=2k-1-1-y/2<如 y/2有余,就要加1> ; 最終 y+n;二叉樹儲備結構采納鏈式儲

14、備結構,對于滿二叉樹與完全二叉樹可以按層序進行次序儲備;二叉樹的遍歷:(1 ) 前序遍歷 ( dlr ),第一拜訪根結點,然后遍歷左子樹,最終遍歷右子樹;(樹根在第一,下走不跳結點)( 2 ) 中序遍歷 (ldr ),第一遍歷左子樹,然后拜訪根結點,最終遍歷右子樹;(有左先左,再尋根,后找右;最左邊的結點最先遍歷,最右邊的結點最終遍歷)( 3 ) 后序遍歷 (lrd )第一遍歷左子樹,然后拜訪遍歷右子樹,最終拜訪根結點;(有左先左,再找右,后尋根,到最右一路上行,樹根在最終).前序遍歷結果為a b d e h i c f g; 中序遍歷結果為d b h e i a f c g; 后序遍歷結果為

15、d h i e b f g c a例 2: 先序遍歷 圖 1.13 的二叉樹;圖 1.13先拜訪整棵二叉樹的根結點a ,然后再先序遍歷左子樹t1;在拜訪 t1 時,也以先序遍歷原就,先拜訪t1 的根結點 b ,然后再先序遍歷t1 的左子樹 t11;在拜訪 t11 時,也以先序遍歷原就,先拜訪t11 的根結點 d,然后再先序遍歷t11 的左子樹;由于此時t11 的左子樹只有h 結點,所以拜訪h 結點, t11 的左子樹先序遍歷終止,依據(jù)先序遍歷的原就,進行先序遍歷 t11 的右子樹;由于 t11 的右子樹只有 i 結點,故拜訪此結點后 t11 的右子樹的先序遍歷終止;先序遍歷完 t11 子樹后,

16、返回 t1 子樹,先序遍歷 t1 的右子樹;先序遍歷完 t1 子樹后,接著先序遍歷根結點 a 的右子樹 t2;先序遍歷完 t2 后,該二叉樹的全部結點都已經(jīng)拜訪過,各結點被拜訪的次序為: abdhiecfg1) 中序遍歷:先中序遍歷左子樹,然后再拜訪根結點,最終再中序遍歷右子樹;對圖1.12 的二叉樹進行中序遍歷,拜訪各個結點的次序為: hdibeafcg2) 后序遍歷:先后序遍歷左子樹,然后再后序遍歷右子樹,最終再拜訪根結點;對圖1.12 的二叉樹進行后序遍歷,拜訪各個結點的次序為: hidebfgca;下面樹的先序、 中序、后續(xù)遍歷的結果依次為abdcef _、 bdaecf _、_ db

17、efcaacbefd.6、一棵二叉樹如下列圖,它的中序遍歷的結果為(b)a 、abdgcefhb 、dgbaechfc、gdbehfcad、abcdefghabcfdegh小結:規(guī)律結構可分為線性表和非線性表;線性表包括棧、隊列,其儲備方式為次序儲備、鏈式儲備均可;鏈式型有:線性鏈表,帶鏈的棧,帶鏈的隊列,循環(huán)鏈表等;非線性表包括樹 二叉樹 ,其儲備方式為鏈式儲備;1.7 查找技術只能使用次序查找的兩種情形:( 1 )線性表為無序表,不管是次序儲備仍是鏈式儲備;( 2 )表采納鏈式儲備結構,即使是有序線性表;二分法查找只適用于次序儲備的有序表,對于長度為n 的有序線性表,最壞情形只需比較log

18、 2 n 次,而次序查找需要比較 n 次;1.8 排序技術排序是指將一個無序序列整理成按值非遞減次序排列的有序序列;交換類排序法: ( 1 )冒泡排序法,需要比較的次數(shù)為nn-1/2;2 快速排序法;插入類排序法: (1 )簡潔插入排序法,最壞情形需要nn-1/2次比較;2希爾排序法,最壞情形需要on 1.5 次比較;挑選類排序法: (1 )簡潔挑選排序法, 最壞情形需要nn-1/2次比較;2堆排序法,最壞情形需要onlog2n 次比較;相比以上幾種 除希爾排序法外 ,堆排序法的時間復雜度最?。黄浯握鲁绦蛟O計基礎2.1 程序設計設計方法和風格“ 清楚第一、效率其次”已成為當今主導的程序設計風格

19、;形成良好的程序設計風格需留意: 詳見書 p271 、源程序文檔化;2、數(shù)據(jù)說明的方法;3、語句的結構;4 、輸入和輸出;注釋分序言性注釋和功能性注釋;語句結構清楚第一、效率其次;.2.2 結構化程序設計結構化程序設計方法的四條原就是:1 、 自頂向下 ; 2 、逐步求精 ; 3 、模塊化;4 、結構化編碼 限制使用 goto語句;( 1)自頂向下;程序設計時,應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標;不要一開頭就過多追求眾多的細節(jié),先從最上層總目標開頭設計,逐步使問題具體化;( 2)逐步求精;對復雜問題,應設計一些子目標作過渡,逐步細化;( 3)模塊化;一個復雜問題,確定是由

20、如干稍簡潔的問題構成;模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊;( 4)限制使用goto 語句; 結構化程序的基本結構及特點:( 1 )次序結構:一種簡潔的程序設計,最基本、最常用的結構;( 2 )挑選結構:又稱分支結構,包括簡潔挑選和多分支挑選結構,可依據(jù)條件,判定應當挑選哪一條分支來執(zhí)行相應的語句序列;( 3 )循環(huán)結構:又稱重復結構,可依據(jù)給定條件,判定是否需要重復執(zhí)行某一相同或類似的程序段;結構化程序設計的特點:只有一個入口和出口2.3 面對對象的程序設計面對對象的程序設計的首次提出以60 歲月末挪威奧斯陸高校和挪威運算機中心研制的

21、simula語言為標志;面對對象方法的優(yōu)點:( 1 )與人類習慣的思維方法一樣;(2 )穩(wěn)固性好; ( 3)可重用性好; (4 )易于開發(fā)大型軟件產(chǎn)品; ( 5 )可愛護性好;對象是面對對象方法中最基本的概念,可以用來表示客觀世界中的任何實體,對象是實體的抽象;面對對象的程序設計方法中,對象是由數(shù)據(jù)的容許的操作組成的封裝體,是系統(tǒng)中用來描述客觀事物的一個實體,是構成系統(tǒng)的一個基本單位,由一組表示其靜態(tài)特點的屬性和它可執(zhí)行的一組操作組成;屬性即對象所包含的信息,它在設計對象時確定,一般只能通過執(zhí)行對象的操作來轉(zhuǎn)變;操作描述了對象執(zhí)行的功能,是對象的動態(tài)屬性,操作也稱為方法或服務;對象的基本特點:

22、( 1)標識惟一性;指對象是可區(qū)分的,并且由對象的內(nèi)在本質(zhì)來區(qū)分,而不是通過描述來區(qū)分;( 2)分類性;指可以將具有相同屬性的操作的對象抽象成類;( 3)多態(tài)性;指同一個操作可以是不同對象的行為;( 4)封裝性 ;從外面看只能看到對象的外部特性,即只需知道數(shù)據(jù)的取值范疇和可以對該數(shù)據(jù)施加的操作,根本無需知道數(shù)據(jù)的具體結構以及實現(xiàn)操作的算法;對象的內(nèi)部, 即處理才能的實行和內(nèi)部狀態(tài),對外是不行見的; 從外面不能直接使用對象的處理才能,也不能直接修改其內(nèi)部狀態(tài),對象的內(nèi)部狀態(tài)只能由其自身轉(zhuǎn)變;* :信息隱藏是通過對象的封裝性來實現(xiàn)的;( 5)模塊獨立性好;對象是面對對象的軟件的基本模塊,它是由數(shù)據(jù)

23、及可以對這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對象是以數(shù)據(jù)為中心的,操作環(huán)繞對其數(shù)據(jù)所需做的處理來設置,沒有無關的操作;從模塊的獨立性考慮,對象內(nèi)部各種元素彼此結合得很緊密,內(nèi)聚性強;類是指具有共同屬性、共同方法的對象的集合;類是關于對象性質(zhì)的描述;類是對象的抽象,對象是其對應類的一個實例;消息是一個實例與另一個實例之間傳遞的信息;對象間的通信靠消息傳遞;它懇求對象執(zhí)行某一處理或回答某一要求的信 息,它統(tǒng)一了數(shù)據(jù)流和掌握流;消息的組成包括:( 1 )接收消息的對象的名稱;( 2)消息標識符,也稱消息名;(3 )零個或多個參數(shù);繼承是使用已有的類定義作為基礎建立新類的定義技術,廣義指能夠直接獲得

24、已有的性質(zhì)和特點,而不必重復定義他們;繼承具有傳遞性,一個類實際上繼承了他上層的全部基類的特性;繼承分單繼承和多重繼承;單繼承指一個類只答應有一個父類,即類等級為樹形結構;多重繼承指一個類答應有多個父類;多態(tài)性是指同樣的消息被不同的對象接受時可導致完全不同的行動的現(xiàn)象.第三章軟件工程基礎3.1 軟件工程基本概念運算機軟件是包括程序、數(shù)據(jù)及相關文檔的完整集合;軟件的特點包括:( 1 )軟件是一種規(guī)律實體,具有抽象性;( 2 )軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;( 3 )軟件在運行、使用期間不存在磨損、老化問題;( 4 )軟件的開發(fā)、運行對運算機系統(tǒng)具有依靠性,受運算機系統(tǒng)的限制,這導致

25、了軟件移植的問題;( 5 )軟件復雜性高,成本昂貴;( 6 )軟件開發(fā)涉及諸多的社會因素;軟件按功能分為應用軟件、系統(tǒng)軟件、支撐軟件 或工具軟件 ;軟件危機主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題;軟件工程是應用于運算機軟件的定義、開發(fā)和愛護的一整套方法、工具、文檔、實踐標準和工序;簡潔的說就是使軟件走向工程化;軟件工程的核心思想是把軟件產(chǎn)品看作是一個工程產(chǎn)品來處理;軟件工程包括3 個要素:方法、工具和過程;軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關的資源活動,包含4 種基本活動:( 1 )pplan 軟件規(guī)格說明;(2 ) ddo 軟件開發(fā);( 3 )ccheck 軟件確認;( 4 ) aact

26、ion 軟件演進;軟件生命周期:軟件產(chǎn)品從提出、實現(xiàn)、使用愛護到停止使用退役的過程; 軟件生命周期分三個階段:軟件定義、軟件開發(fā)、運行愛護,主要活動階段是:( 1 )可行性討論與方案制定;(2 )需求分析;( 3 )軟件設計(概要設計和具體設計); (4 )軟件實現(xiàn);(5 )軟件測試;( 6 )運行和愛護;軟件工程的目標:在給定成本、進度的前提下,開發(fā)出具有有效性、牢靠性、可懂得性、可愛護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿意用戶需求的產(chǎn)品;基本目標:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費用;能按時完成開發(fā),準時交付使用

27、;軟件工程的理論和技術性討論的內(nèi)容主要包括:軟件開發(fā)技術和軟件工程治理;軟件開發(fā)技術包括:軟件開發(fā)方法學、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境; 軟件開發(fā)環(huán)境或軟件工程環(huán)境是指全面支持軟件開發(fā)全過程的軟件工具的集合;軟件工程治理包括:軟件治理學、軟件工程經(jīng)濟學、軟件心理學等內(nèi)容;軟件治理學包括人員組織、進度支配、質(zhì)量保證、配置治理、項目方案等;軟件工程基本原就:抽象、信息隱藏、模塊化、局部化、確定性、一樣性、完備性和可驗證性;3.2 結構化分析方法結構化方法的核心和基礎是結構化程序設計理論;軟件定義階段中, 可行性討論與方案的制定是確定待開發(fā)目標和總的要求,給出它的功能、性能、牢靠性以及接口等方面

28、的可能方案,制定完成開發(fā)的實施方案;需求分析,對待開發(fā)軟件提出的需求分析并給出具體的定義;需求分析階段的工作:需求獵取,需求分析,編寫需求規(guī)格說明書,需求評審;需求分析方法有: (1 )結構化需求分析方法;面對數(shù)據(jù)結構的jackson方法( isd );面對數(shù)據(jù)流的結構化分析方法(sa );面對數(shù)據(jù)結構的結構化數(shù)據(jù)系統(tǒng)開發(fā)方法(dssd );(2 )面對對象的分析的方法(ooa );從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析;結構化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,.建立系統(tǒng)的規(guī)律模型;結構化分析的常用工具:數(shù)據(jù)流圖;

29、數(shù)據(jù)字典;判定樹;判定表;( 1 )數(shù)據(jù)流圖( dfd 圖):描述數(shù)據(jù)處理過程的工具,是需求懂得的規(guī)律模型的圖形表示,它直接支持系統(tǒng)功能建模;加工(轉(zhuǎn)換)圓框,輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生的輸出;數(shù)據(jù)流箭頭,沿箭頭方向傳遞數(shù)據(jù)的通道,一般在旁邊標注數(shù)據(jù)流名;儲備文件(數(shù)據(jù)源)雙橫線,表示處理過程中存放各種數(shù)據(jù)的文件;源、潭方框,表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體;( 2 )數(shù)據(jù)字典:對全部與系統(tǒng)相關的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、儲備成分和中間運算結果有共同的懂得;數(shù)據(jù)字典是結構化分析的核心;( 3 )判定樹:從問題定義的文字描述中分清哪

30、些是判定的條件,哪些是判定的結論,依據(jù)描述材料中的連接詞找出判定條件之間的從屬關系、并列關系、挑選關系,依據(jù)它們構造判定樹;( 4 )判定表:與判定樹相像,當數(shù)據(jù)流圖中的加工要依靠于多個規(guī)律條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較相宜;軟件需求規(guī)格說明書的特點: 正確性; 無岐義性; 完整性; 可驗證性; 一樣性; 可懂得性; 可修改性; 可追蹤性;3.3 結構化設計方法軟件設計是確定系統(tǒng)的物理模型;軟件設計是開發(fā)階段最重要的步驟,是將需求精確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯獨途徑;系統(tǒng)設計人員和程序設計人員應當在反復懂得軟件需求的基礎上,給出軟

31、件結構、模塊的劃分、功能的安排以及處理流程;軟件設計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務;從技術觀點來看,軟件設計包括軟件結構設計、數(shù)據(jù)設計、接口設計、過程設計;結構設計:定義軟件系統(tǒng)各主要部件之間的關系;數(shù)據(jù)設計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結構的定義;接口設計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信;過程設計:把系統(tǒng)結構部件轉(zhuǎn)換成軟件的過程描述;從工程治理角度來看,軟件設計分兩步:概要設計和具體設計;軟件設計的一般過程:軟件設計是一個迭代的過程;先進行高層次的結構設計;后進行低層次的過程設計;穿插進行數(shù)據(jù)設計和接口設計;軟件設計的基本原理是: (

32、 1 )抽象;(2 )模塊化;( 3 )信息隱藏;( 4 )模塊獨立性;衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準;耦合性是模塊見相互連接的緊密程度的度量;耦合程度取決于各個模塊之間接口的復雜程度、調(diào)用方式以及哪些信息通過接口;內(nèi)聚性是一個模塊內(nèi)部各個元素間彼此結合的緊密程度的度量;在程序結構中各模塊的內(nèi)聚性越強,就耦合性越弱;優(yōu)秀軟件應高內(nèi)聚,低耦合,有利于提高模塊的獨立性;軟件概要設計的基本任務是:( 1 )設計軟件系統(tǒng)結構; (2 )數(shù)據(jù)結構及數(shù)據(jù)庫設計; ( 3)編寫概要設計文檔; ( 4 )概要設計文檔評審;在結構圖中,模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關系;可以用

33、帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息;仍可用帶實心圓的箭頭表示傳遞的是掌握信息,空心圓箭心表示傳遞的是數(shù)據(jù);結構圖的基本形式:基本形式、次序形式、重復形式、挑選形式;結構圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和和諧模塊;典型的數(shù)據(jù)流類型有兩種:變換型和事務型;變換型系統(tǒng)結構圖由輸入、中心變換、輸出三部分組成;事務型數(shù)據(jù)流的特點是:接受一項事務,依據(jù)事務處理的特點和性質(zhì),挑選分派一個適當?shù)奶幚韱卧?,然后給出結果;具體設計: 是為軟件結構圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構,用某種選定的表達工具表示算法和數(shù)據(jù)結構的細.節(jié);常見的過程設計工具有:圖形工具(程序流程圖pfd 、n

34、-s 圖、pad 圖、),表格工具(判定表) ,語言工具( pdl );程序流程圖中:箭頭為掌握流、方框為加工步驟、菱形為規(guī)律條件;3.4 軟件測試軟件測試定義: 使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿意規(guī)定的需求或是弄清預期結果與實際結果之間的差別;軟件測試的目的:發(fā)覺錯誤而執(zhí)行程序的過程;軟件測試方法:靜態(tài)測試和動態(tài)測試;靜態(tài)測試包括代碼檢查、靜態(tài)結構分析、代碼質(zhì)量度量;不實際運行軟件,主要通過人工進行;動態(tài)測試:是基本運算機的測試,主要包括白盒測試方法和黑盒測試方法;白盒測試 :也稱結構測試或規(guī)律測試;在程序內(nèi)部進行,主要用于完成軟件內(nèi)部操作的驗證;白盒測試

35、主要考慮內(nèi)部的規(guī)律結構;主要方法有規(guī)律掩蓋、基本路徑測試;黑盒測試 :也稱功能測試或數(shù)據(jù)驅(qū)動測試;是在軟件接口處進行,完勝利能驗證;黑盒測試完全不考慮程序內(nèi)部的規(guī)律結構和內(nèi)部特性, 只依據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的設計要求;主要診斷功能不對或遺漏、界面錯誤、 數(shù)據(jù)結構或外部數(shù)據(jù)庫拜訪錯誤、性能錯誤、 初始化和終止條件錯,用于軟件確認測試;主要方法有等價類劃分法、邊界值分析法、錯誤估計法、因果圖等;驅(qū)動測試相當于被測模塊的主程序,它接收測試數(shù)據(jù),并傳給被測模塊,輸出實際測試結果;軟件測試過程一般按4 個步驟進行:單元測試、集成測試、驗收測試(確認測試)和系統(tǒng)測試;單元測

36、試是對模塊(程序單元)進行,靜態(tài)動態(tài)均有,動態(tài)時以白盒為主輔之以黑盒;集成測試是測試、組裝軟件;確認測試的任務是驗證軟件的功能和性能及其他特性是否滿意了需求規(guī)格說明中的各項需求以及軟件配置是否完全正確,先用黑盒;3.5 程序的調(diào)試程序調(diào)試 的任務是診斷和改正程序中的錯誤,主要在開發(fā)階段進行;程序調(diào)試的基本步驟:( 1 )錯誤定位;( 2 )修改設計和代碼,以排除錯誤;( 3 )進行回來測試,防止引進新的錯誤;軟件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試;靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設計手段, 而動態(tài)調(diào)試是幫助靜態(tài)調(diào)試;主要調(diào)試方法有: (1 )強行排錯法;(2 )回溯法;(

37、3 )緣由排除法;第四章數(shù)據(jù)庫設計基礎4.1 數(shù)據(jù)庫系統(tǒng)的基本概念數(shù)據(jù):實際上就是描述事物的符號記錄;軟件的數(shù)據(jù)是有肯定的結構,有型與值之分,如整型、實型、字符型等;而數(shù)據(jù)的值給出了符合定型的值,如整型值15 ;數(shù)據(jù)庫:是指在已有數(shù)據(jù)庫治理系統(tǒng)的基礎上建立數(shù)據(jù)庫,是數(shù)據(jù)的集合,具有統(tǒng)一的結構形式并存放于統(tǒng)一的儲備介質(zhì)內(nèi),是多種應用數(shù)據(jù)的集成,并可被各個應用程序共享;數(shù)據(jù)庫存放數(shù)據(jù)是按數(shù)據(jù)所供應的數(shù)據(jù)模式存放的,具有集成與共享的特點;數(shù)據(jù)庫治理系統(tǒng):一種系統(tǒng)軟件,負責數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)愛護、掌握及愛護和數(shù)據(jù)服務等,數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)治理功能的核心軟件稱為數(shù)據(jù)庫治理系統(tǒng);數(shù)據(jù)

38、庫治理系統(tǒng)的六大功能:( 1 )數(shù)據(jù)模式定義:即為數(shù)據(jù)庫構建其數(shù)據(jù)框架;( 2 )數(shù)據(jù)存取的物理構建:為數(shù)據(jù)模式的物理存取與構建供應有效的存取方法與手段;.( 3 )數(shù)據(jù)操縱:為用戶使用數(shù)據(jù)庫的數(shù)據(jù)供應便利,如查詢、插入、修改、刪除等以及簡潔的算術運算及統(tǒng)計;( 4 )數(shù)據(jù)的完整性、安全性定義與檢查;( 5 )數(shù)據(jù)庫的并發(fā)掌握與故障復原;( 6 )數(shù)據(jù)的服務:如拷貝、轉(zhuǎn)存、重組、性能監(jiān)測、分析等;為完成以上功能,數(shù)據(jù)庫治理系統(tǒng)供應以下的數(shù)據(jù)語言:( 1 )數(shù)據(jù)定義語言 ddl :負責數(shù)據(jù)的模式定義與數(shù)據(jù)的物理存取構建;( 2 )數(shù)據(jù)操縱語言 dml :負責數(shù)據(jù)的操縱,如查詢與增、刪、改等;(

39、3 )數(shù)據(jù)掌握語言 dcl :負責數(shù)據(jù)完整性、安全性的定義與檢查以及并發(fā)掌握、故障復原等;數(shù)據(jù)語言按其使用方式具有兩種結構形式:交互式命令 又稱自含型或自主型語言 ;宿主型語言(一般可嵌入某些宿主語言中);數(shù)據(jù)庫治理員:對數(shù)據(jù)庫進行規(guī)劃、設計、愛護、監(jiān)視等的專業(yè)治理人員;數(shù)據(jù)庫系統(tǒng):由數(shù)據(jù)庫(數(shù)據(jù))、數(shù)據(jù)庫治理系統(tǒng)(軟件)、數(shù)據(jù)庫治理員(人員) 、硬件平臺(硬件) 、軟件平臺(軟件)五個部分構成的運行實體;對數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持.數(shù)據(jù)庫應用系統(tǒng):由數(shù)據(jù)庫系統(tǒng)、應用軟件及應用界面三者組成;數(shù)據(jù)治理進展的三個階段:人工治理階段,文件系統(tǒng)階段,數(shù)據(jù)庫系統(tǒng)階段;而數(shù)據(jù)獨立性最高的是數(shù)據(jù)庫系統(tǒng);

40、文件系統(tǒng)階段:供應了簡潔的數(shù)據(jù)共享與數(shù)據(jù)治理才能,但是它無法供應完整的、統(tǒng)一的、治理和數(shù)據(jù)共享的才能;層次數(shù)據(jù)庫與網(wǎng)狀數(shù)據(jù)庫系統(tǒng)階段:為統(tǒng)一與共享數(shù)據(jù)供應了有力支撐;數(shù)據(jù)庫系統(tǒng)的基本特點:數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)獨立性(物理獨立性與規(guī)律獨立性)、數(shù)據(jù)統(tǒng)一治理與掌握;物理獨立性:用戶的應用程序與儲備在磁盤在磁盤等介質(zhì)上的數(shù)據(jù)庫是相互獨立的;數(shù)據(jù)庫系統(tǒng)的三級模式:( 1 )概念模式:數(shù)據(jù)庫系統(tǒng)中全局數(shù)據(jù)規(guī)律結構的描述,全體用戶公共數(shù)據(jù)視圖;( 2 )外模式:也稱子模式與用戶模式;是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;( 3 )內(nèi)模式:又稱物理模式,它給出了數(shù)據(jù)庫物理儲備

41、結構與物理存取方法;數(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)的信息表與操作供應一個抽象的框架;描述了數(shù)據(jù)結構、數(shù)據(jù)操作及數(shù)據(jù)約束;關系模型屬于非格式化模型,而模型和網(wǎng)狀模型屬于格式化模型;e-r 模型 實體聯(lián)系模型 的基本概念( 1 )實體:現(xiàn)實世界中的事物;( 2 )屬性:事物的特性;( 3 )聯(lián)系:現(xiàn)實世界中事物間的關系;實體集間的聯(lián)系有一對一、一對多、多對多的聯(lián)系;e-r模型基本概念之間的聯(lián)接關系:實體是概念世界中的基本單位,屬

42、性有屬性域,每個實體可取屬性域內(nèi)的值;一個實體的 全部屬性值叫元組;e-r 模型的圖示法: 描述概念模型的常用工具;( 1 )實體 集表示法 矩形; ( 2 )屬性 表法 橢圓 形; (3 ) 聯(lián)系 表示法 菱形 ;.同學m選課n課程學號系課號課程名學分姓名誕生年月性別成果選修時間( 4)數(shù)據(jù)庫治理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和關系模型三種; 層次模型的基本結構是樹形結構,具有以下特點:( 1 )每棵樹有且僅有一個無雙親結點,稱為根;( 2 )樹中除根外全部結點有且僅有一個雙親; 從圖論觀點看,網(wǎng)狀模型是一個不加任何條件限制的無向圖; 關系模型是數(shù)學化的模型;要用到集合論、離散數(shù)學等

43、理論學問;關系模型采納二維表來表示,簡稱表,由表框架及表的元組組成;一個二維表就是一個關系;每行數(shù)據(jù)稱為元組;在二維表中凡能唯獨標識元組的最小屬性稱為鍵或碼;從全部侯選鍵中選取一個作為用戶使用的鍵稱主鍵;表 a 中的某屬性是某表b 的鍵,就稱該屬性集為a 的外鍵或外碼; 3) 關系模型采納二維表來表示,簡稱表,由表框架及表的元組組成;一個二維表就是一個關系;二維表的表框架由n 個命名的屬性組成,n 稱為屬性元數(shù);每個屬性有一個取值范疇稱為值域;表框架對應了關系的模式,即類型的概念;在表框架中按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組,實際上,一個元組是由n 個元組重量所組成,每個元組重量是表框架中每個

44、屬性的投影值;學號姓名性別誕生年月班級籍貫2007102張潔然男07-07-8807 動畫 1 班天津2007203李一明男05-01-8707 播音 5 班廣西南寧2007305王麗女04-09-8807 治理 4 班遼寧沈陽2007406劉宏男10-11-8807 新聞 3 班江蘇南京* :同一個關系模型的任兩個元組值不能完全相同;主碼:或稱為關鍵字、主鍵,簡稱碼、鍵,表中的一個屬性或幾個屬性的組合、其值能唯獨地標識表中一個元組的,稱為關系的主碼或關鍵字;例如,同學的學號;主碼屬性不能取空值;外部關鍵字: 或稱為外鍵, 在一個關系中含有與另一個關系的關鍵字相對應的屬性組稱為該關系的外部關鍵

45、字; 外部關鍵字取空值或為外部表中對應的關鍵字值; 例如, 在同學表中含有的所屬班級名字, 是班級表中的關鍵字屬性, 它是同學表中的外部關鍵字;關系中的數(shù)據(jù)約束:( 1 )實體完整性 約束:約束關系的主鍵中屬性值不能為空值;( 2 )參照完全性 約束:是關系之間的基本約束;( 3 )用戶定義的完整性約束:它反映了具體應用中數(shù)據(jù)的語義要求;4.3 關系代數(shù)關系數(shù)據(jù)庫系統(tǒng)的特點之一是它建立在數(shù)據(jù)理論的基礎之上,有許多數(shù)據(jù)理論可以表示關系模型的數(shù)據(jù)操作,其中最為聞名的是關系代數(shù)與關系演算;關系數(shù)據(jù)庫治理系統(tǒng)能實現(xiàn)的特地關系運算包括:挑選、投影、連接;關系模型的基本運算:( 1 )插入(2 )刪除3 修改(4 )查詢(包括投影、挑選、笛卡爾積運算).仍有擴充運算交、除、連接及自然連接運算;在關系運算中,連接運算后得到的新表的屬性是運算前表中屬性相加;即多于原先關系中屬性的個數(shù); 集合運算及挑選、投影、連接運算( 1)并():關系 r 和 s 具有相同的關系模式,r 和 s 的并是由屬于r 或?qū)儆?s 的元組構成的集合;( 2)差():關系 r 和 s 具有相同的關系模式,r 和 s 的差是由屬于r 但不屬于 s 的元組構成的集合;( 3)交():關系 r 和 s 具有相同的關系模式,r 和 s 的交是由屬于r 且屬于 s 的元組構成的集合;( 4)廣義笛卡爾積 (&

溫馨提示

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

評論

0/150

提交評論