任何一個經(jīng)濟組織或社會組織在發(fā)展過程中都會產(chǎn)生大量的數(shù)據(jù),并且還會關(guān)注許多與之相關(guān)的數(shù)據(jù),它們需要對這些數(shù)據(jù)進行存儲、并按照一些特定的規(guī)則對這些數(shù)據(jù)進行分析、整理,從而保證自己的工作有序進行、提高效率、提高競爭力。所謂數(shù)據(jù)庫應(yīng)用系統(tǒng),就是為支持一個特定目標(biāo),把一個個人、一個組織、一個地方的與該目標(biāo)相關(guān)的數(shù)據(jù)以某種數(shù)據(jù)模型進行存儲,并圍繞這一目標(biāo)開發(fā)的應(yīng)用程序。通常把這些數(shù)據(jù)、數(shù)據(jù)模型以及應(yīng)用程序的整體稱為一個數(shù)據(jù)庫應(yīng)用系統(tǒng)。
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程一般包括需求分析、系統(tǒng)初步設(shè)計、系統(tǒng)詳細設(shè)計、編碼、調(diào)試、系統(tǒng)切換等幾個階段,每階段應(yīng)提交相應(yīng)的文檔資料,包括《需求分析報告》、《系統(tǒng)初步設(shè)計報告》、《系統(tǒng)詳細設(shè)計報告》、《系統(tǒng)測試大綱》、《系統(tǒng)測試報告》以及《操作使用說明書》等。但根據(jù)應(yīng)用系統(tǒng)的規(guī)模和復(fù)雜程度不同,在實際開發(fā)過程中往往有一些相應(yīng)的靈活處理,有時候把兩個甚至三個過程合并進行,不一定完全刻板地遵守上述的過程,產(chǎn)生這樣多的文檔資料,但是不管所開發(fā)的應(yīng)用系統(tǒng)的復(fù)雜程度如何,這個過程中的需求分析、系統(tǒng)設(shè)計、編碼一調(diào)試一修改是不可缺少的。
1.需求分析
這一階段的基本任務(wù)簡單說來有兩個,一是摸清現(xiàn)狀,二是理清將要開發(fā)的目標(biāo)系統(tǒng)應(yīng)該具有哪些功能。具體說來,摸清現(xiàn)狀就要做深入細致的調(diào)查研究、摸清人們現(xiàn)在完成任務(wù)所依據(jù)的數(shù)據(jù)(使用了什么臺賬、報表、憑證)及其聯(lián)系、使用什么規(guī)則(上級有什么法律和政策規(guī)定、本單位或地方有哪些規(guī)定、以及有哪些得到公認的規(guī)則等)、對這些數(shù)據(jù)進行什么樣的加工、加工結(jié)果以什么形式(報表、工作任務(wù)單、臺賬、圖表等)表現(xiàn);理清目標(biāo)系統(tǒng)的功能就是要明確說明系統(tǒng)將要實現(xiàn)的功能,也就是明確說明目標(biāo)系統(tǒng)將能夠?qū)θ藗兲峁┠男┲С帧P枨蠓治鐾瓿珊?,?yīng)撰寫《需求分析報告》并請項目委托單位簽字認可,以作為下階段開發(fā)方和委托方共同合作的依據(jù)。
2.系統(tǒng)設(shè)計
在明確了現(xiàn)狀與目標(biāo)后,還不能馬上就進入程序設(shè)計(編碼)階段,而先要對系統(tǒng)的一些問題進行規(guī)劃和設(shè)計,這些問題包括:設(shè)計工具和系統(tǒng)支撐環(huán)境的選擇(選擇哪種數(shù)據(jù)庫、哪幾種開發(fā)工具、支撐目標(biāo)系統(tǒng)運行的軟硬件及網(wǎng)絡(luò)環(huán)境等)、怎樣組織數(shù)據(jù)(也就是數(shù)據(jù)庫的設(shè)計,即設(shè)計表的結(jié)構(gòu)、字段約束關(guān)系、字段問的約束關(guān)系、表間約束關(guān)系、表的索引等)、系統(tǒng)界面的設(shè)計(菜單、表單等)、系統(tǒng)功能模塊的設(shè)計;對一些較為復(fù)雜的功能,還應(yīng)該進行算法設(shè)計。這一部分工作完成后,要撰寫《系統(tǒng)設(shè)計報告》,在《系統(tǒng)設(shè)計報告》中,要以表格的形式詳細列出目標(biāo)系統(tǒng)的數(shù)據(jù)模型,并列出系統(tǒng)功能模塊圖、系統(tǒng)主要界面圖,以及相應(yīng)的算法說明。《系統(tǒng)設(shè)計報告》既作為系統(tǒng)開發(fā)人員的工作指導(dǎo),也是為了使項目委托方在系統(tǒng)尚未開發(fā)出來時即能認識目標(biāo)系統(tǒng),從而及早的發(fā)現(xiàn)問題,減少或防止項目委托方與項目開發(fā)方因?qū)栴}認識上的差別而導(dǎo)致的返工。同樣,《系統(tǒng)設(shè)計報告》也需得到項目委托方的簽字認可。
3.系統(tǒng)實現(xiàn)(編碼、調(diào)試)
這一階段的工作任務(wù)比較明確,就是依據(jù)前兩個階段的工作,具體建立數(shù)據(jù)庫和表,定義各種約束,并錄入部分數(shù)據(jù);具體設(shè)計系統(tǒng)菜單、系統(tǒng)表單、定義表單上的各種控制對象、編寫對象對不同事件的響應(yīng)代碼、編寫報表和查詢等。
4.測試
測試階段的任務(wù)就是驗證系統(tǒng)設(shè)計中所設(shè)置的功能能否穩(wěn)定準(zhǔn)確地運行、這些功能是否全面地覆蓋并正確地完成了委托方的需求,從而確認系統(tǒng)是否可以交付運行。測試工作一般由項目委托方或由項目委托方指定第三方進行。在系統(tǒng)實現(xiàn)階段,一般說來設(shè)計人員會進行一些測試工作,但這是由設(shè)計人員自己進行的局部的驗證工作,重點是檢測程序有無邏輯錯誤,與前面所講的系統(tǒng)測試在測試目的、方法及全面性等方面還是有很大的差別的。
為使測試階段順利進行,測試前應(yīng)編寫一份《測試大綱》,詳細描述每一個測試模塊的測試目的、測試用例、測試環(huán)境、步驟、測試后所應(yīng)該出現(xiàn)的結(jié)果。對一個模塊可安排多個測試用例,以能較全面完整地反映系統(tǒng)的實際運行情況。測試過程中應(yīng)進行詳細記錄,i貝0試完成后要撰寫《系統(tǒng)測試報告》,對應(yīng)用系統(tǒng)的功能完整性、穩(wěn)定性、正確性以及使用是否方便等方面給出評價。
5.系統(tǒng)交付
這一階段的工作主要有兩個方面,一是全部文檔的整理交付,二是對所完成的軟件(數(shù)據(jù)、程序等)打包并形成發(fā)行版本,使用戶在滿足系統(tǒng)所要求的支撐環(huán)境的任一臺計算機上按照安裝說明就可以安裝運行。
本章以一個公司的工資管理系統(tǒng)為例,來說明一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本開發(fā)過程。系統(tǒng)設(shè)計要求是:
(1)能適應(yīng)公司不同的員工工資計算與考核方法。
(2)能自動生成并打印員工個人工資單和公司工資發(fā)放匯總表。
(3)工資數(shù)據(jù)要求保存5年時間,并隨時能夠查詢5年內(nèi)的工資歷史數(shù)據(jù)。
數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程一般包括需求分析、系統(tǒng)初步設(shè)計、系統(tǒng)詳細設(shè)計、編碼、調(diào)試、系統(tǒng)切換等幾個階段,每階段應(yīng)提交相應(yīng)的文檔資料,包括《需求分析報告》、《系統(tǒng)初步設(shè)計報告》、《系統(tǒng)詳細設(shè)計報告》、《系統(tǒng)測試大綱》、《系統(tǒng)測試報告》以及《操作使用說明書》等。但根據(jù)應(yīng)用系統(tǒng)的規(guī)模和復(fù)雜程度不同,在實際開發(fā)過程中往往有一些相應(yīng)的靈活處理,有時候把兩個甚至三個過程合并進行,不一定完全刻板地遵守上述的過程,產(chǎn)生這樣多的文檔資料,但是不管所開發(fā)的應(yīng)用系統(tǒng)的復(fù)雜程度如何,這個過程中的需求分析、系統(tǒng)設(shè)計、編碼一調(diào)試一修改是不可缺少的。
1.需求分析
這一階段的基本任務(wù)簡單說來有兩個,一是摸清現(xiàn)狀,二是理清將要開發(fā)的目標(biāo)系統(tǒng)應(yīng)該具有哪些功能。具體說來,摸清現(xiàn)狀就要做深入細致的調(diào)查研究、摸清人們現(xiàn)在完成任務(wù)所依據(jù)的數(shù)據(jù)(使用了什么臺賬、報表、憑證)及其聯(lián)系、使用什么規(guī)則(上級有什么法律和政策規(guī)定、本單位或地方有哪些規(guī)定、以及有哪些得到公認的規(guī)則等)、對這些數(shù)據(jù)進行什么樣的加工、加工結(jié)果以什么形式(報表、工作任務(wù)單、臺賬、圖表等)表現(xiàn);理清目標(biāo)系統(tǒng)的功能就是要明確說明系統(tǒng)將要實現(xiàn)的功能,也就是明確說明目標(biāo)系統(tǒng)將能夠?qū)θ藗兲峁┠男┲С帧P枨蠓治鐾瓿珊?,?yīng)撰寫《需求分析報告》并請項目委托單位簽字認可,以作為下階段開發(fā)方和委托方共同合作的依據(jù)。
2.系統(tǒng)設(shè)計
在明確了現(xiàn)狀與目標(biāo)后,還不能馬上就進入程序設(shè)計(編碼)階段,而先要對系統(tǒng)的一些問題進行規(guī)劃和設(shè)計,這些問題包括:設(shè)計工具和系統(tǒng)支撐環(huán)境的選擇(選擇哪種數(shù)據(jù)庫、哪幾種開發(fā)工具、支撐目標(biāo)系統(tǒng)運行的軟硬件及網(wǎng)絡(luò)環(huán)境等)、怎樣組織數(shù)據(jù)(也就是數(shù)據(jù)庫的設(shè)計,即設(shè)計表的結(jié)構(gòu)、字段約束關(guān)系、字段問的約束關(guān)系、表間約束關(guān)系、表的索引等)、系統(tǒng)界面的設(shè)計(菜單、表單等)、系統(tǒng)功能模塊的設(shè)計;對一些較為復(fù)雜的功能,還應(yīng)該進行算法設(shè)計。這一部分工作完成后,要撰寫《系統(tǒng)設(shè)計報告》,在《系統(tǒng)設(shè)計報告》中,要以表格的形式詳細列出目標(biāo)系統(tǒng)的數(shù)據(jù)模型,并列出系統(tǒng)功能模塊圖、系統(tǒng)主要界面圖,以及相應(yīng)的算法說明。《系統(tǒng)設(shè)計報告》既作為系統(tǒng)開發(fā)人員的工作指導(dǎo),也是為了使項目委托方在系統(tǒng)尚未開發(fā)出來時即能認識目標(biāo)系統(tǒng),從而及早的發(fā)現(xiàn)問題,減少或防止項目委托方與項目開發(fā)方因?qū)栴}認識上的差別而導(dǎo)致的返工。同樣,《系統(tǒng)設(shè)計報告》也需得到項目委托方的簽字認可。
3.系統(tǒng)實現(xiàn)(編碼、調(diào)試)
這一階段的工作任務(wù)比較明確,就是依據(jù)前兩個階段的工作,具體建立數(shù)據(jù)庫和表,定義各種約束,并錄入部分數(shù)據(jù);具體設(shè)計系統(tǒng)菜單、系統(tǒng)表單、定義表單上的各種控制對象、編寫對象對不同事件的響應(yīng)代碼、編寫報表和查詢等。
4.測試
測試階段的任務(wù)就是驗證系統(tǒng)設(shè)計中所設(shè)置的功能能否穩(wěn)定準(zhǔn)確地運行、這些功能是否全面地覆蓋并正確地完成了委托方的需求,從而確認系統(tǒng)是否可以交付運行。測試工作一般由項目委托方或由項目委托方指定第三方進行。在系統(tǒng)實現(xiàn)階段,一般說來設(shè)計人員會進行一些測試工作,但這是由設(shè)計人員自己進行的局部的驗證工作,重點是檢測程序有無邏輯錯誤,與前面所講的系統(tǒng)測試在測試目的、方法及全面性等方面還是有很大的差別的。
為使測試階段順利進行,測試前應(yīng)編寫一份《測試大綱》,詳細描述每一個測試模塊的測試目的、測試用例、測試環(huán)境、步驟、測試后所應(yīng)該出現(xiàn)的結(jié)果。對一個模塊可安排多個測試用例,以能較全面完整地反映系統(tǒng)的實際運行情況。測試過程中應(yīng)進行詳細記錄,i貝0試完成后要撰寫《系統(tǒng)測試報告》,對應(yīng)用系統(tǒng)的功能完整性、穩(wěn)定性、正確性以及使用是否方便等方面給出評價。
5.系統(tǒng)交付
這一階段的工作主要有兩個方面,一是全部文檔的整理交付,二是對所完成的軟件(數(shù)據(jù)、程序等)打包并形成發(fā)行版本,使用戶在滿足系統(tǒng)所要求的支撐環(huán)境的任一臺計算機上按照安裝說明就可以安裝運行。
本章以一個公司的工資管理系統(tǒng)為例,來說明一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的基本開發(fā)過程。系統(tǒng)設(shè)計要求是:
(1)能適應(yīng)公司不同的員工工資計算與考核方法。
(2)能自動生成并打印員工個人工資單和公司工資發(fā)放匯總表。
(3)工資數(shù)據(jù)要求保存5年時間,并隨時能夠查詢5年內(nèi)的工資歷史數(shù)據(jù)。

