[案例研討] 雲端與安卓系統分析與實作-以豪小子App為例-01

前言

這是今年 (9月底)至大陸「深圳」軟件園區-「北京大學產學研究中心」授課所使用的案例研討 (case study)。

短短兩天的授課時間,展現如何整合「雲端 Cloud) 資料彙整」與「安卓 (Android) App」的系統分析開發至程式寫碼等涵蓋一個開發循環 (iteration)。

第一版的 Model 檔在此提供下載,可作為一個小型專案的範本參考 (Java eclipse 源碼待至後續論及開發寫碼時提供下載)。讀者可至 EA Saprx System 下載免費的 EA Viewer 以讀取該 Model 檔。

o 豪小子_雲端與安卓系統分析 Model 檔。
o EALite.exe (free, EA UML Viewer)

案例簡述

HSDc. 軟件設計公司 打算因應「林來瘋 (Lin-Sanity)」熱潮,開發一個手持式裝置的行動App (暫先命名為 「豪小子」 ),初步的版本先以「安卓 (Android)」系統為開發平台,後續的版本則準備擴展至「iOS」、「Windows Phone」等主要系統平台。

主要的功能需求 (functional requirement),行動用戶可以透過「豪小子App」隨時得知關於「Lin-Sanity」的相關新聞 (news)。用戶不需至各個相關的網站自行搜尋關於林的新聞,而是已由「雲系統 (Cloud System)」彙整其相關的新聞資訊,行動App僅需連至「雲系統」取得相關新聞的索引鏈結 (index link)即可。

「雲系統」的建構可以至「ISP (Internet Service Provider)」租賃,以減少建置與維護成本。本例的「雲系統」係架設在「Amazon EC2 (Elastic Compute Cloud)」。

一、利用 EA UML 工具規劃塑模 (modeling)專案目錄

圖 1、利用EA UML工具規劃塑模專案目錄
(點擊圖片鏈接看原圖)圖 1、利用EA UML工具規劃塑模專案目錄

    重點摘要:

  • UML 目錄規劃如同文件管理一般,每個人/每個團隊 均有屬於自己風格的整理方式,沒有絕對的規範。
  • 文件管理以「資料夾 (folder)」為容器 (container)收納單位;UML 專案則以「套件 (package)」為容器單位。
  • 一般建議的「root-package」有兩大面向-「需求 (requirement) view」與「結構 view」,但這也不是絕對。
  • 「package」內可容納「sub-package」與「uml 元素 (elements, 如同 files)」。

二、利用複合結構圖規劃系統架構

圖 2、利用複合結構圖規劃系統架構
(點擊圖片鏈接看原圖)圖 2、利用複合結構圖規劃系統架構

    重點摘要:

  • 「架構 (Architecture) View」是一種整體觀,是讓所有團隊開發人員對系統有著一致性的全貌共識,它會利用一到多張面向的設計圖 (或程式碼)來描述所謂的「架構」。
  • 在此係以 UML 複合結構 (composite-structure)圖定義開發的系統-Cloud Server, Android App,以及系統 (system)之間的介面 (interface)連接。
  • 「參與者 (actor)」只有兩種-人 (角色,組織等),與外部的系統 (非開發內的系統)。
  • 在此給予系統 (system)一個最精簡的定義-可以提供服務 (service, 或稱系統功能)給參與者 (actor)。
  • 不要把「資料庫 (database)」當成系統來看待!這是軟件開發人員最大的誤區。因為資料庫無法提供標準的介面 (interface)規範,也就是程式語言所稱之的 APIs (Application Programming Interfaces)。資料庫僅能看待為系統私有的倉儲 (private storage)。
  • 上圖2.定義了兩個待開發的系統-雲端伺服器 (cloud server), 與 安卓 (android)app。
    • 雲系統:透過 Spider (or Robot) 定期搜尋相關於「Lin-Sanity」的新聞資訊 (news information),並彙整與建立索引鏈結 (index link)。
    • 安卓 (Android)系統:行動用戶透過「豪小子App」可隨時查詢最新消息。

文章導覽

   

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *