在軟體架構上增加新功能的注意事項

2021-06-17 00:07:30 字數 831 閱讀 8829

介紹:系統架構設計之所以難是因為變數太大,既要從使用者需求角度考量,又要考慮自身設計的種種侷限性。異構系統間的介面設計是尤其需要注意的,因此,架構師要從巨集觀的角度來規劃整個架構,以下列出五點注意事項僅供參考。

正文:文章**於dzone,作者simon brown分享了自己在增強軟體功能的工作中得出的一些經驗,詳細講述了軟體體系結構同樣也需要加強功能性,並列出了增加新功能時需要重點考慮的注意事項。(以下是編譯內容)

我們現在需要提公升正在使用的軟體系統,將新的功能新增到現存的一些使用案例中。可以想象,使用者案例得以執行,主要是通過使用者在web應用程式中的多個網頁的實踐,而且最終步驟的修改也是建立在大量使用者案例基礎上的。

修改系統,必須站在使用者的角度,因為要以使用者的身份觀察修改後的系統變化。然而它本身在架構上並不重要,我們正在秘密的連線乙個嶄新的系統。系統改善專案需要乙個非常輕的架構聯絡,由於自身屬性,所以需要稍微多一些的架構聯絡。

「注重介面,而不是實現,依賴介面,而不是實現。介面是抽象的是穩定的,實現則是多種多樣的。」這是設計模式中最根本的哲學。介面通常都是軟體專案中較為危險的組成部分,尤其是正在使用的乙個根本沒法控制的介面。另外,我們現在正在做的事情是需要將現有程式與網際網路中的第三方元件進行連線,這在之前是沒有實現的。從編寫**的角度來講這很容易,因為只需開啟乙個https連線並將少許xml資料放入即可。儘管很容易,但是由於基礎設施的問題,需要伺服器穿過防火牆才能訪問網際網路。

雖然只是加強乙個現有系統的功能,但這仍然是得益於架構輸入專案之一,而不是直接在**裡進行修改。在增加新的系統功能時,需注意以下幾點:

其實所做的這些和軟體開發/設計專案中剛開始所做的內容沒什麼區別,但是它強調了在乙個系統使用期內的其他階段裡,架構常常是必不可少的。

在iOS上增加手勢鎖屏 解鎖功能

在一些涉及個人隱私的場景下,尤其是當移動裝置包含太多私密資訊時,為使用者的安全考慮是有必要的。桌面版的qq在很多年前就考慮到使用者離開電腦後隱私洩露的危險,提供了 離開電腦自動鎖定 或者 閒置鎖定 等類似功能,具體我也忘了。而在iphone版的qq上,也提供了手勢鎖的功能。如下圖 具體的 實現如下 ...

在iOS上增加手勢鎖屏 解鎖功能

在一些涉及個人隱私的場景下,尤其是當移動裝置包含太多私密資訊時,為使用者的安全考慮是有必要的。桌面版的qq在很多年前就考慮到使用者離開電腦後隱私洩露的危險,提供了 離開電腦自動鎖定 或者 閒置鎖定 等類似功能,具體我也忘了。而在iphone版的qq上,也提供了手勢鎖的功能。如下圖 具體的 實現如下 ...

軟體自動更新功能的實現

今天一朋友在群裡面問,軟體自動更新功能怎麼做,大家都不知道怎麼搞,我下午剛好沒事情,就研究了下。客戶端 主程式 呼叫公升級程式,公升級程式連線到最新的伺服器上。2 公升級程式獲取伺服器上的xml配置檔案中最新程式的更新日期或版本號或檔案大小等。3 公升級程式獲取客戶端 主程式 的xml配置檔案的更新...