CRM系統的柔性化設計應用發展研究

51mis發表於2010-07-05
CRM系統的柔性化設計應用發展研究
1 引 言

  客戶關係管理(Customer Relationship Management,CRM)是企業為提高核心競爭力,達到競爭致勝、快速成長的目的,樹立以客戶為中心的發展戰略,並在此基礎上開展的包括判斷、選擇、爭取、發展和保持客戶所需實施的全部商業過程。客戶關係管理在解答企業如何達成全面的自動化、電子化運營,以及如何實現“以客戶為中心”的經營模式兩大問題上為現代企業提供瞭解決的方案和目標。客戶關係管理,是企業以客戶關係為重點,透過開展系統化的客戶研究,透過最佳化企業組織體系和業務流程,提高客戶滿意度和忠誠度,提高企業效率和利潤水平的工作實踐。,也是企業不斷改進與客戶關係相關的全部業務流程,最終實現電子化、自動化運營目標的過程中,所創造並使用的先進的資訊科技、軟硬體和最佳化的管理方法、解決方案的總和。
  目前,CRM系統開發的主要方法是生命週期法、原型法和麵向物件法等。無論是生命週期法還是原型法或者面對物件開發方法,都不能填補使用者對軟體需求與軟體生產能力之間的溝鴻,主要的原因在於:(1)現行的開發方法是建立在傳統的企業職能部門基礎上,基於一種相對不變的業務流程。在開發過程中或者是系統執行一段時間之後,一旦系統的需求發生變化或者系統功能要求升級,通常會導致資料模式和各種介面資訊等發生改變,這些改變又通常會導致大量的修改源程式,這給CRM系統的開發帶來了很大的不確定性。(2)現行的軟體開發往往只是針對特定的專案和需求,很少甚至根本不考慮到同一領域(問題域)內需求的相似性,一個系統開發的經驗或者教訓很少被應用到新系統開發中,新系統的開發要重新從零開始,造成大量的重複勞動和資源的浪費。
  鑑於此,本文提出了一種基於軟體複用的CRM系統的柔性化設計方法。本研究具有較高的現實性意義:(1)適應企業管理多型性的變化,更好的滿足企業的應用需求。客戶需求與市場變化的不確定性,需要企業管理流程和業務流程處於不斷的調整和變化之中,它導致了企業管理的多型性。要滿足企業管理的需要,就必須充分考慮到這種情況,在系統構架時就要求其必須具有柔性和複用性;(2)解決開發者的問題:開發效率、開發成本、延長CRM系統的生命週期。隨著物件導向技術、模式技術、重構以及新的軟體開發工程學的成熟與廣泛應用,元件/構件技術的出現使得軟體複用技術達到了一個新的高度。這些技術可以有效地提高開發效率、降低開發成本,提高軟體系統的可靠性、可維護性和健壯性。

2 軟體複用技術

  軟體複用是將已有的軟體及其有效成分用於構造新的軟體或系統。它不僅是對軟體程式的複用,還包括對軟體生產過程中其它勞動成果的複用,如專案計劃書、可行性報告、需求分析、概要設計、詳細設計、編碼(源程式)、測試用例、文件與使用手冊等等。實現軟體複用的相關技術主要包括:軟體構件技術(Software Component Technology)、領域工程(Domain Engineering)、軟體體系結構(Software Architecture)、物件導向技術(Object-Oriented Technology)、軟體再工程(Software Reengineering)、開放系統(Open System)、軟體過程(Software Process),CASE技術以及各種非技術因素,它們結合在一起,共同影響軟體複用的實現。軟體複用可分為對產品的複用和對過程的複用。從軟體工程的角度看,軟體複用發生在構造新軟體系統的過程中,如在一個程式的構造期間,對已存在原始碼的使用就是軟體複用。而最為系統、最為工程化的軟體複用活動是基於複用庫的軟體複用。軟體複用可以看作是重新應用已有軟體開發過程的思想,這意味著開發過程的所有階段所包含的知識都是可複用的。
  軟體複用按抽象程度的高低,可以劃分為如下的複用級別:(1)程式碼的複用,包括目的碼和原始碼的複用,在開發的過程中就大量運用了程式碼複用。當前大部分程式語言的執行支援系統都提供了連線 (Link)、繫結(Binding)等功能來支援這種複用;(2)設計的複用,設計結果比源程式的抽象級別更高,因此它的複用受到實現環境的影響較少,從而使可複用構件被複用的機會更多,並且所需的修改更少;(3)分析的複用,可複用的分析成分是針對問題域的某些事物(問題)的抽象程度更高的解法。
  從對複用產品的瞭解程度和複用方式看,可以將複用分為:(1)黑盒複用,黑盒複用指對已有產品或構件不需作任何修改,直接進行復用,這是理想的複用方式。它主要基於二進位制程式碼的複用,包括可執行程式的複用和基於庫(包括動態連結庫和靜態庫)的複用。(2)白盒複用,白盒複用指根據使用者需求對已有產品進行適應性修改後才可使用。白盒複用一般為原始碼級的複用,以及相應的測試用例、文件等的複用。另外按複用方法分,軟體複用可分為組合式複用和生成式複用。按軟體複用的應用領域,軟體複用可以分為橫向複用和縱向複用。
  軟體複用技術的優點可總結如下:(1)提高軟體生產率,減少開發時間和費用。生產率的提高不僅體現在程式碼開發階段,在分析、設計及測試、階段同樣可以利用複用來節省開銷。用可複用的構件構造系統還可以提高系統的效能和可靠性,因為可複用構件經過了高度最佳化,並且在實踐中經受過檢驗;(2)提高軟體質量,開發出來的軟體可靠性高;(3)降低開發風險;(4)簡化軟體開發流程,使得軟體開發易於管理;(5)降低維護的難度、工作量和費用,且有可能延長執行期以提高軟體系統的效益。由於使用經過檢驗的構件,減少了可能的錯誤,同時軟體中需要維護的部分也減少;(6)共享有關關鍵系統的知識,便於學習系統結構和建立好的系統,促進軟體開發過程的標準化,易於提供文件資料等。

3 CRM系統的柔性化設計

  柔性應用軟體系統(Flexible Software System)是指在一定範圍內能夠滿足和適應不斷變化的需求的應用軟體系統。一般來講,CRM軟體系統的柔性主要體現在基於開發者的柔性,當開發一個新的應用系統時,不必從頭開始設計,進行大量的程式碼編寫,而是充分利用已有的可複用資源,如搭積木一般,重新組裝或者稍加修改可用資源就可組成新的系統,這樣可以節省大量重複的人力、物力的投資。基於開發者的柔性包括兩層含意:(1)開發某個CRM系統時充分利用先進的軟體開發方法,使得系統能夠滿足不斷變化的需求,並且儘可能的使得系統由可複用的部件組成;(2)當開發行業內一個新的應用系統時,不必從頭開始設計,進行大量的程式碼編寫,而是充分利用已有的可複用資源,如搭積木一般,重新組裝或者稍加修改可用資源就可組成新的系統,這樣可以節省大量重複的人力、物力的投資。下列的各種技術、方法和理念可以儘可能地實現和提高開發者的柔性。
  多層次極限程式設計(eXtreme Program,XP)。極限程式設計一種由Smalltalk社團大師Kent Beck提出的增量式輕量級的軟體開發方法。XP是以開發符合客戶需要的軟體為目標而產生的一種方法論,XP使開發者能夠更有效的響應客戶的需求變化,哪怕在軟體生命週期的後期。同時,XP也很強調團隊合作。團隊包括:專案經理、客戶和開發者。他們團結在一起來保證高質量的軟體。XP強調四種價值觀:交流、簡易、反饋和勇氣。XP程式設計師之間緊密的相互交流。XP程式設計師也和客戶緊密的交流。他們總是保持設計簡單明瞭。專案一開始,XP就強調透過對軟體的不斷測試來獲得反饋,程式設計師儘可能早的把軟體交給客戶,並實現客戶對軟體需求提出的變化,多層次XP對與需求變化的適應性主要得益於:(1)多層次XP不是採用瀑布式的軟體工程方法,而採用增量式的原型法。將一個軟體開發專案分為多個迭代週期,每個週期實現部分軟體功能。在每個週期都進行提出需求、設計軟體架構、編碼、測試、釋出、的軟體開發的全過程。每個週期都進行充分的測試和整合。(2)多層次XP強調簡單設計。簡單的設計總是花較少的時間完成複雜的任務,總是做有可能完成的最簡單的事情。(3)實踐迭代。迭代主要依靠的是重構。重構就是在不改變程式碼行為的前提下,對其進行一系列小的改造,旨在改進系統結構的實踐活動。
  在多層次XP程式設計中使用模式。模式有以下幾個基本要素:(1)模式的名稱(pattem name),用一兩個詞來描述模式的問題、解決方案和效果;(2)問題(problem)描述了應該如何使用模式,它解釋了設計問題和問題存在的前因後果,它可能描述了特定的設計問題,如怎樣用物件表示演算法等;(3)解決方案(solution)描述了設計的組成部分,它們之間的相互關係及各自的職責和協作方式。(4)效果(eonsequenees)描述了模式應用的效果及使用模式應權衡的問題。模式是在同一時間裡發生在世界上的一件事物和如何建立這個事物以及我們何時必須建立它的規則。它既是一個過程,也是一個事物;既是一個活生生的事物描述,又是產生那個事物的過程描述。模式就是解決某一類問題的方法論,是人們解決一類問題的經驗積累,在開發大型、複雜的軟體系統中能極大的提高軟體生產率,因此在解決行業背景CRM開發問題中應能起到重要的作用。事實上,XP內含很多設計理念,但是它與現有的軟體流程有著不同的運作方式。XP藉由多種實務技巧賦予演進式設計嶄新的風貌,讓演進變成一種實用的設計方法。XP是開發的一種流程,但模式可是設計知識的骨幹,不管是哪種流程這些知識都是很有用的。不同的流程使用模式的方式也就不同,XP強調等到需要時才使用模式以及透過簡單的實踐逐步匯入模式。所以模式仍然是一種必須獲得的關鍵知識。XP和模式在軟體開發中的優點使得我們相信:在XP場景內模式會工作得更好;並且當XP包含模式時,XP也會工作得更好。
  通用模組的開發——行業CRM的複用。雖然各問題域內的CRM系統千差萬別,即使在同一行業內部,由於各個企業管理模型的不一樣,CRM系統會有很大的差異。但從CRM系統的核心功能來看,系統的組成可以分成三個部分:(1)對資訊進行管理,包括從系統外部採集資料並儲存到系統資料庫中,對資料庫資料進行刪除、修改等資料維護操作;(2)對資料庫資料進行加工處理向外部提供資料,比如資料查詢、分類彙總統計、資料輸出等;(3)系統的維護。因此對於給定領域可以開發出通用的資料採集、資料處理、查詢系統、統計報表和報表列印、等的標準行業模組。這樣對一具體應用的CRM系統,可自己有標準模組或透過適當的修改組裝而成。在資料庫設計的基礎上,模組化處理是CRM軟體開發的行之有效的方法和手段,對於通用型CRM軟體應從應用中提煉和歸納出更加標準、更加規範的功能模組。一個通用型CRM軟體,是由若干功能模組和若干控制元件組合而成。設計思路是:開發人員設計出一套能滿足實際工作需要的通用型功能模組和控制元件。其中大部分的功能模組和控制元件都配有引數檔案。這些引數檔案都是獨立於程式體的、具有資料結構的表檔案,對於不同的使用者需求。配以不同的引數檔案,而通用型功能模組和控制元件不需改動。

4 結 論

  鑑於目前CRM系統開發中存在的可複用性差的問題,本文提出了一種基於軟體複用的CRM系統的柔性化設計方法。本研究具有較高的現實性意義:適應企業管理多型性的變化,更好的滿足企業的應用需求;本文技術可有效地提高開發效率、降低開發成本,提高軟體系統的可靠性、可維護性和健壯性。[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22367159/viewspace-1035014/,如需轉載,請註明出處,否則將追究法律責任。

相關文章