版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.@;從程序員到軟件設(shè)計師從程序員到軟件設(shè)計師2010-06-2711:15轉(zhuǎn)載自CSDN從程序員到軟件設(shè)計師(1)軟件產(chǎn)業(yè)發(fā)展到今天,分工越來越細。程序員做為一個通用的稱謂已經(jīng)無法確切定義各種工作的特點和分類。正因為軟件開發(fā)中各種職責(zé)區(qū)分不清,無論是剛剛寫代碼的新手還是具有多年經(jīng)驗的老手,一概被扣上程序員的通用名稱,這也使得很多進入這個領(lǐng)域的軟件開發(fā)人員無法制定自己未來的技術(shù)職業(yè)發(fā)展之路。實際上,軟件公司也逐漸認識到了對程序員分類的重要性,開始將各種職位定義的更加準確。對于從事軟件開發(fā)的程序員來說,更需要盡快明確自己的發(fā)展方向,并在此方向上將專業(yè)知識積累的更深厚,這能讓你盡快逃脫對未來發(fā)展方向的迷茫。為此,我們專門推出程序員成長系列的特別策劃,將分別深入探討軟件設(shè)計師、測試工程師、文檔工程師、項目經(jīng)理、產(chǎn)品經(jīng)理幾種角色的成長之路。程序員成長系列之一軟件設(shè)計師可以預(yù)先構(gòu)建軟件結(jié)構(gòu),如同建筑架構(gòu)師一般。比爾·蓋茨被稱為微軟公司的首席軟件設(shè)計師,首先是因為他是一個優(yōu)秀的架構(gòu)設(shè)計師,中國同樣需要這樣的人才。-微軟大中國區(qū)總經(jīng)理黃存義從程序員到軟件設(shè)計師2000年1月13日下午,世界軟件業(yè)巨人、美國微軟公司突然在位于華盛頓州雷德蒙德市的總部舉行新聞發(fā)布會。比爾·蓋茨把微軟CEO寶座拱手讓給長期伙伴史蒂夫-巴爾默,只保留董事局主席一職,但同時出任新職務(wù)"首席軟件設(shè)計師"。比爾·蓋茨說:"今后我將全力設(shè)計開發(fā)面向未來的新軟件,同時研究制定微軟的總體技術(shù)發(fā)展戰(zhàn)略。"比爾·蓋茨的這一舉動將軟件設(shè)計師的稱謂蒙上了高貴的面紗。從程序員的技術(shù)方向發(fā)展來看,軟件設(shè)計師無疑是職業(yè)生涯的頂峰。拿破侖說過"不想當元帥的士兵不是好士兵",我想不想當軟件設(shè)計師的程序員也不是好程序員。但首先要了解什么是軟件設(shè)計師,如何才能成為軟件設(shè)計師。明了這些,就有可能向軟件設(shè)計師發(fā)展,創(chuàng)造更輝煌的程序人生?;谶@些想法,我們采訪了佳軟CTO廖恒毅,用友軟件副總工程師彭六三和U8產(chǎn)品總設(shè)計師鄧適宜,這些中國軟件產(chǎn)業(yè)技術(shù)帶頭人從他們的切身體會談了對軟件設(shè)計師的看法。軟件設(shè)計師的定義軟件設(shè)計師包括軟件系統(tǒng)設(shè)計師(SystemDesigner)和軟件架構(gòu)設(shè)計師(Architect)。系統(tǒng)設(shè)計師應(yīng)對"系統(tǒng)結(jié)構(gòu)"所使用的軟件技術(shù)非常了解,自身具備良好編程技巧,才能成為優(yōu)秀的系統(tǒng)設(shè)計師。系統(tǒng)設(shè)計師的職責(zé)是把結(jié)構(gòu)模型對應(yīng)到實現(xiàn)模型上,從概念到實現(xiàn)期間規(guī)劃和組合模型的優(yōu)劣是決定軟件系統(tǒng)設(shè)計師好壞的標準。而軟件架構(gòu)設(shè)計師是程序員技術(shù)方向的最終歸屬,也是成長鏈中最神圣的一環(huán),架構(gòu)設(shè)計師的貢獻最大。架構(gòu)設(shè)計師徹底擺脫了語言的束縛,知道軟件發(fā)展趨勢。他們會開發(fā)新一代產(chǎn)品或者制定新一代產(chǎn)品的方案。軟件架構(gòu)設(shè)計是面向未來的。全球大規(guī)模的軟件公司并不多,很重要的一個原因是因為軟件產(chǎn)品的發(fā)展都滯后于市場需求,即有需求后再研發(fā)產(chǎn)品,而不是預(yù)見需求,預(yù)先設(shè)計,因此往往軟件設(shè)計局部是合理的,但從整體的角度看卻不合理。要解決這些問題就要看軟件架構(gòu)設(shè)計師的能力了。軟件設(shè)計可以分三個層次。第一層屬于標準層,像J2EE、.Net的框架設(shè)計;第二種屬于系統(tǒng)層的設(shè)計,比如Delphi這樣的開發(fā)工具就是工具系統(tǒng)級的設(shè)計;而應(yīng)用最廣泛的是第三層:應(yīng)用軟件設(shè)計?;谥袊浖a(chǎn)業(yè)發(fā)展的現(xiàn)狀,大部分設(shè)計都是這個層次上的基于應(yīng)用的架構(gòu)設(shè)計,本文所非特殊標明,提到的軟件設(shè)計師泛指應(yīng)用軟件系統(tǒng)設(shè)計師,當然有些也是架構(gòu)設(shè)計師的能力所在。從軟件開發(fā)歷史看,軟件設(shè)計經(jīng)歷了很多階段。最早是結(jié)構(gòu)化設(shè)計,只是把復(fù)雜的問題逐層分解,通過流程圖形式將任務(wù)逐級細化;后來出現(xiàn)面向?qū)ο笤O(shè)計,從底層進行對象封裝、繼承、多態(tài),這時更多的是考慮代碼重用,面向的主要是類和對象。接下來出現(xiàn)組件設(shè)計,這主要是面向應(yīng)用方面。這三種都是面向功能的設(shè)計。從EJB、COBRA技術(shù)出現(xiàn)之后,人們開始基于框架進行設(shè)計,也就是架構(gòu)設(shè)計。繼續(xù)發(fā)展,就是基于規(guī)則的設(shè)計了,比如基于模塊和工作流的設(shè)計,這時主要考慮客戶化做的更詳細以及產(chǎn)品的開放性、可擴展性、可靠性、效率方面的問題。軟件設(shè)計師的工作隨著大型軟件開發(fā)越來越多,整體把握軟件架構(gòu)變的越來越重要。尤其當用戶需求并不明確的情況下,就要開始做軟件,如何防止交付的軟件產(chǎn)品和用戶的要求差的很遠,這就需要軟件系統(tǒng)設(shè)計師進行恰當?shù)脑O(shè)計。從程序員到軟件設(shè)計師(2)在應(yīng)用軟件開發(fā)中,軟件設(shè)計師擔(dān)當承上啟下的角色,也就是把用戶的需求,基于應(yīng)用的問題變成計算機系統(tǒng)中可以解決的問題。設(shè)計可以分為功能上的設(shè)計和技術(shù)體系上的設(shè)計,但在實際工作中,這兩者很難區(qū)分清晰。彭六三談到,NC(用友大型ERP系統(tǒng))是通過總體設(shè)計組這個團隊共同完成軟件設(shè)計的。首先要進行產(chǎn)品定義,規(guī)定產(chǎn)品要做什么,以及相關(guān)的市場、產(chǎn)品周期和前景等問題,產(chǎn)品所應(yīng)用的技術(shù)方向也會有一些描述。接下來是總體設(shè)計,總體設(shè)計要考慮技術(shù)架構(gòu)以及與應(yīng)用有關(guān)的問題。像跨地域的大型產(chǎn)品肯定要選擇慮B/S架構(gòu)。每個模塊中功能節(jié)點也要定義,應(yīng)用組件和描述的數(shù)據(jù)模型也要做出來,諸如形成哪些標準平臺,軟件如何分布,應(yīng)用環(huán)節(jié)都屬于總體設(shè)計的范疇??傮w設(shè)計再向下細分就是詳細設(shè)計。詳細設(shè)計完成之后就是編寫代碼了。對于軟件設(shè)計,廖恒毅有自己的觀點。他認為軟件設(shè)計師如果面對很復(fù)雜的設(shè)計,即便將架構(gòu)設(shè)計出來,別人如何去實現(xiàn)也是很困難的。既然自然語言不如程序語言表達的清晰,他喜歡先用代碼的方式把整個框架架構(gòu)好,并編寫基本的組件和接口代碼。這樣其他的程序員就可以很方便的復(fù)用自己的基礎(chǔ)組件,并利用預(yù)留的接口添寫完整的代碼。做為軟件設(shè)計師,他能夠提供一個平臺性的開發(fā)環(huán)境,讓其他的程序員方便的進行擴展開發(fā)。這不僅降低了開發(fā)難度,而且節(jié)省了大量的重復(fù)勞動。復(fù)用模塊也可以提高系統(tǒng)的穩(wěn)定性,因為這是經(jīng)過多次測試的代碼。軟件設(shè)計師的周圍也有很多角色,應(yīng)用專家對應(yīng)用需求分析了解的更深。還有技術(shù)平臺的專家,因為盡管設(shè)計師對技術(shù)平臺有一定的了解,但對于細節(jié)的內(nèi)容還要請教技術(shù)平臺專家的,還需要程序員做出原型并進行驗證,通過反饋和評估不斷完善。最終用戶的反饋也是軟件設(shè)計師非常重視的。軟件設(shè)計師的要求做為應(yīng)用軟件開發(fā)中最頂層的角色,軟件設(shè)計師的能力要求更強,除了具備更強的編程技巧能力外,還需要了解系統(tǒng)結(jié)構(gòu)、主流軟件技術(shù)和軟件趨勢,同時要具備相當?shù)膶I(yè)知識。多年編程經(jīng)驗:既包括在專業(yè)領(lǐng)域的經(jīng)驗,也包括在軟件工程領(lǐng)域的經(jīng)驗。對于一個構(gòu)架團隊,這些素質(zhì)要求可由各團隊成員來分別承擔(dān),但其中至少要有一名構(gòu)架設(shè)計師能夠把握項目的全局。和任何行業(yè)一樣,經(jīng)驗是最重要的。軟件設(shè)計不是紙上談兵,一個軟件設(shè)計師首先要是非常好的程序員。軟件設(shè)計師在編程的時候,用的工具和普通程序員沒有任何差別,但使用深度是絕對不一樣的。廖恒毅花了三天寫了個處理表格的程序,因為考慮的很巧妙,代碼不到一千行左右,但有人寫只是畫表格單元的代碼就有二千多行,這就是經(jīng)驗的差距。做軟件設(shè)計的時候,肯定要求是可實施和可測試的,如果沒有做過程序員,就無法保證這個設(shè)計是可實施并進行測試。抽象能力:一個程序員剛寫程序的時候,無非就是為了解決某個功能而進行代碼編寫。隨著程序編寫越來越多,他對自己所做的應(yīng)用方面的理解也越來越多。不同的企業(yè)有不同的需求,但把這些企業(yè)放在一起來看的話,就會發(fā)現(xiàn)他們的一些共性。將這些共性提煉出來,這就是抽象的過程。抽象出來的共性形成的模型可以把這些企業(yè)的需求都包含進去,這是做通用軟件必須要走的一步。哪些東西是可以抽象的呢?鄧適宜舉例說:企業(yè)管理軟件內(nèi)部有很多內(nèi)部票據(jù)流程,票據(jù)傳遞有自己的規(guī)則,要把他們內(nèi)部的關(guān)系比較靈活的組織起來,只能把流程做為管理對象,而不能把票據(jù)做為管理對象,因為票據(jù)只是一個載體。這樣做,整個系統(tǒng)的柔性會更強,產(chǎn)品才能適合不同的企業(yè),讓企業(yè)可以靈活的控制,取得最好的效益。廖恒毅更是將抽象發(fā)揮的淋漓盡致。他整個管理流程抽象成不斷矩陣運算的過程,軟件本身就是做矩陣運算的乘法器和分解器。其他程序員只需要將具體的業(yè)務(wù)抽象為以XML表達的矩陣,放入到這個矩陣中,利用乘法器做運算就可以了。面向?qū)ο蟮乃枷耄好嫦驅(qū)ο笫擒浖_發(fā)出現(xiàn)以來最偉大的創(chuàng)新之一,這是每個程序員都追求的,但是否真正掌握了面向?qū)ο蟮乃枷耄@是需要探討的。面向?qū)ο蟛⒉皇荛_發(fā)工具和語言的限制。很多程序員在用C++寫面向?qū)ο蟮拇a時候,實際上還是在寫C代碼。甚至使用C#這種完全面向?qū)ο蟮恼Z言寫出來的還是流程化的程序。很多時候?qū)W習(xí)面向?qū)ο笥闷聊簧袭媹D的方法,新的形狀可以從標準的形狀中轉(zhuǎn)化而來,用來學(xué)習(xí)繼承的概念。但廖恒毅認為這遠遠不夠,因為屏幕上對象相互之間是獨立的,是沒有作用的離散關(guān)系。要真正學(xué)習(xí)面向?qū)ο?,就要去學(xué)畫表格。表格是由行組成的,同時也是由列組成的,行中又有獨立的單元格組成。作為一個行,要整體去操作這些格,做為列,也要去操作這些格,到底是以行為單位還是以列為單位去操作單元格。如果能把這個搞清楚,那才表明你對面向?qū)ο罄斫獾膲蛏羁?。廖恒毅笑著說:"有的程序員在程序中把所有的東西都繼承到一起,爺爺動的時候,孫子跟著跳,孫子動的時候,爺爺跟著晃。實際上,寫面向?qū)ο蟮拇a,一定不要用太多的繼承。最關(guān)鍵的是如何傳遞消息和產(chǎn)生動作,以及考慮各個模塊之間通過什么接口來聯(lián)系,而不是再繼承。"面向?qū)ο罂梢詰?yīng)用的領(lǐng)域非常廣泛。不僅在寫代碼的過程中要考慮到面向?qū)ο螅瑢嶋H上在設(shè)計和分析階段也可以用面向?qū)ο蟮姆椒?。舍得拋棄:軟件設(shè)計是一個漸進過程,是通過不斷碰壁,不斷調(diào)整提高的。要想取得突破,就需要舍得拋棄。廖恒毅說:"通常情況下,我寫的第一版程序是要被扔掉的。對于一個功能,我上來就寫,也不做設(shè)計,什么都不想,寫到最后,自己都煩了,然后就把這些代碼刪除掉再重新寫,這些腦中有了很多體會和印象,寫完第二版之后,也會扔掉,繼續(xù)寫第三版的代碼。這時程序邏輯架構(gòu)和關(guān)系自然就很清晰了。只有用這種不斷消滅自己以前的東西方面才能夠成長的特別快,這就像相當于脫殼,不過這需要自己對自己要求很嚴格,否則又會回到原來的老路子上了。"很多人舍得扔掉自己的代碼的,往往是不斷的修改,最后進入一個惡性的循環(huán)。當然,這種拋棄也是有繼承的拋棄,不同時期產(chǎn)品的架構(gòu)之間也有連續(xù)性,不是一個架構(gòu)就會完全取代前面的架構(gòu),好的東西還是可以繼承的,像微軟的.NET架構(gòu)就是從DNA架構(gòu)上發(fā)展來的。領(lǐng)悟和突破:程序員技術(shù)成長一種是通過學(xué)習(xí)技巧而成長,一種是通過思想領(lǐng)悟而得到成長,后者更為重要。如果不能領(lǐng)悟開發(fā)的思想,僅僅掌握了技巧,一旦改換了平臺和語言,又要從頭學(xué)起,所以很多人在轉(zhuǎn)型過程中失敗了。而掌握了編程的思想,自動就移過去了。廖恒毅表示:"語言本身從來不對我產(chǎn)生任何障礙,各種語言沒有任何本質(zhì)的差別,就象練武一樣,刀背也可以當錘子用。"從程序員到軟件設(shè)計師(3)即便是很小的軟件,也可以鍛煉突破性的編程思維。廖恒毅以自己寫拼音加加的經(jīng)歷講了一個例子。"輸入法體系結(jié)構(gòu)和流程很簡單,就是原生數(shù)據(jù)庫和后生數(shù)據(jù)庫加上一個簡單的界面。但在處理退格的時候,你會發(fā)現(xiàn)這是一個很復(fù)雜的問題,如果按照常規(guī)的方法考慮各種出現(xiàn)的情況,程序幾乎是無法寫下去了。其實方法很簡單,只要做一個正向編輯器,定義好一個字母產(chǎn)生什么樣的操作,二個字母產(chǎn)生什么樣的操作,一個字符串產(chǎn)生什么樣的操作,并抽象成為每個操作對應(yīng)后臺進行什么樣的操作。刪掉一個字母,無非就是把字符串去掉一個,重新處理一遍就可以了。這個問題就變得很簡單??偨Y(jié)出來一種基本的設(shè)計原則和思路,就是程序設(shè)計千萬不要回溯,否則就會崩潰,這是腦袋碰墻多少次之后才明白的。所以說盡管編程序?qū)懥耸畮啄炅?,到現(xiàn)在還不敢稱完全領(lǐng)悟軟件設(shè)計,而是一直在找這種感覺。"非軟件知識:提起軟件設(shè)計師,人們很喜歡那建筑師做比較,的確這兩個行業(yè)有很多相似之處。古羅馬建筑師維特魯威說"理想的建筑師應(yīng)該既是文學(xué)家又是數(shù)字家,他還應(yīng)通曉歷史,熱衷于哲學(xué)研究,精通音樂,懂得醫(yī)藥知識,具有法學(xué)造詣,深諳天文學(xué)及天文計算。"軟件設(shè)計師同樣如此。廖恒毅說"所有讓人去思考,一切美的東西都會吸引我,我欣賞每個行業(yè)中有內(nèi)涵的東西。"甚至包括周易五行,他都覺得這對開發(fā)軟件有很大的幫助。"周易五行的一套自我完備運行的體系結(jié)構(gòu),它也有自己的對象和作用關(guān)系。各種對象之間不是獨立的,而且衍生出來的作用關(guān)系讓整個系統(tǒng)運轉(zhuǎn)的更加自然。我編程的時候也用這種思路,努力去尋找整個程序中的內(nèi)部作用關(guān)系。"鄧適宜也有自己的看法,他覺得軟件系統(tǒng)比起建筑來,更象一臺機械。因為建筑一旦完成之后就很少改變它的結(jié)構(gòu),但機械不一樣,它是一臺可以通過改裝改變不斷增加功能的系統(tǒng)。"現(xiàn)在機械制造中經(jīng)常是把機器分解為多個組件,分別生產(chǎn),只有到最終銷售的時候,才根據(jù)用戶的需求把各個組件拼接組合起來產(chǎn)生不同的功能,這稱為延遲制造。這種想法在我們的軟件開發(fā)中也經(jīng)常用到。我們也開發(fā)了很多靈活的可視化組件,在實施的時候才根據(jù)用戶的需求進行組裝,不僅滿足了客戶的個性化需求,而且也降低了開發(fā)成本。U8軟件中的ERB模塊要提供第三方軟件的接口程序,為了保證穩(wěn)定性和下一代產(chǎn)品的延續(xù)性,我們做了一些模塊,可以通過注冊擴展功能,很象機械中的插件。"向軟件設(shè)計師發(fā)展當然,并不是每一個程序員都適合向軟件設(shè)計師角色發(fā)展的。除了自身的努力之外,還同所處的環(huán)境有很大的關(guān)系,如果只是幾個人的小公司,對軟件設(shè)計的要求不明確,自然也就無法得到鍛煉。鄧適宜說自己早期接觸的軟件開發(fā)環(huán)境都是比較大型的基于UNIX的大型數(shù)據(jù)庫環(huán)境,從中學(xué)到了很多東西,受益菲淺。彭六三介紹說,在用友這樣開發(fā)大型軟件的公司中,程序員成長是很快的。一個普通的程序員,在代碼編寫多之后,首先可以成為一個主程序員。除了他的編程能力更強,在一個開發(fā)小組中起主導(dǎo)作用之外,他實際上也具有了一定的設(shè)計能力。接下來,就是和深入的了解具體的應(yīng)用。除了面向?qū)ο蟮某绦蛟O(shè)計一定要具備,對具體應(yīng)用的深入了解也是必不可少的,否則無法去設(shè)計產(chǎn)品。要想繼續(xù)發(fā)展,接下來的工作就是要更多了解技術(shù)標準方面的知識了。不過,即便你是一個普通的程序員,沒有機會參與大型的軟件開發(fā)項目,也可以在開發(fā)中向軟件設(shè)計師的思維靠近,提升自己對軟件開發(fā)的認識。一個播放軟件,不同的用戶對界面有不同的需求,如何滿足不同的需求也是需要設(shè)計的,而播放軟件對不同格式文件的支持也是需要考慮的,尤其是為未來的格式預(yù)留接口,這些問題是需要在架構(gòu)中考慮。不管軟件大小,都可以應(yīng)用設(shè)計模式的東西。補充資料新聞:10月18日,微軟董事長兼首席軟件設(shè)計師比爾·蓋茨宣布了旨在培養(yǎng)2000名中國軟件大師的"Architect2000高級軟件研發(fā)主管研修計劃"項目。此次微軟推出的"Architect2000高級軟件研發(fā)主管研修計劃",以培養(yǎng)軟件構(gòu)架高層次人才為宗旨。該計劃將用一年的時間,通過與中國11個軟件開發(fā)園區(qū)的合作,為中國領(lǐng)先軟件企業(yè)的首席技術(shù)官員提供軟件設(shè)計體系原則、開發(fā)技巧和最新技術(shù)的培訓(xùn),從中培養(yǎng)出20
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機器學(xué)習(xí)在合規(guī)檢查中的應(yīng)用
- 2026年消防安全員操作技能測試題火災(zāi)預(yù)防與應(yīng)急處置
- 2025 小學(xué)二年級道德與法治上冊友好交流使用禮貌用語對話交流課件
- 2026年食品營養(yǎng)與健康安全專業(yè)知識題集
- 危重病人的腸內(nèi)營養(yǎng)支持
- 2026年鄭州工商學(xué)院單招綜合素質(zhì)考試備考題庫含詳細答案解析
- 2026年通遼職業(yè)學(xué)院單招職業(yè)技能考試備考試題含詳細答案解析
- 外貿(mào)安全培訓(xùn)課件
- 2026年牡丹江大學(xué)單招綜合素質(zhì)考試備考試題含詳細答案解析
- 2026浙江溫州市樂清市健康醫(yī)療管理集團有限公司及下屬子公司招聘4人考試重點題庫及答案解析
- (一模)鄭州市2026年高中畢業(yè)年級(高三)第一次質(zhì)量預(yù)測數(shù)學(xué)試卷(含答案及解析)
- 2026中央廣播電視總臺招聘124人參考筆試題庫及答案解析
- 眼科護理與疼痛管理
- 2026年中國聚苯乙烯行業(yè)市場深度分析及發(fā)展前景預(yù)測報告
- 43-麥肯錫-美的集團績效管理模塊最佳實踐分享
- 航空發(fā)動機的熱管理技術(shù)
- 電商平臺一件代發(fā)合作協(xié)議
- 2025年綜合行政執(zhí)法部門招聘《職業(yè)能力綜合應(yīng)用能力》模擬試卷及答案
- 學(xué)前奧數(shù)考試題型及答案
- 屋面光伏陽光棚施工方案
- 海島型景區(qū)游客環(huán)境責(zé)任行為的影響機制研究-三亞蜈支洲島景區(qū)為例
評論
0/150
提交評論