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