Java 企業(yè)應(yīng)用
          不要溫柔的走入那個(gè)良夜

          2009-12-05 13:34 41人閱讀 評(píng)論(0) 收藏 舉報(bào)

          前天,偶然的機(jī)會(huì)聽(tīng)了一場(chǎng)IBM軟件工程師的講座,也偶然的接觸了一種思想---agile.講師是賈迎,參與過(guò)Lotus Notes/Domin的開(kāi)發(fā),如今是IBM的顧問(wèn)軟件工程師。

             Agile這種思想和現(xiàn)在的敏捷開(kāi)發(fā)有著相同的角度考慮問(wèn)題。以人為核心,循序漸進(jìn)的開(kāi)發(fā)方式。

             回來(lái)再學(xué)習(xí),看了幾篇文章,總結(jié)一下:

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

              敏捷軟件開(kāi)發(fā)是一個(gè)概念意義上的框架,用來(lái)取代軟件工程項(xiàng)目的概念;它強(qiáng)調(diào)在項(xiàng)目的整個(gè)生命周期中擁抱并促進(jìn)由于軟件進(jìn)化式的發(fā)展所帶來(lái)的變化
                請(qǐng)注意其中的三個(gè)關(guān)鍵詞:
          在項(xiàng)目的整個(gè)生命周期中:這就涉及到了【敏捷項(xiàng)目管理】、【敏捷需求獲取】、狹義的【敏捷軟件開(kāi)發(fā)】三個(gè)主要的領(lǐng)域和過(guò)程。要注意的是,上述三個(gè)過(guò)程并不是互相分開(kāi)的,而是你中有我,我中有你。
          擁抱并促進(jìn)變化:世界上唯一不變的是變化。不論在任何領(lǐng)域,漠視、甚至否認(rèn)、抗拒變化,都不是一個(gè)理性,嚴(yán)肅的人所應(yīng)有的態(tài)度。學(xué)會(huì)如何識(shí)別變化的大勢(shì),并在可能的時(shí)候,促使變化向好的方向發(fā)展。這才是面對(duì)變化的正確應(yīng)對(duì)之法。
          軟件進(jìn)化式的發(fā)展:雖然上面提到促進(jìn)變化的發(fā)展,但是軟件的演化過(guò)程,我相信是有其自身內(nèi)在邏輯的,存在一些根本規(guī)律和指導(dǎo)方針;并不是完全以人的主觀意識(shí)為主導(dǎo)。
            了解了這三個(gè)方面,下面引入大名鼎鼎、如雷貫耳、耳朵都要磨出糨子來(lái)的敏捷宣言(Manifesto for Agile Software Development)
          We are uncovering better ways of developing software by doing it and helping others do it.
          Through this work we have come to value:
          Individuals and interactions over processes and tools
          Working software over comprehensive documentation
          Customer collaboration over contract negotiation
          Responding to change over following a plan

          That is, while there is value in the items on the right, we value the items on the left more.

          在敏捷宣言的背后,有其遵循的12條原則
          Principles behind the Agile Manifesto
          We follow these principles:
          ☆ Our highest priority is to satisfy the customer through early and continuous delivery of vaphp?name=lua" onclick="tagshow(event)" class="t_tag">luable software.
          ☆ Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
          ☆ Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
          ☆ Business people and developers must work together daily throughout the project.
          ☆ Build projects around motivated individuals. Give them the environment and support they need,
          and trust them to get the job done.
          ☆ The most efficient and effective method of conveying information to and within a development
          team is face-to-face conversation.
          ☆ Working software is the primary measure of progress.
          ☆ Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
          ☆ Continuous attention to technical excellence and good design enhances agility.
          ☆ Simplicity--the art of maximizing the amount of work not done--is essential.
          ☆ The best architectures, requirements, and designs emerge from self-organizing teams.
          ☆ At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
          its behavior accordingly.
          ------------------------------------------------------------------

                想想我們聽(tīng)說(shuō)過(guò)的一些AOP的開(kāi)發(fā)方法,有哪些和這種思想是一致的?

                很多,不斷的迭代和不斷的簡(jiǎn)單化來(lái)完成目標(biāo)就是這樣的呀!

              《輕快的java》鼓勵(lì)人們使用SSH的方法來(lái)開(kāi)發(fā)軟件,因?yàn)樗麄儾挥每紤]EJB帶來(lái)的過(guò)度耦合,因?yàn)樗麄兪勾a簡(jiǎn)單,透明。

                吃什么就像什么,使用大量的Bean而沒(méi)有容器,就使Servlet很難管理,Spring的IoC的依賴(lài)注入完美的解決了問(wèn)題。

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

                而日常的生活中,又有那些問(wèn)題可以被Agile解決呢?

                我發(fā)現(xiàn)eclipse的流行就可以用這種思想來(lái)說(shuō)明,開(kāi)始我們的需求就是像記事本一樣的做代碼。然后運(yùn)行的時(shí)候要控制臺(tái),那就集成控制臺(tái),需要調(diào)試的時(shí)候,就集成Ant,需要什么就加什么。

                就像我們爬山的時(shí)候,為了尋找最短的路徑可能會(huì)走下山的路。

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

                                                            這些只是個(gè)人學(xué)習(xí)上一些理解。

                                                            歡迎指正。

          posted on 2012-03-08 10:55 cpegtop 閱讀(212) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
           
          主站蜘蛛池模板: 苍南县| 当涂县| 富源县| 平邑县| 罗田县| 土默特右旗| 鄄城县| 运城市| 清流县| 株洲市| 兴义市| 赫章县| 彭山县| 白河县| 庆阳市| 南投县| 湾仔区| 巴彦县| 资溪县| 凤台县| 宁河县| 安达市| 中阳县| 丰宁| 扶绥县| 婺源县| 呼图壁县| 察哈| 武陟县| 唐山市| 枣庄市| 皋兰县| 兴国县| 隆昌县| 锡林郭勒盟| 巴塘县| 呈贡县| 拉萨市| 江城| 山西省| 金门县|