傳統(tǒng)垂直堆疊的開發(fā)模式,在云時代需要進行顛復和創(chuàng)新;連續(xù)在線、基于截層水平擴展、簡單到粗暴乃至松耦合復用構件的云開發(fā)方式將能更好適應云時代的開發(fā)特點。各種適合不同能力和定位的人員的自驅動開發(fā)模式,包括制作即開發(fā)-頁面制作、設計即開發(fā)-數(shù)據設計、頁面即開發(fā)-如頁元需求驅動、接口驅動開發(fā)、流程驅動開發(fā)、表單驅動開發(fā)、邏輯微編碼-簡單到粗暴編碼到構件提煉開發(fā)等。--先按云架構進行設計并做快速產品云試用模型,然后用內部框架進一步重構和優(yōu)化...
中文名云開發(fā)
特點水平擴展、低門檻準
基于云特性的在線
方式開發(fā)方式是云方式
背景和概述傳統(tǒng)開發(fā)模式逐步引入Struts/Spring、分層分離框架、面向切面編程(含過濾器、攔截器和偵聽器)等眾多"敏捷開發(fā)"的努力,都是在改變垂直堆疊的模式為橫向擴展模式,轉相互緊密依賴為松耦合,但都不夠徹底。
尤其在云計算、Iaas/SaaS/Paas云服務乃至移動云開發(fā)風起云涌時,傳統(tǒng)開發(fā)模式逐步變成反面模式,阻礙了開發(fā)的有效戰(zhàn)略和卓越品質。
移動互聯(lián)網和“云開發(fā)時代”的來臨,編程開發(fā)模式必須進行顛復性創(chuàng)新。
核心價值觀在線連續(xù)協(xié)同共生>溝通>個體/交互>過程和工具
產品為王,體驗至關重要,我們需要更多人(包括無關者)從一開始就(盡早)不間斷的參與--連續(xù)溝通、有效反饋、協(xié)同工作,并通過自動量化統(tǒng)計分析能力進一步保證這種參與,形成一種連續(xù)協(xié)作的氛圍,共同推進產品的誕生和成長;這種連續(xù)協(xié)作氛圍遠比割裂的溝通、低效的交互、干巴的規(guī)定、冗長的會議和強制的管理更加重要。
云品質小版本的可見即可得>簡單>可以工作的軟件>面面俱到的文檔
怎么樣簡單、簡潔和快速地搞出一個可用的軟件版本來顯然是共識,因為前期出不來效果、得不到反饋、面臨高風險度...,相反成本卻是最大,如何簡單到可想、可見、可得地快速產生軟件小版本,并穩(wěn)定運行地證明出價值(避免在取得效果前可怕的體驗讓人拒絕而破壞所有商機),才可以進入產品正常的生命周期,迎來更多更多投入和良性循環(huán),直到成長為可以工作的軟件。
超越客戶(用戶)和服務交付>反饋>客戶合作>合同談判
傳統(tǒng)客戶(用戶)和開發(fā)方壁壘森嚴,開發(fā)階段和使用階段巨大鴻溝,造成客戶(用戶)在開發(fā)階段的嚴重缺失而無反饋和不合作,開發(fā)者在使用階段的惰性和不響應而產品成長中斷,我們希望打破客戶(用戶)和開發(fā)者的壁壘--自己就是客戶客戶就是自己改變交付模式消除階段鴻溝--服務交付(可以項目和產品前期免費),換位思考、互相尊重、共同責任,聯(lián)手締造產品的更大價值!
自驅動變化即變化驅動和驅動變化>勇氣(擁抱變化)>響應變化>遵循計劃
為什么響應變化需要勇氣呢?因為變化往往會影響很多環(huán)節(jié)的改變,傳統(tǒng)不控制變化往往導致失控;但變化是永恒的不變的是變化本身,擁抱變化最好的方式讓變化化身成開發(fā)的良師益友,讓變化自動驅動軟件的成長,同時軟件成長過程又自動驅動新的變化,并且獲取效益后為了適應各種客觀要求而完全容納各種跨越式重構和優(yōu)化的大變化。
云核心實踐及具體實踐概述傳統(tǒng)框架、編碼乃至極限編程是垂直堆疊,所謂的橫向機制基本只是一種嘗試(你必須知道如何進行代碼垂直堆疊哪怕攔截至少你得關注而云開發(fā)則無需知道也能加上),我們需要改變傳統(tǒng)開發(fā)的思想即把垂直堆疊解耦成水平擴展,為此提出三種創(chuàng)新實現(xiàn)方式為:
一種是增加運行容器,容器中可配置各種運行功能,這里通過增加云計算能力即云計算容器實現(xiàn),該容器可進一步容納現(xiàn)有各種容器(如spring等),可以配置各種安全、權限、緩沖、防瀏覽器緩沖、變量初始化控制、外部接口如cmd或調用外程序的QOS、統(tǒng)一錯誤碼處理、統(tǒng)一日志處理、異常跳轉后控制等功能,從而把傳統(tǒng)垂直堆疊的功能引入完全解耦,實現(xiàn)水平配置式開發(fā)?。▍⒁姾诵膶嵺`四)
第二種就是自定義規(guī)范化框架,框架本身的產生可忽略垂直編碼,而其中可插入各種功能,這是對傳統(tǒng)垂直堆疊模式的抽象,即把層次按規(guī)范進行隱藏,使得編碼者無需關注,只用關注關鍵業(yè)務的代碼編寫?。▍⒁姾诵膶嵺`二)
第三種就是指定功能實現(xiàn)標準并通過各種手動如代碼向導加強標準的貫徹,實現(xiàn)特定靈活邏輯具體代碼規(guī)范,實現(xiàn)特定處理的全局工具包,都在這個范疇?。▍⒁姾诵膶嵺`三)
這三種方式離不開高度復用的構件(一種高度可復用充分松耦合可插拔的東西包括框架),且一旦復雜度超出已有范圍,將進一步驅動構件的產生、發(fā)展和成熟,推進卓越復用和有效戰(zhàn)略?。▍⒁姾诵膶嵺`五)
這種創(chuàng)新開發(fā)過程,由于聯(lián)動改變高頻度改變整體代碼,越是開始越必須在線進行,同樣在線的各種活動才能充分發(fā)揮其優(yōu)勢!(參見核心實踐一和核心實踐六)
在線編碼無縫協(xié)作提供一種在線開發(fā)和協(xié)作的環(huán)境,確保在線連續(xù)設計、開發(fā)、集成、測試、交付等開發(fā)動作,并讓客戶、產品、管理乃至更多的人無中斷體驗產品的全生命過程,從而得到最充分、及時的交流和反饋,自驅動極限迭代開發(fā)過程。
[開發(fā)]
在線開發(fā)-設計、編碼、調試、測試...等所有活動均在線進行,任何動作同時其他人在線提示。
集中代碼倉庫-上面開發(fā)的結果,將與標準版本服務器對接,從而進一步支持傳統(tǒng)開發(fā)活動。
按變化集成、部署和交付-任何開發(fā)和改變,只要遞交修改,即自動編輯、集成、部署和交付,但可不包括運行時。
[團隊]
虛擬團隊-開發(fā)團隊的各種角色均在云上參與,形成貫穿全部軟件生命周期的虛擬團隊,形式上不在一起,但無時、無地保持緊密溝通;不能限于技術團隊、不能限于會議形式,讓更多人利用非正式時間同等參與而驅動開發(fā)。
跨部門交互-除開發(fā)團隊外,產品部門、市場部門、銷售甚至客服部門,當然包括非IT管理者等,形成復蓋非開發(fā)層面的成員,促進更大范圍的交互。
遠程客戶可視化體驗-不管是否在現(xiàn)場,也不管什么時候想,客戶均可遠程訪問任何階段的產品,并以可視化的方式體驗,促進客戶參與和需求挖掘。
[自動化]
*統(tǒng)一無縫協(xié)作空間-確保開發(fā)過程中的自動化信息公示、問題標注、交流反饋等能力,并提供開放可擴展的接口以對接其他專業(yè)化ALM(軟件全生命周期)工具。
反饋監(jiān)管-任何問題提出和交流發(fā)起,通過監(jiān)管確保有效、及時地反饋,從而驅動整個開發(fā)的連續(xù)進行。
自動化統(tǒng)計分析-可根據各種管理目標反復提升自動化水平,確??陀^和效率。
面向截層水平實施和按規(guī)范自動化堆疊從一個業(yè)務驅動的截層開始,迅速自動化堆疊其他關聯(lián)層次和關聯(lián)活動對象,全員平等、并行的水平推進軟件系統(tǒng)的全生命周期,開發(fā)變成為一個不用費時效果最大的行為。
[規(guī)范標準]
統(tǒng)一層次和框架規(guī)范-面向截層統(tǒng)一規(guī)范品質管理的自動化模型,框架規(guī)范化,編碼標準化。
[截層模型]
面向單一業(yè)務-截層最大程度貼近業(yè)務邏輯本身的驅動,且只關注業(yè)務自身,從而將開發(fā)集中到產品和業(yè)務邏輯設計上;同時截層中每一個截塊只面向單一業(yè)務,減少截塊耦合帶來的復雜性,避免傳統(tǒng)業(yè)務控制可以集中到一個文件而帶來的失控。
垂直框架層次自聯(lián)動-基于截層的變化,實現(xiàn)關聯(lián)垂直堆疊層(如data、xml、dao、daomain、rvice、manager、action、...)的自動化生成、修改、清除等自動透明的聯(lián)動。
關聯(lián)軟件全生命周期活動-截層是軟件全過程活動的集中濃縮,圍繞截層,從需求驅動代碼的自動產生,到單元測試功能測試,到代碼檢驗、自動測試、QOS報告、設計文檔、進度監(jiān)控-redmine、自動培訓、規(guī)范自檢、工作日報..,均能有效關聯(lián),從而便于不同層次的并行協(xié)作和自動化模型。
脫離具體框架實現(xiàn)-支持極速的代碼、語種、框架的快速重構化,哪怕?lián)Q開發(fā)團隊和體系;支持全開放源碼生成,快速適應當前主流框架,與當前主開發(fā)體系技術路線映射一致。
[水平實施]
平等參與-全員對截層進行分塊即截塊,平等、公開地參與軟件開發(fā)全程,包括需求、設計、開發(fā)、測試和支持。
設計即開發(fā)-在開發(fā)的開始,就是截塊的設計,設計就是開發(fā),系統(tǒng)模型在開發(fā)過程中不間斷完備和完善。
主體代碼的水平配置、定義和定制實現(xiàn)-為實現(xiàn)業(yè)務截塊的代碼,從主體骨架開始,通過配置控制云計算容器層功能,通過定義固化框架通用功能,通過定義引入標準代碼塊或函數(shù)實現(xiàn)靈活功能,標準代碼中可以注入各種規(guī)范控制。
內業(yè)務微編碼-在主體代碼基礎上,通過微小的跟業(yè)務更緊密相關的編碼,實現(xiàn)完整業(yè)務邏輯,微小才能控制標準和質量。
水平擴展復雜編碼-微編碼中達到一定復雜度,則轉向定制向導、框架中可復用重構(構件),容器中可可復用構件的橫向方式上水平擴展。
面向切面編程-復雜編碼自然要求可復用和透明的特點,從而自驅動AOP編程。
業(yè)務功能水平重用-各種截塊,承擔獨立的業(yè)務功能。可以支持各種獨立、水平的重用。
全員并行-截層自動關聯(lián)衍生各個層次和各種活動,從而打破串式開發(fā)過程,全部可以并行推進。
*切入式編程--不是結對了解和提議,而是隨時從一個專業(yè)度切入,打開所有人的編碼切面,提出專業(yè)化意見,甚至直接改變。
按需求自驅動開發(fā)、測試和跟蹤通過驅動,實現(xiàn)編碼簡單到粗暴的程度,無專業(yè)編程能力的人都可以參與,同時通過自動化測試體系增強軟件質量和開發(fā)者信心,并能快速發(fā)現(xiàn)、跟蹤、調試和處理運行時異常。
[自驅動開發(fā)]
截層驅動開發(fā)-基于需求,轉化為截層,這一過程要具備自驅動能力,保證簡單、直接、簡潔。
數(shù)據模型驅動開發(fā)-從數(shù)據設計開始即可進行快速開發(fā)。
功能代碼塊向導-支持各種基本功能的向導封裝,從而可以簡單到粗暴驅動代碼編寫,并面向非編程人員推出更加高效、透明地無編碼開發(fā)的定制模式。
功能水平實現(xiàn)輔助-支持各種典型復用功能的構件可以更容易引入和配置的輔助手段。
表現(xiàn)層驅動開發(fā)-需求以原型的形式直接表達,支持可見即可得的調整,甚至支持表現(xiàn)層從零開始的搭建能力和工具,此時表現(xiàn)層定義必須足夠簡單清晰而不能用太復雜方式,尤其前期表達時。
業(yè)務層驅動開發(fā)-如流程/表單驅動開發(fā),支持多種無編碼的可視化截層工具如流程、表單等驅動無代碼開發(fā)。
跨文件重構工具--支持多種快速重構工具如重命名,無逢重構并自動保持不同版本運行代碼。
[自驅動測試]
自動化用例錄制-代碼運行依托模板化進行輸出,并對結果按照匹配規(guī)則自動進行檢測,并允許手動確認結果,這個過程本身將自動形成典型測試用例,特定情形如代碼變動、部署升級、系統(tǒng)重構時要求輸入輸出完全可以重演。
自動單元測試代碼生成-在用例錄制過程中,按照接口引用、功能復用、間接訪問、內部函數(shù)以及標識疑點等自動生成單元測試代碼(實例)。
按功能自動化測試-代碼遞交時進行按功能的功能測試和單元測試,發(fā)現(xiàn)bug驅動開發(fā)。
部署全自動化測試-產品部署時進行全部功能的功能測試和單元測試,發(fā)現(xiàn)缺陷驅動開發(fā)。
極限測試和自動缺陷發(fā)現(xiàn)工具-自動放大用例中的條件,乃至程序中的變量,進行極限測試,以自動發(fā)現(xiàn)缺陷;后者,針對各種邏輯不完備和異常,均可能發(fā)現(xiàn)。
跨框架(語言)自動化比對測試-可發(fā)現(xiàn)一些框架、語言層的問題。
[自驅動跟蹤]
單一條件日志-支持單一行為、單一人員、單一輸入參數(shù)的運行時日志分離。
按行為命令行調試-支持特定行為的運行時的命令行模式的調試跟蹤。
*異常運行自動報警和容錯-支持非穩(wěn)定期運行時的自動報警、自動容錯。
標準化提煉高復用的專業(yè)構件按照標準建立構件集,指導開發(fā)過程中對可復用功能的充分解耦、廣泛使用,提煉高度專業(yè)化但是又通用的構件,通過成熟的東西的高品質,真正保證實現(xiàn)卓越運營和有效的戰(zhàn)略。
[標準]
以標準化的接口形式提供服務-不允許命令行等,不允許操作文件系統(tǒng),不允許控制資源等!
標準錯誤、異常和日志記錄能力-復用構件的日志、錯誤返回和異常處理機制的截層接入控管
基本接口可簡單快速實現(xiàn)-通用構件的設計,要簡單到為開發(fā)者把握了解和把握,從而確??梢钥焖賹崿F(xiàn)
可快速更替-開發(fā)者可對通用構件進行松耦合調用,從而快速更替無縫更換,以徹底改造一些核心構件性能,甚至吸收更多的其他優(yōu)異構件來替換,完成關鍵能力的飛升
保持異構能力-因為標準接口,同時可快速替換,就松耦合模式,確保異構耦合...
[構件集]
建立常用處理方法的構件集-工具集
建立框架規(guī)范對應的構件集
建立云計算容器中的構件集-構件支持云計算容器即可以獨立掛載到云計算層提供獨立分離、前置處理和可檢測服務==云計算層次的標準(如過濾攔截截面)等高模式外的云計算代理及服務等全面徹底解耦,是對傳統(tǒng)框架的一種集中云計算解耦區(qū),使得各層充分解耦,適應云計算特點,從而確保開放包容!
建立快速驅動開發(fā)的構件集-為非普通業(yè)務邏輯代碼塊建立通用化路線
[提煉]
"微代碼"開發(fā)驅動構件重構-復用構件的任何變化將驅動所有參與者的交流和反饋
迭代路線跟當前所屬系統(tǒng)保持同步
累積疊加跨項目的單元測試代碼
跨項目追蹤的復用重構協(xié)同-從簡單和完備的持續(xù)重構-提升代碼質量,驅動重用重構,重構本身處理過程的推進,需要及如何促進代碼重構?根據QOS率驅動重構!
多版本容錯-構件的改變容易引起根本問題看,所以保持容錯!
跨語言工具包調用容器-跨語言包--可選多種語言工具包,支持隨需而變的整合和對接...,所有流行跨語言工具包無縫使
推進開放獨立的云運行容器云運行容器作為一張重要構件,設計簡潔,確保快速起步,穩(wěn)定、自主和獨立的推進其向云計算支撐能力的靠攏。
落實運行時云服務支持云服務能力從一開始的在線連續(xù)即進行了建立,這種能力必須進一步對客戶標準化,并按需落實、依用收費。
云開發(fā)的效果和優(yōu)勢建立以用戶體驗和產品質量為中心的團隊,極限迭代,締造新型的軟件交付模式:連續(xù)協(xié)作促進產品用戶體驗-->不能連續(xù)無縫進行產品代碼質量交流反饋--產品體驗和品質不能開放式交流反饋監(jiān)管--連續(xù)在線協(xié)作推進溝通交流和管理;截層開發(fā)進一步作為開發(fā)模式的核心是一種創(chuàng)新,保證了質量、極限,進一步保證了服務就是開發(fā)的交付;
傳統(tǒng)開發(fā)對開發(fā)人員和團隊規(guī)模有要求,不能真正做到無縫的極限迭代--簡單粗暴頁元驅動開發(fā)!-全面提升其產能;高度重視云服務的新型交付模式,不但反過來促進產品本身的進化,更重要的是創(chuàng)造產品本身的連續(xù)商業(yè)價值;
加強規(guī)范和標準的統(tǒng)一,減少輪子的重復制造,確保云計算的卓越品質:自動垂直堆疊加強框架規(guī)范,而面向截層開發(fā)編碼標準控制;統(tǒng)一了很多其他層和本層常用功能的輪子,同時通過復用性的驅動機制,大大減少重復制造輪子;質量保證...同時對可復用的地方經常動易導致變亂而質量風險,使得軟件質量存在累積疊加的可控性隱患,各種通用技術技巧全靠重復手動而無法標準引用;按云計算的要求來解耦,復用帶來的卓越的云計算的品質保證,降低風險;
避免重復工作,快速提升,專注于核心價值的貢獻:提煉原有價值,避免溝通反饋的消耗而只用關注業(yè)務的開發(fā);
統(tǒng)一在線開發(fā),自動全程跟蹤,建立云軟件全生命周期監(jiān)管模型。
云開發(fā)的特點有創(chuàng)新的踐行截層水平實施和自動垂直堆疊的開發(fā)理念:要能超越傳統(tǒng)的一切都是對象,提出一種新型軟件構建的基礎理念,從而大大簡化傳統(tǒng)軟件的開發(fā);
有典型的簡單到粗暴的驅動式開發(fā)模型和工具:整個開發(fā)過程,必須有各種的工具支持,能做到無編碼開發(fā),且其中的概念不能太多太專業(yè);
具備獨立云計算能力的運行時容器:云開發(fā)的前置條件就是同時能提供默認的云服務框架和環(huán)境,能迅速把上述開發(fā)成果轉化成云軟件、云應用和云服務;
提供了典型的專業(yè)構件集:常規(guī)軟件中包含的一些專業(yè)核心軟件技術,如全文檢索、自然語言、統(tǒng)一用戶等,必須變成專業(yè)的SaaS,供開發(fā)者快速整合;
開放兼容傳統(tǒng)開發(fā)過程和技術積累:既然是開發(fā),除了不懂編碼的人可控外,更應該讓有編碼能力人感到強大、靈活和可復用,從而要求云開發(fā)過程其可兼容傳統(tǒng)編程語言;要有充分的開放性,作為開發(fā)方式,當然能夠看生成全部開發(fā)的源碼,可以選擇各種框架甚至自己定義的框架,同時還能夠與各種開放框架耦合;
從在線開發(fā)開始通過連續(xù)交互驅動開發(fā):驅動模式的開發(fā)。
相關報道2012百度世界大會今日召開,百度CEO李彥宏演講時表示,云端支持將是移動互聯(lián)網的下一個焦點。應用開發(fā)經過三次變遷,從自開發(fā)時代、平臺開放時代發(fā)展到云開發(fā)時代。[1]
參考資料本文發(fā)布于:2023-06-04 16:09:48,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/92/198439.html
版權聲明:本站內容均來自互聯(lián)網,僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權益請與我們聯(lián)系,我們將在24小時內刪除。
本文word下載地址:云開發(fā)(網絡時代開發(fā)模式).doc
本文 PDF 下載地址:云開發(fā)(網絡時代開發(fā)模式).pdf
| 留言與評論(共有 0 條評論) |