初識軟件架構


今天看了幾篇關於軟件體系架構的文章,有了初步的認識。

其實軟件體系架構是一種很抽象的思想,不像是技術,我們學了就能實打實的把它寫出來,但是他卻站在軟件開發的最前端,沒有一個好的體系架構,我們的軟件(小型軟件,單人在一台電腦上短時間內能完成的除外)可能就需要消耗大量的人力物力財力,卻達不到我們想要的效果,甚至完不成。

From Wikipedia:https://en.wikipedia.org/wiki/Software_architecture

Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and the documentation of these structures. These structures are needed to reason about the software system. Each structure comprises software elements, relations among them, and properties of both elements and relations.[1] The architecture of a software system is a metaphor, analogous to the architecture of a building.[2]

百度百科給的定義是:軟件體系結構是具有一定形式的結構化元素,即構件的集合,包括處理構件、數據構件和連接構件。處理構件負責對數據進行加工,數據構件是被加工的信息,連接構件把體系結構的不同部分組組合連接起來。這一定義注重區分處理構件、數據構件和連接構件,這一方法在其他的定義和方法中基本上得到保持。

不過似乎不是很夠。

我們完成一個軟件項目其實就跟我們蓋房子差不多,我們得清楚我們要干什么,解決的是什么問題;設計,到底是要建成什么樣的,使用什么樣的材料;分工,誰在什么時間內能完成什么;溝通,各部分之間要怎樣良好的拼接起來;蓋好之后,將房子美化裝修;后期,維護拓展。對應到我們軟件就是:跟客戶溝通需要解決的問題;使用什么樣的框架,什么語言;誰負責編程,誰負責調試,誰又負責代碼的哪一部分;各部門之間出現問題的溝通解決;將軟件格式模式等修整好;並且在將軟件交給客戶后后期維護和功能拓展等容易實現。

我們為什么要發現問題?沒有明確的知道問題我們怎么解決!人家客戶要的是在花園里的樹上建秋千,分工到你這成了建一個秋千,別人建樹,而你偏偏就做了一個在鋼管上的秋千,這要讓用戶怎么滿意。這里還體現了溝通的重要性!

為什么要設計?沒有良好的設計怎么分工,連想 建成什么樣都不知道,連用什么語言都不知道,怎么分配 誰要做什么,簡直就是無頭蒼蠅。

為什么要分工?你總不能一個人做完整個 大項目吧,這樣很累。總不能讓擅長做前台的去做后台,讓擅長后台的去做測試吧。合理的分工不僅可以提高工作效率,縮短工期,還可以提高工作質量。

為什么要調整好軟件使用的構架模式?一個好的模式可以幫助功能的實現,可以打好軟件的基礎,對於日后的拓展及維護提供了堅實的后盾。

總的來說,它有以下作用:

軟件構架對新產品開發的作用:從面向業務的需求,到最終的面向技術的軟件系統,要跨越很大的鴻溝。軟件構架就是架在這個鴻溝上得一座橋梁。具體而言,軟件構架對新產品開發的作用有以下幾方面:上承業務目標,下接技術決策控制復雜性,組織開發,利於迭代開發和增量交付,提高質量。

軟件構架對軟件產品線開發的作用:固化核心知識;提供可重用資產;縮短產品周期;降低開發和維護成本;提高產品質量;支持批量生產。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
  © 2014-2022 ITdaan.com 联系我们: