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