康路晨,康路晨講師,康路晨聯(lián)系方式,康路晨培訓(xùn)師-【中華講師網(wǎng)】
項(xiàng)目管理與網(wǎng)絡(luò)營(yíng)銷(xiāo)管理實(shí)戰(zhàn)專(zhuān)家
50
鮮花排名
0
鮮花數(shù)量
康路晨:架構(gòu)設(shè)計(jì)中的方法學(xué)(4)——團(tuán)隊(duì)設(shè)計(jì)
2016-01-20 48342
團(tuán)隊(duì)設(shè)計(jì)是敏捷方法論中很重要的一項(xiàng)實(shí)踐。我們這里說(shuō)的團(tuán)隊(duì),指的并不是復(fù)數(shù)的人。一群人就是一群人,并沒(méi)有辦法構(gòu)成團(tuán)隊(duì)。要想成為團(tuán)隊(duì),有很多的工作要做。

  我們之所以考慮以團(tuán)隊(duì)為單位來(lái)考慮架構(gòu)設(shè)計(jì),是因?yàn)檐浖_(kāi)發(fā)本身就不是一件個(gè)人的事情,架構(gòu)設(shè)計(jì)更是如此。單個(gè)人的思維不免有考慮欠妥之處,單個(gè)人的學(xué)識(shí)也不可能覆蓋所有的學(xué)科。而組織有效的團(tuán)隊(duì)卻能夠彌補(bǔ)這些缺憾。

  誰(shuí)來(lái)負(fù)責(zé)架構(gòu)的設(shè)計(jì)?

  在我們的印象中,總認(rèn)為架構(gòu)設(shè)計(jì)是那些所謂架構(gòu)設(shè)計(jì)師的專(zhuān)屬工作,他們往往擁有豐富的設(shè)計(jì)經(jīng)驗(yàn)和相關(guān)的技能,他們不用編寫(xiě)代碼,就能夠設(shè)計(jì)出理論上盡善盡美的架構(gòu),配有精美的圖例。

  問(wèn)題1:理論上設(shè)計(jì)近乎完美的架構(gòu)缺乏程序的證明,在實(shí)際應(yīng)用中往往會(huì)出這樣那樣的問(wèn)題。

  問(wèn)題2:設(shè)計(jì)師設(shè)計(jì)架構(gòu)帶有很大的主觀性,往往會(huì)忽視客戶(hù)的需求,導(dǎo)致架構(gòu)無(wú)法滿(mǎn)足需求。

  問(wèn)題3:實(shí)現(xiàn)的程序員對(duì)這種架構(gòu)有抵觸的情緒,或是因?yàn)椴焕斫饧軜?gòu)而導(dǎo)致架構(gòu)實(shí)現(xiàn)的失敗。

  問(wèn)題4:架構(gòu)師設(shè)計(jì)架構(gòu)主要是依據(jù)自己的大量經(jīng)驗(yàn),設(shè)計(jì)出的架構(gòu)不能真實(shí)的反映目前的軟件需要。

  解決辦法

  團(tuán)隊(duì)設(shè)計(jì)的理論依據(jù)是群體決策。和個(gè)人決策相比,群體決策的最大好處就是其結(jié)論要更加的完整。而群體決策雖然有其優(yōu)點(diǎn),但其缺點(diǎn)也是很明顯的:需要額外付出溝通成本、決策效率低、責(zé)任不明確、等等。但是群體決策如果能夠組織得當(dāng)?shù)脑?huà),是能夠在架構(gòu)設(shè)計(jì)中發(fā)揮很大的優(yōu)勢(shì)的。

  避免象牙塔式的架構(gòu)設(shè)計(jì)

  對(duì)軟件來(lái)說(shuō),架構(gòu)設(shè)計(jì)是一項(xiàng)至關(guān)重要的工作。這樣的工作交給某個(gè)人是非常危險(xiǎn)的。即便這個(gè)人再怎么聰明,他也可能會(huì)遺漏部分的細(xì)節(jié)。組織有效的團(tuán)隊(duì)的力量是大大超過(guò)個(gè)人的力量的,因此團(tuán)隊(duì)的成果較之個(gè)人的成果,在穩(wěn)定性和思考的周密程度上,都要更勝一籌。

  Scott W. Ambler在其著作中給出了象牙塔式架構(gòu)(ivory tower architecture)的概念:

  An ivory tower architecture is one that is often developed by an architect or architectural team in relative isolation to the day-to-day development activities of your project team(s).

  中國(guó)現(xiàn)在的軟件開(kāi)發(fā)行業(yè)中也逐漸出現(xiàn)了象牙塔式的架構(gòu)設(shè)計(jì)師。這些架構(gòu)師并不參與實(shí)際的程序編寫(xiě),他的工作就是為項(xiàng)目制作出精美的架構(gòu)模型,這種架構(gòu)模型在理論上是相當(dāng)完美的。

  例1:在XP中,我們基本上看不到架構(gòu)設(shè)計(jì)的影子。并不是說(shuō)采用XP技術(shù)的團(tuán)隊(duì)就不需要架構(gòu)設(shè)計(jì)。XP不存在專(zhuān)門(mén)的設(shè)計(jì)時(shí)期,它提倡使用一些簡(jiǎn)單的圖例、比喻的方式來(lái)表達(dá)軟件的架構(gòu),而這種的架構(gòu)設(shè)計(jì)是無(wú)時(shí)無(wú)刻不在進(jìn)行的。其實(shí),XP中的設(shè)計(jì)采用的就是團(tuán)隊(duì)設(shè)計(jì)的方式,結(jié)隊(duì)編程(Pair Programming)和代碼的集體所有制(Collective Ownership)是團(tuán)隊(duì)設(shè)計(jì)的基礎(chǔ),也就是基于口述的溝通方式。通過(guò)采用這樣的方式,XP幾乎不需要文檔來(lái)表達(dá)架構(gòu)的設(shè)計(jì)。


  優(yōu)秀的架構(gòu)師能夠充分的利用現(xiàn)有框架,減少軟件的投入,增強(qiáng)軟件的穩(wěn)定性。這些都沒(méi)有錯(cuò),但是問(wèn)題在于“過(guò)猶不及”。象牙塔式架構(gòu)師往往會(huì)出現(xiàn)文章開(kāi)始指出的那些問(wèn)題。架構(gòu)設(shè)計(jì)其實(shí)并不是非常復(fù)雜的工作,但它要求開(kāi)發(fā)人員具備相關(guān)的技能、經(jīng)驗(yàn)以及對(duì)問(wèn)題域有一定的了解。開(kāi)發(fā)人員往往都具有相關(guān)的技術(shù)技能(編程、數(shù)據(jù)庫(kù)設(shè)計(jì)、建模),而對(duì)問(wèn)題域的理解可以從用戶(hù)和行業(yè)專(zhuān)家那里獲得幫助。因此,在理論上,我們要實(shí)現(xiàn)架構(gòu)設(shè)計(jì)的團(tuán)隊(duì)化是完全可能的。

  在上面的象牙塔式架構(gòu)定義中,我們看到架構(gòu)師和日常的開(kāi)發(fā)工作是隔絕的。這樣設(shè)計(jì)出的架構(gòu)有很大的局限性。在現(xiàn)實(shí)中,我們還會(huì)發(fā)現(xiàn)另外一種角色,他來(lái)自于開(kāi)發(fā)團(tuán)隊(duì)外部,為開(kāi)發(fā)人員提供相關(guān)的技術(shù)或業(yè)務(wù)的培訓(xùn)。這種角色稱(chēng)為教練,在軟件開(kāi)發(fā)中是非常重要的角色,不能夠和象牙塔式架構(gòu)設(shè)計(jì)師之間畫(huà)等號(hào)。

  選擇你的設(shè)計(jì)團(tuán)隊(duì)

  軟件的架構(gòu)在軟件的生命周期的全過(guò)程中都很重要,也就是說(shuō),軟件開(kāi)發(fā)團(tuán)隊(duì)中的所有人員都需要和架構(gòu)打交道。因此,最好的團(tuán)隊(duì)組織方式是所有開(kāi)發(fā)人員都參與架構(gòu)的設(shè)計(jì),我們稱(chēng)這種方式為全員參與。全員參與的方式保證了所有開(kāi)發(fā)人員都能夠?qū)軜?gòu)設(shè)計(jì)提出自己的見(jiàn)解,綜合多方面的意見(jiàn),在全體開(kāi)發(fā)人員中達(dá)成一致。這種方式尤其適合于一些小的團(tuán)隊(duì)。

  還是會(huì)有很多的團(tuán)隊(duì)由于種種的原因不適合采用全員參與的方式。那么,組織優(yōu)秀的開(kāi)發(fā)人員組成設(shè)計(jì)組也是比較好的方式。一般,我們選擇那些在項(xiàng)目中比較重要的,有較多開(kāi)發(fā)經(jīng)驗(yàn),或是理論扎實(shí)的那些人來(lái)組成設(shè)計(jì)組。當(dāng)然,如果你考慮到為組織培養(yǎng)后續(xù)力量,你也可以讓一些新手加入設(shè)計(jì)組,或是你覺(jué)得自己的開(kāi)發(fā)力量不足,邀請(qǐng)外部的咨詢(xún)力量介入,這完全取決于具體的情況。

  設(shè)計(jì)組不同于我們之前提到的象牙塔式架構(gòu)設(shè)計(jì)師。設(shè)計(jì)組設(shè)計(jì)出來(lái)的架構(gòu)只能稱(chēng)為原始架構(gòu),它是需要不斷的反饋和改進(jìn)的。因此,在架構(gòu)實(shí)現(xiàn)中,設(shè)計(jì)組的成員將會(huì)分布到開(kāi)發(fā)團(tuán)隊(duì)的各個(gè)領(lǐng)域,把架構(gòu)的思想帶給所有開(kāi)發(fā)人員,編寫(xiě)代碼來(lái)檢驗(yàn)架構(gòu),并獲得具體的反饋,然后所有的成員再集中到設(shè)計(jì)組中討論架構(gòu)的演進(jìn)。

  團(tuán)隊(duì)設(shè)計(jì)中存在的問(wèn)題

  在團(tuán)隊(duì)設(shè)計(jì)的過(guò)程,我們會(huì)遇到各種各樣的問(wèn)題,首當(dāng)其沖的就是溝通成本的問(wèn)題。架構(gòu)設(shè)計(jì)時(shí),需求尚未被充分理解,軟件的設(shè)計(jì)思路還處于萌發(fā)的狀態(tài)。這樣的情況下,團(tuán)隊(duì)的每位成員對(duì)軟件都有獨(dú)特的見(jiàn)解,這些可能有些是相同的,有些是互斥的。就好比盲人摸象一樣,他們的觀點(diǎn)都代表了軟件的一部分或是一方面,但是沒(méi)有辦法代表軟件的全部。

  在敏捷方法論中,我們的每一個(gè)流程都是迅速進(jìn)行、不斷改進(jìn)的。架構(gòu)設(shè)計(jì)也是一樣,我們不可能在一次架構(gòu)設(shè)計(jì)上花費(fèi)更多的時(shí)間。而團(tuán)隊(duì)決策總是傾向于較長(zhǎng)的討論和權(quán)衡。

  例2中的問(wèn)題在架構(gòu)設(shè)計(jì)中時(shí)有發(fā)生,純技術(shù)的討論很容易上升稱(chēng)為爭(zhēng)吵。這種情況幾乎沒(méi)有辦法完全避免。團(tuán)隊(duì)型的決策必然會(huì)發(fā)生觀念的沖突??刂埔欢ǔ潭葍?nèi)的觀念的沖突對(duì)團(tuán)隊(duì)的決策是有益,但是如果超出了這個(gè)程度就意味著失控了,需要團(tuán)隊(duì)領(lǐng)導(dǎo)者的調(diào)節(jié)。而更重要的,我們需要注意溝通的技巧。

  團(tuán)隊(duì)溝通

  團(tuán)隊(duì)進(jìn)行架構(gòu)設(shè)計(jì)的時(shí)候溝通是一個(gè)非常需要注意的問(wèn)題,上述的情境在軟件組織中是經(jīng)常發(fā)生的,因?yàn)榧夹g(shù)人員很自然認(rèn)為自己的技術(shù)比別人的好,如果自己的技術(shù)受到質(zhì)疑,那怕對(duì)方是抱著討論的態(tài)度,也無(wú)異于自身的權(quán)威受到了挑戰(zhàn),面子是無(wú)論如何都需要捍衛(wèi)的。而溝通如果帶上了這樣一層主觀色彩,那么溝通信息的受眾就會(huì)潛意識(shí)的拒絕接受信息。相反,他會(huì)找出對(duì)方話(huà)語(yǔ)中的漏洞,準(zhǔn)備進(jìn)行反擊。因此,我們要注意培養(yǎng)一種良好的溝通氛圍。

  在實(shí)際的觀察中,我發(fā)現(xiàn)團(tuán)隊(duì)溝通中存在兩種角色,一種是建議者,他們經(jīng)常能夠提出建議。一種是質(zhì)疑者,他們對(duì)建議提出否定性的看法。這兩種角色是可能互換的,現(xiàn)在的建議者可能就是剛才的質(zhì)疑者。質(zhì)疑者的發(fā)言是很能打擊建議者的積極性的,而在一個(gè)腦力激蕩的會(huì)議中,最好是大家都能夠扮演建議者的角色,這就要求溝通會(huì)議的主持者能夠掌握好這一點(diǎn),對(duì)建議給予肯定的評(píng)價(jià),并鼓勵(lì)大家提出新的建議。

  例2:敏捷方法非常注重的就是團(tuán)隊(duì)的溝通。溝通是一個(gè)很有意思的話(huà)題,講起來(lái)會(huì)花費(fèi)大量的時(shí)間,我們這里只是針對(duì)架構(gòu)設(shè)計(jì)中可能存在的溝通問(wèn)題做一個(gè)簡(jiǎn)單的討論。我們這里假設(shè)一個(gè)討論情境,這個(gè)情境來(lái)源于真實(shí)的生活:項(xiàng)目主管徐輝、設(shè)計(jì)師李浩、設(shè)計(jì)師羅亦明正在討論一個(gè)新的軟件架構(gòu)。 "李浩你認(rèn)為這個(gè)軟件數(shù)據(jù)庫(kù)連接部分應(yīng)該如何考慮?"徐輝問(wèn)。李浩想了想,"我覺(jué)得方案A不錯(cuò)…" "方案A肯定有問(wèn)題!這個(gè)軟件和上一次的又不同。"羅亦明打斷了李浩的發(fā)言。 "你懂什么!你到公司才多久,方案A是經(jīng)過(guò)很長(zhǎng)時(shí)間的證明的!"發(fā)言被打斷,李浩有點(diǎn)惱火,羅亦明進(jìn)入公司沒(méi)有多久,但在一些事情上老是和他唱反調(diào)。 "我進(jìn)公司多久和方案A的錯(cuò)誤有什么關(guān)系!" 在這樣一種氛圍中,會(huì)議的結(jié)果可想而知。

  良好的溝通有助于架構(gòu)設(shè)計(jì)工作的開(kāi)展。一個(gè)成員的能力平平的團(tuán)隊(duì),可以藉由良好的溝通,設(shè)計(jì)出優(yōu)秀的架構(gòu),而一個(gè)擁有一個(gè)優(yōu)秀成員的團(tuán)隊(duì),如果缺乏溝通,最后可能連設(shè)計(jì)都出不來(lái)。這種例子現(xiàn)實(shí)中可以找到很多。

  標(biāo)準(zhǔn)和風(fēng)格

  我們總是在不知不覺(jué)之中使用各種各樣的標(biāo)準(zhǔn)和風(fēng)格。在團(tuán)隊(duì)設(shè)計(jì)中,我們?yōu)榱颂岣邲Q策的效率,可以考慮使用統(tǒng)一的標(biāo)準(zhǔn)和風(fēng)格。統(tǒng)一的標(biāo)準(zhǔn)和風(fēng)格并不是一朝一夕形成的。因?yàn)槊總€(gè)人都有自己不同的習(xí)慣和經(jīng)歷,強(qiáng)制性的要求開(kāi)發(fā)人員使用統(tǒng)一的標(biāo)準(zhǔn)(風(fēng)格)容易引起開(kāi)發(fā)人員的不滿(mǎn)。因此在操作上需要注意技巧。對(duì)架構(gòu)設(shè)計(jì)而言,比較重要的標(biāo)準(zhǔn)(風(fēng)格)包括界面設(shè)計(jì)、流程設(shè)計(jì)、建模規(guī)范、編碼規(guī)范、持久層設(shè)計(jì)、測(cè)試數(shù)據(jù)。

  在我的經(jīng)驗(yàn)中,有一些組織平時(shí)并不注意標(biāo)準(zhǔn)(風(fēng)格)的積累,認(rèn)為這種積累屬于雕蟲(chóng)小技,但正是這些小技,能夠非常有效的提高溝通的效率和降低開(kāi)發(fā)人員的學(xué)習(xí)曲線(xiàn)。試想一下,如果一個(gè)團(tuán)隊(duì)中所有人寫(xiě)出的代碼都是不同標(biāo)準(zhǔn)和風(fēng)格的,那么理解起來(lái)肯定會(huì)困難許多。當(dāng)然,我們沒(méi)有必要自己開(kāi)發(fā)一套標(biāo)準(zhǔn)(風(fēng)格)出來(lái),現(xiàn)實(shí)中有很多可以直接借用的資料。最好的標(biāo)準(zhǔn)是UML語(yǔ)言,我們可以從UML的官方網(wǎng)站下載到最新的規(guī)范,常用的編碼標(biāo)準(zhǔn)更是隨處可見(jiàn)。不過(guò)雖然有了統(tǒng)一的標(biāo)準(zhǔn),如果風(fēng)格不統(tǒng)一,同樣會(huì)造成溝通的障礙。例如下圖顯示的類(lèi)圖,雖然它們表示的是同一個(gè)類(lèi),但是由于版型、可視性、詳細(xì)程度的差別,看起來(lái)又很大的差別。而在其它的標(biāo)準(zhǔn)中,這種差別也是普遍存在的。因此,我們?cè)谑褂昧私y(tǒng)一的標(biāo)準(zhǔn)之后,還應(yīng)該使用同樣的風(fēng)格。Scott W. Ambler專(zhuān)門(mén)成立了一個(gè)網(wǎng)站討論UML的建模風(fēng)格的相關(guān)問(wèn)題,有興趣的讀者可以做額外的閱讀。


圖 4. 兩種風(fēng)格的類(lèi)圖

  在統(tǒng)一的風(fēng)格的基礎(chǔ)上更進(jìn)一步的是使用術(shù)語(yǔ)。使用溝通雙方都了解專(zhuān)門(mén)的術(shù)語(yǔ),可以代表大量的信息。最好的術(shù)語(yǔ)的范例就是設(shè)計(jì)模式的模式名。如果溝通的雙方都了解設(shè)計(jì)模式,那么一方只需要說(shuō)這部分的設(shè)計(jì)可以使用工廠(chǎng)模式,另一方就能夠理解,而不用再詳細(xì)的解釋設(shè)計(jì)的思路。這種的溝通方式是最高效的,但它所需要的學(xué)習(xí)曲線(xiàn)也會(huì)比較陡。

  團(tuán)隊(duì)設(shè)計(jì)的四明確

  為了最大程度的提高團(tuán)隊(duì)設(shè)計(jì)的高效性,可以從4個(gè)方面來(lái)考慮:

  1、明確目標(biāo)

  泛泛的召開(kāi)架構(gòu)討論會(huì)議是沒(méi)有什么意義的,一個(gè)沒(méi)有鮮明主題的會(huì)議也不會(huì)有什么結(jié)果。在源自需求的模式中,我們談到說(shuō)可以有非功能需求的架構(gòu),可以有功能需求的架構(gòu)。因此,在進(jìn)行團(tuán)隊(duì)設(shè)計(jì)之前,我們首先也需要確定,此次要解決什么問(wèn)題,是討論業(yè)務(wù)邏輯的架構(gòu),還是技術(shù)架構(gòu);是全局性的架構(gòu),還是各模塊的架構(gòu)。

  2、明確分工

  我們之所以重視團(tuán)隊(duì),很重要的額一個(gè)原因就是不同的成員有不同的擅長(zhǎng)的區(qū)域。有些成員可能擅長(zhǎng)于業(yè)務(wù)邏輯的建模,有的擅長(zhǎng)于原型設(shè)計(jì),有的擅長(zhǎng)于數(shù)據(jù)庫(kù)設(shè)計(jì),有的則擅長(zhǎng)于Web編程。你能夠想象一個(gè)軟件沒(méi)有界面嗎?(有些軟件可能是這種情況)你能夠想象一個(gè)軟件只有數(shù)據(jù)庫(kù),而沒(méi)有處理邏輯嗎?因此,架構(gòu)設(shè)計(jì)就需要綜合的考慮各個(gè)方面,充分利用成員的優(yōu)勢(shì)。這就要求團(tuán)隊(duì)的各個(gè)成員都能夠明確自己的分工。

  3、明確責(zé)權(quán)

  除了明確自己的分工,每位成員都需要清楚自己的責(zé)任。沒(méi)有責(zé)任,分工就不會(huì)有任何的效力。每位成員都需要明確自己要做些什么。當(dāng)然,和責(zé)任相對(duì)的,沒(méi)有成員還需要知道自己的權(quán)力是什么。這些清楚了,進(jìn)行高效的溝通的前提就具備了。每次架構(gòu)的討論下來(lái),每個(gè)人都清楚,自己要做些什么,自己需要要求其他人做些什么,自己該對(duì)誰(shuí)負(fù)責(zé)。如果這些問(wèn)題回答不了,那這次的討論就白費(fèi)了。

  4、明確溝通方式

  這里使用溝通方式可能有一點(diǎn)點(diǎn)不恰當(dāng),為了明確的表達(dá)意思,大家可以考慮信息流這個(gè)詞。一個(gè)完整架構(gòu)包括幾個(gè)方面,分別都由那些人負(fù)責(zé),如何產(chǎn)生,產(chǎn)生的整個(gè)過(guò)程應(yīng)該是什么樣的?這樣的一個(gè)信息流程,囊括了上面提到的三個(gè)明確。如果團(tuán)隊(duì)的每一個(gè)人都能夠?yàn)榧軜?gòu)的產(chǎn)生而努力,并順利的設(shè)計(jì)出架構(gòu),那么這樣的流程是完美的。如果你發(fā)現(xiàn)其中的一些人不知道做些什么,那么,這就是流程出問(wèn)題的現(xiàn)象了。完美的流程還會(huì)有一個(gè)額外的副產(chǎn)品,架構(gòu)產(chǎn)生之后,團(tuán)隊(duì)對(duì)于軟件的設(shè)計(jì)已經(jīng)是非常的清晰了。因?yàn)槲覀兲岢氖潜M可能多的開(kāi)發(fā)人員參與架構(gòu)的設(shè)計(jì)。

  不僅僅是架構(gòu)

  討論到這里,其實(shí)有很多的內(nèi)容已經(jīng)脫離了架構(gòu)設(shè)計(jì)了。也就是說(shuō),很多的原則和技巧都是可以用于軟件開(kāi)發(fā)的其它活動(dòng)的。至于哪一些活動(dòng)能夠利用這些方法呢?大家可以結(jié)合自己的實(shí)際情況,來(lái)思考這個(gè)問(wèn)題。提示一點(diǎn),關(guān)鍵的入手處在于目前效率較低之處。

全部評(píng)論 (0)
熱門(mén)領(lǐng)域講師
互聯(lián)網(wǎng)營(yíng)銷(xiāo) 互聯(lián)網(wǎng) 新媒體運(yùn)營(yíng) 短視頻 電子商務(wù) 社群營(yíng)銷(xiāo) 抖音快手 新零售 網(wǎng)絡(luò)推廣 領(lǐng)導(dǎo)力 管理技能 中高層管理 中層管理 團(tuán)隊(duì)建設(shè) 團(tuán)隊(duì)管理 高績(jī)效團(tuán)隊(duì) 創(chuàng)新管理 溝通技巧 執(zhí)行力 阿米巴 MTP 銷(xiāo)售技巧 品牌營(yíng)銷(xiāo) 銷(xiāo)售 大客戶(hù)營(yíng)銷(xiāo) 經(jīng)銷(xiāo)商管理 銷(xiāo)講 門(mén)店管理 商務(wù)談判 經(jīng)濟(jì)形勢(shì) 宏觀經(jīng)濟(jì) 商業(yè)模式 私董會(huì) 轉(zhuǎn)型升級(jí) 股權(quán)激勵(lì) 納稅籌劃 非財(cái)管理 培訓(xùn)師培訓(xùn) TTT 公眾演說(shuō) 招聘面試 人力資源 非人管理 服裝行業(yè) 績(jī)效管理 商務(wù)禮儀 形象禮儀 職業(yè)素養(yǎng) 新員工培訓(xùn) 班組長(zhǎng)管理 生產(chǎn)管理 精益生產(chǎn) 采購(gòu)管理 易經(jīng)風(fēng)水 供應(yīng)鏈管理 國(guó)學(xué) 國(guó)學(xué)文化 國(guó)學(xué)管理 國(guó)學(xué)經(jīng)典 易經(jīng) 易經(jīng)與管理 易經(jīng)智慧 家居風(fēng)水 國(guó)際貿(mào)易
鮮花榜
頭像
+6107朵
頭像
+6098朵
頭像
+6087朵
頭像
+6087朵
頭像
+6065朵
頭像
+6059朵
頭像
+6054朵
頭像
+6049朵
頭像
+6019朵

Copyright©2008-2025 版權(quán)所有 浙ICP備06026258號(hào)-1 浙公網(wǎng)安備 33010802003509號(hào) 杭州講師網(wǎng)絡(luò)科技有限公司
講師網(wǎng) kasajewelry.com 直接對(duì)接10000多名優(yōu)秀講師-省時(shí)省力省錢(qián)
講師網(wǎng)常年法律顧問(wèn):浙江麥迪律師事務(wù)所 梁俊景律師 李小平律師