【軟件工程】第1次我的做業

項目 內容
做業屬於哪一個課程 北航軟件工程
做業要求 做業要求
課程目標 熟悉軟件編寫過程,鍛鍊編程能力
這個做業如何幫我實現目標 閱讀基本構建的理念,加深理解

1、快速看完整部教材,列出你仍然不懂的5到10個問題。

1. 第三章 軟件工程師的成長-軟件工程師的職業發展

工程師應該在實際工做中不斷學習和不斷成長,根據本身的狀況選擇在哪一個方面追求「專和精」,在哪幾個方面達到「知道就好」的水平。git

· 不斷學習和不斷成長顯然是必要的,可是真的只須要根據本身的狀況來決定嗎?我的認爲須要結合多方面來進行決定哪一個方面須要追求到專和精,例如當今社會的熱點,以及目前的發展狀況等等。程序員

2. 第三章 軟件工程師的成長-軟件工程師的職業發展

最好的編程語言是什麼,這是一個意見,並非事實,不要混淆。編程

· 最好的編程語言真的存在嗎?做者在書中提到Google公司認爲PHP不是最好的語言,所以有計算機的語言專家爲此發明了新的語言Go語言。可是另外一些專家以爲Go語言缺乏一些必不可少的元素,達不到登堂入室的要求,因此對於軟件工程來講,是否只存在最合適的語言,而不是最好的語言?架構

3. 第四章 兩人合做-不間斷的複審

結對編程中駕駛員和領航員的角色要常常互換,避免長時間緊張工做致使觀察力和判斷力降低。app

· 這是最讓我感到疑惑的問題,對於已分配好的工做,好比駕駛員和領航員,兩人對於本身的分工已經有了獨到的看法和進步,造成了屬於本身的思惟模式和解決問題的方式,那麼互換角色真的可以作好對方的工做嗎?在計算機領域難道不該該更難以互換?如何理解對方的代碼和思路,這須要花大量的時間進行溝通交流,互換角色是否真的有必要?編程語言

4. 第四章 兩人合做-代碼設計規範

函數最好有單一的出口,爲了達到這一目的,可使用goto。分佈式

· 目前在學習歷程中,全部編寫的程序中,goto函數應該是沒有使用過的,可是並無影響程序的運行或者是效率下降的表現。goto函數和單一出口是不是必要的?有何突出的優勢?函數

5. 第十一章 軟件設計與實現-圖形建模和分析方法

可以對一個問題創建模型的確很是好,可是咱們不要忘記軟件開發的目的是要經過寫代碼解決用戶的問題。微服務

· 做者在書中舉例,說有公司對客戶的問題建好了模型,可是不知道如何去實現。所以咱們如何將一個優秀的模型,經過寫代碼的方式表現出來,解決用戶的需求和問題。在我看來建模的難度和代碼實現的難度都是很大的,如何將這兩個工做很好地銜接起來呢?書中沒有提到具體作法。學習

6. 第十六章 IT行業的創新

· 做者在書中提到了不少創新的例子。在現實生活中也有,例如風靡一時的諾基亞手機,就是由於沒有創新的科技來吸引顧客,最後落到被收購的下場。可是對於目前咱們所學的知識來講,幾乎都是一些舊的基本知識,確實基本知識是十分重要的,基礎能力也是逐漸培養的,可是並無接觸到一些前沿的創新理念,這是爲何?

2、「軟件」和「軟件工程」這些詞彙是如何出現的?

· 軟件一詞最先出如今1953年Richard R.Carhart的研究備忘錄中,也有人說是同年圖靈提出的。但第一次做爲術語出如今論文中是在1958年,John W. Tukey撰寫科學文章時使用。
· 在1968年的德國的NATO會議上,提出了軟件工程的概念。

3、你們知道了軟件和軟件工程的起源,請問軟件工程發展的過程當中有什麼你以爲有趣的冷知識和故事?

大師級人物Martin Fowler在他談論微服務的我的主頁上提到,微服務並無一個很是明確的定義。事實上有不少種分佈式系統的實現均可以被當作(或者說勉強當作)是面向微服務架構的。

--來自於百度百科

因爲這次bug太過嚴重,致使影響了用戶的實際體驗,咱們在這次更新前已殺了一個程序員祭天。

--某app的更新日誌

4、當前主要使用的源程序版本管理軟件和項目管理軟件的優缺點

git
優勢:1. 開源、處理速度快、靈活性高
2. 離線工做,完成後將代碼push到網頁上
缺點:必須和特定的編譯器相結合使用,例如dev 和code blocks好像就不能push到git上。
用戶量:網上統計的數據預計在3000萬左右,是最多的。
Mercurial
優勢:兼容性好,擴展性強,有便捷的快速指令
缺點:功能單一,效率低
用戶量:預計在50萬之內
Trac
優勢:系統完善性高,擴展性強
缺點:基本功能少,須要插件
用戶量:預計在200萬左右
Bugzilla 優勢:具備強大的搜索功能 缺點:國內速度慢,上傳文件步驟繁雜

相關文章
相關標籤/搜索