全端開發之“兩端開發策略”
理論探索,歡迎交流!
全端開發者,也稱為“全棧開發者”,是指能夠獨立完成軟體所有工作的開發者,大家在討論時可能更多的是在說Web開發者;不過,我們認為,任何型別的軟體專案都會有全端開發者,這並不是什麼遙不可及的事情!
為什麼要提全端開發呢?因為本文的主題就是從專案的整體來討論相關的軟體方法,我們稱之為“兩端開發策略”,此為何物,下面道來。
首先,我們看一看軟體開發的一般流程,如下面的示意圖。
當然,實際的開發工作中還包括更多的細節,這裡就不一一討論了。在這裡,我們主要關注流程中的方向及相關的節點。在這一流程中,雖然每一步都有開發者的參與,但兩端的“獲取需求”和“交付”環節,使用者都起著決定性的作用,即從使用者提出要求到確認專案交付。
實際上,開發者與使用者就是整個軟體專案過程中的關鍵,因為任何技術或軟體產品,最終都是人們製造的產品,也同時是人們生活和工作中的工具。那麼,我們是不是可以換個角度來思考軟體的開發工作。
我們可以將自己看作比開發者更高的角色,也就是作為能夠掌握軟體專案全域性的全端開發者,而實際的開發者和使用者(需求)就是“兩端開發策略”概念中的“兩端”;這是從“人”的角度上看待軟體專案,而他們的交匯點就是對於軟體專案的“認知與理解”。
另一方面,我們也知道,軟體是要有很多技術來支撐的,所以,從技術的角度上講,“兩端”就是指“開發技術”和“軟體功能”,而它們的交匯點就是“開發方法”。
下面就是關於“兩端開發策略”概念的示意圖。
實際上,我們可以看到,“兩端開發策略”的本質就是從“人”的角度來思考軟體的開發問題,而這其中的兩個主角就是“開發者”與“使用者”,但我們知道,人和人是有很大區別的,而重要的是,不同的人對於相同的事物,理解上可能會有著天壤之別,所以,人在軟體專案中的影響,以及所帶來的不可預知性永遠都是不容忽視的。
整個軟體專案的開發過程中,開發者和使用者就是主角,而他們之間的交匯點就是決定軟體專案成功的關鍵所在,也就是說,對於軟體的認識和理解,以及正確的開發方法才是軟體專案成功的關鍵所在。
開發者。飈程式碼、拖控制元件、加加班、不停地學習新技術、……,這也許是很多開發者的真實寫照;不過,作為開發者,我們完全可以做的更多,比如,真正地理解使用者對於軟體的需求、合理地使用技術與方法、高效地開發軟體,最終,開發者和使用者都會從中受益。
使用者。有時候,他們會對軟體功能,甚至是開發技術誇誇其談,而事實是,他們並不是軟體開發者(如果他們是,不如自己開發得了,對吧?!)。那麼,問題來了,開發者應該如何應對使用者的要求呢?如何從中提煉出真正的需求呢?作為開發者,需要的不是個性化的使用者要求,而是真正懂得實際工作的使用者,他們是能夠完整地、正確地描述實際工作流程、方法和結果的人,而這一過程所得到的成果,也就是真正的軟體需求,應該是使用者能夠使用軟體提高工作效率的那部分內容(軟體型別不同,目標也會有所差異)。
交匯點。實際上,交匯點上的內容是軟體專案成功的關鍵所在,但是,人,也就是開發者和使用者的影響依然是決定性的。其中,開發者是最終做出決定的人,只不過,對於使用者的影響,開發者必須做出抉擇。但是,開發者不是神,他們依然會受自己的技術水平範圍、性格、認知,以及對事物的理解等眾多方面的影響;所以,開發者的決定一定是正確嗎?如果你的軟體讓使用者感到滿意,甚至是有些驚喜,那麼,答案就是肯定的!要達到這一目標,有太多的工作要做,不是嗎?!
好了,先討論到這裡,這是我對軟體開發過程的一些理解,歡迎大家進一步交流,共同進步。
當然,不是每一個開發者都會進行全端開發,那也是不實際的,但是,能夠從整體上把握專案,並在每個開發環節都能夠向正確的、統一的目標前進,那麼,相信軟體的整體質量也會有著強有力的保證!
最後,祝大家聖誕快樂!天天快樂!^^
相關文章
- 後端開發:【JavaWeb開發之Servlet的兩種配置方式】後端JavaWebServlet
- 《全端Web開發》選譯——總結Web
- iOS開發之遠端推送iOS
- 【移動端開發】移動端開發基礎問題
- 三端開發調研之京東Taro
- 開發WebApp之PC客戶端WebAPP客戶端
- Swift 後端開發Swift後端
- 「真®全棧之路」Web前端開發的後端指南全棧Web前端後端
- 基於xmpp openfire smack開發之Android客戶端開發[3]MacAndroid客戶端
- 開發JAXR客戶端客戶端
- 移動端開發模式模式
- 移動端開發技巧
- Tlias-後端開發後端
- Linux遠端開發Linux
- spring boot + vue + element-ui全棧開發入門——前後端整合開發Spring BootVueUI全棧後端
- iOS客戶端開發與Web前端開發iOS客戶端Web前端
- Flutter 全棧開發體驗——爬蟲與服務端Flutter全棧爬蟲服務端
- TCP程式設計之服務端和客戶端的開發TCP程式設計服務端客戶端
- 兩年移動端前端開發問題吐血彙總前端
- spring boot + vue + element-ui全棧開發入門——spring boot後端開發Spring BootVueUI全棧後端
- 移動端App開發 - 01 - 開篇APP
- 前端開發和後端開發,哪個薪酬更高?前端後端
- 移動端開發小結
- 後端開發怎麼學?後端
- APP後端開發雜談APP後端
- 什麼是後端開發?後端
- JAVA後端開發規範Java後端
- 服務端開發小感服務端
- 騰訊 客戶端開發 QT客戶端QT
- Ioc之全註解開發
- 在樹莓派上開發SpringBoot 之使用VSCode遠端開發樹莓派Spring BootVSCode
- [開源] 從web端開發到app端開發也許只有一個Flutter MVVM的距離WebAPPFlutterMVVM
- 軟體開發:app軟體開發,pc端軟體開發,微商城/小程式開發APP
- Web前端開發與iOS終端開發的異同Web前端iOS
- openresty前端開發進階二之https後端REST前端HTTP後端
- Android服務端開發之使用Eclipse搭建Java Web服務端Android服務端EclipseJavaWeb
- 重新學習web後端開發-005-瞭解前後端分離開發模式Web後端模式
- Flutter外掛iOS端開發教程FlutteriOS