這一周的主要授課知識點是軟體工程相關概念,軟體工程和電腦科學的關係,源**管理。實踐內容是簡單的源**管理操作。
首先我們應該認識到我們在學習時,軟體工程可分為以下階段:需求分析,設計階段,實現階段,穩定階段,發布階段,維護階段。但是在現實工作時,實習生往往是先從維護階段開始,學習並維護一些已有的軟體,接著能夠在專案中改一些bug,發布小規模的更新版本,之後有機會重寫一些較小的模組,沒有多少文件,自己要寫很多**,表現好的員工有機會設計比較大的模組,自己寫一些文件,最後可以有機會計畫新的專案,因此我們的學習也可以仿照這樣的流程。首先維護,找bug,少部分增量開發,分析需求,設計開發,回歸測試,發布並收集反饋。
其次我們的師生關係不是餐館和食客,老闆和雇員,保姆和幼兒,哥們和哥們,路人甲和路人乙,獄警和犯人,應該是健身教練和健身學員之間的關係,教練是很有經驗的身體力行者,並有足夠的理論知識,可以隨時指出學員的進步和不足。我們應該主動學習理論知識並且積極實踐,按照科學的學習方法來循序漸進,不斷總結和完善,提高自己的實際能力。
乙個複雜的軟體不但要有合理的軟體架構,軟體設計與實現,還要有各種檔案和資料來描述哥哥程式和檔案之間的依賴關係、編譯引數、鏈結引數等。構建管理、源**管理、軟體設計、軟體測試、專案管理相關的內容是軟體工程的核心部分。軟體=程式+軟體工程。軟體開發的不同階段可以模擬:玩具階段的紙飛機->業餘愛好階段的飛屋->探索階段的萊特兄弟的飛機->成熟的產業階段的商用飛機。軟體開發有以下幾點特別的難題:1.複雜性(大型軟體有超過百萬行的源**,上萬個不同的檔案) 2.不可見性(軟體工程師可以看到源**,可是源**卻不是軟體本身)3.易變性(軟體看上去很容易修改,但是正確地修改軟體卻不是一件容易的事)4.服從性(它要服從系統中其他組成部分的要求,以及使用者和行業系統的要求) 5.非連續性
軟體工程的目標就是創造足夠好的軟體,bug的多少可以直接衡量乙個軟體的開發效率、使用者滿意度、可靠性和可維護度。
構建之法 現代軟體工程
我理解的軟體工程 軟體工程就是把系統的,有序的,可量化的方法應用到軟體的開發,運營和維護上的過程。軟體工程包含的領域有很多,軟體需求分析,軟體設計,軟體構建,軟體測試和軟體維護。我理解的軟體工程是,這必須需要乙個團隊或者乙個小組合作才能做出優秀的產品,乙個人是不可能完成的。軟體工程並不是我以前理解的...
構建之法現代軟體工程
讀了鄒欣老師著作的 構建之法 以及參考其他眾位大神對於本書的書評後,我獲益匪淺,具體如下 首先我覺得鄒老師這本書看起來很輕鬆,當然不是指沒含量,實則恰恰相反,只是這裡我要更多的突出是另一方面,那就是這本書給讀者營造的氛圍很輕鬆,讓我不知不覺就看了好多頁,內容很豐富,其中有很多的假設,難得的是每乙個假...
初識軟體工程 《構建之法 現代軟體工程》
每次開學都是乙個新的開始。當看到 軟體工程 這四個字時,既熟悉又陌生,熟悉是因為我的專業就是軟體工程,陌生的是他作為一門課程,我不知如何下手。從老師的推薦中,我選擇了這本 構建之法 現代軟體工程 他向我展現了乙個新的世界,讓我有了新的認知,同時也帶來了新的探索。問題 1.對於剛接觸這方面知識的我們,...