數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)步驟

字號:

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