PC用戶端的互連網化設計

來源:互聯網
上載者:User

標籤:用戶端   互連網思維   架構設計   敏捷開發   軟體開發   

        伴隨著手機,平板電腦為代表的移動互連網的不斷髮展,雲端運算和雲端服務的興起,更是推動著傳統企業不斷地往互連網方向轉型。作為Windows用戶端程式員,自己也在時刻地警醒著:要拋棄傳統軟體開發思維,努力學習互連網思維。互連網+,這一個充滿著機遇的經濟新形態,讓所有傳統企業都感覺到挑戰和希望。而最後能否突圍成功,則在於是否能用互連網思維去解決問題。

        好的,大層面講完,該聚焦到具體的細節上。傳統PC用戶端開發都採用C/S架構,即伺服器/用戶端。例如在使用者電腦上安裝用戶端和本機資料庫,用戶端與伺服器端進行通訊;又或者是直接把資料庫安裝在資料庫伺服器上。其開發採用的資料庫無外乎是MS sql2000和Oracle等等,而資料庫安裝和維護是一個難題。

        一般的PC用戶端軟體幾乎整合了所有的功能,介面人機互動和業務處理邏輯都包含其中,這樣由於代碼品質,現場環境和使用者使用習慣等等,往往會容易出現不同的錯誤。這些都需要支援人員去協助客戶,甚至要到客戶現場去。一旦產品使用者數量到了一個大數量級,呵呵,公司的營運成本會顯著提高。不僅如此,傳統軟體開發週期冗長,流程繁瑣,已經不適應現今的互連網節奏了。

        因此,為了更加清晰地說明用戶端的互連網化設計,現舉例公司新產品採用的新型架構設計模式:互連網模式。

         雙進程模式:

        1、主進程主要是用於介面展示,使用者業務資料輸入和人機互動等等,採用C++介面庫來實現;

        2、副進程是一個http伺服器,它負責資料處理、資料存放區和雲端互動,是一個資料引擎(跨平台編譯,支援Windows、Android和IOS平台);

        3、它們之間的請求互動通過http協議來進行通訊,並採用Json資料格式進行傳輸。

        本機資料庫:

        採用了sqlite3,它是一款輕型的資料庫,佔用資源小,並且經常用在嵌入式裝置中。不用安裝,十分方便。

        用戶端架構圖:


         系統架構圖:


        優點:

        1、商務邏輯不寫死在用戶端,放到伺服器端操作,統一版本,減少片段化,增強靈活性。

         如果把商務邏輯寫在用戶端上,一旦它變化,用戶端就必須要修改代碼,版本就要升級。而我們是不強迫使用者升級的,這樣就不能全網覆蓋,造成版本片段(這裡也是瀏覽器端和用戶端的一種區別);

        2、分工清晰,高效開發,聚焦細節,更能實現敏捷開發的快速迭代;

        用戶端只負責介面實現,網路核心通訊和基本業務資料處理;伺服器端負責資料庫建立,處理,儲存和通訊互動,每個人聚焦的點不大,但是卻能更讓開發人員有更多精力和時間設計開發。

        3、有了雲端的互動,雲同步功能可以支援多終端,多地點了,並且支援本地離線資料,真正做到了隨時隨地看資料了。

        除了架構模式,開發流程管理也要做到互連網化:快速迭代,小步快跑,快速試錯,大目標拆分為小目標。其中最有名的是Scrum敏捷開發,現介紹其開發模型,如所示。


         什麼是Sprint?

         Sprint是短距離賽跑的意思,這指的是一次迭代,而一次迭代的周期是4個星期。

         流程講解:

        1、PM確定Product Backlog(按優先順序排列的一個產品需求列表),然後做工作量的預估和安排;

        2、通過 Sprint計劃會議中挑選出一個Story作為本次迭代完成的目標,這個目標的時間周期是1~4個星期,然後再進行細化,形成一個Sprint Backlog;

        3、每個Scrum Team成員根據Sprint Backlog再細化成更小的任務(工作量能細化到2天內完成);

        4、每次Daily Scrum Meeting(每日站立會議)須控制在15分鐘左右,每人都要發言。要彙報你昨天完成了什麼,並承諾你今天要完成什麼,同時可以提出一些難以解決的問題,然後在白板上更新自己的 Sprint burn down(Sprint燃盡圖 (burndown chart));

        5、每天都要有一個可以成功編譯、並且可以示範的版本;

        6、當一個Sprint Backlog被完成,我們要進行 Srpint Review Meeting(示範評審會議)。產品負責人和客戶都要參加,每一個Team成員都要向他們示範自己完成的軟體產品;

        7、最後是 Sprint Retrospective Meeting(回顧會議),以輪流發言方式進行,總結改進的地方,然後放入下一輪Sprint的產品需求中。

        互連網是一個充滿神奇和希望的地方,無論你是開發移動APP端或者windows用戶端,都不應妄自菲薄。我們應該用心去做好產品,時刻站在使用者的角度,跟隨時代潮流,把使用者體驗和產品體驗做到極致,那麼我們就是成功的。

        加油吧,蛋炒飯!



PC用戶端的互連網化設計

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.