軟件工程基礎第一次做業

 

 

課程名稱 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation
做業要求 https://edu.cnblogs.com/campus/xnsy/Autumn2019SoftwareEngineeringFoundation/homework/4517
課程目標  瞭解源程序管理版本差別,熟悉課文。

 

 

 

 

 

1.創建博客並介紹本身

(1)我的信息

姓名 楊光
學號 201631061414
博客地址

https://www.cnblogs.com/FangYuan454/程序員

 

 

 

 

 

 

 

(2)自我介紹

我來自16級,由於以前沒有選這門課,如今補修。在大學學習階段,幸而身邊有同窗樂於給出建議,雖遇迷途,但能知返。平時對語言文字感興趣,對中文的興趣主要集中在對聯、方言。高中學習英語經過觀看大量的美劇積累單詞的同時,也漸漸地對英語文化習俗產生興趣,瞭解了許多中西方文化上的差別。在高考英語取得了130多的分數後並未放棄英語的學習,因此大學才能較快地經過四六級。最近開始自學德語,並打算在將來幾年至少熟悉三門外語。固然也但願經過在學校的學習,增強本身的專業技能。編程

 

2.閱讀與思考

 

1)回想一下你初入大學時對你所在專業的暢想後端

  • 當初你是如何作出選擇你所在專業的決定的?

         通過本身的判斷與身邊人的建議最後作出的選擇。 安全

  • 你認爲過去一(兩)年中接觸到的課程是否符合你對你本身所在專業的期待,爲何?

         不徹底符合期待,覺得會有更多的軟件或高級編程語言開發的知識,可是沒有。服務器

  • 你以爲你所在的專業是你喜歡的領域嗎,它是你擅長的領域嗎?

         並不喜歡嵌入式,過去比較排斥也不擅長,如今逐步改變中。架構

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

         會從事計算機相關工做,任何城市均可以,崗位但願是軟件開發相關,公司也不太挑,主要仍是看我的能力。編程語言

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

  • 自我感受你已經具有的專業知識、技能、能力有哪些?已經寫過的代碼量是多少?描述你作的最複雜的項目/做業。

        目前對PHP後端有必定掌握,主要在學習的過程當中練習。如今正在和同窗一塊兒作一個集成日程與羣郵件,聊天的辦公軟件,算是最複雜的。工具

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

       沒有太多的開發經驗,熟悉的技能少,但願能作全棧工程師。離這一目標還有較大差距。單元測試

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

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

        工做

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

        優點是能早接觸社會,劣勢是學歷就比他們低。

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

        如今努力學習,多進行項目實踐,在大三結束時能找到一份好的實習。

  • 你對於實現本身的夢想已經作了或者計劃作什麼樣的準備?

         工做不是夢想,夢想可大可小,可多可少。有時你已經準備好了,只是差個機遇

 

 

3.提出有質量的問題

 

Q1.什麼是單元測試?(p20)

軟件是由多人合做完成的,不一樣人員的工做相互有依賴關係。例如,一我的寫的模塊被其餘人寫的模塊調用。軟件的不少錯誤都來源於程序員對模塊功能的誤解、疏忽或不瞭解模塊的變化。如何能讓本身負責的模塊功能定義儘可能明確,模塊內部的改變不會影響其餘模塊,並且模塊的質量能獲得穩定的、量化的保證?單元測試就是一個頗有效的解決方案。


2.1節講單元測試,徹底沒有給出單元測試的概念定義,查資料可知「單元測試(unit testing),是指對軟件中的最小可測試單元進行檢查和驗證。對於單元測試中單元的含義,通常來講,要根據實際狀況去斷定其具體含義,如C語言中單元指一個函數,Java裏單元指一個類,圖形化的軟件中能夠指一個窗口或一個菜單等。總的來講,單元就是人爲規定的最小的被測功能模塊。單元測試是在軟件開發過程當中要進行的最低級別的測試活動,軟件的獨立單元將在與程序的其餘部分相隔離的狀況下進行測試。

 

Q2.生魚片模型有什麼意義?(p93)

5.3.3說生魚片模型是瀑布模型的變體。它無非就是和上一階段連着,但他的問題是「上一階段什麼時候結束」,這不是雞肋嗎??

 

Q3.用戶老是提出各類需求,如何選擇重要的需求?(p143)

8.3這一節講述瞭如何獲取用戶需求,主要是靠調查問卷,也就是用戶反饋,但用戶可能反映各類小問題,這些問題在開發人員看來或許可有可無,但這樣的問題積累起來了就變成重要的問題了嗎?相反地,真正重要的問題或許只有少數人意識到了,如何篩選成了一個麻煩。

 

Q4.PM屬於領導,可是爲什麼現實中常常有程序員抱怨PM?(p179)

9.4闡述了PM的能力要求和任務,但這是理想中的,現實中PM作不到那麼好。

 

Q5.如何有效測試軟件?(p239)

13.2介紹了各類軟件測試方法,說明根本沒有最好的測試方法,就算花再多精力測試,發佈軟件以後仍是會收到用戶反饋的各類問題。或許更好的測試方法是在不涉及安全問題的狀況下,低成本高效率地完成,即讓用戶參與測試。

 

Q6.什麼才叫創新?(p301)

16.1一我的很難實現創新,發明創造須要想象力,但並非所有,不少人只是異想天開,沒有技術去實現。

 

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

 

bitbucket:

優勢:私人項目方便,支持閉源項目,支持中文。

缺點:不開源,不穩定。

 

GitHub:

優勢:項目存檔,方便與人交流。實用,值得花時間管理。

缺點:須要長期付出時間,對新手不利。

 

Git:

優勢:離線工做,管理代碼成本低,不須要依賴服務器。速度快, 成熟的架構,開發靈活。

缺點:學習週期比較長,代碼保密性差。

相關文章
相關標籤/搜索