【軟件工程】第一次閱讀做業

這個做業屬於哪一個課程git

<課程的連接>算法

這個做業要求在哪裏編程

<做業要求的連接>服務器

我在這個課程的目標是數據結構

瞭解專業知識,學習軟件開發方法工具

這個做業在哪一個具體方面幫助我實現目標 學習

自我評價,瞭解前人經歷,總結經驗測試

一.創建博客並介紹本身命令行

    我來自軟件工程3班,屬於慢熱型;喜歡玩魔方,聽音樂;情緒常常寫在臉上,不善言辭。blog

    個人博客地址: https://home.cnblogs.com/u/3451ymx/

二.閱讀與思考

(1)回想一下你初入大學時對軟件工程專業的暢想

  • 當初你是如何作出選擇軟件工程專業的決定的?

         當時填志願時間緊張,來不及深思熟慮就選了軟件工程這個專業

  • 你認爲過去兩年中接觸到的課程是否符合你對軟件工程專業的期待,爲何?
    還算符合吧。學了C語言、C#,數據結構與算法等基礎課程,爲往後的核心課程、實踐打下基礎
  • 你以爲軟件工程是你喜歡的領域嗎,它是你擅長的領域嗎?

         不喜歡也不討厭,不擅長

  • 未來你會選擇從事軟件開發相關的工做嗎?是的話給出你想去的城市、公司和崗位,否的話給出緣由

          不必定。目前學的東西很少,基礎不是很好,對計算機行業也不是很感興趣,還沒想好

(2)即將大三的你,對照前人們走過的路和描述將來發展,如今的你

  • 自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?

          目前我具有的專業知識、技能、能力只能說是入門,要達到大佬級別,還有很長很長的路要走;寫過的代碼也很少

  • 離成爲一個合格的軟件工程專業本科畢業生,在專業知識、技能、能力上還差距哪些?

         目前,可能連一個碼農都稱不上,對於軟件開發也僅僅知識瞭解點點理論知識,各方面的綜合能力,如合做能力、溝通能力、管理能力都有所欠缺

(3)大三是一我的生選擇的十字路口,考研、工做、考公、出國,不一樣的選擇在大三就有不一樣的努力方向。而不管考研仍是工做的每條路徑,也有許多不一樣的分支。

  • 對照以上你閱讀的前人們的經歷,你的選擇是什麼?

          考研

  • 在這種選擇下,你認爲你相比其餘同窗來講有何優點,有何劣勢?

          優點:首先,當前大學生愈來愈多,含金量也不是那麼高,並且有的企業要求就會高些,因此研究生會在學歷上賽過一籌;其次,也存在不少本科畢業就工做的,最終仍是走上了考研之路;再次,對於我我的而言,還沒想好是否要從事本專業工做,也許會跨考。

          劣勢:本科畢業就工做的通常都比考研的實戰經驗豐富、人脈廣。

  • 針對你的選擇,你給本身的大三設定的規劃安排是什麼?

          既然目前還沒想好,就先學好當前的課程,尤爲是專業課程。

 

三.提有質量的問題

    問題一:

         代碼複審 4.4

         文中提到代碼複審有三種形式:自我複審、同伴複審和團隊複審。

         個人疑問:最好是有經驗、熟悉代碼的人來複審,而代碼做者必定是最熟悉本身代碼的,但他本身複審,會有思惟的侷限性;若是同伴複審,就不存在思惟的侷限性,那麼是選擇一個同伴複審,仍是兩個同伴復,甚至更多呢?若是是團隊複審,最大的侷限是效率不高。那麼三種方式該如何抉擇?

    問題二:

         結對編程  4.52

         書中舉有例子:越野賽車和駕駛飛機,二者共同特色是在高速度中完成任務,任務有較高的技術要求,任務失敗的代價很高。

         個人疑問是,開發程序時,什麼樣的狀況是相似於文中舉的例子,須要進行結對編程?是否有公司實行過結對編程?效果如何?對於合做的兩人,是兩人水平至關,仍是一高一低?有什麼特別的具體的要求嗎?合做兩人的適應期通常是多長時間呢?

    問題三:

        與顧客合做 7.2.9

        文中提到MSF強調產品團隊與顧客的交流合做,由於「我以爲」和「用戶以爲」是兩碼事。

        個人疑問:那麼遇到那種類型的問題須要與顧客交流?大概多久進行一次呢?如果交流時遇到「對牛彈琴」的狀況該如何處理、如何交流?

    問題四:

        目標、估計和決心 8.6.1

        文中提到若是咱們混淆了目標估計和決心,那就會犯錯。其中軟件時間的估計是多個估計值的乘除法(估計的需求、估計的複雜度等等)。

        個人疑問:那麼,究竟每一項估計該怎麼估計才比較準確呢?

    問題五:

        PM作開發測試外的全部事情 9.3

        文中提到微軟公司有好幾類PM,以及一名優秀的PM應有的能力。

        個人疑問:不管是哪一類PM,是都必需要擁有文中所列舉的那些能力嗎?仍是說負責內容不一樣,有不同的要求?

 

四.瞭解和調查源程序版本管理工具

      

git的優缺點【1】:
  • 優勢:
    • 公共服務器壓力和數據量都不會太大。
    • 速度快、靈活。
    • 任意兩個開發者之間能夠很容易的解決衝突。
    • 離線工做。
  • 缺點:
    • 資料少(起碼中文資料不多)。
    • 學習週期相對而言比較長。
    • 不符合常規思惟。
    • 代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。

mercurial優缺點【2】:

  • 優勢:
    • 命令行簡單,容易上手。
    • 簡潔優雅。
    • 服務器部署相對容易。
  • 缺點:
    • 改寫歷史麻煩,易致使版本庫混亂,也易出錯致使丟失歷史。
    • 沒有命名空間,易致使本身與別人的代碼混成一團。
    • 每種分支方式都有許多缺點及不便之處。

Bugzilla優缺點【3】:

  • 優勢:
    • 定製功能較強,能知足用戶的差別化需求
    • 安裝較簡單。
  • 缺點:
    • 界面不友好。
    • 語言單一。
    • 更新慢。

 

【1】博客園

【2】【3】知乎

相關文章
相關標籤/搜索