企業級軟件服務構架及其軟件開發理念

 

企業級軟件構架及其軟件開發理念
      當我在Csdn上看見了一篇程序員的自白後,學了不少知識,不僅僅是技術,作爲一名程序員應該具有一定綜合的素質,因此再往後我在思考問題的是應該更全面,更系統,更謹慎,更高,站得高,看得遠,綜合評定一個程序,我就聯想到我做的視頻轉換格式的軟件應該說可以了,可是按照嚴謹的態度,我的軟件應該做的更好的話,就應該轉換任何格式,綜合評定的話,按到模塊與模塊之間的聚合度和耦合度之間的關係略顯不足,從我做的"個性播放器"能夠充分的看出他的耦合度和聚合度之間的關係存在很大的問題,如果看過我代碼的人應該能夠看出來,再加上軟件工程提出的觀點設計軟件按照五種基本構架來開發軟件.
顯然我還不足,不能按照工程化的思想來開發軟件,觀看別人的經驗和軟件間模塊的構架MVC,Struct,SOA等等,這些企業級服務構架,我還遠遠不足,略顯不足中,不斷改進自己的軟件達到提升自己的效果,典型的構架SOA,MVC都體現企業級UML文檔的重要性,因爲這裏涉及到了一些編程理念的核心思想,我在這兒不方便說.
UML架構圖(典型)
UML序列圖
UML對基於B/S模式的圖書館系統(UML應用實例)
UML工作流程圖
      但是我要說的一個很重要的一點事,作爲一名程序員,一名好的程序員有些核心技術是不能說的,對某些問題要保持單調,點到爲止,這是爲了自己,防止他人剽竊核心技術,以免帶來麻煩,即便是關係很好的人,也不能說,點到爲止,所以我跟別人講述編程經驗的時候,都是避開編程核心不談,問起核心時候我一般都之乎者也,搪塞別人,其實這不叫自私,這叫保護自己的知識產權,因爲對計算機法律規定很明確除了關於黑客之外,就是計算機軟件的知識產權問題,還有就是企業級成熟度問題,國家級別,企業級別,國際級別.
      作爲程序員有他單調的一面,更重要的還有他善談的一面,因爲作爲一名程序員在寫軟件需求規格說明書時候,他往往扮演着一個站在客戶角度,來分析問題幫助客戶解決實際問題並且能夠提出有效解決方案的一個角色,在規格說明書中會詳細記錄整個開發過程及其經濟預算,風險預算,還有項目評定,可行性計劃書,對三個方面進行考慮經濟可行性,社會可行性,技術可行性,作爲一名程序員要綜合考慮整個開發過程及其設計,囊括了開發前期,開發中期,開發後期,開發結束後的銷售,維護,調試等等.
      在開發過程中,會用到很多技術問題,比如說數據結構,編譯原理,離散數學,程序語言設計等等.我認爲這個方面固然重要,可是軟件成敗絕大部分不是取決於技術,而是你理念,包括銷售理念,和推銷理念.不過這裏我提醒大家,在學習這些科目時,也許你覺得沒有用,可是當你學完後,編程時你會發現很多新的理念,比如離散數學中代數系統這章告訴你設計軟件時要站得高去看整個軟件結構才能看清軟件的系統結構,模塊與接口,這在上面的UML圖中你可以清晰看見類與類,對象與對象之間的關係,繼承與父類的子類,與父類之間關係,強關聯,弱關聯,組合,多態性,接口的特性,這些概念相當複雜,不好理解,在你學習他的時候要積累,理解,融會貫通,你的思想理念會在不知不覺中提高,考慮問題的能力也別人完善.
      在開發大型項目的過程中還會涉及到部分網絡知識.不管是局域網還是廣域網,會涉及到高層協議和低層協議,典型的是TCP/IP協議在廣域網中的應用,他通過路由協議RIP發送ICMP數據包,由於TCP/IP協議和OSI/ISO七層網絡協議中的底層是網絡中傳送介質的,因此考慮這部分是很重要的,由於網絡部分屬於服務構架,基於第五代網絡的提出網絡更面向於服務業,和第三產業,因此構建企業級別的局域網由小型的虛擬專用局域網VPN演變而來,使業務變得更快速,更安全,典型的就是現在流行的ATM異步傳輸協議,ATM機就是這樣,不過他是分時和實時批處理相結合的系統,也可以說是網絡操作系統基於ATM異步傳輸協議,由於對於局域網中令牌環網,包括H.25,幀中繼網,SNMP,CMIS/CMIP,LMNP等等,這些少見的局域網中的協議,不過這些局域網的協議只要曉得就夠了,重要的瞭解C/S,B/S模式下的網絡協議.
      在開發過程不免帶一些個人色彩,體現創造者的審美觀念,因爲我把我的每件軟件作品看成我的兒子一樣,他在我的手上就是培養出來的藝術靈感,本身軟件就是藝術,無非他也是科學,體現科學的嚴謹性.
      在我考程序員時候,每個作品充滿魅力和活力,體現我無數創造力和能力,技術,和先進的觀念,洞察力,邏輯推理能力,每一點想到,一點紕漏都沒,否則釀成大禍,編程不是想當然,記住這句話,我在我的Csdn博客也是這樣寫的,要用實踐驗證你的設想,把它變爲現實,再下結論,不要隨便下定義,無數經驗和教訓告訴我們,科學是要一絲不苟的,不要在這上面耍小聰明,否則聰明反被聰明誤.
      僅僅這還不夠,還要有明銳的觀察力,對經濟的動向和去留,做綜合評定,和研究,發現問題,解決問題,因此我培養自己與人交往的能力,和對經濟動向的瞭解,對事物綜合的看待能力,縱觀全局,運籌帷幄,在軟件設計師考試裏你會看見運籌學,雖然在大學中你不會學到,但是這種運籌帷幄,胸有成竹的感覺會帶着你走,走的更遠.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章