软件设计和设计的问题
先感概一句, 軟件設計是一個不太容易的事情,尤其歷史需要兼容新需求的問題。
軟件設計
軟件設計包括很多,軟件架構,軟件結構,數據庫設計。
軟件不是從0開始的,一般都會有一些支撐組件,尤其現在的web程序,會有開源的程序提供給你。而選擇什么樣的支撐組件,就要看你真正的需求了。速度(選擇高性能算法,語言支持,增加緩存),安全性(https,ssh),計算規模(分布式),高并發(mp模型),語言環境限制等等。這些都是實際存在約束,從而在軟件上有所側重,數據庫,緩存工具,提供的加密通道,VPN,基礎LIB等等。
例如我們最近的項目,交互的游戲服務器實在移動的微機上,IP地址,網段都是不確定的,而且有時常搬運到各地的需求,就要有跨越網段的需求。就要使用VPN和反向代理軟件。對于VPN軟件,也有很多OpenVPN等。反向代理軟件,用的比較多的Nginx,這個軟件太火了,而且資料非常的全面。
數據庫,還有一些其他的一些軟件依賴。
軟件結構,這個有很多課程來講述牛人們的思想,數據結構、設計模式等等。這些數據和課程講述了抽象的內容,比較少的描述他們的應用場景。但實際上,我們大量的學習是在這兒層面上的。有很多的東西,不是我們不會,不去理解,實在是使用的場景。而在進行設計的時候,盡量嘗試一下。嘗試對需求帶入我們的設計模式,挑選更加合適的處理方式。
?數據庫設計,不用說,在很多場景中,它是最核心的內容,數據作為展示,抉擇的依據,而為了更加友好的處理,分析數據。現在數據倉庫也是再興起。。
需求增加
原始的開發方式,瀑布模型。這個情況比較少,但是在實際的實施過程,一期二期三期的推進。需求也是在增加的。
現在互聯網的開發選擇是敏捷,迭代開發。要求開發周期短,每個周期有新的需求,但是如果遇到大的需求,跟原始設計有沖突地方,就要更改早期設計。比如我們曾經遇到PC端從服務器下載資源,資源存儲方式都是md5值存放,而后期增加了模板文件的概念,文件在服務器上不能以md5方式存放,而文件有可能會發生改變。這樣的話,原始設計的優化方案,同名不下載,就需要更改。
需求更改
針對需求更改,不改設計和更新代碼是根本不可能的,現有理論都是在盡量少的更改設計。
歷史兼容新需求
怎么辦重構部分代碼。重新梳理需求,對于數據庫設計,最好還是盡量少的進行更改,對于它的變化基本上算的上傷筋動骨。
?
轉載于:https://www.cnblogs.com/tom-zhao/p/3894890.html
總結
以上是生活随笔為你收集整理的软件设计和设计的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nagios的搭建及配置----(中)
- 下一篇: 2020五一建模C题:饲料混合加工问题完