軟件工程 第二週

軟件工程 第二週

目錄
1.提出問題程序員


1. 提出問題

  1. 第一章一上來就提出了幾個問題,做者也試着做出了本身的解答。可是我看完以後,我以爲程序(算法、數據結構)是基本功,這個觀點彷佛論證得不夠充分,文中只帶過了這麼一句「……源程序,就是這麼一行行的代碼。它們是創建在數據結構上的一些算法。……」,一樣也沒有可以解答個人疑惑。這一章的介紹更偏重於軟件工程之於軟件的重要性。那個人問題是數據結構做爲計算機專業學生的必修課,最重要的緣由是什麼;老師反覆強調算法的重要性的緣由又是什麼?這個問題,我亟待了解。咱們大二的學弟學妹們,就由於幾乎沒什麼人選算法,最後這門課乾脆直接取消,彷佛你們都以爲算法這門課沒什麼用。數據結構你們學了以後也基本都扔掉了,只有考研的時候纔會再撿起來。確實咱們隨便上GitHub上找找,就能發現別人都已經實現好的數據結構或者是實現好的算法,咱們大部分時間也是調用別人已經寫好的庫或者是模塊,親自造輪子的真的算是少數。因此這樣的理論課到底應該是全部人的必修,仍是少數人的選修?算法

  2. 第三章中有一個絞刑架和職業發展的討論,想問下做者,就您的認爲,如今的軟件開發工做相比於10年前、20年前、甚至30年前軟件工具和軟件工程理論方興未艾之時,是更容易了仍是更復雜了?關於這個問題能不能用典型的人口增加模型來解釋呢(雖然這個模型有一些缺陷,可是相對來講方便理解)?程序員的數量相比於過去確定是增長的,爲何會增長呢?這個數量存不存在一個上界來約束,若是有的話,限制程序員數量增長的緊俏資源是什麼呢?數據結構

  3. 關於用戶體驗的這個部分,有個文字編輯的對比。Word 2007以後的版本能夠雙擊文檔正中實現居中,我也是今天才知道的。那這種通常比較難發現的功能,即便寫出來了怎麼去讓別人發現,更加方便別人使用呢?還有針對LaTeX和VI這樣的,認知阻力相對比較大的軟件,有必要爲了下降認知阻力而做出一些改進嗎,若是有,那應該做出那些改變呢?我以爲這就像算法當中一個時空平衡的概念,算法改進到必定的地步,要繼續下降空間開銷,就必須增長時間開銷,反之亦然。那這些軟件是否也是這樣?不少人寫論文會用LaTeX,用VI或者EMACS的也都是熟練的計算機專業人員,那麼這些軟件的用戶人羣是否是也就是這些人?工具

  4. 這本書的頁碼爲何是標在章標題的左邊,而不是傳統的目錄結構,並且爲何小節都沒有頁碼,做者這樣設計的目的是什麼?學習

  5. 最後一個問題就是關於這門課的自己。這邊就問一個確實很愚蠢的問題,對於不一樣方向的學生到底應該以什麼樣的態度去對待這麼課?我問出這個問題並非想偷懶,偏偏相反,不少課我都感興趣,都想學得很好,可是這無疑就是要花更多的時間,只是正如做者在書中所說「不可能在兩個地方同時作豬,這太難了」。去年在Java課上第一次接觸到了博客,就以爲手忙腳亂,對於基礎不是那麼好的本身或許要花不少時間纔可以讓博客做業看上去不那麼敷衍,同時還要準備競賽,還要跟進老師的項目等等,不少時候都逼本身熬到晚上一兩點鐘。這幾天粗糙地讀了一遍書,很顯然軟件工程更是一個龐然大物,確實又懼怕了起來,不知道該怎麼應對,再加上此次主要又是團隊開發,要很是很是努力,或許才能看上去不是像在划水、在混日子,那其餘的課程應該怎麼兼顧?準備考研的同窗應該怎麼分配時間?之後不搞軟件開發的同窗又該怎麼應付?雖然在哪一個地方作豬是本身的決定,可是仍是但願做者和老師可以傳授一些人生的經驗,稍稍指點咱們一下。我也知道有不少學長學姐都經過軟件工程學習到了不少東西,作出了很好的軟件,那他們又都是怎麼應對的呢?spa

相關文章
相關標籤/搜索