三種系統開發方法的比較(轉)

1.結構化開發方法

   “結構化”一詞出自結構化程序設計,人們正是從結構化程序設計中得到了啟發,將模塊化的思想引入到系統開發設計中來。結構化方法的基本思想是:用系統工程的思想和工程化的方法,按用戶至上的原則,結構化、模塊化,自上而下地對系統進行分析,自下而上實現的開發方法。

    結構化方法是強調開發方法的結構合理性以及所開發軟件的結構合理性的軟件開發方法。結構是指系統內各個組成要素之間的相 互聯系、相互作用的框架。結構化開發方法提出了一組提高軟件結構合理性的準則,如分解與抽象、模塊獨立性、信息隱蔽等。針對軟件生存周期各個不同的階段, 它有結構化分析(SA)、結構化設計(SD)和結構化程序設計(SP)等方法。

    結構化開發方法的本質是功能的分解,將系統按功能分解為若干模塊,每個模塊是實現系統某一功能的程序單元,每一個模塊都具有輸入、輸出和過程等基本特性。輸入和輸出分別是模塊需要的和產生的數據,過程則是對模塊具體處理細節的描述和表示。數據則在功能模塊間流動。功能是一種主動的行為,數據是受功能影響的信息載體。因而它的編程模型被理解為作用于數據的代碼。

    從編程技術和程序設計的角度來說,結構化分析方法在進行程序設計時,描述任何實體的操作序列只需采用“順序、選擇、重復”三種基本控制結構,整個程序劃分為若干個模塊。每個模塊要具有一種以上的特定功能,并且每個模塊只能有一個入口和一個出口。這種程序設計采用自頂向下,逐步細分的方法展開,在一定的數據結構之下來設計對應的算法,然后分別實現數據結構設計和算法設計,因此,N.Wirth總結出:程序=算法+數據結構的形式。結構化程序設計中,問題被看作一系列需要完成的任務,函數(function)是用于完成這些任務的。所以說,最終解決問題的焦點集中于函數,而數據則在功能模塊間流動。

(1)方法基本思想

   結構化系統開發方法的基本思想是,將結構與控制加人到項目中,以便使項目在預定的時間內完成。用系統工程的思想和工程化的方法,按用戶至上的原則,結構化、模塊化、自頂向下地對系統進行分析與設計,是組織、管理和控制信息系統開發過程的一種基本框架。

    具體地說,就是先將整個系統的開發劃分成若干個相對比較獨立的階段,如系統規劃、系統分析、系統設計、系統實施等。在前三個階段采用自頂向下的方法對系統進行結構化劃分,即從組織管理金字塔結構的最頂層人手,層層分解逐步深人至最基層;先考慮系統整體的優化,然后再考慮局部的優化。在系統實施階段,采用自底向上的方法逐步實施,即按照前幾個階段設計的模塊組織人員從最基層的模塊做起,然后按照系統設計的結構,將模塊一個個拼接到一起進行調試,自底向上,逐漸地構成整體系統。

結構化系統開發方法由管理策略和開發策略兩個部分組成:

管理策略 強調系統開發的規劃、進程安排、評估、監控和反饋。

開發策略 任務分解結構(Work Breakdown Structure,簡稱WBS)。包括系統規劃、系統分析、系統設計、系統實施和系統支持。

WBS優先級結構。即系統開發所遵循的基本模式,如瀑布模型(Waterfall)、階梯模型(Stair step)、螺旋模型(Spiral)、迭代模型(Iterative)等。

開發經驗。計算機信息系統的開發是一個實踐性非常強的過程,因此,開發經驗是非常寶貴的一種系統開發資源,如何充分地利用開發人員豐富的開發經驗也應該是系統開發生命周期研究的內容之一。

開發標準。系統開發標準通常包括活動、職責、文檔、質量檢驗四個方面的標準。

(2)方法基本原理

    嚴格按劃分的階段和活動進行系統開發。運用系統處理方法,將系統開發的全過程采取“分而治之(Divide and conquer)的策略,將整個系統的開發過程分為一系列“階段(Phases)”,然后再將階段分為一系列的“活動(Activities)”,將活動劃分為更小的、更易于管理和控制的“作業(Task)”。

    設立檢查點(Check point)。在系統開發的每一個階段均設立檢查點,來評估所開發系統的可行性,避免由于系統開發的失敗造成更大的損失。

文檔的標準化。文檔標準化是進行良好通信的基礎,是提高軟件可重用性的有效的手段。

(3)開發階段劃分

     任何一個系統都有發生、發展和消亡的過程。這個過程稱為生命周期,其使用的方法稱為生命周期法。從提出要建立一個系統開始,到完全建成的全過程,是一個連續發展的過程,即一個階段的完成就是下一個階段的開始,這個過程稱為系統的開發生命周期(System Development Life Cycle,SDLC)。

一個系統的生命周期,也即開發過程通常劃分為以下五個階段: 

系統規劃階段

     系統規劃是根據企業或個人的總體目標和發展戰略,確定待建系統的發展戰略,明確企業或個人總的需求,在進行可行性分析的基礎上制定系統建設的總體規劃。

系統分析階段

     系統分析是通過調查、分析,通過一系列工具,構造出新系統邏輯模型。這一階段的主要目的是解決系統將要“做什么”的問題。

系統設計階段

     系統設計是在系統分析提出的邏輯模型的基礎上,對新系統的物理模型進行設計,包括總體結構設計、代碼設計、界面設計、數據庫設計、模塊結構與功能設計、網絡設計,也就是解決新系統具體“怎么做”的問題。最后提出實施方案。

系統實施階段

     系統的實施是按照系統設計提出的物理模型以及實施方案來進行程序設計與調試、業務人員培訓以及系統測試與部署等工作。該階段的實質是要將系統設計的物理模型轉換為能夠實際運行的系統。

系統運行與維護階段

新系統投入運行以后,此階段的任務是進行系統的日常管理、評價和監督審計。并對出現的一些問題。需求變化進行必要的修改、完善和維護,以確保系統的正常運行。       

(4)方法特點

結構化方法歸納起來有如下特點。

     首先,強調面向用戶的原則,使系統開發人員和用戶密切聯系。及時交流信息,從而有利于及時發現并解決問題,提高系統開發質量。

     其次,嚴格按照階段順序進行。在運用結構化方法進行系統開發時,每個階段都是以前一階段的結果為依據,因此基礎扎實、不易返工,有利于對整個開發工作實現工程化的項目管理。

     再次,自上而下地分析。是將復雜的大問題分解為小問題找出問題的關鍵和重點所在,同時找出技術難點來;然后用精確的思維定性、定量地描述問題。問題的核心是“分解”。

     然后,模塊化處理。模塊化就是把程序劃分成若干個模塊。而每個模塊完成一個子功能,把這些模塊匯總起來構成一個有機體,即可完成指定的功能。模塊化的目的是為了降低軟件復雜度。使軟件設計、調試和維護等操作變得簡易。

     最后,工作文檔的規范化和標準化原則。階段性的成果采用規范化、標準化的格式和術語、圖表等形式組織文檔,便于開發人員和用戶的交流。

但是,結構化方法也存在以下缺點。

     第一,最突出的表現就是系統開發周期過長,并由此帶來了一系列問題(如在這段漫長的開發周期中,原來所了解的情況可能發生較多的變化等)。

     第二,這種方法要求系統開發者在開發初期就全面認識系統的各方面的需求、管理狀況以及預見可能發生的變化,這不大符合人們循序漸進地認識事物的規律性。

     第三,結構化方法存在的主要問題是技術上要求高,開發周期長,費用較高,以及由于用戶的需求事先就已經嚴格確定,容易與新系統的實際成果產生較大差距等。

     第四,結構化分析方法作為軟件開發的主流方法,曾被廣泛應用于各種軟件項目的開發,它的研究和發展使人們更加清楚地認識了軟件開發的本質,并成功地支持了一些大型項目的開發,對軟件危機起到了一定的緩解作用,但遠未充分解決軟件危機。具體原因如下:

     首先,以功能為主的系統結構不能適應系統需求的變化,當外部功能發生變化時,由于對實體的屬性和服務未能封裝,造成修改的系統波動效應,系統不易擴充、維護。

     其次,傳統的手工作業軟件編程方法和面向過程的軟件結構,已無法適應現代日益復雜的軟件開發要求,由于其分析、設計、編碼采用不同的模型表示,后一階段很難使用前一階段的研究成果,從數據流圖到模塊結構圖存在著一條轉換的鴻溝,從而不可避免地引起映射誤差。

     再次,面向過程的結構化軟件不能很好地支持開放技術,由于缺乏可重用性,致使開發成本加大、開發周期延長,不能適應大型、復雜系統不斷發展和變化的要求。

     最后,最主要的一點是,用馮·諾依曼機所求解的問題空間結構與方法空間結構是不一致的,該方法不是從人們認識客觀世界的過程方法出發,而是從軟件開發人員的立場出發確定的,因而存在著先天不足,從問題域到分析階段有著映射誤差。

(5)方法適用范圍

     該方法適用于一些組織相對穩定、業務處理過程規范、需求明確且在一定時期內不會發生大的變化的大型復雜系統的開發。主要適用于規模較大、結構化程度較高的系統的開發。

2.原型開發方法

     運用結構化系統開發生命周期法的前提條件是要求用戶在項目開始初期就非常明確地陳述其需求,需求陳述出現錯誤,對信息系統開發的影響尤為嚴重,因此,這種方法不允許失敗。事實上這種要求又難以做到。人們設想,有一種方法,能夠迅速發現需求錯誤。當圖形用戶界面(Graphic User Interface, GUI)出現后,自80年代中期以來,原型法逐步被接受,并成為一種流行的信息系統開發方法。   

(1)方法基本思想與原理

     原型法的提出,旨在改進生命周期法缺點的一種系統開發的方法。它是開發者在初步了解用戶需求的基礎上,構造、設計和開發一個系統初始模型,該模型稱為原型或骨架(一個可以實現的系統應用模型)。開發人員和用戶在此基礎上共同探討、改進和完善方案,開發人員再根據方案對原型進行修改得到新的模型,再征求用戶意見,如此反復,直到用戶滿意為止。

(2)開發階段劃分

     原型法的開發過程可以歸納為五個步驟:

     確定系統的基本需求和功能

     用戶向開發者提出對系統的基本需求,開發者據此確定系統的范圍和應用具有的基本功能,人機界面等,得到一個簡單的模型。

構建初始快速原型

     系統開發人員在明確了系統基本需求和功能的基礎上,依據模型,以盡可能快的速度和使用強有力的開發工具來構建一個初始模型。

運行、評價初始原型

     初始模型建成后,就要立即投入試運行,各類人員對其進行試用、評價、分析效果。

修改與完善

     由于構造模型時強調的是快速,省略了許多細節,一定存在許多不合理的地方。所以,在試用中開發者和用戶之間要充分地進行溝通,對用戶提出的不滿意的地方要進行認真修改與完善,直到用戶滿意為止。

建成系統模型

     如果開發者和用戶對原型比較滿意,雙方還應在原型基礎上,將為了快速開發而在開發初始原型過程中省略了的許多細節補充到系統中,進一步進行各方面的完善,使其最后形成一個適用的系統。

    原型法的關鍵是通過迭代,逐步逼近用戶的需求目標。

(3)方法特點

     首先,原型法的開發周期短、費用相對較少。

     其次,由于原型法強調用戶的參與,系統的開發容易符合用戶的實際需要,,所以系統開發的成功率高,容易被用戶接受。

     再次,由于用戶參與了系統開發的全部過程,對系統的功能和性能有更充分的了解,有利于系統的運行、管理和維護。

但是由于原型法開發系統中的隨意性大,所以它還有以下缺點。

     然后,對于大型系統或復雜的系統,沒有充分的整體規劃和系統分析,很難構造出原型。

     最后,對于大量運算的、邏輯性較強的程序模塊很難構造出模型供人評價。

(4)方法適用范圍

     原型法的適用范圍是比較有限的,適用于小型、簡單、處理過程比較明確、沒有大量運算和邏輯處理過程的小型系統。

不適合于:大型、復雜系統,難以模擬;存在大量運算、邏輯性強的處理系統;管理基礎工作不完善、處理過程不規范;大量批處理系統。

3.面向對象開發方法

     隨著計算機及其用戶越來越復雜,程序員的任務也越來越繁重,所以,與其相關的編寫代碼的時間也就越來越長了。接下來發生了有趣的事情,程序達到一定大小以后,為其編寫代碼所需的時間比預期的要長的多。事實是當程序達到一定大小時,人腦就不能跟蹤所有的復雜性了。復雜性完全是產生事故的原因,戰勝復雜性的方法就是編寫一些小的“無錯”程序,并把它們連在一起,形成一個大的“無錯”程序,這就是衍生出了面向對象的開發方法。

     以前的開發方法,只是單純地反映管理功能的結構狀況,或者只是側重反映事物的信息特征和信息流程。面向對象的方法把數據和過程包裝成為對象,以對象為基礎對系統進行分析與設計,為認識事物提供了一種全新的思路和辦法,是一種綜合性的開發方法。

     面向對象方法是一種把面向對象的思想應用于軟件開發過程中,指導開發活動的 系統方法,簡稱OO方法,是建立在“對象”概念基礎上的方法學。該方法主要包括面向對象分析OOA、面向對象設計OOD和面向對象程序設計OOP三部分構成。對象是由數據和容許的操作組成的封裝體,與客觀實體有直接對應關系,一個對象類定義了具有相似性質的一組對象。而每繼承性是對具有層次關系的類的屬性和操作進行共享的一種方式。所謂面向對象就是基于對象概念,以對象為中心,以類和繼承為構造機 制,來認識、理解、刻畫客觀世界和設計、構建相應的軟件系統。

(1)方法基本思想

     客觀世界由各種“對象”(Object)組成,任何客觀事物都是對象,對象是在原事物基礎上抽象的結果。任何復雜的事物都可以通過對象的某種組合結構構成。對象可由相對比較簡單的對象以某種方式組成;

     對象由屬性和方法組成。屬性(Attribute)反映了對象的信息特征,如特點、值、狀態等等.而方法(Method)則是用來定義改變屬性狀態的各種操作;

對象之間的聯系主要是通過傳遞消息(Message)來實現的,而傳遞的方式是通過消息模式(Message pattern)和方法所定義的操作過程來完成的;

對象可按其屬性進行歸類(Class)。類有一定的結構,類上可以由超類(Superclass),類下可以有子類(Subclass)。對象或類之間的層次結構是靠繼承關系(Inheritance)維系的;

對象是一個被嚴各模塊化了的實體,稱之為封裝(Encapsulation)。這種封裝了的對象滿足軟件工程的一切要求,而且可以直接被面向對象的程序設計語言所接受。

(2)方法基本原理

面向對象方法(Object Oriented Method,OOM)是在各種面向對象的程序設計方法的基礎上逐步發展起來的一種新的軟件開發方法。它提出了一種全新的系統分析思想和方法。面向對象方法的出發點和基本原則是模擬人類日常生活的邏輯思維方式。在開發一個系統時,使描述問題的問題空間與解決問題的方法空間在結構上盡可能一致。面向對象的開發方法基于類和對象的概念,把客觀世界的一切事物都看成是由各種不同的對象組成,每個對象都有各自內部的狀態、機制和規律;按照對象的不同特性,可以組成不同的類。不同的對象和類之間的相互聯系和相互作用就構成了客觀世界中不同的事物和系統。

面向對象方法有以下要點。

     第一,把客觀事物看成是由對象組成的,對象是事物抽象的結果。復雜的對象可以由簡單的對象組成。系統中的任何元素都是對象。

     第二,對象則有屬性和操作組成,其屬性反映了對象的數據信息特征,而操作則用來定義對象的行為。

     第三,對象之間的聯系是通過消息傳遞機制來實現的。

     第四,對象可以按其屬性來歸類,一個類的上層可以有父類,下層可以有子類,形成類的層次結構,子類可以通過繼承機制獲得其父類的特性。

(3)開發階段劃分

     采用面向對象法,首先要進行系統調查和系統分析,作為今后系統開發的依據。然后,按照前期進行系統調查和系統分析的結果,進行一下階段的工作。

     面向對象分析階段

     面向對象分析階段是一個抽取和整理用戶需求,并建立問題域精確模型的過程。此階段的關鍵是利用信息模型技術識別問題域中的對象實體,標識對象之間的關系,確定對象的屬性和操作,建立系統的對象模型。一般稱之為面向對象的分析,即OOA。

     面向對象設計階段

     對系統分析的結果進一步抽象、歸類和整理,確定系統的物理模型形式。一般稱之為面向對象的設計,即OOD。

     面向對象實現階段

     根據面向對象設計的結果,利用面向對象的程序設計語言進行編程。一般稱之為面向對象的程序設計,即OOP。

     面向對象測試階段

     運用面向對象的技術進行軟件或系統的測試和調試。

(4)方法特點

     與人類的思維方式一致。

     面向對象方法使系統的描述及信息模型的表示與客觀實體相對應,,與人類使用現實世界的概念抽象地思考問題和解決問題的思維方式相一致。

     穩定性好

     面向對象的系統是基于問題域的模型,而不是以算法和應完成的功能分解而建立起來的,所以當對系統的功能需求發生變化時,并不會引起系統結構的整體變化。只要現實世界的實體是相對穩定的,以對象構造的系統也就是比較穩定的。

     可重用性好

     把對象的屬性和操作捆綁在一起,可提高對象的內聚性,并減少與其他對象的耦合。對象所固有的封裝性和信息隱蔽機理,使得對象的內部實現與外部隔離,而由此具有較強的獨立性。這為對象復用提供了可能性和方便性。在繼承結構中,子類對父類的繼承,其本身就是對父類的屬性和操作的復用。

     可維護性好

     由于面向對象的系統穩定性比較好,對象又具有較強的獨立性,面向對象的軟件技術與人類的思維方式相符,因此面向對象的系統比較容易理解,容易修改,也易于測試和調試。

     但是,面向對象的開發方法也存在著明顯的不足。首先,必須依靠一定的軟件技術支持;其次,在大型項目的開發上,具有一定的局限性,必須以結構化方法的自頂向下的整體性系統調查和分析作為基礎,否則,同樣會存在系統結構不合理、關系不協調的問題。

(5)方法適用范圍

     適用于各中小型系統,但不易于大型系統的開發。

     分析比較  

     原型法適用于用戶沒有確定其需求的明確內容的時候。他先是根據已給的和分析的需求,建立一個原始模型,這是一個可以修改的模型(在聲明周期法中,需求分析一般不再多修改)。在軟件開發的各個階段都把有關信息相互反饋,直至模型的修改,使模型趨于完善。在各個過程中,用戶的參與和決策加強了,最終的結果更適合用戶的要求。這種原型技術有分為三類:拋棄式、演化式和遞增式。原型法成敗的關鍵及效率的高低關鍵在于模型的建立和建模的速度。在客戶確認了需求之后,拋棄式原型就作廢了;而非拋棄式原型是以后繼續開發的基礎(非拋棄模型可以理解為螺旋模型的一次周期)。開發非拋棄原形要比開發拋棄原形成本高,因為非拋棄原形在設計和實現時必須考慮質量特性,而拋棄原形則不必。所以在進行系統開發時,更多的是將原型法和其他方法結合起來使用,而非只用原型法一種開發方法進行系統開發。

     面向對象的軟件開發方法與結構化軟件開發方法的最基本的區別:表現在它們對功能和數據的不同處理上。結構化軟件開發方法是圍繞實現處理功能的“過程”來構造系統的。它幾乎都是將功能和數據分開考慮的。它遵循面向過程的問題求解方法,是用計算機能夠理解的邏輯來描述和表達待解決的問題及其具體的解決流程。數據結構和算法是它的核心所在。用戶需求的變化大部分是針對功能的,在開發需求模糊或需求動態變化的系統時,所開發出的軟件系統往往不能真正滿足用戶的需要,可能會引起軟件成本增長失控、軟件質量得不到保證等一系列嚴重問題。因此,用結構化方法開發的軟件,其穩定性、可修改性和可重用性都比較差。

     面向對象軟件開發方法則是在解空間引入了“對象”的概念,逼真地描述解空間的客觀實體,從而使客觀描述符合人類的思維習慣。通過識別問題域的對象,分析它們之間的關系,建立對象模型、動態模型和功能模型,利用面向對象觀點建立求解域模型的過程。它的核心概念主要是對象、類、繼承和消息。面向對象編程技術的特點是數據控制代碼的訪問,其中類的繼承和多態性是處理復雜軟件的有效技術。運用這種方法開發出來的系統穩定性、可重用性及可維護性好。

     結構化方法是強調開發方法的結構合理性以及所開發軟件的結構合理性的軟件開發方法。結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。結構化語言就是將自然語言加上程序設計語言的控制結構就成了結構化語言,專門用來描述加工邏輯。所以,它既有自然語言靈活性強、表達豐富的特點,又有結構化程序的清晰易讀和邏輯嚴密的特點。 結構化語言的顯著特征是代碼和數據的分離。這種語言能夠把執行某個特殊任務的指令和數據從程序的其余部分分離出去、隱藏起來。獲得隔離的一個方法是調用使用局部變量的子程序。通過使用局部變量,我們能夠寫出對程序其它部分沒有副作用的子程序。這使得編寫共享代碼段的程序變得十分簡單。如果開發了一些分離很好的函數,在引用時我們僅需要知道函數做什么,不必知道它如何做。切記:過度使用全局變量會由于意外的副作用而在程序中引入錯誤。結構化語言比非結構化語言更易于程序設計,用結構化語言編寫的程序的清晰性使得它們更易于維護。這已是人們普遍接受的觀點了。比如作為結構化語言的C語言主要結構成分是函數C的獨立子程序。在C語言中,函數是一種構件(程序塊),是完成程序功能的基本構件。函數允許一個程序的諸任務被分別定義和編碼,使程序模塊化。可以確信,一個好的函數不僅能正確工作且不會對程序的其它部分產生副作用。PASCAL是世界上第一個結構化語言,曾被認為是計算機專業理想的教學語言,在數據結構等課程中一般用PASCAL語言舉例。Access數據庫是一種關系型數據庫,所有的關系型數據庫都是基于結構化查詢語言SQL的。Visual FoxPro不但仍然支持標準的Xbase結構化程序設計,而且在語言上還有進行了擴展,提供了面向對象程序設計的強大功能和更大靈活性。

四、未來趨勢

     經過前面的比較分析之后,未來的一段時間內,在系統開發實際工作中,更多的時候往往需要根據需求將多種方法進行組合應用,最終完成系統開發煩人全部任務。具體的組合形式可以分為以下幾個方面。

     結構化方法與原型法的組合

     當系統規模較大時,往往采用兩者結合的形式進行系統開發,在系統規劃和系統分析階段,采用結構化開發思想,自頂向下,從總體到部分,合理劃分系統結構,設計模型;在開發具體模塊時,采用原型法,加速開發進程,并讓用戶較早參與系統開發中去。

結構化方法與面向對象方法的組合

     對于大型系統開發項目,借助結構化方法的整體性系統規劃和分析的特長,可以把握系統開發中的整體結構和關鍵因素;而具體開發過程中,采用面向對象方法能夠實現各開發階段的平穩過渡,減少中間環節和結果,縮短開發周期。

原型法與面向對象方法的組合。

     最后,原型法和面向對象方法本來就是相互關聯的兩種方法,從面向對象思想出發,系統開發以對象表示現實世界的各個實體,由此進行系統的各項開發工作;而各項具體的開發任務可以利用原型法的特點,盡快構造出原型并不斷修改和完善。因此,原型法必定是采用面向對象方法進行系統開發過程中開發具體模塊時的主要方法和手段。

      面向對象方法在軟件開發方面符合人們習慣的思維方式,系統的穩定性比較好,軟件的可維護性與可重用性比較好。但面向對象方法的基本概念都很抽象,可供軟件開發人員使用的類種類繁多,結構復雜。如果沒有結構化程序設計的編程思想,對于直接學習面向對象程序設計的初學者,在代碼編程部分涉及結構化編程思想時,反而困難會很大。事實上,這兩種方法在并不是相互排斥的,相反,它們是相互促進相互補充的。不論采用何種技術方法開發軟件,都必須完成一系列性質各異的任務,這些必須完成的任務要素是:確定“做什么”,確定“怎樣做”,如何“實現和完善”。因此,沒有絕對的一種軟件開發方法稱得上是“最好”的,軟件開發人員應該根據所要開發的軟件的特點,選擇最適宜的開發方法。

來源:甘肅電子商務學習網

三種系統開發方法的比較(轉)的圖1三種系統開發方法的比較.docx

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP