軟工之路

來源:互聯網
上載者:User

    從上年暑假開始總結一下我這半年的軟工之路,並不是細節上的總結,而是從宏觀上總結,找到它們之間的聯絡,再次起到“囫圇吞棗”的作用。依次從資料庫、管理系統、收費系統、軟體工程、UML、Rose畫圖、C#學習、設計模式、三層架構、VB.NET、SVN、合作開發收費系統,主要分為三個階段。

初識

    ——資料庫、管理系統、收費系統

    這個階段主要是開始接觸軟體行業,減少對代碼的抵觸和對編程的恐懼。

    真正接觸軟體這門藝術,可以說是從資料庫開始。雖然耿老師講的一般,但是走出了以前把所有資料定義成變數,代碼不超過一百行的階段。做管理系統的作用主要是熟練對資料庫增刪改查的應用,把資料庫和代碼合在一起理解。收費系統比起管理系統,代碼和複雜度相對大很對,做收費系統的目的主要是再次熟練資料庫使用,宏觀上接觸較大軟體的結構,最大的作用是很大程度上降低了對工程項目的恐懼心理。這個階段就像戀人的初識:對自己充滿信心的同時又對自己有所懷疑,同時憧憬著美好的未來。

再遇

    ——軟體工程、UML、Rose畫圖、設計模式、三層架構、SVN

    這個階段主要是系統的理解軟體,由代碼員向程式員的轉換,有面向過程向物件導向的轉變。

這一階段主要是對軟體的設計,是設計必然少不了理論,論的頭都大了,當時就想一個軟體編代碼不就成了,還設計什嗎?現在看來,一個軟體如果設計階段做的很好,代碼是一件非常easy 的事,尤其是經過團隊開發收費系統,對設計的重要性看的更重。

    軟體工程:先不管它多少理論,簡單看來就這些:文檔和思想。文檔就是說你做到哪個階段必須要有相對應的詳細文檔;思想,合理設計非常重要。概括說來,就是在軟體的整個生命週期,從分析可行性到軟體棄用,都需要軟體工程思想指導。軟體工程的目的主要是:合理分配團隊資源、高效率低支出、階段量化地做出一款健壯性好、易使用、易維護、易擴充的軟體。

    UML:整合模組化語言,顧名思義,它的作用主要是建模,建什麼模?物件導向的模,主要體現在圖和關係中。如果把修飾符、參數、傳回值等都設計合理,UML圖幾乎可以包含軟體編碼所需要的所有內容。這點在合作開發的時候體驗尤其深,如果我的類圖和時序圖畫好,那麼組員實現代碼會非常容易。如果想加深對UML理解,推薦網址:UML軟體工程組織。

    設計模式:“咬文嚼字”看,設計模式是設計軟體常用的一些方法的抽象。設計模式源於對軟體中經常遇到的問題的經驗總結,然後對分類進行抽象。抽象出來的適合其他同樣的問題,設計模式是對常遇到問題的固化思維和解決方案。話說當時看《大話設計》這本書時非常佩服作者,能把這麼抽象的概念用如此貼切、寓教於樂的方式體現出來。

    三層架構:三層架構並不只是三層,它只是一種分層思想的概述。簡單看來就是把代碼分層,方便各層之間同時開發和降低各層之間的耦合,方便維護和擴充。詳見我的部落格:三層架構初探

    SVN:subversion版本控制,由於合作開發的收費系統較小,所以對它的版本控制的重要沒有多大的體會,體會到的是對團隊開發的重要性,尤其是用三層架構的系統,各層之間互不干擾。

相知

    ——合作開發收費系統

    前面如果說都是對軟體藝術鋪墊,那麼這個階段就是對初次跨入軟體藝術。合作開發機房收費系統,把這半年所學全部用上:合理設計資料庫、運用抽象工廠等設計模式、完整的UML圖、文檔、SVN還有就是組員之間的溝通和理解……

    細細看來,這一路非常充實,總結完才知道這半年學了這麼多。這篇文章是對本階段的總結,套用軟體工程,權當是對我軟體之路的“可行性分析報告”吧,此“可行性分析報告”的結論是:可以立即執行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.