淺談系統設計的因地至宜:從產線監控軟體開發設計談起

更新於 發佈於 閱讀時間約 6 分鐘
RevConsult :https://consult.revtel.tech/

如何結合區塊鏈 web 3.0 及 web 2.0 的開發:https://revteltech.pse.is/42s9t4
如何確保系統開發失敗:https://revteltech.pse.is/434ams
什麼是軟體顧問:https://revteltech.pse.is/43tmd8

去年下半年開始了幾個工廠設備的監控專案顧問開發。有別於以往比較多接觸的消費者端應用,情境確實比較不一樣。系統開發很重要的一個點是因時制宜、因地制宜,這次就算是一個很好的案例。

本篇文章紀錄一下值得分享的心得。

https://pixabay.com/zh/photos/company-factory-production-186980/

https://pixabay.com/zh/photos/company-factory-production-186980/

內容:以 APP 及 Web 替智能設備加上可以遠端監測及控制的能力

簡單敘述一下背景,這是一個台灣在智能設備領域有非常傑出的成果的公司。經朋友介紹跟我們合作開發類似戰情的遠端監測及控制系統讓管理者能掌握工廠動態。

其中的溝通蠻複雜的,也有賴客戶的協助才能順利完成任務。最終客戶在產業展覽中獲得獎項的認可,算是個雙贏的結果。

隱去資訊的部分截圖

隱去資訊的部分截圖

誒不要隨便搞掛人家系統

在這個工廠生產的情境中,監控系統要明確設計成外掛 (或許「控」的部分不一定,但起碼「監」的部分一定是)。

過往在一些像港區物流系統(見本文)的經驗,我們可以發現蠻多市面上運行的系統技術老舊簡陋,這倒不完全是主事者是否與時俱進,而可能是權衡之後的理性選擇。當然理性不等於最優,而變革也未必是改善

就如同工廠環境的資安需求跟雲端需求不太一樣,更重於內部控管及系統運行不停機。系統架構上可能有一些方向可以考慮,舉兩個例子:

  1. 善用中台架構
    中台的做法在這幾年蠻流行的。作為一個區隔實體,這種架構可以很好的封裝複雜度及保留開發彈性。比如當你面對原系統溝通時幾乎都是透過資料庫在交換資料時,搭建一些中台來做資料轉換及流程控制便是很好的做法。
  2. 主動詢問大於被動通知
    這裡蠻反直覺的。站在資訊流效率及系統效能的角度來看,似乎能訂閱就不該輪詢。可如果系統整體還未曾完全掌握、潛在風險還沒有完全排查,主動行為至少比較好控制。

這裡暫且打住,先回到我們主題 — 系統設計的因地制宜。

一招鮮吃遍天?這世界可沒這麼單純

作為一個工程師或架構設計者,我們都得朝著尋找最佳解的目標奔去。但也必須有雅量的去接受自己以及世界的不完美。

開發的第一步總是從「同理」及「理解」開始 (可參見本文),尤其在對不熟悉的領域更要小心。人總是會有思維慣性以及一些沉沒成本(如公司已經開發好的框架),這些都是隱性的天花板。

https://pixabay.com/zh/vectors/ancient-blind-boys-brain-cartoon-2026111/

https://pixabay.com/zh/vectors/ancient-blind-boys-brain-cartoon-2026111/

不要隨便地想要去改動人家的系統及流程架構,不然可能追悔莫及。舉幾個案例:

  1. 你只看到訂房系統後大量的人力耗費,但你有想過他們的人員訓練有多困難嗎?
  2. 你只看到對方報價系統只做到詢價表單,但你有想過他們的產品結構中那些無法被抽象的人治邏輯嗎?
  3. 你只看到他們流程系統還在用 FTP 管理資料,但你有想過他們的對口單位裝置都非常老舊且無法更換嗎?

看不到的地方往往才是最危險的地方

讀歷史的重點跟讀架構一樣:讀出不得已

不知道大家怎麼讀歷史的?其實在你覺得某些歷史人物很愚蠢時,你很可能就走歪了。每個人面對的情境、握有的資源都不一樣,設身處地去同理才能真正了解。

來自第一線的行為慣性應該盡量參考。當中可能有很多無意義雜音,但通常答案也潛在在其中。

讀架構及設計架構也是如此,這些「不得已」才是系統中真正該注意的地方。善用軟體切割的方式去封裝這些「不得已」然後結合出可繼續擴充及開發的結構才是安全的道路。

黑格爾的這句「凡是合乎理性的東西都是現實的,凡是現實的東西都是合乎理性的」實在是至理。

始於「已知的未知」,敗於「未知的未知」

最後提一下很常看到的問題,就是在開發之初就想著成本最佳化。

這裡的概念很類似開發時所說的「過早最佳化是萬惡的根源」( premature optimization is the root of all evil )。有些事情急不得也無法急,這在規劃以及實作都是一樣的。

系統設計是在追求解決「已知的未知」,但卻往往因忽略了「未知的未知」中而失敗

https://fytalk.com/tag/%E6%8B%89%E5%A7%86%E6%96%AF%E8%8F%B2%E5%B0%94%E5%BE%B7/

https://fytalk.com/tag/%E6%8B%89%E5%A7%86%E6%96%AF%E8%8F%B2%E5%B0%94%E5%BE%B7/

要保持彈性來因應這些不可見風險,適度的冗余是必要的。成本的控制是一個獨立的任務,這可以等主線到一段落時再思考,也應該正式納入開發排程。

之前曾遇過因為要省下雲端費用造成系統尖峰時不穩的案例,損失的除了有形的訂單之外也包含心力的耗費。工程問題總是有方式解決的不是嗎?

因時制宜的選用技術,因地制宜的設計架構才能最終解決問題


留言
avatar-img
留言分享你的想法!
avatar-img
Sam Huang的沙龍
18會員
33內容數
從超過 50 個合作經驗中擷取在系統開發、顧問及營運上的經驗及心得
Sam Huang的沙龍的其他內容
2023/12/05
沒有最正確的軟體架構,通常都需要隨著時間和發展階段進行修正和修改。系統最終會變成怎樣往往也和公司的管理方式及運作模式密切相關。 在過去的幾年裡,為應對需求,公司的軟體架構走向了 JAMSTACK 的風格。這裡分享一些關於這種架構的感受和經驗。
Thumbnail
2023/12/05
沒有最正確的軟體架構,通常都需要隨著時間和發展階段進行修正和修改。系統最終會變成怎樣往往也和公司的管理方式及運作模式密切相關。 在過去的幾年裡,為應對需求,公司的軟體架構走向了 JAMSTACK 的風格。這裡分享一些關於這種架構的感受和經驗。
Thumbnail
2023/11/29
作為程式開發者,每次聽到「加個 flag 就好」或者「開個變數存起來」這種話總是會心頭一驚。理由也很正常,就是像這樣子的 workaround 並沒有真正解決問題,只是徒留技術債,以後怎麼爆炸的都不知道。 workaround 聽起來真的是十惡不赦,不是嗎? 可凡存在必有道理,不如來聊聊 wor
Thumbnail
2023/11/29
作為程式開發者,每次聽到「加個 flag 就好」或者「開個變數存起來」這種話總是會心頭一驚。理由也很正常,就是像這樣子的 workaround 並沒有真正解決問題,只是徒留技術債,以後怎麼爆炸的都不知道。 workaround 聽起來真的是十惡不赦,不是嗎? 可凡存在必有道理,不如來聊聊 wor
Thumbnail
2023/09/23
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
2023/09/23
「為什麼要維護?有 bug 你們就要負責啊,你們怎麼可以給我們有 bug 的東西!」 一瞬間我也是愣了一下,還差點被說服(?)。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
提供一條簡單公式、一套盤點思路,幫助你快速算出去日本自助旅遊需要準備多少日幣現金!
Thumbnail
提供一條簡單公式、一套盤點思路,幫助你快速算出去日本自助旅遊需要準備多少日幣現金!
Thumbnail
戴明強調系統運作一定會有異常,而解決問題的關鍵在於正確判明原因並提出對策。改善系統時,不應該只憑經驗,而應該依據知識理論來訂出行動方案。文章探討了事件中的特殊和共同因,並強調要讓系統回到原有的運作狀態。
Thumbnail
戴明強調系統運作一定會有異常,而解決問題的關鍵在於正確判明原因並提出對策。改善系統時,不應該只憑經驗,而應該依據知識理論來訂出行動方案。文章探討了事件中的特殊和共同因,並強調要讓系統回到原有的運作狀態。
Thumbnail
最近各種資安案件層出不窮,像是聯合新聞網的新聞,就有提到國泰世華銀在10月發生系統大當機,造成ATM、網銀和信用卡收單,以及好市多、全聯結帳程序癱瘓。跟在做資安的朋友討論,才知道原來源碼檢測(偵測整個原始碼架構)可以解決相關問題,這邊分享相關內容給需要的朋友囉!
Thumbnail
最近各種資安案件層出不窮,像是聯合新聞網的新聞,就有提到國泰世華銀在10月發生系統大當機,造成ATM、網銀和信用卡收單,以及好市多、全聯結帳程序癱瘓。跟在做資安的朋友討論,才知道原來源碼檢測(偵測整個原始碼架構)可以解決相關問題,這邊分享相關內容給需要的朋友囉!
Thumbnail
你的公司企業有跟上數位轉型的趨勢了嗎?你知道企業資料要做好3D視覺化,可以有更佳的數據整合嗎?專業的智慧戰情室給你最佳的數據整合資訊,讓你可以透過相關的解決方案,為您的企業更增添一份實力!
Thumbnail
你的公司企業有跟上數位轉型的趨勢了嗎?你知道企業資料要做好3D視覺化,可以有更佳的數據整合嗎?專業的智慧戰情室給你最佳的數據整合資訊,讓你可以透過相關的解決方案,為您的企業更增添一份實力!
Thumbnail
資通安全階層架構如同金字塔的三層,由上而下依序是:政策管理安全(法令、規範)、系統與應用安全(程式、網路、資料庫、雲端、軟硬體)、基礎安全(密碼學演算法,包括數位簽章、雜湊函數)。所以首當其衝必須了解何謂「資通」?其相關管理安全的法令政策為何?才能得到較保障的資通安全。
Thumbnail
資通安全階層架構如同金字塔的三層,由上而下依序是:政策管理安全(法令、規範)、系統與應用安全(程式、網路、資料庫、雲端、軟硬體)、基礎安全(密碼學演算法,包括數位簽章、雜湊函數)。所以首當其衝必須了解何謂「資通」?其相關管理安全的法令政策為何?才能得到較保障的資通安全。
Thumbnail
此文章敘述了為了未來電腦安全,而設計的系統概念
Thumbnail
此文章敘述了為了未來電腦安全,而設計的系統概念
Thumbnail
面對與日俱增的網絡攻擊,企業的防火牆成為網絡保安的第一道防線,用於供防禦功能,以抵擋惡意的訪問和攻擊。隨着科技革新,防火牆的性能也因而提高,但其有效性取決於防火牆的管理者。為了充分發揮防火牆的效能,必須對其進行適當的管理,以降低針對業務的威脅。 託管防火牆(Managed firewall)
Thumbnail
面對與日俱增的網絡攻擊,企業的防火牆成為網絡保安的第一道防線,用於供防禦功能,以抵擋惡意的訪問和攻擊。隨着科技革新,防火牆的性能也因而提高,但其有效性取決於防火牆的管理者。為了充分發揮防火牆的效能,必須對其進行適當的管理,以降低針對業務的威脅。 託管防火牆(Managed firewall)
Thumbnail
許多人對駭客一詞有著負面的印象。但駭客一詞,原本並不具有負面的意思,而是指對事物內部運作原理深入研究、追求技術卓越的人。不論置身於哪個地方、從事何種產業,深入探索系統原理、追求技術卓越的駭客,都是值得尊敬的。
Thumbnail
許多人對駭客一詞有著負面的印象。但駭客一詞,原本並不具有負面的意思,而是指對事物內部運作原理深入研究、追求技術卓越的人。不論置身於哪個地方、從事何種產業,深入探索系統原理、追求技術卓越的駭客,都是值得尊敬的。
Thumbnail
今時今日,人類離不開電子器材已經成為事實。但當人們越來越依賴網上服務時,人們對相對的網絡保安和資訊安全的關注度就遠遠不及電子新玩意了。情況令人憂慮。請大家不要忘了加強及保護企業資訊安全的重要性,不要輕易忽視。
Thumbnail
今時今日,人類離不開電子器材已經成為事實。但當人們越來越依賴網上服務時,人們對相對的網絡保安和資訊安全的關注度就遠遠不及電子新玩意了。情況令人憂慮。請大家不要忘了加強及保護企業資訊安全的重要性,不要輕易忽視。
Thumbnail
前述提到個人資料,要進一步說的是,個資並非機密,與個資相關的權利通常不是智慧財產權,但這些個資的使用可能具有商業價值,規範第三方使用個資的法律,一般來說會與營業秘密法區隔。然而隨著資訊技術與網路發展,人們已可透過AIoT技術跨國界蒐集、傳輸與分享各種資訊或數據。
Thumbnail
前述提到個人資料,要進一步說的是,個資並非機密,與個資相關的權利通常不是智慧財產權,但這些個資的使用可能具有商業價值,規範第三方使用個資的法律,一般來說會與營業秘密法區隔。然而隨著資訊技術與網路發展,人們已可透過AIoT技術跨國界蒐集、傳輸與分享各種資訊或數據。
Thumbnail
最近談起資安相關的話題時,發現其他人有些觀念可能有待澄清。筆者因為過去的經歷,在這方面也算是有點心得;所以這裡就來探討幾點大家可能比較有興趣、但觀念上可能跟一般研發經驗不一樣的地方。
Thumbnail
最近談起資安相關的話題時,發現其他人有些觀念可能有待澄清。筆者因為過去的經歷,在這方面也算是有點心得;所以這裡就來探討幾點大家可能比較有興趣、但觀念上可能跟一般研發經驗不一樣的地方。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News