軟體工程是什麼呢? 它不只是編寫一段**。而是把系統的、有序的、可量化的方法應用到軟體的開發、運營和維護的過程。其實軟體也並不是簡簡單單的一段**,軟體是可以執行在計算機及電子裝置中的指令和數字有序集合。軟體有幾大形式:系統軟體、應用軟體、惡意軟體等各種形式的軟體。
和人類製造的其他產品相比,軟體有相似之處也有不同之處,隨著人類的發展,各種事情總是變得很容易,但是一些基礎的東西還是無法避免的。例如軟體需要依靠**實現。計算機的硬體處理速度大致以每兩年提高一倍的速度發展,但是軟體開發卻沒有這樣的速度,因為有以下幾點:複雜性、不可見性、易變性、服從性、非連續性。這些特性是由軟體本身的特性決定的。其實總的來說,軟體是人來創造的最複雜的系統型別,它有許多的變化。同時不易觀察,不容易改變,它需要依賴硬體存在,不能獨立存在,所以他需要服從系統中其他組成的要求。這些特點或者是特性都在限制著軟體的開發,所以軟體開發的速度比較慢。
中國的大陸高校大致有三種計算機有關的機構:電腦科學與技術學院(系)、軟體學院、軟體工程系(學院)。雖然看著都差不多,但是這三種其實還是有區別的。電腦科學的理論研究部分,大多是可以從形式上證明,與數學、離散數學、數理邏輯密切相關,電腦科學中與實踐相關的部分,都和資料以及其他學科發生關係;軟體工程則和人的行為、現實社會的需求息息相關。軟體工程的研究目標(軟體的開發、運營和維護)都有「人」出現,這些「人」可以是專案需求的提供者,可以是軟體的開發人員,還可以是軟體的使用者。這一特徵與其他電腦科學的子領域明顯不同。因此,這三大學科還是有明顯區別的。
以前我以為這幾大學科沒什麼區別,這樣會讓我陷入乙個誤區。但是現在了解到了他們之間的不同,應該多讀書,不了解的問題應該進行查詢,不能先入為主的進行推斷。
02《構建之法》閱讀筆記02
個人感受 過去我的做法 1 以前每個部分都是分開各做各的,做好自己的事情就好了 不需要管其他的。獨立開發,想做什麼做什麼,只要實現布置的任務就行。這樣做的缺陷 無法做到團隊快速開發,很難提公升速度。問題解決方法 1 要自己挑選任務 每次sprint結束之後,還要總結不足,提出改進,並且自己要實施這些...
構建之法閱讀筆記02
第二章的開頭就給我講出了單元測試的概念和效果,單元測試可以使自己父子的模組功能定義盡量明確,模組內部的不會影響其他模組,而且模組的質量能得到穩定的,量化的保證。還舉例了小飛寫單元測試的例子,讓我們隊建立單元測試主要步驟印象深刻,建立單元測試的主要步驟 1.設定資料 2.使用被測試型別的功能 3.比較...
構建之法閱讀筆記02
今天看了第六章敏捷流程,在裡面我看到了衝刺執行任務中的每日例會,在這裡身份的類似於主人暑假給我們布置的任務和發表部落格的要求,其中這裡面有三條內容,分別是我昨天做了什麼,今天做了什麼,在其中又遇到了什麼問題。這個寫問題只有在衝刺階段真正的做了,用心的去解決了,才會真的有收穫 相反這些流程也會流於形式...