<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-88  評論-77  文章-48  trackbacks-0
     

    演講人:浙大高分子物理鄭強教授
    地點: 浙江圖書館報告廳
      精彩語錄節(jié)選:
      “在中國這個發(fā)展中國家,你能建10所世界一流大學(xué),那美國有多少所?日本有多少所?現(xiàn)在的實際狀況是:世界上前200所大學(xué),中國一所都排不進!在亞洲能排出幾所?我到國外去看了以后,感到要將浙大建成世界一流大學(xué)就像共產(chǎn)主義理想.“
      “以前說“無知無畏“,現(xiàn)在卻是“無知才無畏“,許多企業(yè)把浙江省技術(shù)監(jiān)督局、科委的人請來吃一頓飯,喝一點酒,他就給你簽個字,再把我們這些教授脅迫到那里去,給你蓋個章,然后就是“填補國內(nèi)外空白“、“國際先進水平“,寫論文則是“國際領(lǐng)先水平的研究成果“、“首次科學(xué)發(fā)現(xiàn)“等等,這都是目前非常嚴重的問題!作為一個大學(xué)教授,我深深地為此擔(dān)憂!這不是我們的責(zé)任,是我們的領(lǐng)導(dǎo)無知,是他們倡導(dǎo)了這個主流.我知道在座的處長或老總?cè)兆雍茈y過,因為你們不寫這樣的報表,就拿不到錢,項目就得不到批準(zhǔn).教授也同樣如此,天天寫報告,而不是在實驗室靜下心來好好搞研究,這是很嚴重的!“
      “我們國家的現(xiàn)實和發(fā)展就是這樣:凡是依賴不成的,我們自己都能搞得像模像樣,比如二彈一星;凡是能夠引進的,就都搞不成.......現(xiàn)在很多合資企業(yè)就這樣,賣點東西,而沒有去考慮這些深層次的東西.殊不知,這就是社會的惡性循環(huán)!“
      “我認為:語言、計算機就是工具.中國的外語教授講英語還不如美國賣菜的農(nóng)民!怎么看待這個問題?日本博士、德國教授說不出英語的多得是!我們怎么能說一個人不會說英語就是文盲呢?語言就是一個工具!你沒有那個環(huán)境,他怎么能講這個語言呢?......如果我是教育部長,我要改革二件事:第一,取消六級考試,你一個研究生連中文一級都不及格,你英文考六級干什么呢?看看研究生寫得論文,自己的民族文化都沒有學(xué)好,天天考英語──打勾:托福打勾,GRE打勾,英文考出很高的分,可哪個寫的英文論文在我面前過得了關(guān)呢?過不了關(guān)!這樣培養(yǎng)出來的人能干什么?自己搞的專業(yè)一點都沒學(xué)好!......說不會計算機就是文盲,這又是一個誤區(qū)!我現(xiàn)在是教授,我顧不上搞計算機!“
      “你看我,從高中開始學(xué)英語,大學(xué)學(xué),碩士學(xué),博士學(xué),花了我多少精力!你說中國人怎么做得出高科技的研究成果?我這幾天就教訓(xùn)我手下的幾位女學(xué)生,問她們在干什么,看不到人影,一天到晚考這樣、考那樣的,到美國去干什么?在國內(nèi)要干的事多著呢!你整天考英語,美國人連報個名都要收你們的錢,日本人也是如此,中國學(xué)生到日本去要交手續(xù)費,到日本留學(xué)是為日本人打工,好不容易掙點錢交了學(xué)費,讀完博士在日本的公司就職,當(dāng)勞動力,掙了一筆錢后要回國了就買了家電,把錢全給了日本人.你們都沒有注意這件事,這里面都是經(jīng)濟問題.這就是素質(zhì)教育到底是什么.“
      “中小學(xué)的教育就是聽話,老師管干部,干部管同學(xué),孩子們都學(xué)會了成年化的處世方式,這是害人啊!這樣強迫性地做了一些好事后,沒有把做好事與做人準(zhǔn)則結(jié)合起來去培養(yǎng),而只學(xué)會了拍馬屁、討老師喜歡、說成人話.上次電視上就曾經(jīng)播出,一個小孩得了個獎,主詩人問他最愿意說什么,他說:“我最愿意跟江爺爺說:我向你報告!““江爺爺“是誰?還不是老師教的!孩子們在中小學(xué)活得很累,到了大學(xué)就沒人管了,所以就要玩、就要談戀愛.
      “我們有很多同學(xué)成績好,卻什么都做不了.在我們大學(xué)像我這種程度的人,招博士生是從來不看成績的,成績算什么!現(xiàn)在我從事的這個領(lǐng)域在中國有叁個杰出的人才,當(dāng)初在讀研究生時都補考過,而成績考得好的幾個人卻都跑到美國去賣中藥了,這說明了什么問題?作老板的可不能這樣啊!......人才的梯隊一定要合理,而不要認為教授就是萬能的、博士就是萬能的.中國的教育體系就是讓每一個老百姓都充滿希望和理想,教育孩子們要樹立遠大的理想.實際上,人的能力是不一樣的,掃地能掃好,也應(yīng)該受到尊重;打掃廁所能打掃干凈,也應(yīng)該受到尊重,不能動不動就要高學(xué)歷.我要提醒的是:在國外可不是這樣,美國、日本的博士就很難找到工作,為什么?因為老板心疼錢,招了博士要給他高工資,而他能做什么用呢?這是個具體問題.“
      “科技到底該干什么?高科技到底該干什么?如果我是科技部長,該玩的就玩,就像陳景潤,他就是玩!陳景潤如果是處在今天的中國,他絕對是要去討飯的,因為他不會去搞產(chǎn)業(yè)化,他的英語也不好,他說話都不流利,中文都講不好,按現(xiàn)在“標(biāo)準(zhǔn)“,他是個文盲,還談什么教授!日本人就是喜歡美國人,我跟日本人說:你們這個民族愛誰,誰就要向你們?nèi)釉訌?日本人就是喜歡黑人也不喜歡中國人.......我特別對我們的女教授、女同學(xué)說:在日本人面前一句日文都不要講,會也不要講;日本人一聽說你講英文,特別是看到中國女孩講英文,腿都要發(fā)軟,這是真的!“
      “中國人為什么這些年都往外跑,最重要的是要讓國民自己愛自己國家.......如果我是杭州的市長,我絕對不是狹隘的民族自尊心──如果杭州有什么災(zāi)難,我就首先把杭州的老百姓安排在香格里拉,讓外國人在外面排隊!(掌聲!)這樣,你才會讓你的國民愛自己的國家!一個日本的農(nóng)民跑到峨嵋山去玩,骨頭摔斷了,你就用中國空軍的直升飛機去救他,而在日本大學(xué)一名中國留學(xué)生在宿舍里死了7天才被發(fā)現(xiàn);名古屋大學(xué)的一對中國博士夫婦和孩子誤食有毒磨菇,孩子和母親死了,父親則是重癥肝炎,在名古屋大學(xué)醫(yī)學(xué)院的門診室等了12個小時,也沒有一個日本教授來看望!而你們?yōu)槭裁催€要這么友好,以為自己很大度,實際上是被人家恥笑,笑你的無知!你們這個民族*!我們不能這樣!我們的領(lǐng)導(dǎo)人跑到國外去訪問,看到有幾個人在歡迎他們,就感到挺有面子;而外國來了個什么人物,都是警車開道,這究竟是怎么回事?這讓我們中國人感到是自豪還是悲哀?所有這些,對教育工作來講,都是深層次的問題.所以我經(jīng)常講,我作為一位自然科學(xué)工作者,我教育我的學(xué)生,首先是學(xué)會做人,沒有這些,你學(xué)了高分子,外語都是花架子,你不是一個完整的人!“
      “一個觀念或是一個問題:是不是技術(shù)越新越好?今天談的就都是提醒大家的......技術(shù)并不是越新越好,技術(shù)要有儲備.日本的企業(yè)現(xiàn)在賣的東西大都是10年或15年前的技術(shù),好東西他不拿出來,他要等到現(xiàn)有的技術(shù)把成本收回并獲得盡可能高額的利潤以后才會拿出來.其次,我的對手什么時候推出新東西時,我才會出手.不要以為你今天好不容易搞了生產(chǎn)線,明天又有新的了,你的錢還沒賺到就換新的,有什么用?我這次到日本剛好談到懸浮列車──即使何先生在我也要說,這是中國人又在玩高新科技.懸浮列車目前在理論上都還不成熟.日本現(xiàn)在最完善,最經(jīng)濟的就是新干線!
    從經(jīng)濟和市場的概念來講,越先進的東西,風(fēng)險越大,有可能得到的回報就越少!"

    ?

    posted @ 2006-05-19 14:23 崛起的程序員 閱讀(150) | 評論 (0)編輯 收藏
    java.lang.NoSuchFieldError: tokenTypeToASTClassMap
    ??????? at org.hibernate.hql.antlr.HqlBaseParser.buildTokenTypeASTClassMap(HqlBaseParser.java:4224)
    ??????? at org.hibernate.hql.antlr.HqlBaseParser.<init>(HqlBaseParser.java:107)
    ??????? at org.hibernate.hql.antlr.HqlBaseParser.<init>(HqlBaseParser.java:112)
    ??????? at org.hibernate.hql.ast.HqlParser.<init>(HqlParser.java:47)
    ??????? at org.hibernate.hql.ast.HqlParser.getInstance(HqlParser.java:42)
    ??????? at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:203)
    ??????? at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:127)
    ??????? at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
    ??????? at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:422)
    ??????? at org.hibernate.impl.SessionFactoryImpl.checkNamedQueries(SessionFactoryImpl.java:383)
    ??????? at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:286)
    很簡單:查看antlr.jar這個包,把它替換成與當(dāng)前版本hibernate統(tǒng)一的antlr包,其實也就包的版本不同一所造成的。
    posted @ 2006-05-18 20:07 崛起的程序員 閱讀(841) | 評論 (0)編輯 收藏

    1、新建一個啟動畫面Window類
    1. java.awt.Window?windowSplash;

    2、調(diào)用prepareSplash()函數(shù),初始化啟動界面
    1. ????private?void?prepareSplash()
    2. ????{
    3. ????????Toolkit?toolkit?=?Toolkit.getDefaultToolkit();
    4. ????????windowSplash?=?new?Window(?this?);
    5. ????????Image?image?=?toolkit.getImage(?"images"?+?File.separator?+?"splash.gif"?);
    6. ????????ImageCanvas?canvas?=?new?ImageCanvas(?image?);
    7. ????????windowSplash.add(?canvas,?"Center"?);
    8. ????????Dimension?scmSize?=?toolkit.getScreenSize();
    9. ????????int?imgWidth?=?image.getWidth(?this?);
    10. ????????int?imgHeight?=?image.getHeight(?this?);
    11. ????????windowSplash.setLocation(?scmSize.width2?-?(imgWidth2),?scmSize.height2?-?(imgHeight2)?);
    12. ????????windowSplash.setSize(?imgWidth,?imgHeight?);
    13. ????}

    3、在Application的JFrame類(主界面)中調(diào)用startSplash(),顯示啟動界面,然后初試
    化JFrame的各個可視化組件,初始化后臺數(shù)據(jù)庫等(如數(shù)據(jù)庫的連接)
    1. ????private?void?startSplash()
    2. ????{
    3. ????????windowSplash.setVisible(?true?);
    4. ????????windowSplash.toFront();
    5. ????}

    4、在所有的初始化工作完成之后,調(diào)用stopSplash()函數(shù),停止顯示啟動畫面
    1. ????private?void?stopSplash()?{
    2. ????????windowSplash.dispose();
    3. ????}
    posted @ 2006-05-18 13:11 崛起的程序員 閱讀(276) | 評論 (0)編輯 收藏
    作者:金蝶中間件公司CTO袁紅崗
    不知不覺做軟件已經(jīng)做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上并沒有成為高手的捷徑,但一些基本原則是可以遵循的。
      1. 扎實的基礎(chǔ)。數(shù)據(jù)結(jié)構(gòu)、離散數(shù)學(xué)、編譯原理,這些是所有計算機科學(xué)的基礎(chǔ),如果不掌握他們,很難寫出高水平的程序。據(jù)我的觀察,學(xué)計算機專業(yè)的人比學(xué)其他專業(yè)的人更能寫出高質(zhì)量的軟件。程序人人都會寫,但當(dāng)你發(fā)現(xiàn)寫到一定程度很難再提高的時候,就應(yīng)該想想是不是要回過頭來學(xué)學(xué)這些最基本的理論。不要一開始就去學(xué)OOP,即使你再精通OOP,遇到一些基本算法的時候可能也會束手無策。
      2. 豐富的想象力。不要拘泥于固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想象力是建立在豐富的知識的基礎(chǔ)上,除計算機以外,多涉獵其他的學(xué)科,比如天文、物理、數(shù)學(xué)等等。另外,多看科幻電影也是一個很好的途徑。
      3. 最簡單的是最好的。這也許是所有科學(xué)都遵循的一條準(zhǔn)則,如此復(fù)雜的質(zhì)能互換原理在愛因斯坦眼里不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現(xiàn),也更容易維護。遇到問題時要優(yōu)先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復(fù)雜的方案。
      4. 不鉆牛角尖。當(dāng)你遇到障礙的時候,不妨?xí)簳r遠離電腦,看看窗外的風(fēng)景,聽聽輕音樂,和朋友聊聊天。當(dāng)我遇到難題的時候會去玩游戲,而且是那種極暴力的打斗類游戲,當(dāng)負責(zé)游戲的那部分大腦細胞極度亢奮的時候,負責(zé)編程的那部分大腦細胞就得到了充分的休息。當(dāng)重新開始工作的時候,我會發(fā)現(xiàn)那些難題現(xiàn)在竟然可以迎刃而解。
      5. 對答案的渴求。人類自然科學(xué)的發(fā)展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們?nèi)ジ冻觥V灰銏远ㄐ拍睿欢ㄒ业絾栴}的答案,你才會付出精力去探索,即使最后沒有得到答案,在過程中你也會學(xué)到很多東西。
      6. 多與別人交流。三人行必有我?guī)煟苍S在一次和別人不經(jīng)意的談話中,就可以迸出靈感的火花。多上上網(wǎng),看看別人對同一問題的看法,會給你很大的啟發(fā)。
      7. 良好的編程風(fēng)格。注意養(yǎng)成良好的習(xí)慣,代碼的縮進編排,變量的命名規(guī)則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經(jīng)清楚地表達了你的思想,就不必再加注釋了,如果注釋和代碼不一致,那就更加糟糕。
      8. 韌性和毅力。這也許是"高手"和一般程序員最大的區(qū)別。A good programming is 99 weat and 1ffee。高手們并不是天才,他們是在無數(shù)個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個 10000以內(nèi)的素數(shù)表,把它們?nèi)汲聛恚缓笤贆z查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
      這些是我這幾年程序員生涯的一點體會,希望能夠給大家有所幫助
    posted @ 2006-05-16 14:35 崛起的程序員 閱讀(301) | 評論 (0)編輯 收藏
    創(chuàng)業(yè)者要遵循的5個基本做事方法

    對于想創(chuàng)業(yè)的人,我對他們的提醒是:不要被成功企業(yè)所編寫的創(chuàng)業(yè)故事所迷惑,因為那里講的都是一個企業(yè)成長過程中過五關(guān)斬六將的最精彩的部分。作為創(chuàng)業(yè)者,有5個很基本的做事方法你必須遵循。

    我鼓勵大家創(chuàng)業(yè),但鼓勵大家創(chuàng)業(yè)不等于盲目創(chuàng)業(yè)。對于想創(chuàng)業(yè)的人,我對他們的提醒是:不要被成功企業(yè)所編寫的創(chuàng)業(yè)故事所迷惑,因為那里講的都是一個企業(yè)成長過程中過五關(guān)斬六將的最精彩的部分。你要用自己的頭腦去思考,去學(xué)習(xí)。作為創(chuàng)業(yè)者,有5個很基本的做事方法必須遵循:


    第一,一定要有激情和理念,你才能感染自己和其他人。在最困難的時候,在所有人絕望的時候,你要感染你的客戶,感染你的員工,感染你的合作伙伴……你要感染所有人!

    第二,要專注。別說小公司,大公司多元化也有失敗的例子,小公司更應(yīng)該抓準(zhǔn)一個點把它做深、做透。這樣才能積累所有的資源。小公司到處試驗,會讓你的企業(yè)耗盡很多資源。專注就是有所不為才能有所為,這點非常重要。

    3721堅持了6年,一直堅持做中文上網(wǎng)、中文搜索,我就做這一件事情;Google也是很專注,有了一定的積累以后才能橫向擴展。很多創(chuàng)業(yè)者都栽在不夠?qū)W⑸希且驗樗约耗X子里面沒有想清楚,今天在這兒打一口井,明天在那兒打一口井,最后哪兒也沒有挖出水,地面上只是留下了許多坑而已。你5個指頭都叉開和一個拳頭是不一樣的,專注就是你把所有的資源都凝聚在一個點上。

    第三是執(zhí)行力,很多創(chuàng)業(yè)者很容易在這里摔跟頭。我見過很多人夸夸其談,估計他們創(chuàng)業(yè),至少第一次肯定都不會成功,因為我覺得真正的創(chuàng)業(yè)者要少說多做,要把自己美妙的想法努力轉(zhuǎn)化成結(jié)果。

    創(chuàng)業(yè)者做事情著眼點要低,要現(xiàn)實。很多創(chuàng)業(yè)者去見風(fēng)險投資人的時候,說起自己的事業(yè)都說得云山霧罩的,其實這樣會讓風(fēng)險投資人根本不明白你在說什么。你只要踏踏實實地說你想做什么,這個東西能解決什么問題就可以了。

    想法只是一個開頭的方式,是不值錢的。我們坐在這兒,一個小時可以天馬行空,弄出幾十個想法來,腦子稍微一轉(zhuǎn),你的思想已經(jīng)在宇宙走了好幾個來回了—- 行動的成本才是最高的,對創(chuàng)業(yè)者來講要看自己是不是有這種經(jīng)驗和執(zhí)行力。同樣的想法兩個人同樣做,誰的執(zhí)行力更強,誰的經(jīng)驗更豐富,誰就更容易成功。

    第四,創(chuàng)業(yè)者還要有一種胸懷,就是所謂與時俱進的學(xué)習(xí)能力。我看到很多人創(chuàng)業(yè)不成功就是因為他們太自負,不能從成功人士那里學(xué)到一些優(yōu)點,聽不進好的建議。很多創(chuàng)業(yè)者沒有經(jīng)驗,沒有經(jīng)驗不可怕,問題是你有沒有謙虛、開放學(xué)習(xí)的心態(tài),使你不能與時俱進。很多創(chuàng)業(yè)者會陷入一個死循環(huán),他們通常認為自己看得準(zhǔn),才是出手的前提;積累經(jīng)驗越多,才能越看越準(zhǔn)。但你沒經(jīng)驗,又怎么可能看準(zhǔn)?

    解決這個問題有辦法,時機不成熟,就不創(chuàng)業(yè),先給別人打工。把公司讓我做的事情做好,提高自己的能力,逐步就知道創(chuàng)業(yè)的方向了。我不贊成年輕人剛畢業(yè)就創(chuàng)業(yè),我認為他們還是應(yīng)該在公司里踏踏實實干五六年,雖然是打工,實際上是公司在給你“繳”學(xué)費,你在不同的平臺通過積累經(jīng)驗,這是任何老板剝奪不走的,只有積累這種經(jīng)驗,你的創(chuàng)業(yè)能力才更高,才更有把握。我在方正工作時,從來沒有覺得自己是打工,我一直認為自己是在創(chuàng)業(yè),因為我覺得是在積累自己的能力,積累自己的資源。客觀上,我對方正還是作了很多貢獻。我到雅虎還是一種創(chuàng)業(yè)的心態(tài),我把雅虎的文化改成創(chuàng)業(yè)的文化,因此雅虎中國在2004年取得了很好的業(yè)績。保持良好的心態(tài),這是你創(chuàng)業(yè)成功的前提。

    第五,不要盲目去模仿和抄襲大公司的做法。比如,很多人在新浪、搜狐做過,他出來就會不自覺按照大公司的做法建立一些規(guī)范制度等,但大公司為了穩(wěn)妥,一般都比較慢。大公司為這個“慢”付得起代價,小公司不能用大公司的這種做事方法。我講過大象和兔子的故事:大象和駱駝3天不吃也沒事,但是新創(chuàng)業(yè)的公司像小兔子一樣,每一步都要跑得快,要到處找食。本來就是個兔子,卻以為自己是個大象,用大象的心態(tài)做事,在狼面前慢慢踱步,最后就會被狼吃掉。創(chuàng)業(yè)意味著你要有創(chuàng)業(yè)的做事方式。

    如果你跟大公司做一樣的事,他的實力很強,跟他比是沒有優(yōu)勢的。因此,如果把整個產(chǎn)業(yè)畫成一張地圖,你可以看哪些領(lǐng)域被誰占了,誰有什么優(yōu)勢。你應(yīng)該找一個不在這張地圖上的事情去做。比如說,前幾年大家都不重視的搜索,現(xiàn)在就做起來了。創(chuàng)業(yè)公司應(yīng)該踏踏實實把自己的事做好,不要在自己很小的時候就想要通吃,要顛覆,要滅掉誰,這是沒有意義的。小公司要學(xué)會跟大公司合作,要學(xué)會廣交朋友,在這個產(chǎn)業(yè)鏈跟別人合作,會使自己成功得更快一些。

    周鴻祎:1970年10月生于湖北,1995年畢業(yè)于西安交大管理學(xué)院系統(tǒng)工程系,獲碩士學(xué)位。曾就職方正集團,先后任研發(fā)中心副主任、事業(yè)部總經(jīng)理等職。1998年10月,創(chuàng)建3721公司。2003年3721被雅虎收購,2004年3月出任雅虎中國總裁。2005年7月6日,宣布將于8月31日正式辭去雅虎中國總裁一職。9月1日,他將以投資合伙人的身份正式加盟IDGVC(國際數(shù)據(jù)集團風(fēng)險投資基金)。

    posted @ 2006-05-16 10:53 崛起的程序員 閱讀(228) | 評論 (0)編輯 收藏
    Eclipse Communication Framework (ECF)? 是一個新的ECLIPSE項目,目的是為了提供一個開源的通訊框架,讓開發(fā)者可以更容易開發(fā)出通訊相關(guān)的項目。

    IBM的文章Getting started with the Eclipse Communication Framework 介紹了ECF,同時告訴我們?nèi)绾伍_始使用ECF,同時還提供了一個基于Yahoo IM 的例子。

    Getting started with the Eclipse Communication Framework

    http://www.ibm.com/developerworks/opensource/library/os-ecl-commfwk/?ca=dgr-jw22ECF

    下載地址
    http://www.eclipse.org/ecf/downloads.html
    引用頁 http://www.eclipse.org/downloads/download.php?file=/technology/ecf/org.eclipse.ecf.sdk-0.8.0.S20060507.zip

    安裝完畢插件后,起服務(wù)目錄在
    $:\eclipse\features\org.eclipse.ecf.serverfeature_0.8.0\bin
    startserver.cmd
    然后打開eclipse 菜單ECF鏈接選擇協(xié)議ecf generic 后設(shè)置服務(wù)器url例如http://localhost:3282/server,輸入別名
    進入強大的聊天室.讓我們一起XP?編程吧

    posted @ 2006-05-12 17:41 崛起的程序員 閱讀(1059) | 評論 (0)編輯 收藏

    一、6sigma管理的來源?

    六西格瑪(6σ或SixSigma)最早作為一種突破性的質(zhì)量管理戰(zhàn)略在八十年代末在摩托羅拉公司成型并付諸實踐,三年后該公司的六西格瑪質(zhì)量戰(zhàn)略取得了空前的成功:產(chǎn)品的不合格率從百萬分之6210(大約四西格瑪)減少到百萬分之32(5.5西格瑪),在此過程中節(jié)約成本超過20億美金。隨后即有德儀公司和聯(lián)信公司(后與霍尼維爾合并)在各自的制造流程全面推廣六西格瑪質(zhì)量戰(zhàn)略。但真正把這一高度有效的質(zhì)量戰(zhàn)略變成管理哲學(xué)和實踐,從而形成一種企業(yè)文化的是在杰克·韋爾奇領(lǐng)導(dǎo)下的通用電氣公司。?

    該公司在1996年初開始把六西格瑪作為一種管理戰(zhàn)略列在其三大公司戰(zhàn)略舉措之首(另外兩個是全球化和服務(wù)業(yè)),在公司全面推行六西格瑪?shù)牧鞒套兏锓椒ā6鞲瘳斠仓饾u從一種質(zhì)量管理方法變成了一個高度有效的企業(yè)流程設(shè)計、改造和優(yōu)化技術(shù),繼而成為世界上追求管理卓越性的企業(yè)最為重要的戰(zhàn)略舉措,這些公司迅速運用六西格瑪?shù)墓芾硭枷胗谄髽I(yè)管理的各個方面,為組織在全球化、信息化的競爭環(huán)境中處于不敗之地建立了堅實的管理和領(lǐng)導(dǎo)基礎(chǔ)。?


    二、6sigma管理的發(fā)展?

    繼摩托羅拉、德儀、聯(lián)信/霍尼維爾、通用電氣等先驅(qū)之后,幾乎所有的財富500強的制造型企業(yè)都陸續(xù)開始實施六西格瑪管理戰(zhàn)略。值得注意的是,一直在質(zhì)量領(lǐng)域領(lǐng)先全球的日本企業(yè)也在九十年代后期紛紛加入實施六西格瑪?shù)男辛校@其中包括索尼、東芝、本田等。韓國的三星、LG也開始了向六西格瑪進軍的旅程。

    另一值得注意的現(xiàn)象是自通用電氣之后,所有公司都將六西格瑪戰(zhàn)略應(yīng)用于組織的全部業(yè)務(wù)流程的優(yōu)化,而不僅僅局限于制造流程。更有越來越多的服務(wù)性企業(yè),如美國最大的花旗銀行、全球最大的B2C網(wǎng)站公司Amazon.com等也成功的采用六西格瑪戰(zhàn)略來提高服務(wù)質(zhì)量、維護高的客戶忠誠度,所以六西格瑪已不再是一種單純的、面向制造性業(yè)務(wù)流程的質(zhì)量管理方法,同時也是一種有效的提高服務(wù)性業(yè)務(wù)流程的管理方法和戰(zhàn)略。更有一些政府機構(gòu)也開始采用六西格瑪?shù)姆椒▉砀纳普?wù)。

    目前,美國公司的平均水平已從十年前的三西格瑪上下提高到了接近五西格瑪?shù)某潭龋毡緞t已超過了5.5西格瑪?shù)乃健?梢院敛豢鋸埖恼f西格瑪水平已成為衡量一個國家綜合實力與競爭力的最有效的指標(biāo)。?



    【關(guān)于6sigma管理的含義】?

    一、何謂6sigma?

    6Sigma的概念最早由摩托羅拉提出,推行六西格瑪之后的摩托羅拉,產(chǎn)生巨大的蛻變,在品質(zhì)方面超越當(dāng)時的日本。但是,讓六西格瑪在短短幾年內(nèi),成為許多世界級企業(yè)爭相投入,作為降低成本、提高競爭力最大妙方的最大功臣,則是美國通用公司的杰克·韋爾奇。?

    Sigma(中文譯名‘西格瑪’)是希臘字母σ的中文譯音,統(tǒng)計學(xué)上用來表示“標(biāo)準(zhǔn)偏差”,即數(shù)據(jù)的分散程度。6sigma即意為“6倍標(biāo)準(zhǔn)偏差”。
    ?
    在質(zhì)量上,6Sigma表示每百萬個產(chǎn)品的不良品率(PPM)不大于3.4,意味著每一百萬個產(chǎn)品中最多只有3.4個不合格品,即合格率是99.99966%。在整個企業(yè)流程中,6Sigma是指每百萬個機會當(dāng)中缺陷率或失誤率不大于3.4,這些缺陷或失誤包括產(chǎn)品本身以及采購、研發(fā)、產(chǎn)品生產(chǎn)的流程、包裝、庫存、運輸、交貨期、維修、系統(tǒng)故障、服務(wù)、市場、財務(wù)、人事、不可抗力……等等。流程的長期西格瑪值與不良品率有如下關(guān)系:?
    不良品率合格率(%)西格瑪值?
    3.499.999666?
    23099.9775?
    620099.384?
    6680093.323?


    【事例】

    舉一個航空公司的例子,如果某一航班的預(yù)計到達時間是下午五點,由于各種原因,真正在五點準(zhǔn)時到達的情況是極少的。假如我們允許在五點半之前到達都算準(zhǔn)點到達,一年里該航班共運營了200次,顯然到達時間是個變量。如果其中的55次超過五點半到達,從質(zhì)量管理的角度來說,這就是不良品,所以航空公司這一航班的合格品率為72.5%,大約為2.1個西格瑪。如果該航班的準(zhǔn)點率達到六西格瑪,這意味著每一百萬次飛行中僅有3.4次超過五點半到達,如果該航班每天運行一次,這相當(dāng)于每805年才出現(xiàn)一次晚點到達的現(xiàn)象。所以六西格瑪?shù)臉I(yè)務(wù)流程幾乎是完美的。對于制造性業(yè)務(wù)流程來說,在有均值漂移1.5σ的情況下六西格瑪意味著每一百萬次加工只有3.4個不良品。這個水平也叫做流程的長期的西格瑪值。?


    二、何謂6sigma管理?

    6sigma管理即要求企業(yè)在整個流程中(而不僅限于產(chǎn)品質(zhì)量),每百萬個機會中的缺陷率少于3.4,這對企業(yè)來說是一個很高的目標(biāo)。?

    隨著將近二十年來的應(yīng)用發(fā)展,六西格瑪已由原先摩托羅拉創(chuàng)建成型的質(zhì)量管理戰(zhàn)略上升到了一整套系統(tǒng)的使公司達到世界級的質(zhì)量和競爭力的管理策略和技術(shù)手段。其實理解6Sigma不需要很深的統(tǒng)計學(xué)技術(shù)或背景,事實上,“6Sigma是什么”能以各種不同的方式回答。如果概括地回答的話,可以說6Sigma管理是:“尋求同時增加顧客滿意和企業(yè)經(jīng)濟增長的經(jīng)營戰(zhàn)略途徑。”即:?
    ◆在提高顧客滿意程度的同時降低經(jīng)營成本和周期的過程革新方法;?
    ◆通過提高組織核心過程的運行質(zhì)量,進而提升企業(yè)贏利能力的管理方式;?
    ◆在新經(jīng)濟環(huán)境下企業(yè)獲得競爭力和持續(xù)發(fā)展能力的經(jīng)營策略。?

    在這里我們將簡潔、條理地定義6Sigma為:?
    1、衡量企業(yè)產(chǎn)品質(zhì)量、整體運作流程質(zhì)量及整體競爭力水平的方法;?
    2、改進企業(yè)產(chǎn)品質(zhì)量、整體運作流程質(zhì)量及提升核心競爭力的方法;?
    3、真正實現(xiàn)卓越業(yè)績和持續(xù)領(lǐng)先的管理哲學(xué)和方法論。?

    6sigma管理的核心理念實際上不僅是一個質(zhì)量上的標(biāo)準(zhǔn),它更代表著一種全新的管理理念,即要企業(yè)改變過去那種“我一直都這樣做,而且做得很好”的思想,因為盡管過去確實已經(jīng)做得很好,但是離6sigma管理的目標(biāo)還差得很遠。?


    三、受益于6sigma管理的企業(yè)和組織?

    摩托羅拉公司在1986年率先提出6sigma管理模式并在企業(yè)中推行。自從采取6sigma管理后,該公司平均每年提高生產(chǎn)率12.3%,因質(zhì)量缺陷造成的損失減少了84%,摩托羅拉公司因此取得了巨大的成功,成為世界著名跨國公司,并于1998年獲得美國鮑德里奇國家質(zhì)量管理獎。美國通用電氣公司(GE)自1995年推行6sigma管理模式以來,由此所產(chǎn)生的效益每年呈加速度遞增:每年節(jié)省的成本為1997年3億美元、1998年7.5億美元、1999年15億美元;利潤率從1995年的13.6%提升到1998年的16.7%。?

    6sigma的最大受益組織之一通用公司的前CEO杰克·韋爾奇曾評價說:“6sigma是GE公司歷史上最重要、最有價值、最贏利的事業(yè)。我們的目標(biāo)是成為一個6sigma公司,這將意味著公司的產(chǎn)品、服務(wù)、交易零缺陷。”……“6Sigma是管理工具中最強有力的、最有突破性的,它適用于名種公司用來增加市場份額、降低成本及提高利益率底線。”……“六個西格瑪所包含的中心思想是,在一個過程中您能否測量出有多少‘缺陷’,以及您能否系統(tǒng)地找出消除它們的方式,并盡可能地接近‘零缺陷’。六個西格瑪已經(jīng)改變了通用電氣公司的遺傳基因——現(xiàn)在,它貫穿我們所做的每一件事情,融入我們設(shè)計的每一件產(chǎn)品,成為了我們的運作方式。”?

    6sigma管理已成功地應(yīng)用于許多世界著名的大公司和組織,如摩托羅拉-1987、德州儀器-1988、ABB-1993、霍尼韋爾-1994、通用電氣-1995、科達-1995、西屋-1996、西門子-1997、諾基亞-1997、索尼-1997、花旗銀行-1999、Amazon.com-1999、東芝-2001、三星、LG。國內(nèi)企業(yè)如:聯(lián)想電腦、鹽田國際、海南航空、上海中遠、上海寶鋼股份、美的空調(diào)、江蘇小天鵝、中國移動、咸陽彩虹……?


    【關(guān)于實施6sigma管理的必然性】?

    一、實施6sigma的目的?

    事實上,企業(yè)組織和管理者實施任何業(yè)務(wù)改進的目的只能是,也必須是:“獲利和持續(xù)獲利”以及“成功和持續(xù)成功”。?

    隨著我國加入WTO和世界經(jīng)濟的進步放緩,中國企業(yè)和企業(yè)管理者所面臨的最具挑戰(zhàn)性的問題已不是“如何成功”,而是“如何持續(xù)成功”。六西格瑪管理不但告訴我們怎樣獲得成功,而且可以幫助我們獲得保持持續(xù)發(fā)展的核心能力。?

    人才是企業(yè)適應(yīng)變革和競爭的核心力量。六西格瑪不僅為企業(yè)提供必須的管理工具和操作技巧,更為企業(yè)培養(yǎng)具備組織能力、激勵能力、項目管理技術(shù)和數(shù)理統(tǒng)計診斷能力的領(lǐng)導(dǎo)者。這些將幫助企業(yè)降低質(zhì)量缺陷和服務(wù)偏差并保持持久性的效益,促進快速突破性績效。?


    二、實施的必然性?

    質(zhì)量水平意味著什么?
    一個組織在接觸而甚至不是考慮是否實施6Sigma之前,首先讓我們來看一下真正的質(zhì)量水平意味著什么。?

    在過去的半個世紀(jì)中,普遍存在的3σ質(zhì)量水平不再為人們所接受了。?
    事實上,我國的大多數(shù)企業(yè)運作在3—3.5個西格瑪?shù)乃剑@意味著每百萬個機會中已經(jīng)產(chǎn)生10000至66800個缺陷,對應(yīng)合格率為93.3%—96%。從企業(yè)內(nèi)部的效率與成本來看,所有的不良品要么成為廢品,要么需要返工或在客戶現(xiàn)場維修、調(diào)換,這些都是企業(yè)的成本。美國的統(tǒng)計資料表明,一個3西格瑪?shù)墓局苯优c質(zhì)量問題有關(guān)的成本占其銷售收入的15%—30%!而從另一方面看,一個六西格瑪水平的公司僅需耗費年銷售額的1.5%來矯正失誤。所以提高公司的綜合質(zhì)量水平對于公司的盈利性有直接的好處。當(dāng)然,最為重要的是高質(zhì)量、穩(wěn)定的業(yè)務(wù)流程是提高客戶滿意度的根本要素。?

    對一個3西格瑪水平的企業(yè)來說,提高一個西格瑪水平可獲得下述收益:?
    利潤率增長20%?
    產(chǎn)出能力提高12%—18%?
    減少勞動力12%?
    資本投入減少10%—30%?

    那么為什么要追求六西格瑪?停留在4或5西格瑪行不行?畢竟這已是超過99%的“好”了。用中國郵政的統(tǒng)計資料,如果信件的處理達到99%(3.8西格瑪)的準(zhǔn)確投遞率,這表明約每小時要投錯或丟失郵件數(shù)超過9500件,六西格瑪意味著這一數(shù)字將降到3.4。?

    可見六西格瑪并不是不現(xiàn)實的標(biāo)準(zhǔn)。從市場環(huán)境來看,世界經(jīng)濟一體化加劇了公司間的競爭,一個停留在3、4或5西格瑪?shù)墓臼菬o法與一個六西格瑪?shù)墓靖偁幍摹遗c國家之間的競爭最終體現(xiàn)在綜合實力方面的競爭。很顯然的,一個只有不到3西格瑪?shù)膰遥鋬?nèi)部有大量的資源浪費、憤怒的消費者、在國際市場上缺乏競爭力的產(chǎn)品,等等,在新的世界經(jīng)濟中將很難與一個具有4、5、甚至6西格瑪?shù)膰纫惠^高下。因此,六西格瑪管理是一個追求世界級水平的質(zhì)量評價過程,近年來已經(jīng)引起了全球質(zhì)量界的高度重視。?

    ◆什么都不做意味著什么?
    我們不得不說明這個問題:“六西格瑪真的值得做嗎?”對應(yīng)的另一個方面的問題是:“如果我們不做六西格瑪會付出什么成本?與什么都不做的成本有多大區(qū)別?”?

    “什么都不做”這一選擇對于某個組織而言,可能是正確的選擇,然而組織需要在比較什么都不做的成本與做一些的成本之后再做這個決策。?

    如果組織現(xiàn)有的任何一個競爭對手或新的競爭對手,在行業(yè)內(nèi)或組織的細分市場上達到六西格瑪質(zhì)量水平,組織獲利的日子可能為數(shù)不多了。六西格瑪可以帶來大幅度改進過去質(zhì)量水平的行動命令,并能從根本上改變組織的市場地位。一旦行業(yè)內(nèi)某個組織成功地實施并堅持了六西格瑪經(jīng)營戰(zhàn)略,成為并保持業(yè)界領(lǐng)導(dǎo)地位的方法則是比競爭對手更明智地實施六西格瑪。?

    杰克·韋爾奇很早就意識到人類對于品質(zhì)的要求越來越高,他認為企業(yè)應(yīng)該趁著還在賺錢的時候,將成本投注在品質(zhì)的改善上,而不是等到面臨困境,才來尋求改善。于是在1996年開始推動六個西格瑪,強調(diào)“從流程改造入手”的六個西格瑪,使得通用一年獲利增加7億5千萬美元,并大幅降低了成本,因此引起全球注意。?

    重要的問題不是組織是否實施,而是何時、以何種方式實施六西格瑪經(jīng)營戰(zhàn)略。?


    【關(guān)于實施6sigma管理的收益】?

    一、組織能得到的收益?

    事實上,我們所有人能達成共識的、毫無疑義的一點是:“任何一項管理模式,不管它在理論上有多大的創(chuàng)新和理論價值,如果它不能給企業(yè)帶來實際的收益,那它也將是毫無意義的。”而6sigma管理正是保持企業(yè)在經(jīng)營上的成功并將其經(jīng)營業(yè)績最大化的管理模式,它能給企業(yè)帶來快速的增長及可觀的收益。一般來說,經(jīng)營業(yè)績的改善包括以下部分:?
    ◆投資利潤率的提高;?
    ◆市場占有率的提高;?
    ◆顧客滿意率的提升;?
    ◆營運成本的降低;?
    ◆產(chǎn)品和資金周轉(zhuǎn)時間的縮短;?
    ◆缺陷率的降低;?
    ◆產(chǎn)品開發(fā)加快;?
    ◆企業(yè)文化的改變等等。?

    推動6Sigma活動,你可以做到:?
    ◆節(jié)約成本增加利潤;?
    ◆提高生產(chǎn)力;?
    ◆擴大市場占有率;?
    ◆留住顧客;?
    ◆縮短周期;?
    ◆減少誤差;?
    ◆改變文化;?
    ◆開發(fā)產(chǎn)品和服務(wù)其他好處等。?


    二、支持收益的原因?

    為什么6Sigma管理能給組織帶來如此明顯的利益收獲?為什么6Sigma管理表現(xiàn)出強勁的發(fā)展勁頭,成為企業(yè)組織在新經(jīng)濟環(huán)境下獲得競爭力的重要手段呢?歸納起來可以有三個方面的原因:?

    第一,關(guān)注底線結(jié)果。底線是指企業(yè)在一段時間內(nèi)的凈收益或利潤。在六西格瑪管理中,它是由改進顧客滿意程度和過程業(yè)績而實現(xiàn)了。通過對核心業(yè)務(wù)流程實施六西格瑪項目并達到預(yù)期的目標(biāo),是六西格瑪管理方法的核心部分。六西格瑪項目的目標(biāo)是增加底線的結(jié)果,所有六西格瑪項目必須要達到增加底線結(jié)果,而取得底線結(jié)果正是企業(yè)最高管理者最為關(guān)注的,并因此會更加投入其中。?

    第二,六西格瑪管理綜合了技術(shù)方法與人文因素等有關(guān)企業(yè)過程改進的所有要素。而對以往的質(zhì)量改進方法來說,雖然強調(diào)了其中的一些要素,但沒有像六西格瑪管理那樣將這些因素系統(tǒng)地整合起來。而這些要素對于效益的產(chǎn)生十分重要的。?

    第三,將改進工具方法與專業(yè)化的改進過程相聯(lián)結(jié)。將人力資源的培育、授權(quán)與專業(yè)化的過程改進方法相聯(lián)結(jié),將管理職責(zé)及團隊工作與專業(yè)化的過程改進方法相連結(jié),使專業(yè)化的改進過程成為企業(yè)經(jīng)營活動不可缺少的部分。
    ?

    三、組織收益的增長趨勢?

    根據(jù)麥肯錫公司的調(diào)查和研究表明,一個3sigma企業(yè)只要組織其現(xiàn)有資源進行核心業(yè)務(wù)流程改進,如果每年可以提高一個sigma水平,那么每年可以獲得以下收益:利潤率增加20%;產(chǎn)能提高12-18%;雇員減少12%;資本投入減少10-30%,而且直至提升到4.8sigma企業(yè)均無須大的資本投入,當(dāng)達到4.8sigma時,再提高到6sigma則需要增加投入,但此時產(chǎn)品的競爭力已大幅提高,市場占有率極高,給企業(yè)帶來的利潤將遠遠大于此時的投入。GE、摩托羅拉、杜邦、福特、美國快遞、聯(lián)信、聯(lián)想等公司實施6sigma管理取得的巨大成功就是最好的證明。
    ?

    【關(guān)于中國企業(yè)與6sigma管理】?

    一、國內(nèi)企業(yè)目前面臨的現(xiàn)狀?

    經(jīng)過近二十年的改革開放,尤其是市場經(jīng)濟的逐步完善,中國的企業(yè)開始了對各種管理思想和方法的實踐,其中不乏成功有效的例子。但是,中國企業(yè)由于宏觀政策、制度和人的關(guān)系等原因,并沒有在管理,特別是在企業(yè)運營方面取得大的成效和突破。內(nèi)部管理在很大程度上還停留在作為一門藝術(shù)的階段,盡管一些高級的質(zhì)量方法和過程也有局部的應(yīng)用,但是質(zhì)量檢查仍然是制造業(yè)的質(zhì)量管理的主要內(nèi)容。而整個服務(wù)性行業(yè)的企業(yè)則完全處在憑經(jīng)驗、人員態(tài)度或由信息系統(tǒng)來保障服務(wù)質(zhì)量的階段,沒有一個科學(xué)、系統(tǒng)的保證服務(wù)、產(chǎn)品質(zhì)量的方法。?

    中國企業(yè)亟需形成一個追求管理卓越、實現(xiàn)完美流程的企業(yè)文化。?
    更多的我們國內(nèi)企業(yè)的現(xiàn)狀描述不需贅言,下面列出來的總結(jié)大多數(shù)‘差不多’企業(yè)和先進企業(yè)管理特點對比的表格也許能給我們提供些什么。?


    二、六西格瑪管理與中國企業(yè)?

    六西格瑪隨著外資的引進已在中國這塊文明之地播種,在通用電氣、摩托羅拉、聯(lián)信和柯達等世界級大公司的中國合資企業(yè)中,六西格瑪已成為其企業(yè)文化的一部分。例如,從事軟件生產(chǎn)的希捷技術(shù)公司,三年多來一直在中國使用六西格瑪模式并且對其大加贊賞。人們普遍認為六西格瑪模式將有助于中國參與國際市場競爭,使他們爭取更多的市場份額和削減制造成本。然而由于六西格瑪作為企業(yè)成功的競爭優(yōu)勢之一,企業(yè)間不愿過多公司宣傳或交流這方面的經(jīng)驗和具體實施細節(jié),使得六西格瑪在中國一直披著一層神秘的面紗。?

    在這種情況下,國內(nèi)企業(yè)唯一的選擇就是迎頭趕上,盡快開展六西格瑪?shù)膶W(xué)習(xí)和實施,以爭取在新一輪的競爭中立于不敗之地,并成長壯大。?

    目前,六西格瑪在中國企業(yè)中的認知度是非常低的。只有極少部分管理者和學(xué)術(shù)界對此有些認識或較有深度的研究。業(yè)界僅有屈指可數(shù)的幾家公司能提供有限的和有意義的培訓(xùn),至于能提供六西格瑪?shù)娜膛嘤?xùn)和實施咨詢的則更是鳳毛麟角。這主要是因為六西格瑪咨詢服務(wù)與一般的咨詢服務(wù)的最大的區(qū)別在于咨詢師必須具備實際的實施經(jīng)驗,并至少在黑帶大師以上。而那種靠新鮮的MBA來提供服務(wù)的咨詢公司是無法滿足要求的。除了跨國公司以外,國內(nèi)的企業(yè)真正全面實施六西格瑪管理戰(zhàn)略的也極少。可以預(yù)見,在相當(dāng)長的時間內(nèi),知識與技能的匱乏將是中國企業(yè)實施六西格瑪管理戰(zhàn)略的最大障礙。?

    除了企業(yè)傳統(tǒng)、管理制度和市場方面的原因外,六西格瑪戰(zhàn)略在中國的實施還面臨一個非常大的挑戰(zhàn),即人才與知識的準(zhǔn)備不足。因此,專家稱,中國企業(yè)能否成功實施六西格瑪管理戰(zhàn)略,關(guān)鍵在于組織的最高決策層是否堅持不懈。?

    專家同時警告,必須防止把六西格瑪管理實施當(dāng)成又一個質(zhì)量認證。六西格瑪管理實施應(yīng)該著眼于流程能力、產(chǎn)品質(zhì)量或客戶忠誠度的突破性提高。任何試圖把六西格瑪管理實施當(dāng)成一個品牌、宣傳或認證的手段是浪費資源,并不會取得任何實質(zhì)性的管理變革。許多失敗的例子業(yè)已證明了這點。?


    【關(guān)于如何實施6sigma管理】?

    目前,業(yè)界對6sigma管理的實施方法還沒有一個統(tǒng)一的標(biāo)準(zhǔn)。大致上可以摩托羅拉公司提出并取得成功的“七步驟法”(Seven-StepMethod)作為參考。“七步驟法”的內(nèi)容如下:?

    1、找問題(Selectaproblemanddescribeitclearly)把要改善的問題找出來,當(dāng)目標(biāo)鎖定后便召集有關(guān)員工,成為改善的主力,并選出首領(lǐng),作為改善責(zé)任人,跟著便制定時間表跟進。?
    2、研究現(xiàn)時生產(chǎn)方法(StudythePresentSystem)收集現(xiàn)時生產(chǎn)方法的數(shù)據(jù),并作整理。?
    3、找出各種原因(IdentifyPossiblecauses)集合有經(jīng)驗的員工,利用腦力風(fēng)暴法(Brainstorming)、控制圖(Controlchart)和魚骨圖(Causeandeffectdiagram),找出每一個可能發(fā)生問題的原因。?
    4、計劃及制定解決方法(Planandimplementasolution)再利用有經(jīng)驗的員工和技術(shù)人才,通過各種檢驗方法,找出各解決方法,當(dāng)方法設(shè)計完成后,便立即實行。?
    5、檢查效果(Evaluateeffects)通過數(shù)據(jù)收集、分析、檢查其解決方法是否有效和達到什么效果。?
    6、把有效方法制度法(Standardizeanyeffectivesolutions)當(dāng)方法證明有效后,便制定為工作守則,各員工必須遵守。?
    7、檢討成效并發(fā)展新目標(biāo)(Reflectonprocessanddevelopfutureplans)當(dāng)以上問題解決后,總結(jié)其成效,并制定解決其它問題的方案。?


    【關(guān)于實施6sigma的經(jīng)驗教訓(xùn)】?

    現(xiàn)在學(xué)習(xí)和推動六西格瑪?shù)臒岢闭谖覈Y企業(yè)或部分國有大中型企業(yè)中掀起。越來越多的企業(yè)開始關(guān)注6西格瑪,而有些企業(yè)則處在觀望中。無論如何這對提高企業(yè)的質(zhì)量和競爭力是有好處的。但是應(yīng)該看到,企業(yè)的高層領(lǐng)導(dǎo)在決定推進六西格瑪之前必須對六西格瑪有一定的了解和必要的思想準(zhǔn)備。因為任何改進活動的進行都不會是一帆風(fēng)順的,尤其是六西格瑪具有自上而下的特點,高層領(lǐng)導(dǎo)是否有徹底執(zhí)行六西格瑪?shù)臎Q心,對成功與否至關(guān)重要。在已經(jīng)推行六西格瑪?shù)钠髽I(yè)中,有哪些成功或失敗的教訓(xùn)呢??

    1、缺少激勵機制?
    企業(yè)培養(yǎng)出來的合格黑帶需要很高的成本,如果充分利用他們的知識和才能,可以為企業(yè)帶來非常可觀的效益。尤其在我國目前的狀況下,六西格瑪專業(yè)人才奇缺,所以企業(yè)的人力資源部門應(yīng)為他們合理地規(guī)劃發(fā)展前景并制定合理的激勵機制。如果企業(yè)培養(yǎng)了很多黑帶,然而他們沒有得到充分的重視或重用,使他們看不到希望,人才流失就會成為嚴重問題。?

    2、評審與授權(quán)不足?
    實施六西格瑪不是喊口號或者搞運動,需要實際的效果。僅僅培訓(xùn)了人員和選擇了項目是遠遠不夠的。在項目執(zhí)行過程中,BB、GB們會遇到許多問題。比如缺少時間、缺少資金投入、缺少其他部門的配合、缺乏工具和方法的指導(dǎo)、沒有得到主管領(lǐng)導(dǎo)的充分支持、改善措施受到流程使用者的抵制而無法實施等。因此需要足夠的授權(quán)、監(jiān)督跟蹤和指導(dǎo)。否則虎頭蛇尾甚至一無所獲的現(xiàn)象是在所難免的。這樣的經(jīng)驗教訓(xùn)已經(jīng)很多。評審工作應(yīng)該是由Champion來完成的。沒有不成功的BB、GB,只有不成功的Champion。?

    3、推動與拉動?
    根據(jù)現(xiàn)代科學(xué)的管理方法,要求將公司的整體經(jīng)營目標(biāo)分解到各個部門,進而具體到每個人,即目標(biāo)管理,以此作為績效考核及晉升的依據(jù)。反過來說,每個人和每個部門的績效指標(biāo)都達到要求,公司的整體經(jīng)營目標(biāo)就能完成。為了完成這些指標(biāo),往往就需要有科學(xué)的、開拓創(chuàng)新的方法,將流程合理化,提高效率,降低成本。以這種需求拉動六西格瑪實施才能將被動執(zhí)行變成積極主動的行為。否則靠以往推動某項活動或運動的傳統(tǒng)方法只能作表面文章?

    4、財務(wù)支持?
    六西格瑪活動的開展需要財務(wù)部門的大力支持。無論在項目的選擇還是結(jié)束過程都需要財務(wù)方面對項目經(jīng)濟效果客觀的評估。效益評估容易產(chǎn)生兩種誤區(qū):過于苛刻或過于寬松。?
    評估過于苛刻的危害是改善效果得不到體現(xiàn)和承認,打擊了BB、GB的改善活動積極性,使他們沒有成就感,失去持續(xù)改善的動力。過于寬松的結(jié)果是片面夸大六西格瑪?shù)男Чフ鎸嵭浴4送猓攧?wù)評估的及時性也很關(guān)鍵。在項目選擇初期如果沒有得到經(jīng)濟效果的確認,改善后期可能會發(fā)現(xiàn)BB、GB們歷盡辛苦改善的項目幾乎沒有任何經(jīng)濟效果,白白浪費了人力、物力和財力資源。?

    5、形式主義或者僅僅使用六西格瑪?shù)囊恍┕ぞ?/strong>?
    目前很多企業(yè)的CEO們都認識到改革的重要性,也聽說過六西格瑪方法在GE公司得到很好地發(fā)揮和運用,并獲得成功,它能幫助企業(yè)達到突破性的效果,于是當(dāng)作又一次質(zhì)量運動,跟風(fēng)似地上了六西格瑪。但是由于對六西格瑪理念和推進方法缺乏必要的認識,六西格瑪活動成為質(zhì)量部門的工作,針對局部的問題用六西格瑪工具進行改善。結(jié)果發(fā)現(xiàn)效果遠遠不及當(dāng)初想象中的那么好,于是認為六西格瑪不適合自己公司,又在追尋另一條途徑。?

    6、來自部門間的壁壘或人為的抵觸?
    眾所周知,六西格瑪?shù)膶嵤┎粌H局限于質(zhì)量部門,而是自上而下,在整個企業(yè)范圍推動的活動。任何變革都不會是一帆風(fēng)順的,因為常常會觸及到個別人的利益,比如工作的舒適程度降低、工作量和難易度增加等等。并且變革會逐漸打破部門間的壁壘,更多的橫向聯(lián)合使流程更趨于合理。然而一些人為的障礙和抵觸會時有發(fā)生,提高人員的認識,強調(diào)改革的目的性變得更重要了。?

    7、開源與節(jié)流并存?
    六西格瑪活動的另一個誤區(qū)是只關(guān)注‘節(jié)流’,而忽視了‘開源’。眾所周知,六西格瑪要提高產(chǎn)品或服務(wù)的質(zhì)量。受傳統(tǒng)的質(zhì)量管理思想影響,人們通常認為提高質(zhì)量的同時必然會使成本增加,為了找質(zhì)量與成本的平衡點,無須追求6SIGMA,3SIGMA或許正合適。這種觀點在現(xiàn)在看來是非常落后和不具有競爭力的。事實上隨著產(chǎn)品或服務(wù)變差的減少,質(zhì)量成本COPQ會大幅度地下降,因為廢品、返工、檢驗等非增值部分都降低了。退一步說,即使有一些資金的投入,如果能夠帶來更多的效益,遠遠超過初期投入,又何必固守‘節(jié)流’呢??

    8、必要的投資?
    六西格瑪是科學(xué)和嚴謹?shù)姆椒ǎ诹鞒谈纳品椒ㄕ摰耐瑫r,運用了大量統(tǒng)計工具。不大可能“自學(xué)成才”,在活動初期借助專業(yè)咨詢公司的幫助是必要的。這是一項高回報率的投資項目。關(guān)鍵問題是如何選擇專業(yè)的咨詢機構(gòu)。?


    【關(guān)于實施6sigma管理的關(guān)鍵驅(qū)動因素】?

    六西格瑪取得極大的成功,還是慘重的失敗,取決于它如何通過企業(yè)的體系架構(gòu)來實施。創(chuàng)建一個成功的六西格瑪體系架構(gòu)是一個不斷前進的過程,其目標(biāo)是將一種質(zhì)量意識灌輸?shù)矫總€員工的日常工作方式之中。因組織的文化和經(jīng)營戰(zhàn)略目標(biāo)不同,各組織間的體系架構(gòu)有著極大的區(qū)別。每個組織所創(chuàng)建的體系架構(gòu)是獨一無二的,然而,每個成功的體系架構(gòu)的創(chuàng)建過程有其共同的因素。?

    這些共同的因素包括成功實施六西格瑪?shù)年P(guān)鍵驅(qū)動因素和關(guān)鍵的結(jié)果事項。如果各個關(guān)鍵驅(qū)動因素解決了,關(guān)鍵事項也就實現(xiàn)了,那么六西格瑪管理就成功實施了。這些關(guān)鍵驅(qū)動因素按重要性從高到低的順序排列如下:?
    ◆主管人員領(lǐng)導(dǎo);?
    ◆以顧客為關(guān)注焦點;?
    ◆戰(zhàn)略目標(biāo);?
    ◆項目選擇;?
    ◆培訓(xùn)與執(zhí)行;?
    ◆資源;?
    ◆黑帶人員的選擇;?
    ◆測量指標(biāo)及反饋;?
    ◆文化;?
    ◆溝通;?
    ◆計劃;?
    ◆結(jié)果。?


    【關(guān)于6sigma管理與其他管理方法、體系、思想的關(guān)系】?

    隨著競爭日益殘酷,組織在降低成本和增加產(chǎn)出的同時,在改進質(zhì)量和顧客滿意度方面,面臨更大的壓力。在擁有的可用資源越來越少的情況下,這成為一種更加艱巨的挑戰(zhàn)。面對這些挑戰(zhàn),如果組織能夠明智地實施六西格瑪,它可以幫助組織學(xué)習(xí)并出類拔萃。?

    從高層主管人員那里,我們經(jīng)常聽到的一個問題是:“六西格瑪如何與其他的組織創(chuàng)新相匹配?”我們認為,不應(yīng)該認為六西格瑪不過是另一種創(chuàng)新,而應(yīng)該在更高層將六西格瑪與其他計劃或創(chuàng)新整合起來,作為整個經(jīng)營戰(zhàn)略的一部分。六西格瑪不應(yīng)該取代其他創(chuàng)新,而是提供一種戰(zhàn)術(shù)性方法論,以確定在特定的情景、過程中最好的方法。?

    大家常關(guān)心的有:?
    ◆六西格瑪與全面質(zhì)量管理(TQM)的關(guān)系;?
    ◆六西格瑪與精益制造/精益思想的關(guān)系;?
    ◆六西格瑪與BPR、ERP、MRP(Ⅱ)的關(guān)系?
    ◆六西格瑪和ISO9000的關(guān)系?
    ◆六西格瑪與企業(yè)現(xiàn)行質(zhì)量控制系統(tǒng)的關(guān)系?

    ?
    posted @ 2006-04-30 09:36 崛起的程序員 閱讀(431) | 評論 (0)編輯 收藏

    web2.0定義是什么?
      
      web2.0定義是什么?這是一個簡單直接但又是最核心的問題,討論web2.0的文章層出不窮,內(nèi)容包括如何實現(xiàn)web2.0, web2.0如何盈利, web2.0如何擊敗web1.0等。但沒有多少人愿意討論web2.0的定義,也沒有多少人討論web2.0已有的定義存在什么問題。沒有清晰理性的定義,我們的討論就像唐吉珂德騎著毛驢沖向他心目中的怪獸-大風(fēng)車一樣。可笑而又毫無意義。
      
      翻閱搜索引擎帶給我們關(guān)于web2.0的海量資料,找到了Blogger Don的“WEB2.0概念詮釋”,他寫道“Web2.0是以 Flickr、Craigslist、Linkedin、Tribes、Ryze、Friendster、Del.icio.us、43Things.com等網(wǎng)站為代表,以Blog、TAG、SNS、RSS、wiki等社會軟件的應(yīng)用為核心,依據(jù)六度分隔、xml、ajax等新理論和技術(shù)實現(xiàn)的互聯(lián)網(wǎng)新一代模式。” 這個定義把一些讓人眼花繚亂的前衛(wèi)名詞和計算機專用術(shù)語堆砌在一起作為WEB2.0概念詮釋,。把應(yīng)用,協(xié)議,語言格式混雜在一起來描述WEB2.0概念。定義者要么對計算機知識一知半解,要么是企圖讓人們的感到神秘從而對其頂禮膜拜。按照其定義的方式對“國家”這個概念進行詮釋,那國家就是“以中國,法國,美國,俄羅斯,土耳其等集合體為代表,以軍隊,警察,文官系統(tǒng),議會等社會團體的應(yīng)用為核心,依照量子力學(xué),馬斯絡(luò)需求層次理論,混沌學(xué)等新理論和技術(shù)實現(xiàn)人類社會的聚集模式。“,多么荒唐的的定義
      
      一個新概念或新理論不可能從石頭里蹦出來,也不會超越我們的時代憑空想象。他必然有自己的歷史傳承。理解WEB2.0,我們要了解WEB甚至是bbs的歷史。 World Wide Web,簡稱WWW,由英國人TimBerners-Lee 1989年發(fā)明。通過WEB把互聯(lián)網(wǎng)上的資源在一個網(wǎng)頁里直觀的表示出來并通過網(wǎng)頁相互連接。在web之前,互聯(lián)網(wǎng)相當(dāng)數(shù)量的文檔資源是存放在bbs上。通過對bbs發(fā)展歷史的研究,我們發(fā)現(xiàn)web時代的內(nèi)容服務(wù)網(wǎng)站主要是從bbs的功能中演化而成。
      
      BBS誕生于70年代末,那時還沒有瀏覽器,搜索引擎,甚至沒有個人網(wǎng)站。我們在BBS上可以做四件事1。發(fā)布新聞 2。發(fā)布交易信息 3。發(fā)布個人感想,心情描述4。互動式問答 前三個功能逐漸從bbs中分離出去,發(fā)展成三個方向的網(wǎng)站----新聞類,電子商務(wù)類和博客類,這三類網(wǎng)站經(jīng)過整合逐漸成為各自的門戶。如新浪,易趣,博客中國。第四個功能互動式問答正在分離,但還沒有出現(xiàn)該領(lǐng)域的門戶網(wǎng)站。如www.ideacool.net ,新浪的愛問,小i等網(wǎng)站。我們可以把這一類網(wǎng)站模式稱之為威客模式,英文名witkey。
      
      我們應(yīng)該已注意到1。新聞類網(wǎng)站。2.電子商務(wù)類網(wǎng)站 與3。博客類 4。威客類網(wǎng)站的功能和形式上有一個明顯的鴻溝。這個鴻溝就應(yīng)該是web1.0 與web2.0的劃分界線。 新聞類網(wǎng)站和電子商務(wù)類網(wǎng)站為代表的web1.0時代是以信息接收者為中心,免費分享信息的時代。博客類和威客類網(wǎng)站為代表的web2.0時代是以信息提供者為中心。互聯(lián)網(wǎng)用戶能夠管理個人的資料和信息。通過各種途徑讓自己的智慧,知識,經(jīng)驗,技能體現(xiàn)價值。簡而言之,web2.0的定義就是提供一種平臺讓個人的智慧,知識,技能體現(xiàn)價值的一種互聯(lián)網(wǎng)新模式。這種模式的表現(xiàn)形式主要為博客類,和威客類兩種。實現(xiàn)的支撐包括互聯(lián)網(wǎng)技術(shù),信用制度,支付制度等。
      

    --------------------------------------------------------------------------------


    Web2.0的盈利點

    ?

    主要集中在威客模式上:?
      1. 威客模式面向的對象主要是有專業(yè)專長的用戶如科學(xué)家,工程師,醫(yī)生等,博客面向的是善于表達個人觀點和思想的用戶如記者,娛樂明星,專欄作家等等。
      
      2。個人的知識,技能,智慧可以體現(xiàn)價值。其中“體現(xiàn)價值”不一定指獲得經(jīng)濟利益,獲得受幫助者的贊揚,獲得公眾的認可也是體現(xiàn)價值的方式之一。但讓參與者獲得經(jīng)濟利益是威客模式的重要特點。
      
      3。個人的知識,技能,智慧可以體現(xiàn)價值,但不代表參與者一定能夠獲得收益,這要取決于其知識,技能的含金量,可以說,能力越大,收益越大。
      
      4。威客模式的建立需要實踐該模式的平臺建立信用制度,支付制度,例外處理制度等等。這些制度是否完善是該平臺能否持續(xù)發(fā)展的決定性因素。
      
      5。威客模式也是人類大腦通過互聯(lián)網(wǎng)協(xié)同工作的一種模式。
      
      6.為威客提供服務(wù)的平臺通過分享威客交易知識的收益獲取利潤。

    posted @ 2006-04-30 09:30 崛起的程序員 閱讀(218) | 評論 (0)編輯 收藏
    ????進入2004年,伴隨著各種機遇和挑戰(zhàn),中國的軟件開發(fā)仍然在摸索中前進,程序員也在不斷的學(xué)習(xí)和工作中探尋自己的未來。在這個過程中,當(dāng)然少不了各種技術(shù)和公司對他們施加的影響。跟隨誰,選擇什么路線永遠是一種充滿未知數(shù)的挑戰(zhàn)。

      談到影響,可能以微軟為首的軟件巨頭更容易被提及,畢竟開發(fā)人員所直接應(yīng)用的操作系統(tǒng)、語言、開發(fā)工具等各種技術(shù)都掌握在這些公司手中。然而,這并不能抹殺和妨礙提起國內(nèi)一些企業(yè)和人士對中國軟件開發(fā)各方面產(chǎn)生的影響。

      站在這個角度,本刊在國內(nèi)的軟件企業(yè)和個人中評選出了如下20位人士,他們對近期軟件開發(fā)產(chǎn)生了一定程度的影響。選出這些人,也是為了拋磚引玉,讓國內(nèi)的開發(fā)者更了解自己正在經(jīng)歷的變化和面臨的挑戰(zhàn)。

      在這些人員中,有些屬于早一代的程序員,他們創(chuàng)造的業(yè)績激勵了很多程序員進入軟件開發(fā)。鮑岳橋就是一個,盡管現(xiàn)在他已經(jīng)成為了聯(lián)眾的總裁,但之前從UCDOS步入輝煌,Windows時代一度面臨困境,最終憑借網(wǎng) 絡(luò)游戲 成功 轉(zhuǎn)型 ,這種以技術(shù)創(chuàng)業(yè)成功的例子對中國的程序員來說就是巨大的誘惑。

      與此同時,很多人從軟件教育方向在逐漸改變整個軟件行業(yè)的人才結(jié)構(gòu),這一說法毫不夸張。青鳥APTECH就是將印度軟件教育模式帶到中國來的典型,尤其是在中國軟件人才結(jié)構(gòu)并不合理的情況下,他們所做的工作也是有益的嘗試。

      而且,面向未來的眼光也必不可少,很多人所做的工作帶來的變化現(xiàn)在還不顯著,但對未來可能會產(chǎn)生相當(dāng)?shù)挠绊憽1热纾袊浖瞬诺呐囵B(yǎng)結(jié)構(gòu)在逐漸向國際化靠攏,軟件學(xué)院功不可沒。更為超前的是,為了探索未來中國軟件在底層技術(shù)上的引導(dǎo)性,有很多人在做努力,從Linux在中國的推廣,到科泰世紀(jì)打造自己的操作系統(tǒng)和開發(fā)平臺,盡管這些嘗試可能會失敗,但帶給我們的是經(jīng)驗和深入的思考。

      現(xiàn)在,有人說程序員面對著太多的頭緒,已經(jīng)迷失了方向。的確,是有一些人迷失了方向,但這里的20位人士能夠讓我們以更清醒的眼光看待中國的軟件開發(fā),了解我們?nèi)〉玫某煽兒兔媾R的挑戰(zhàn)。

      開國元勛

      嚴援朝

      所屬公司:新浪網(wǎng)

      入選理由:開發(fā)第一個中文操作系統(tǒng)CCDOS,參與創(chuàng)辦四通利方,掌控最大的中文網(wǎng)站新浪網(wǎng)技術(shù)總架構(gòu)。

      “做軟件就是在不斷地明確目標(biāo),就是搞清楚你的GO 是什么,所有的軟件都逃不出那三句話——IF、THEN、 ELSE。棒的程序員很快能夠知道自己的GO是什么,沒長進的程序員老也弄不清楚自己到底要干嘛,所以永遠處在 學(xué)習(xí)過程中,手里永遠拿著一本書,永遠在學(xué),永遠也學(xué)不會。”這是嚴援朝很經(jīng)典的一句話,甚至有程序員把這作為自己的座右銘。作為中國第一代程序員的象征,他如今依然負責(zé)在新浪網(wǎng)的整體技術(shù)架構(gòu)上。不知是不是嚴援朝怕別人忘記自己,不久前,從新浪網(wǎng)炮制出了兩篇文章,大談自己的一些深奧看法。其實如果單純是這種原因,應(yīng)該大可不必,因為嚴援朝在中國軟件開發(fā)史上奠定的地位無人可撼。

      求伯君

      所屬公司:金山軟件

      入選理由:軟件領(lǐng)域的常青樹,以榜樣的力量激勵眾多程序員。

      每一個聽到這個名字的程序員,都會有一種莫名的激動和敬仰。從金山成立的那一天起,公司的招聘廣告上就把求伯君作為吸引程序員加入的重要宣傳詞,由此可見求伯君在程序員中的影響力。

      不久前,我們準(zhǔn)備做“程序員的一天”的欄目,找到求伯君。他說:“做是可以,不過現(xiàn)在這些天不太適合,整天要陪著很多官員應(yīng)酬。”看來,作為董事長的求伯君也僅僅能在精神上鼓舞程序員了。據(jù)說,金山正在籌拍一部 《劍俠情緣》 的電視劇,求伯君還可能在其中飾演一位方丈。到時候,我們或許可以欣賞求伯君的影視風(fēng)采了。

      王江民

      所屬公司: 江民科技

      入選理由:38歲開始編程,挖掘了殺毒軟件的巨大市場潛力

      “38歲開始學(xué)習(xí)計算機,兩三年之內(nèi)成為中國最出色的反病毒專家之一;45歲只身一人獨闖中關(guān)村辦公司,產(chǎn)品很快占據(jù)反病毒市場的80%以上。”這些事實已經(jīng)讓我們無法忽視王江民對中國軟件開發(fā)帶來的影響力,在業(yè)內(nèi)被尊稱為老師的王江民,憑借堅持而開拓出了殺毒軟件市場,這也成為中國軟件產(chǎn)業(yè)所僅有的幾個亮點之一。盡管現(xiàn)在KV系列產(chǎn)品中早已沒有了一行他的代碼,而且在市場中的表現(xiàn)也差強人意。但毋庸置疑,KV系列讓眾多的程序員知道了王江民,而他身殘志堅的毅力和品質(zhì)也讓很多程序員面對困難和挫折時,從中得到鼓舞。

      鮑岳橋

      所屬公司:聯(lián)眾公司

      入選理由:在DOS和Windows平臺、網(wǎng)絡(luò)時代下都獲得成功的典型

      從UCDOS流行的那一天起,鮑岳橋也成為了中國無數(shù)程序員的偶像。然而,和很多程序員一樣,他也并沒有從UCDOS的成功中得到多少具體的物質(zhì)利益。接下來,Windows平臺開發(fā)的巨大沖擊到來了,網(wǎng)絡(luò)的沖擊到來了,有誰能同時抓住兩個機會?鮑岳橋無疑做了最好的注釋。鮑岳橋認為,是否掌握某項技術(shù)不是關(guān)鍵,技術(shù)這個東西完全是觸類旁通的,當(dāng)今計算機的發(fā)展如此迅速,一個人不可能掌握所有的新技術(shù),一個有經(jīng)驗的程序員應(yīng)該能夠利用自己原有的知識和經(jīng)驗,很快地掌握新技術(shù)和新知識。他與簡晶、王建華的合作也是聯(lián)眾成長中的精彩經(jīng)歷,盡管現(xiàn)在他容登總裁寶座,而簡晶和王建華離去創(chuàng)業(yè),但他們當(dāng)初的合作還讓現(xiàn)在的眾多程序員看到了初期團隊合作的成功例子。

      宮敏

      所屬公司:凝思科技

      入選理由:最早將自由軟件引入中國

      宮敏,對很多人來說,這是一個陌生的名字。但正是宮敏博士,在芬蘭參與了LINUX操作系統(tǒng)的開發(fā)與研究。后來,他用磁帶背回了20GB容量的自由軟件,形成了中國第一個自由軟件庫,被稱為是中國自由軟件界元老。

      然而,就在國內(nèi)自由軟件運動掀起狂潮時他卻全身而退,埋頭于開發(fā)和做實事去了。2000年,宮敏回國創(chuàng)辦北京凝思科技有限公司,目標(biāo)是在較短時間內(nèi)為國家相關(guān)部門提供具有完全自主知識產(chǎn)權(quán)的高性能、高安全的國產(chǎn)信息安全 高技術(shù) 產(chǎn)品。宮敏認為,自由軟件首先要重視教育,培養(yǎng)出一批有良好心態(tài)和真才實學(xué)的人。


    ????????教育先導(dǎo)

      譚浩強

      入選理由:計算機基礎(chǔ)教育

      雷軍曾經(jīng)說過:“是譚浩強讓程序員感到了寫程序就是自己的生命。”這可能是早一代程序員的感覺吧。在計算機基礎(chǔ)教育方面,譚浩強無疑擁有極高的聲望和經(jīng)驗。不過,現(xiàn)在社會已經(jīng)進入新的階段,盡管譚浩強已經(jīng)成立了工作室,并不斷出版了一系列的書籍,但真正如《Basic 語言》這樣風(fēng)行的書籍并沒有再次出現(xiàn)。

      譚浩強的書集中體現(xiàn)了中國計算機教育的特點,淺顯,作為入門級的書籍非常不錯,但一旦真正要深入下去,可能就要選擇國外那些大師級人物所寫的書籍了。這也是國內(nèi)很多程序員對譚浩強某些書籍頗有微詞的原因所在。

      然而,不管如何,時代和機遇都造就了譚浩強在中國計算機史上的地位,這一點無法抹殺。

      李開復(fù)

      所屬公司:微軟

      入選理由:創(chuàng)辦微軟亞洲研究院,在學(xué)生中影響巨大

      有人說微軟亞洲研究院現(xiàn)在很會作秀,大事小事總要通報一番,而且不時出來組織一些成果演示,或許這繼承了李開復(fù)的風(fēng)格。做過研究又在企業(yè)中多年鍛煉的經(jīng)歷使得李開復(fù)把亞洲研究院當(dāng)作企業(yè)一樣的來運作,《追隨智慧》等書籍的出版更將這種宣傳推上了頂點。但從另外一方面來看,李開復(fù)的確給國內(nèi)的計算機科學(xué)研究帶來了新的氣象,亞洲研究院的一些技術(shù)成果也對IT產(chǎn)業(yè)有著深遠的影響。同時,微軟亞洲研究院在大學(xué)中深入的各種活動使得李開復(fù)在學(xué)生中的影響力頗高。而最近《給中國學(xué)生的一封信》和《給中國學(xué)生的第二封信》都言辭懇切,引起了巨大反響。微軟給中國印象最好的地方是亞洲研究院,這也算是李開復(fù)的高明之處吧。

      陳鐘

      所屬院校:北京大學(xué)軟件學(xué)院院長

      入選理由:軟件學(xué)院的積極倡導(dǎo)和實踐者

      其實選擇陳鐘,不如說選擇了軟件學(xué)院更為恰當(dāng)。畢竟從國家重視軟件學(xué)院開始,有幾十家高等院校開始了這方面的探索。而32歲就成為博導(dǎo)的陳鐘作為北京大學(xué)軟件學(xué)院的院長,在大興開拓了新的天地,并取得了不錯的成績。

      最近,有朋友說:“以前,計算機系的學(xué)生對軟件學(xué)院很不屑一顧,認為就是一群雜牌軍。但現(xiàn)在,他們笑不起來了,軟件學(xué)院的課程配置和教學(xué)完全是按照市場的要求去進行的,他們已經(jīng)得到了市場的認可。” 當(dāng)然在這些探索中,有的學(xué)院做的并不好,但作為國家希望改變現(xiàn)在計算機人才培養(yǎng)的方式而設(shè)的試點,我們有理由期待軟件學(xué)院帶來的改變。而陳鐘將繼續(xù)在這個過程中施展自己的才華。

      楊明

      所屬公司:北大青鳥APTECH

      入選理由:將印度軟件人才培養(yǎng)模式引進中國

      印度發(fā)展軟件產(chǎn)業(yè)的成功被大肆宣揚后,吸收印度經(jīng)驗的探討逐漸風(fēng)行起來。但真正實施借鑒印度經(jīng)驗就是北大青鳥APTECH了。作為總經(jīng)理的楊明,力圖將這種模式和中國的實際情況相結(jié)合,打造出一種獨特的軟件從業(yè)人員的培訓(xùn)渠道。楊明并不喜歡別人稱他培養(yǎng)出來的是“軟件藍領(lǐng)”,因為,在他看來,通過APTECH模式培養(yǎng)的人才是幫助很多人進入IT領(lǐng)域的“金光大道”。而且,采取特許經(jīng)營這套模式也被巨額資金打造的產(chǎn)業(yè)鏈證明是可行的,因為目前已在全國建立和發(fā)展了近100家授權(quán)培訓(xùn)中心。據(jù)說,北大青鳥還將繼續(xù)投資幾個億用來擴張,無論如何,教育模式方面,楊明帶領(lǐng)的北大青鳥APTECH將會給國內(nèi)軟件業(yè)人才市場帶來相當(dāng)?shù)挠绊憽?/p>

      侯捷

      入選理由:技術(shù)寫作創(chuàng)造品牌

      侯捷深入淺出的寫作手法,給國內(nèi)枯燥的技術(shù)書籍寫作注入了一針強心劑。而且,國內(nèi)的出版公司也從侯捷身上看到了一個優(yōu)秀技術(shù)作者的市場潛力,因此將挖掘國內(nèi)優(yōu)秀作者作為重要的工作內(nèi)容。

      同時,在侯捷直接和間接的影響下,國內(nèi)一批軟件開發(fā)者看到了技術(shù)寫作的價值,開始出版技術(shù)書籍。現(xiàn)在,程序員發(fā)現(xiàn)了另外的一條可供選擇的方向:技術(shù)寫作。隨著更多的開發(fā)者參與到其中,對提升國內(nèi)開發(fā)者交流、共享技術(shù)起到了很好的促進作用。

      侯捷并不掩飾自己對財富的追求,他說:“好的作者就應(yīng)該得到好的報酬,這樣才能保證他能夠靜心研究技術(shù),再寫出更好的書來。”當(dāng)網(wǎng)上攻擊自己的帖子越來越多的時候,侯捷選擇了自己的方式,他以老師的口吻試圖來解釋自己所倡導(dǎo)的這一切。然而,他的回應(yīng)和解釋并不能排解一些人的繼續(xù)攻擊,因為網(wǎng)絡(luò)就是網(wǎng)絡(luò)。

    ???創(chuàng)新者

      王志東

      現(xiàn)屬公司:點擊科技

      入選理由:在網(wǎng)絡(luò)上取得成功后仍然鐘情軟件,投巨資做面向未來的協(xié)同軟件

      不了解王志東的人覺得他放棄了軟件,而后又被網(wǎng)絡(luò)所拋棄;但了解王志東的都知道他最鐘愛的還是軟件,而且現(xiàn)在他同時擁有了網(wǎng)絡(luò)。

      自從離開新浪之后,王志東的消息就逐漸從網(wǎng)絡(luò)上減少了。應(yīng)該說,王志東帶給我們的消息更多是互聯(lián)網(wǎng)所帶來的影響力。

      對于王志東正在做的協(xié)同軟件,很多人到現(xiàn)在也沒有完全明白。盡管國外的一些廠商正在投巨資開發(fā)協(xié)同軟件,但在國內(nèi),推廣起來還存在很多的問題。但無論如何,王志東能夠在功成名就后仍然投入資金來開發(fā)一個仍屬未知數(shù)的軟件領(lǐng)域,這種對軟件的癡情不正彪顯了開發(fā)者執(zhí)著的特質(zhì)嗎。

      周奕

      入選理由:倡導(dǎo)走向國際市場,以共享軟件掙美元的先行者。

      2001年的10月份,周奕從美國打來一個長途電話,對共享軟件在國外尋求注冊談了很多他的想法,當(dāng)時的他充滿著發(fā)現(xiàn)新大陸的喜悅,也迫切希望與國內(nèi)的程序員共同分享。隨著媒體的宣傳,“寶馬車”給程序員帶來了極大的吸引,一大批程序員、沒有畢業(yè)的學(xué)生、甚至包括剛剛學(xué)習(xí)VB兩三天的小孩子也都做起了美元夢。不過,周奕在國際上面臨的壓力也不小,一大批類似MP3 to CD的軟件不斷出現(xiàn),其中不乏其他中國程序員的作品。盡管周奕的軟件銷售量下滑,但他從來沒有后悔過這樣做。

      現(xiàn)在國際市場上有數(shù)量眾多的共享軟件,其中中國、俄羅斯和美國占據(jù)了最大的份額,一大批共享軟件作者通過這種途徑換來了豐足的生活,當(dāng)然也有另外一批人并沒有帶來所企盼的收獲。但無論如何,周奕作為“共享軟件走向國際市場”創(chuàng)始人被眾多的程序員稱為“老大”,這種影響力在中國的軟件開發(fā)史值得一書。

      陳天橋

      所屬公司:上海盛大

      入選理由:用市場的成功加速了網(wǎng)絡(luò)游戲開發(fā)的進程

      陳天橋的入選可能爭議很大,之所以堅持把他列入,完全是基于他給網(wǎng)絡(luò)游戲市場帶來的巨大沖擊。掰開手指數(shù)數(shù),中國有幾個軟件行業(yè)被如此追捧過,除財務(wù)管理軟件和殺毒軟件之外,還沒有那個軟件行業(yè)被瘋狂的關(guān)注。正是基于上海盛大為代表的公司在網(wǎng)絡(luò)游戲市場上取得的成績,才使人把目光放在了網(wǎng)絡(luò)游戲上。而且,正是盛大和韓國游戲開發(fā)商產(chǎn)生的沖突才使得自己和其他的運營商意識到了國產(chǎn)網(wǎng)絡(luò)游戲研發(fā)的重要性。網(wǎng)絡(luò)游戲程序員一時物以稀為貴,很多培訓(xùn)結(jié)構(gòu)和高校都開設(shè)了相關(guān)專業(yè),國家在這方面的政策也有了調(diào)整。以一己之力影響了網(wǎng)絡(luò)游戲開發(fā)的產(chǎn)業(yè)進程,陳天橋帶領(lǐng)盛大產(chǎn)生的影響力不可忽略。

      陳榕

      所屬公司:科泰世紀(jì)

      入選理由:打造新一代操作系統(tǒng)

      陳榕的身上散發(fā)著一股銳氣,有人說他是個天生的演講家。不過當(dāng)陳榕剛到國內(nèi)推廣其思想的時候,很多人不理解,他的情緒也會很激動。有人說他對技術(shù)研究的太深刻了,雖然提出的思想很對,但這種事情不應(yīng)該在國內(nèi)做,因為中國沒有這樣的環(huán)境。不知道陳榕如何看待這個問題。

      現(xiàn)在,美國的風(fēng)險投資已經(jīng)不易獲得,而政府對這方面的支持使陳榕找到了一個機會。能否取得市場成功盡管是陳榕所關(guān)注的,但他可能更在意將多年以來在微軟無法實現(xiàn)的一個夢在這里實現(xiàn)吧。

      然而,在微軟的.NET已經(jīng)推出,多種嵌入式操作系統(tǒng)相互爭奪的市場上,科泰世紀(jì)的操作系統(tǒng)要取得成功還面臨嚴峻的挑戰(zhàn)。不過陳榕很有信心,他用一個例子來證明:微軟很多的產(chǎn)品在1.0和2.0版本的時候都不被人看好,都是到3.0才成熟并得到市場認可的。我們也期望那一天早些到來。

      吳濤

      入選理由:易語言創(chuàng)始人

      如果說在中文語言編程上,中國有為數(shù)不多的開發(fā)者還寄托希望的話,那身處湖北省枝江市鑫源村的吳濤無疑是其中之一。這位數(shù)年前就開始做易語言的程序員遠離了喧囂的北京,毅然回家做起了中文可視化編程環(huán)境。

      在最近的版本中,吳濤建立了完全的易程序編譯器系統(tǒng),支持全編譯,可以直接將程序編譯為CPU指令碼運行,從而突破了長期以來的速度瓶頸。同時,他的商業(yè)推廣也做的不錯,從易語言支持論壇的火爆中就可以看出這點。而吳濤一直執(zhí)著在語言研究和底層編程工具的態(tài)度也是很多程序員需要學(xué)習(xí)的。盡管吳濤所做的工作不會撼動整個軟件開發(fā)的大局,但有人執(zhí)著于這樣的工作也應(yīng)該得到我們的尊敬。想一想,同樣是基于中文的出發(fā)點,為什么WPS會得到推崇,而不能容忍易語言的存在呢。


    ???個人典范

      雷軍

      現(xiàn)屬公司:金山軟件

      入選理由:從程序員向管理者成功轉(zhuǎn)型的代表

      2003年初,當(dāng)雷軍在亞運村的一個并不為人所知的酒吧中聊天,探討程序員成長和轉(zhuǎn)型的時候,雷軍曾說:“我現(xiàn)在認識到,CEO也是一種職業(yè),這個職業(yè)對我更有吸引力。對公司未來的幾年發(fā)展,我心中已經(jīng)有了一個方向,關(guān)鍵就是如何去實施和時間快慢的問題而已。”

      應(yīng)該說,媒體已經(jīng)將雷軍塑造成為了一個從程序員到管理者轉(zhuǎn)型的典型例子。然而,在這種轉(zhuǎn)變中,有誰能夠了解到雷軍當(dāng)時所面臨的壓力和風(fēng)險,如果失敗了呢?沒有人會問這個問題,也沒有人會回答它。雷軍帶領(lǐng)金山發(fā)動的紅色風(fēng)暴也將通用軟件的價格拉了下來,這也給程序員一次重新審視自己的機會。記得當(dāng)時有報道談到銘泰的程序員看到自己開發(fā)的軟件不得不以幾十元的低價銷售時,甚至哭了起來。這算不算的雷軍帶給程序員的另外一種影響呢?

      不過,現(xiàn)在雷軍作為管理者,同樣面臨著多種問題,當(dāng)網(wǎng)絡(luò)游戲火爆之后,雷軍將賭注放在了劍俠情緣網(wǎng)絡(luò)版上,有人還說雷軍精于戰(zhàn)術(shù),但戰(zhàn)略還有欠缺,這次的寶押對了嗎?不管怎樣,如果雷軍成功了,這是管理者的成功,如果他失敗了,也不過是管理者的失敗案例之一。但雷軍曾經(jīng)有過的程序員身份將永遠讓我們關(guān)注他的人生。

      丁磊

      所屬公司:網(wǎng)易

      入選理由:技術(shù)眼光抓住網(wǎng)絡(luò)時代機遇的典范

      如果告訴你中國的首富也在看《程序員》雜志,你是否相信?這可能很難想像,但事實的確如此。

      如果說網(wǎng)絡(luò)給了很多人一個機遇,包括軟件開發(fā)人員,但并不是所有人都能抓住了這個機遇,即便抓住,又很難有人把這個機遇發(fā)揮到像丁磊這樣極至。

      有人說丁磊不是一個技術(shù)人員,因為并沒有開發(fā)過哪個令其揚名的產(chǎn)品,但丁磊所具有獨到的技術(shù)眼光在轉(zhuǎn)向網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)游戲時都起到了重要作用,說丁磊屬于那種“玩技術(shù)”的更為合適。開發(fā)者如何利用各種技術(shù)挖掘到更為廣闊的商業(yè)價值,這可能就是丁磊帶給我們的啟示吧。

      張小龍

      所屬公司:博大

      入選理由:開發(fā)Foxmail和微軟的OutLook抗衡,以免費軟件一夜成名

      一個普通的程序員開發(fā)的軟件能和微軟的產(chǎn)品相抗衡,這很少見,而產(chǎn)品被巨資收購就更加是傳奇,創(chuàng)造這個傳奇的人就是張小龍。如果說互聯(lián)網(wǎng)時代的軟件只有幾個算上成功的話,F(xiàn)oxmail肯定會名列其中。

      依靠這兩點,張小龍對很多程序員產(chǎn)生的激勵就不可小視。當(dāng)然,這也是在當(dāng)時的背景下發(fā)生的傳奇,現(xiàn)在這樣的故事可能不會再次發(fā)生了。

      張小龍加盟博大任副總裁和CTO后,他現(xiàn)在的工作首先是管理和組織各個產(chǎn)品和項目開發(fā)組,其次是規(guī)劃公司的產(chǎn)品結(jié)構(gòu),公司現(xiàn)在有很多的產(chǎn)品和項目都要由他來統(tǒng)籌。這一次,團隊合作的力量將成為他再次成功的基礎(chǔ)。

      廖恒毅

      現(xiàn)屬公司:佳軟公司

      入選理由:十多年從事一線軟件開發(fā)的代表,正打造基于.NET的企業(yè)級開發(fā)平臺

      廖恒毅從不掩飾自己對微軟的喜愛。從中文之星2.0到開發(fā)基于.NET的大型企業(yè)管理軟件,他與微軟的關(guān)系密不可分。而之前曾經(jīng)在杜家濱領(lǐng)導(dǎo)下的微軟中國公司擔(dān)任開發(fā)合作部經(jīng)理的經(jīng)歷,更給他身上打下了深深的微軟烙印。盡管廖恒毅很坦率的談到,他當(dāng)時所做的工作不如現(xiàn)在的負責(zé)人,但作為一個純粹的程序員,他利用微軟技術(shù)創(chuàng)造的價值卻無人可及。從中文之星2.0的熱賣,到創(chuàng)造的拼音加加輸入法帶動了輸入法技術(shù)的創(chuàng)新都是證明,而現(xiàn)在,他用.NET構(gòu)架了佳軟公司未來超速發(fā)展的動力,他說:“今天我更關(guān)注我的技術(shù)能否給社會而不僅僅是個人帶來的價值。”

      如果有人說,微軟的技術(shù)能做什么樣的系統(tǒng)呢?廖恒毅一定會毫不遲疑的拿自己的系統(tǒng)舉例,利用創(chuàng)建的軟件平臺,一個人可以在10多天的時間中打造出一個完整的企業(yè)管理系統(tǒng),這是類似SAP和Sibel的平臺,只是現(xiàn)在中國的軟件環(huán)境并不適合其拿出來做公開的標(biāo)準(zhǔn),公司更愿意使用這套系統(tǒng)來面向最終客戶。未來,廖恒毅所創(chuàng)造的這一軟件架構(gòu)給中國企業(yè)軟件開發(fā)帶來沖擊也并非不可能。當(dāng)然,技術(shù)的領(lǐng)先并不代表市場的領(lǐng)先,這一點他也很清楚。

      廖恒毅并不習(xí)慣去公司分配給他的辦公室去辦公,他更喜歡扎在公司程序員的房子里面和大家一起工作。有次,聊程序員能做到什么時間,廖恒毅笑著說:“做了程序員,只要活著,就要一直寫程序了。”

      袁紅崗

      所屬公司:金蝶中間件公司

      入選理由:最早開發(fā)Windows上的企業(yè)應(yīng)用軟件,打造獨立知識產(chǎn)權(quán)的EJB服務(wù)器

      很多JAVA程序員對袁紅崗極其佩服,源于他做了很多人不敢想更不敢做的事情,這就是他打造了國產(chǎn)的EJB服務(wù)器,很快,金蝶將在國內(nèi)推出自主產(chǎn)權(quán)EJB服務(wù)器的3.0版本。

      同時,袁紅崗還是在Windows平臺上開發(fā)企業(yè)應(yīng)用軟件的最早的一批程序員,當(dāng)時寫出的適合小型企業(yè)使用的財務(wù)購銷存一體化軟件KINGDEE 2.7,令I(lǐng)T行業(yè)對金蝶刮目相看,使金蝶一舉成名,正是這些人才奠定了中國的管理軟件的基礎(chǔ)。

      袁紅崗將自己多年的經(jīng)驗以一種樸實的風(fēng)格寫出來,這些帖子在網(wǎng)上也影響深遠。

      后記:

      我們選擇了20位對中國軟件開發(fā)最具影響力的人,從側(cè)面也展示了中國軟件開發(fā)的脈絡(luò)。其中我們可以看到中國的軟件開發(fā)大部分以國內(nèi)市場為主,很多過去的那些軟件英雄都與中文、漢化有著千絲萬縷的聯(lián)系。正是在這種情況下,這些人取得了成功,但同時也讓國內(nèi)的開發(fā)人員將目光局限在了國內(nèi)市場上。而國內(nèi)市場的不成熟以及其他一系列原因又導(dǎo)致了無法支撐起語言和底層開發(fā)工具技術(shù)廠商的存活。

      正因為如此,我們也有一些無奈,這些人大部分都是在心理上給程序員施以影響的人,而在技術(shù)層面上能夠?qū)浖_發(fā)方向產(chǎn)生影響的很少,即便是有影響力,其影響范圍也很小。

      軟件設(shè)計方面,國內(nèi)沒有一個企業(yè)或者個人引領(lǐng)某種規(guī)范使得大家可以靠過來。在全球技術(shù)統(tǒng)一化的今天,能否開發(fā)出面向全球市場的軟件技術(shù),這是需要重視的問題。我們的軟件公司和程序員能否向這個方向努力呢?

    posted @ 2006-04-30 09:11 崛起的程序員 閱讀(224) | 評論 (0)編輯 收藏

    摘要

    Hibernate和struts是當(dāng)前市面上幾個最流行的開源的庫之一。它們很有效率,是程序員在開發(fā)Java企業(yè)應(yīng)用,挑選幾個競爭的庫的首選。雖然它們經(jīng)常被一起應(yīng)用,但是Hibernate的設(shè)計目標(biāo)并不是和Struts一起使用,而Struts在Hibernate誕生好多年之前就發(fā)布了。為了讓它們在一起工作,仍然有很多挑戰(zhàn)。這篇文章點明了Struts和Hibernate之間的一些鴻溝,尤其關(guān)系到面向?qū)ο蠼7矫妗N恼乱裁枋隽巳绾卧趦烧唛g搭起橋梁,給出了一個基于擴展Struts的解決方案。所有的基于Struts和Hibernate構(gòu)建的Web應(yīng)用都能從這個通用的擴展中獲益。

    在Hibernate in Action(Manning,2004十月)這本書里,作者Christian Bauer和Gavin King揭示了面向?qū)ο笫澜绲哪P秃完P(guān)系數(shù)據(jù)模型,兩個世界的范例是不一致的。Hibernate非常成功地在存儲層(persistence Layer)將兩者粘合在一起。但是領(lǐng)域模型(domain model)(也就是Model-View-Controller的model layer)和HTML頁面(MVC的View Layer)仍然存在不一致。在這篇文章中,我們將檢查這種不一致,并且探索解決的方案。

    范例不一致的再發(fā)現(xiàn)

    讓我們先看一個經(jīng)典的parent-child關(guān)系例子(看下面的代碼):product和category。Category類定義了一個類型為long的標(biāo)示符id和一個類型為String的屬性name。Product類也有一個類型為long的標(biāo)示符id和一個類型為Category的屬性category,表示了多對一的關(guān)系(也就是說很多product可以屬于一個Category)

    				
    				
    				
    						/**
    * @hibernate.class table="CATEGORY"
    */
    public class Category {
    ?? private Long id;

    ?? private String name;

    ?? /**
    ????* @hibernate.id generator-class="native" column="CATEGORY_ID"
    ????*/
    ?? public Long getId() {
    ??????return id;
    ?? }

    ?? public void setId(Long id) {
    ??????this.id = id;
    ?? }

    ?? /**
    ????* @hibernate.property column="NAME"
    ????*/
    ?? public String getName() {
    ??????return name;
    ?? }

    ?? public void setName(Long name) {
    ??????this.name = name;
    ?? }
    }

    /**
    * @hibernate.class table="PRODUCT"
    */
    public class Product {
    ?? private Long id;
    ?? private Category category;

    ?? /**
    ????* @hibernate.id generator-class="native" column="PRODUCT_ID"
    ????*/
    ?? public Long getId() {
    ??????return id;
    ?? }

    ?? public void setId(Long id) {
    ??????this.id = id;
    ?? }

    ?? /**
    ????* @hibernate.many-to-one
    ????* column="CATEGORY_ID"
    ????* class="Category"
    ????* cascade="none"
    ????* not-null="false"
    ????*/
    ?? public Category getCategory() {
    ??????return category;
    ?? }

    ?? public void setCategory(Category category) {
    ??????this.category = category;
    ?? }
    }




    我們希望一個product可以被更改category,所以我們的HTML提供了一個下拉框列出所有Category。

    				
    				
    				
    						<select name="categoryId">
    ?? <option value="">No Category</option>
    ?? <option value="1">Category 1</option>
    ?? <option value="2">Category 2</option>
    ?? <option value="3">Category 3</option>
    </select>




    這里我們看出了兩者的不一致:在Product領(lǐng)域?qū)ο罄铮琧ategory屬性是Category類型,但是ProductForm只有一個類型為long的categoryId。這種不匹配不但增加了不一致,而且導(dǎo)致了不必要的代碼進行primitive type的標(biāo)示符和對應(yīng)的對象之間的轉(zhuǎn)換。

    這種不一致部分是由于HTML Form自己引起的:它只代表了一種關(guān)系模型,不能代表面向?qū)ο蟮哪P汀C嫦驅(qū)ο蠛完P(guān)系模型的不一致在存儲層由對象關(guān)系映射(O/RM)解決。但是類似的問題在表示層(view layer)仍然存在。解決的關(guān)鍵是讓他們一起無縫地工作。

    Struts的功能和局限

    幸運的是,Struts能夠生成和解釋內(nèi)嵌的對象屬性。Category下拉框可以用Struts page-construction(html) tag library:

    				
    				
    				
    						<html:select property="category.id">
    ?? <option value="">No Category</option>
    ?? <html:options collection="categories" property="id" labelProperty="name"/>
    </html:select>



    我們假設(shè)categories是Category對象的一個list。所以現(xiàn)在我們要修改ProductForm,讓它變得更加“面向?qū)ο蟆保覀円薷腜roductForm的categoryId,改成類型為Category的category。這種改變會導(dǎo)致在Product和ProductForm之間復(fù)制屬性的工作更加繁瑣,因為兩者有相同的屬性。

    				
    				
    				
    						public class ProductForm extends ActionForm {
    ???? private Long id;
    ???? private Category category;
    ???? ...
    }




    當(dāng)我們完成剩余的Struts Action, configuration, validator, jsp, hibernate層后,開始測試,我們馬上在訪問ProductForm.category.id時遇到了NullPointerException。這是預(yù)料中的!因為ProductForm.category還沒有被設(shè)置,同時,Hibernate也會將多對一所聯(lián)系的對象引用設(shè)為空(如果database field為空指)(譯者:這里指Hiberate將product.category為Null,如果該Product沒有聯(lián)系到任何category)。Struts要求所有的對象在顯示(生成HTML Form)和傳播(提交HTML FORM)之前被建立。

    讓我們看看如何用ActionForm.reset()來架起橋梁。

    (并非如此)臭名昭著的Struts ActionForm

    在我第一個星期接觸Struts的時候,我最大的一個疑問就是:為什么我必須為Properties, getter方法, setter方法保持幾乎完全相同的兩份copy, 一份在ActionForm Bean, 一份在DomainObject。這個繁瑣的步驟成了Struts社區(qū)最主要的抱怨之一。

    以我的觀點,ActionForm存在有原因的。首先,它們可以區(qū)別于Domain Object因為他們但當(dāng)了不同的角色。在MVC模式下,Domain Object是Model層的一個部分,ActionForm是View層的。因為Webpage的Field和Database的Field可能不一樣,某些特制的轉(zhuǎn)換是常見的。第二,ActionForm.validate()方法可以定義非常好用的驗證規(guī)則。第三,可能有其他的,特定的View行為,但是又不想在domain layer實現(xiàn),特別當(dāng)persistence framework來管理domain object的時候。

    提交Form

    讓我們來用ActionForm內(nèi)有的方法-reset()-來解決view和model之間的不一致。這個reset()方法是在ActionForm在被Struts Controller Servlet處理request時候復(fù)制ActionForm屬性之前調(diào)用的。這個方法最常見的使用是:checkbox必須被顯式地設(shè)為false,讓沒有被選中的checkbox被正確識別。Reset()也是一個初始化用于view rending對象的合適地方。代碼看起來是這樣的:

    				
    				
    				
    						public class ProductForm extends ActionForm {
    ???? private Long id;
    ???? private Category category;
    ???? ...
    ???? public void reset(ActionMapping mapping, HttpServletRequest request)
    ???? {
    ????????super.reset( mapping, request );
    ????????if ( category == null ) { category = new Category(); }
    ???? }
    }




    Struts在使用用戶提交的值填寫ProductForm之前,Struts會調(diào)用reset(),這樣category屬性將會被初始化。請注意,你必須檢查category看它是不是null,后面我們會討論這個。

    編輯Form

    到目前為止,我們已經(jīng)解決了form提交時候的問題。但是當(dāng)我們在生成form頁面的時候呢?Html:select tag也希望有一個非空的引用,所以我們將在form生成頁面之前調(diào)用reset()。我們在action類里加入了一行:

    				
    				
    				
    						public class EditProductAction extends Action {
    ???? public final ActionForward execute( ActionMapping mapping, ActionForm form,
    ????????HttpServletRequest request, HttpServletResponse response ) throws Exception
    ???? {
    ????????...
    ????????Product product = createOrLoadProduct();
    ????????ProductForm productForm = (ProductForm)form;
    ????????PropertyUtils.copyProperties( productForm, product );
    ????????productForm.reset( mapping, request );
    ????????...
    ???? }
    }




    我假設(shè)讀者已經(jīng)對action類和Jakarta commons Beanutils包非常熟悉了。CreateOrLoadProduct()建立了一個新的Product實例或者從數(shù)據(jù)庫里載入一個已有的實例,具體取決于這個action是建立或者修改Product的。ProductForm被賦值后(譯者:也就是調(diào)用PropertyUtils.copyProperties后),productForm.category已經(jīng)從Product.category復(fù)制過來了(譯者:實際上只是復(fù)制了category對象引用,并沒有開銷),然后,ProductForm就能用來生成頁面了。我們同時也必須保證:不覆蓋已經(jīng)被Hibernate載入的對象,所以我們必須檢查(category)是不是為null。

    因為reset()方法是在ActionForm中定義的,我們可以把上述代碼放入一個superclass,比如CommonEditAction,來處理這些事情:
    ????

    				
    				
    				
    						??????Product product = createOrLoadProduct();
    ????????PropertyUtils.copyProperties( form, product );
    ????????form.reset( mapping, request );



    如果你需要一個只讀的Form, 你有兩個選擇: 第一檢查所聯(lián)系的jsp對象是不是null, 第二復(fù)制domain對象到ActionForm之后調(diào)用Reset()

    保存domain對象

    我們解決了提交Form和生成Form頁面的問題, 所以Struts可以滿足了。但是Hibernate呢?當(dāng)用戶選擇了一個null ID option – 在我們的例子中“no category”option- 并且提交form, productForm.category指向一個新建立的hibernate對象,id為null。當(dāng)category屬性從ProductForm復(fù)制到Hibernate控制的Product對象并且存儲時,Hibernate會抱怨product.category是一個臨時對象,需要在Product存儲前先被存儲。當(dāng)然,我們知道它是Null,并且不需要被存儲。所以我們需要將product.category置為Null,然后Hibernate就能存儲Product了(譯者:在這種情況下,數(shù)據(jù)庫product.category被設(shè)成空值)。我們也不希望改變Hibernate的工作方式,所以我們選擇在復(fù)制到Domain對象之前清理這些臨時對象,我們在ProductForm中加了一個方法:

    				
    				
    				
    						public class ProductForm extends ActionForm {
    ???? private Long id;
    ???? private Category category;
    ???? ...
    ???? public void reset(ActionMapping mapping, HttpServletRequest request) {
    ????????super.reset( mapping, request );
    ????????if ( category == null ) { category = new Category(); }
    ???? }

    ???? public void cleanupEmptyObjects() {
    ????????if ( category.getId() == null ) { category = null; }
    ???? }
    }




    我們在copyProperties之前清理掉這些臨時對象,所以如果ProductForm.category只是用來放Null的,則將ProductForm.category置為Null。然后Domain對象的category也會被設(shè)成null:

    				
    				
    				
    						public class SaveProductAction extends Action {
    ???? public final ActionForward execute( ActionMapping mapping, ActionForm form,
    ????????HttpServletRequest request, HttpServletResponse response ) throws Exception
    ???? {
    ????????...
    ????????Product product = new Product();
    ????????((ProductForm)form).cleanupEmptyObjects();
    ????????PropertyUtils.copyProperties( product, form );
    ????????SaveProduct( product );
    ????????...
    ???? }
    }




    一對多關(guān)系

    我還沒有解決Category到Product的一對多關(guān)系。我們把它加入到Category的Metadata中:

    				
    				
    				
    						public class Category {
    ???? ...
    ???? private Set products;
    ???? ...

    ???? /**
    ??????* @hibernate.set
    ??????* table="PRODUCT"
    ??????* lazy="true"
    ??????* outer-join="auto"
    ??????* inverse="true"
    ??????* cascade="all-delete-orphan"
    ??????*
    ??????* @hibernate.collection-key
    ??????* column="CATEGORY_ID"
    ??????*
    ??????* @hibernate.collection-one-to-many
    ??????* class="Product"
    ??????*/
    ???? public Set getProducts() {
    ????????return products;
    ???? }

    ???? public void setProducts(Set products) {
    ????????this.products = products;
    ???? }
    }



    注意:Hibernate的cascade屬性為all-delete-orphan表明:Hibernate需要在存儲包含的Category對象時候,自動存儲Product對象。和parent對象一起存儲child對象的情況并不常見,常見的是:分別控制child的存儲和parent的存儲。在我們的例子中,我們可以容易地做到這一點,如果我們允許用戶在同一個html page編輯Category和ProductS。用set表示Products是非常直觀的:

    				
    				
    				
    						public class CategoryForm extends ActionForm {
    ???? private Set productForms;
    ???? ...
    ???? public void reset(ActionMapping mapping, HttpServletRequest request) {
    ????????super.reset( mapping, request );

    ????????for ( int i = 0; i < MAX_PRODUCT_NUM_ON_PAGE; i++ ) {
    ?????????? ProductForm productForm = new ProductForm();
    ?????????? productForm.reset( mapping, request );
    ?????????? productForms.add( productForm );
    ????????}
    ???? }

    ???? public void cleanupEmptyObjects() {
    ????????for ( Iterator i = productForms.iterator(); i.hasNext(); ) {
    ?????????? ProductForm productForm = (ProductForm) i.next();
    ?????????? productForm.cleanupEmptyObjects();
    ????????}
    ???? }
    }




    更進一步
    我們已經(jīng)可以察看,編輯,提交forms,并且存儲相關(guān)的objects,但是為所有的ActionForm類定義CleanupEmptyObjects()和reset()方法是個累贅。我們將用一個抽象的ActionForm來完成協(xié)助完成這些工作。

    作為通用的實現(xiàn),我們必須遍歷所有的Hibernate管理的domain對象,發(fā)現(xiàn)他們的identifier,并且測試id值。幸運的是:org.hibernate.metadata包已經(jīng)有兩個Utility類能取出domain對象的元數(shù)據(jù)。我們用ClassMetadata類檢查這個object是不是Hibernate管理的。如果是:我們把它們的id Value取出來。我們用了Jakarta Commons Beanutils包來協(xié)助JavaBean元數(shù)據(jù)的操作。

    				
    				
    				
    						import java.beans.PropertyDescriptor;
    import org.apache.commons.beanutils.PropertyUtils;
    import org.hibernate.metadata.ClassMetadata;

    public abstract class AbstractForm extends ActionForm {
    ?? public void reset(ActionMapping mapping, HttpServletRequest request) {
    ??????super.reset( mapping, request );

    ??????// Get PropertyDescriptor of all bean properties
    ??????PropertyDescriptor descriptors[] =
    ???????? PropertyUtils.getPropertyDescriptors( this );

    ??????for ( int i = 0; i < descriptors.length; i++ ) {
    ???????? Class propClass = descriptors[i].getPropertyType();

    ???????? ClassMetadata classMetadata = HibernateUtil.getSessionFactory()
    ????????????.getClassMetadata( propClass );

    ???????? if ( classMetadata != null ) {?? // This is a Hibernate object
    ????????????String propName = descriptors[i].getName();
    ????????????Object propValue = PropertyUtils.getProperty( this, propName );

    ????????????// Evaluate property, create new instance if it is null
    ????????????if ( propValue == null ) {
    ?????????????? PropertyUtils.setProperty( this, propName, propClass.newInstance() );
    ????????????}
    ???????? }
    ??????}
    ?? }

    ?? public void cleanupEmptyObjects() {
    ??????// Get PropertyDescriptor of all bean properties
    ??????PropertyDescriptor descriptors[] =
    ??????PropertyUtils.getPropertyDescriptors( this );

    ??????for ( int i = 0; i < descriptors.length; i++ ) {
    ???????? Class propClass = descriptors[i].getPropertyType();
    ???????? ClassMetadata classMetadata = HibernateUtil.getSessionFactory()
    ????????????.getClassMetadata( propClass );

    ???????? if ( classMetadata != null ) {?? // This is a Hibernate object
    ????????????Serializable id = classMetadata.getIdentifier( this, EntityMode.POJO );

    ????????????// If the object id has not been set, release the object.
    ????????????// Define application specific rules of not-set id here,
    ????????????// e.g. id == null, id == 0, etc.
    ????????????if ( id == null ) {
    ?????????????? String propName = descriptors[i].getName();
    ?????????????? PropertyUtils.setProperty( this, propName, null );
    ????????????}


    ???????? }
    ??????}
    ?? }
    }



    為了讓代碼可讀,我們省略了Exception的處理代碼。

    我們的新AbstractForm類從Struts的ActionForm類繼承,并且提供了通用行為:reset和cleanup多對一關(guān)聯(lián)對象。當(dāng)這個關(guān)系是相反的話(也就是一對多關(guān)系),那么每個例子將會有所不同,類似在Abstract類里實現(xiàn)是比較好的辦法。

    總結(jié)

    Struts和Hibernate是非常流行和強大的框架,他們可以有效地相互合作,并且彌補domain模型和MVC視圖(view)之間的差別。這篇文章討論一個解決Struts/Hibernate Project的通用的方案,并且不需要大量修改已經(jīng)有的代碼。

    posted @ 2006-04-30 09:01 崛起的程序員 閱讀(283) | 評論 (0)編輯 收藏
    僅列出標(biāo)題
    共9頁: 上一頁 1 2 3 4 5 6 7 8 9 下一頁 
    主站蜘蛛池模板: 午夜宅男在线永久免费观看网| 国产在亚洲线视频观看| 亚洲AV日韩AV天堂一区二区三区| 亚洲综合色在线观看亚洲| 亚洲国产av一区二区三区| 波多野结衣中文一区二区免费 | 亚洲AV成人影视在线观看| 亚洲综合视频在线观看| 中文字幕亚洲综合久久2| 亚洲男人第一av网站| 亚洲欧洲国产日韩精品| 久久久久久久亚洲Av无码 | 成人毛片18女人毛片免费96| 一个人看的www在线观看免费| 在线观看AV片永久免费| 好男人www免费高清视频在线| 在线观看免费宅男视频| 日韩免费一区二区三区| 四虎永久免费网站免费观看| 免费在线观看黄网站| 亚洲伊人久久综合影院| 亚洲人成网7777777国产| 亚洲av无码成人黄网站在线观看| 夜夜亚洲天天久久| 亚洲乱人伦精品图片| 亚洲欧美日韩综合俺去了| 无遮挡a级毛片免费看| 三上悠亚在线观看免费| 97在线视频免费公开观看| 成人女人A级毛片免费软件| 免费被黄网站在观看| 亚洲日本va午夜中文字幕久久| 亚洲午夜福利AV一区二区无码| 久久国产亚洲高清观看| 亚洲综合一区国产精品| 免费手机在线看片| 久久99精品国产免费观看| 在线观看特色大片免费视频| 免费欧洲毛片A级视频无风险| 亚洲精品你懂的在线观看| 亚洲黄色免费网址|