淺析企業(yè)管理襖件的開發(fā)與優(yōu)化
謝程剛 劉泓濱
論文摘要:本文探討了企業(yè)管理軟件的開發(fā)和優(yōu)化,指明了開發(fā)企業(yè)管理軟件的核心是如何開發(fā)出一套經(jīng)濟(jì)、實(shí)用的數(shù)據(jù)庫管理軟件詳細(xì)介紹了軟件開發(fā)過程中的步驟、注意事項(xiàng)及優(yōu)化準(zhǔn)則,為如何開發(fā)經(jīng)濟(jì)、實(shí)用的企業(yè)管理軟件提供了一個(gè)指導(dǎo)性框架關(guān)鍵詞數(shù)據(jù)庫優(yōu)化
1.引言
越演越烈的商業(yè)競爭使企業(yè)神經(jīng)高度緊張,越來越薄的利潤空間使企業(yè)活力漸漸萎縮,什么是贏家的利器?加強(qiáng)科學(xué)管理,加快信息步伐——建設(shè)、創(chuàng)新,你有科學(xué)的管理方法,你有最新的市場信息,你就有比別人多五十年的企業(yè)青春期。
什么是科學(xué)管理?如何獲得最新市場信息?在信息技術(shù)日益發(fā)展的今天,計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)無疑是提高企業(yè)生存的最有效手段。而對一個(gè)企業(yè)來說,計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的核心又是擁有適合自身特點(diǎn)的一系列管理和分析軟件。相比傳統(tǒng)的管理方法,用計(jì)算機(jī)參與企業(yè)的管理有以下優(yōu)點(diǎn):
(1)有利于企業(yè)的信息化和自動(dòng)化;
(2)有利于進(jìn)行資源共享;
(3)有利于數(shù)據(jù)的管理和維護(hù);
(4)有利于數(shù)據(jù)保存且占用資源較少;
(5)有利于軟件的二次開發(fā);
(6)有利于與相關(guān)軟件進(jìn)行對接。
2當(dāng)今流行的企業(yè)管理開發(fā)軟件
企業(yè)的現(xiàn)代科學(xué)管理,離不開數(shù)據(jù)庫軟件的開發(fā)和應(yīng)用,因?yàn)槿魏我粋€(gè)管理軟件都離不開數(shù)據(jù)的管理和維護(hù):其實(shí),企業(yè)管理軟件開發(fā)的核心就是如何開發(fā)出一套經(jīng)濟(jì)、實(shí)用的數(shù)據(jù)庫管理軟件。
數(shù)據(jù)庫軟件開發(fā),分為前臺(tái)開發(fā)和后臺(tái)管理。前臺(tái)開發(fā)主要是面向客戶,軟件開發(fā)人員的任務(wù),是開發(fā)出友好、操作簡單的用戶界面;后臺(tái)管理是數(shù)據(jù)庫軟件的核心,其主要完成數(shù)據(jù)的管理,如備份、還原、數(shù)據(jù)分析等。
當(dāng)今流行的數(shù)據(jù)庫前臺(tái)開發(fā)軟件有VB,VC,Delphi以及PowerBuilder,其中以PowerBuilder較為流行,其友好的用戶界面和優(yōu)秀的數(shù)據(jù)庫接口使其在數(shù)據(jù)庫前臺(tái)開發(fā)方面受到不少軟件人員的青睞。后臺(tái)管理軟件有Oracle、Sybase、SQLServer、Informix,其中以前三者最為流行。尤其是Oracle,其強(qiáng)大的數(shù)據(jù)庫后臺(tái)管理能力和卓越的穩(wěn)定性使其應(yīng)用日益廣泛,在大型數(shù)據(jù)庫方面更能體現(xiàn)其強(qiáng)大的功能。相對來說,Sybase、SQLSevrer主要用于中小型企業(yè),其優(yōu)勢在于開發(fā)相對簡單,且維護(hù)方便,是開發(fā)中小型管理軟件的首選。
如何確定開發(fā)步驟在整個(gè)軟件的開發(fā)過程中起到舉足輕重的作用。清晰、明了的開發(fā)步驟能使軟件開發(fā)人員的工作起到事半功倍的效果;反之,模糊、煩瑣的開發(fā)步驟將使軟件開發(fā)人員在開發(fā)的過程中浪費(fèi)大量的時(shí)間、人力和物力。
綜合起來,數(shù)據(jù)庫軟件的開發(fā)步驟有以下幾點(diǎn):
(1)獲取第一手材料(包括用戶的要求及要實(shí)現(xiàn)的功能)任何一套數(shù)據(jù)庫軟件的開發(fā)都是以客戶的需求為前提的,因此,在著手開發(fā)之前,一定要詳細(xì)了解客戶的需求。對客戶的需求了解越多,對以后的開發(fā)和維護(hù)越有利。尤其是軟件的維護(hù),對絕大多數(shù)軟件來說,維護(hù)費(fèi)用往往高于開發(fā)費(fèi)用。如果對客戶的需求了解不多或是不詳細(xì),在軟件的調(diào)試階段有可能迫使開發(fā)人員對已開發(fā)好的軟件進(jìn)行大量的修改。
(2)選擇合適的開發(fā)工具就一個(gè)開發(fā)小組來說,選擇大家都能掌握的軟件作為開發(fā)工具,有利于軟件各功能模塊的銜接,也有利于軟件運(yùn)行期間的維護(hù)。同時(shí),由于使用的是同一或是同類的開發(fā)工具,更能保證各功能模塊的穩(wěn)定運(yùn)行。
(3)畫出流程圖流程圖是開發(fā)人員編程思路的體現(xiàn)。清晰、明了的流程圖能使開發(fā)人員對自己的編程思路有個(gè)清楚的認(rèn)識(shí)。
(4)設(shè)計(jì)并確定功能模塊每一套軟件的開發(fā),往往要實(shí)現(xiàn)不同的功能,為了便于管理、維護(hù)和二次開發(fā),將不同的功能封裝在相應(yīng)的功能模塊中是最行之有效的方法。尤其是大型軟件的開發(fā),多是由不同的人員組成一個(gè)或幾個(gè)開發(fā)小組,功能模塊的確定就顯得尤為重要。
(5)細(xì)化每一功能模塊,確定其要實(shí)現(xiàn)的目標(biāo)功能模塊確定以后,必須明確每一功能模塊要實(shí)現(xiàn)的功能,為后期工作做好準(zhǔn)備。
(6)確定各個(gè)模塊間的詳細(xì)接口開發(fā)人員在完成自己的工作以后,整套軟件要正常運(yùn)行,就必須組成一個(gè)有機(jī)整體。因此,必須開發(fā)出各功能模塊間的接口,以利于數(shù)據(jù)在各功能模塊間正常傳送。
(7)優(yōu)化數(shù)據(jù)結(jié)構(gòu),用盡可能少的表和視圖滿足要實(shí)現(xiàn)的功能數(shù)據(jù)結(jié)構(gòu)是否優(yōu)化、合理,對軟件的運(yùn)行起著關(guān)鍵的作用。優(yōu)化合理的數(shù)據(jù)結(jié)構(gòu),能有效地提高數(shù)據(jù)運(yùn)行的效率,并且減少了數(shù)據(jù)出錯(cuò)的慨率。對一套管理軟件的開發(fā)來說,這一步是決定軟件優(yōu)劣的關(guān)鍵。 (8)調(diào)試、運(yùn)行軟件開發(fā)完成后,在正式投入使用前,開發(fā)人員需要花費(fèi)大量的時(shí)間來調(diào)試程序,從中發(fā)現(xiàn)不足并加以完善。
3注意事項(xiàng)
數(shù)據(jù)庫軟件的開發(fā)相對于其它軟件來說,有許多自己獨(dú)特的地方。除了具有一般軟件的特點(diǎn)外,還要注意以下幾點(diǎn):
(1)必須明確每一字段含義;
(2)字段的類型、大小定義盡量優(yōu)化;
(3)用盡可能少的數(shù)據(jù)庫、表和視圖完成所需的功能;
(4)對每一個(gè)數(shù)據(jù)庫來說,表與表間的連接關(guān)系要優(yōu)化;
(5)對重要的統(tǒng)計(jì)數(shù)據(jù)來說,盡量用一個(gè)表包含所有數(shù)據(jù),這樣可縮短數(shù)據(jù)庫訪問的時(shí)間,尤其是在數(shù)據(jù)量大時(shí)更能體現(xiàn)其優(yōu)點(diǎn)。
4優(yōu)化設(shè)計(jì)的準(zhǔn)則
(1)建立低耦合度和高內(nèi)聚性的模塊組合
耦合是對軟件內(nèi)部模塊間互聯(lián)程度的度量;內(nèi)聚是從功能的角度對模塊內(nèi)部聚合能力的度量。軟件開發(fā)過程中,如果有若干個(gè)直接相關(guān)的模塊,其模塊間聯(lián)系復(fù)雜,耦合度過高,但每一功能并不復(fù)雜,可以將它們合并起來,以減少控件間的信息傳送及公共信息的引用。
(2)避免高扇入和低扇出
扇入表明一個(gè)模塊被多個(gè)上層模塊調(diào)用;扇出指一個(gè)模塊直接調(diào)用的模塊數(shù)目。一個(gè)模塊如果被多個(gè)模塊調(diào)用,或者調(diào)用多個(gè)模塊,則也許是它具有多功能從而可能形成復(fù)雜控制結(jié)構(gòu)和復(fù)雜數(shù)據(jù)組織的病兆。如果確實(shí)具有多功能且扇入或扇出數(shù)較高,則應(yīng)引入新的模塊來避免高扇入和低扇出。
(3)使一個(gè)條件的判斷范圍保持在其所在模塊的控制范圍
在軟件開發(fā)過程中,如果涉及判斷、循環(huán)等情況,應(yīng)盡可能將其作用范圍控制在所在模塊范圍內(nèi),這樣可避免模塊間的頻繁訪問,以減少可能帶來的不利影響。
(4)定義單入口單出口的模塊
模塊與模塊間是通過數(shù)據(jù)和信息來連接的,如果它們間有多個(gè)入口和出口,則既難以理解又容易在模塊間形成內(nèi)容耦合。
(5)簡化模塊的復(fù)雜度
如果沒有特殊要求,各模塊只要實(shí)現(xiàn)自己的功能就以了,這樣可簡化模塊的復(fù)雜度。
(6)建立專門的環(huán)境參數(shù)生成和外部接口的模塊組
對一套成型的管理軟件來說,在使用過程中往往會(huì)因不同的用戶而有所變化,如果每一點(diǎn)變化都更改程序,這樣對開發(fā)和維護(hù)人員來說負(fù)擔(dān)都很重。因此,在軟件正式投入使用前,應(yīng)建立專門的數(shù)據(jù)維護(hù)界面和配置文件,使用者只要在維護(hù)界面進(jìn)行修改或?qū)ε渲梦募龀鲆欢ǖ母膭?dòng)就能滿足需求。
5結(jié)束語
開發(fā)一套數(shù)據(jù)庫管理軟件并不是一件很難的事,關(guān)鍵是如何優(yōu)化各功能模塊間的結(jié)構(gòu)和關(guān)系,尤其是如何優(yōu)化數(shù)據(jù)庫與數(shù)據(jù)庫之間,表與表、表和視圖間的關(guān)系。這些,通過實(shí)踐積累豐富的經(jīng)驗(yàn)是非常重要的。