摘要:在當(dāng)前軟件開發(fā)過程中, 數(shù)據(jù)庫應(yīng)用軟件的設(shè)計扮演著尤為重要的角色。而多個領(lǐng)域?qū)?shù)據(jù)處理提出的新要求, 使得數(shù)據(jù)庫應(yīng)用軟件設(shè)計的重要性逐漸凸顯。本文就數(shù)據(jù)庫應(yīng)用軟件設(shè)計中的一些問題進行分析, 并結(jié)合筆者自身的工作經(jīng)驗, 提出相應(yīng)的對策。
關(guān)鍵詞:數(shù)據(jù)庫,應(yīng)用軟件,程序設(shè)計,數(shù)據(jù)處理
在信息系統(tǒng)得到推廣應(yīng)用的大背景下, 數(shù)據(jù)處理問題成為信息技術(shù)領(lǐng)域的研究熱點。而全球數(shù)據(jù)量的爆炸式增長, 以及各行各業(yè)在數(shù)據(jù)處理、分析、整理方面需求的轉(zhuǎn)變, 都給數(shù)據(jù)處理提出了新的挑戰(zhàn)。作為數(shù)據(jù)處理的核心技術(shù)之一, 數(shù)據(jù)庫 (數(shù)據(jù)庫管理系統(tǒng)) 集數(shù)據(jù)存儲、數(shù)據(jù)分析、數(shù)據(jù)管理等多種功能于一身, 且隨著相關(guān)研發(fā)技術(shù)、設(shè)計理念的更新與發(fā)展, 數(shù)據(jù)庫應(yīng)用軟件已經(jīng)具備強大的數(shù)據(jù)計算能力, 同時兼顧了數(shù)據(jù)的安全性與完整性。
1 數(shù)據(jù)庫技術(shù)
數(shù)據(jù)庫技術(shù)為信息系統(tǒng)核心技術(shù)之一, 在輔助完成數(shù)據(jù)的管理 (如數(shù)據(jù)存儲、數(shù)據(jù)處理等) 方面發(fā)揮出了巨大的優(yōu)勢。從本質(zhì)上來講, 數(shù)據(jù)庫技術(shù)研究的對象為數(shù)據(jù), 其目的在于通過數(shù)據(jù)庫相關(guān)的基本理論、實現(xiàn)方法與應(yīng)用手段, 完成數(shù)據(jù)庫中數(shù)據(jù)的分析和處理;跀(shù)據(jù)庫應(yīng)用軟件設(shè)計的相關(guān)要求完成的應(yīng)用軟件, 不僅應(yīng)當(dāng)滿足用戶的實際需求, 還應(yīng)當(dāng)具備良好的性能。在數(shù)據(jù)庫應(yīng)用軟件的開發(fā)過程中, 需要查找相應(yīng)的數(shù)據(jù)線圖與表格, 一旦出現(xiàn)數(shù)據(jù)復(fù)雜、數(shù)據(jù)量大等情況, 設(shè)計人員將面臨較大的設(shè)計難度。針對這一問題, 如何提高數(shù)據(jù)庫軟件產(chǎn)品的質(zhì)量, 優(yōu)化應(yīng)用軟件開發(fā)過程中的各類問題, 即成為相關(guān)領(lǐng)域的研究熱點。
2 數(shù)據(jù)庫應(yīng)用軟件設(shè)計中的問題
在現(xiàn)階段的數(shù)據(jù)庫應(yīng)用軟件設(shè)計中, 整個設(shè)計過程大致可以分為設(shè)計需求分析、產(chǎn)品概念設(shè)計、邏輯部分設(shè)計與物理部分設(shè)計四個階段。歸根結(jié)底, 數(shù)據(jù)庫應(yīng)用軟件設(shè)計屬于軟件開發(fā)的范疇, 其設(shè)計過程應(yīng)當(dāng)遵循軟件開發(fā)的相關(guān)原則, 即規(guī)范化的命名、避免出現(xiàn)重復(fù)字段、數(shù)據(jù)龐大時建立索引等。軟件設(shè)計中, 開放數(shù)據(jù)庫互連 (ODBC) 是當(dāng)前常用的相關(guān)數(shù)據(jù)連接標(biāo)準(zhǔn), 為關(guān)系數(shù)據(jù)庫提供了較為統(tǒng)一的接口。在關(guān)系數(shù)據(jù)庫領(lǐng)域, SQL是現(xiàn)階段的主流查詢語言, 可在單機環(huán)境下, 為用戶提供數(shù)據(jù)庫的各類操作訪問, 同時還可作為分布式數(shù)據(jù)庫語言, 為客戶機-服務(wù)器模式數(shù)據(jù)庫應(yīng)用的開發(fā)服務(wù)。
在需求分析階段, 明確客戶對數(shù)據(jù)庫應(yīng)用軟件的實際需求, 是整個環(huán)節(jié)的重要內(nèi)容。一般而言, 數(shù)據(jù)庫應(yīng)用軟件的需求需要從用戶對數(shù)據(jù)庫的信息需求、用戶對數(shù)據(jù)處理的需求、用戶對數(shù)據(jù)庫安全性與可靠性的需求等角度入手。從某種程度上來講, 需求分析的效果將直接影響到應(yīng)用軟件設(shè)計工作的進行以及最終軟件產(chǎn)品的質(zhì)量。在概念設(shè)計階段, 視圖集成設(shè)計方式與集中式設(shè)計方式是較為常用的兩種設(shè)計方式, 根據(jù)應(yīng)用軟件設(shè)計的實際情況, 選擇合理的設(shè)計方案, 能夠切實提高軟件開發(fā)的效率。邏輯設(shè)計與物理設(shè)計是軟件產(chǎn)品的重要環(huán)節(jié), 同時也是較容易出現(xiàn)問題的環(huán)節(jié), 其設(shè)計質(zhì)量將直接影響到后續(xù)的應(yīng)用軟件驗證工作以及軟件的維護工作。以一個虛擬的數(shù)據(jù)表 (表1) 為例, 簡要分析軟件設(shè)計中可能出現(xiàn)的一些問題。
在創(chuàng)建應(yīng)用程序的界面時, 應(yīng)當(dāng)考慮界面在應(yīng)用軟件與用戶交互之間的重要性, 關(guān)注程序的可視化設(shè)計。為了保證該應(yīng)用程序能夠滿足管理者對圖書信息的管理需求, 最終設(shè)計出的應(yīng)用軟件界面, 應(yīng)當(dāng)能夠準(zhǔn)確輸出用戶的查詢需求、計算需求的具體結(jié)果。在對話框的創(chuàng)建方面, 考慮到同名圖書的數(shù)量較大, 需要增加組合框控件。而增加對話框資源后, 還需要為該對話框創(chuàng)建相應(yīng)的類。在開發(fā)工作中, 微軟基礎(chǔ)類庫 (MFC) 對ODBC的封裝主要體現(xiàn)在開發(fā)了CrecordSet類與CDatabase類, 前者實現(xiàn)了結(jié)果集的數(shù)據(jù)操作, 后者則用于同數(shù)據(jù)源建立連接。下面用一段示例代碼加以說明:
Cstring strSQL="select作者姓名";
StrSQL+="from圖書信息表";
StrSQL+="where";
StrSQL+="圖書名稱='活著'";
StrSQL+="order by借閱信息";
m_rs.Open (Crecordset::forwardOnly, strSQL) ;
在上述代碼的編寫過程中, 最容易犯的錯誤就是select后面, from、where、order by前后的空格被忽略。此外, 上述代碼打開了記錄集, 完成借閱信息的查詢后, 應(yīng)當(dāng)通過語句“m_rs.Close () ”完成記錄集的關(guān)閉操作。在程序設(shè)計中, 圖書信息的羅列是一種較為常用的功能, 此時需要使用“List”框。由此帶來的一個較為常見的問題, 就是再次打開對話框時可能出現(xiàn)上次運行的結(jié)果。針對該問題, MFC庫中提供的“m_listXXShow.DeleteAllItems () ”語句雖然可在某段程序周期內(nèi)實現(xiàn)對話框中內(nèi)容的清空, 但并不能滿足一般數(shù)據(jù)庫程序設(shè)計的要求, 故實踐中常借助初始化程序的手段, 達到強制清空“List”框內(nèi)數(shù)據(jù)的目的。此外, 在程序運行階段, 一旦用戶出現(xiàn)操作錯誤時, 應(yīng)當(dāng)及時彈出警告對話框, 提醒用戶操作的不規(guī)范之處。傳統(tǒng)的設(shè)計方案采取點擊“確認”按鈕等方式實現(xiàn)重新操作, 鑒于其繁瑣性, 有研究提出了“彈出警告對話框, 移動鼠標(biāo), 對話框即消失”的設(shè)計策略, 與前者相比, 該策略將可有效提高用戶對程序界面的“好感”?傮w而言, 數(shù)據(jù)庫應(yīng)用軟件的設(shè)計是一項較為系統(tǒng)的任務(wù), 需要設(shè)計者在充分掌握軟件實際需求的基礎(chǔ)之上, 應(yīng)用合理的策略實現(xiàn)軟件的各項功能, 在保證軟件具備數(shù)據(jù)處理能力的基礎(chǔ)之上, 盡可能從用戶的角度考慮, 方便用戶的操作。
3 數(shù)據(jù)庫應(yīng)用軟件設(shè)計對策
在數(shù)據(jù)處理工作中, 數(shù)據(jù)庫技術(shù)的應(yīng)用, 尤其是數(shù)據(jù)庫應(yīng)用軟件的應(yīng)用, 能夠較好地滿足用戶對數(shù)據(jù)處理、數(shù)據(jù)存儲以及數(shù)據(jù)分析等的需求。鑒于軟件開發(fā)設(shè)計階段存在的諸多問題, 相關(guān)的設(shè)計者應(yīng)當(dāng)在注重理論分析與實際需求的同時, 多關(guān)注一些數(shù)據(jù)庫應(yīng)用程序設(shè)計的成功案例。結(jié)合以往的開發(fā)經(jīng)驗來看, 在軟件設(shè)計領(lǐng)域, 加強對案例的分析, 能夠有效提高軟件設(shè)計者自身的設(shè)計能力和應(yīng)對異常情況的能力, 提升產(chǎn)品開發(fā)的質(zhì)量和效率。
從理論分析的角度考慮, 數(shù)據(jù)庫應(yīng)用軟件設(shè)計應(yīng)當(dāng)關(guān)注數(shù)據(jù)模型的選擇, 而數(shù)據(jù)庫的結(jié)構(gòu)、數(shù)據(jù)可能面臨的各類操作以及數(shù)據(jù)制約等因素, 都將影響到數(shù)據(jù)模型的選擇。一般而言, 不同的數(shù)據(jù)庫應(yīng)用軟件具有不同的需求, 關(guān)系模型作為最常用的模型之一, 在快速獲取用戶所需信息等方面發(fā)揮著較大的優(yōu)勢, 可作為數(shù)據(jù)模型的首選。此外, 選擇模型時, 還應(yīng)當(dāng)根據(jù)實際情況, 簡化程序接口, 降低代碼耦合度。
在實踐階段, 對應(yīng)用程序的整體設(shè)計, 以及對數(shù)據(jù)庫中各項信息的從屬關(guān)系的描述, 是整個設(shè)計階段的重要環(huán)節(jié)。就從屬關(guān)系的構(gòu)建而言, 需要以各項信息的深入分析為基礎(chǔ), 構(gòu)建不同對象的組, 并考慮時間層面、空間層面的從屬關(guān)系。而系統(tǒng)的整體設(shè)計, 則與軟件產(chǎn)品的最終設(shè)計效果相關(guān);诖, 在具體設(shè)計中, 還應(yīng)當(dāng)重視軟件的整體設(shè)計, 嚴(yán)格按照相應(yīng)的設(shè)計流程, 進行應(yīng)用軟件的設(shè)計。
結(jié)論
在數(shù)據(jù)庫應(yīng)用軟件的設(shè)計中, 數(shù)據(jù)的可靠性與穩(wěn)定性、軟件的可操作性與易維護性應(yīng)當(dāng)是整個設(shè)計活動的關(guān)鍵。結(jié)合已有的開發(fā)經(jīng)驗來看, 加強數(shù)據(jù)庫應(yīng)用軟件設(shè)計相關(guān)理論與實踐方法的探討、注重軟件產(chǎn)品的開發(fā)效率與開發(fā)質(zhì)量、提高數(shù)據(jù)庫應(yīng)用軟件設(shè)計水平, 具有較為重要的意義。鑒于現(xiàn)階段數(shù)據(jù)庫應(yīng)用軟件設(shè)計存在的問題, 相關(guān)的設(shè)計者應(yīng)當(dāng)通過案例分析等途徑, 獲取有效的解決方法, 進而保證軟件設(shè)計的質(zhì)量, 減少運行維護階段的工作量。
參考文獻
[1]劉雪香.大型ERP實施中數(shù)據(jù)庫的設(shè)計優(yōu)化研究[J].軟件, 2017, 38 (5) :137-139.
[2]陳鴻鍵, 梁維.基于GML的空間數(shù)據(jù)庫設(shè)計與數(shù)據(jù)存儲分析[J].信息技術(shù)與信息化, 2017 (6) :51-53.
[3]江國文.大數(shù)據(jù)環(huán)境下基于MySQL的數(shù)據(jù)庫架構(gòu)設(shè)計與實現(xiàn)[J].電子世界, 2018 (11) :200-201.