做業 | |
---|---|
這個做業屬於哪一個課程 | 課程連接 |
這個做業要求在哪裏 | 做業連接 |
我在這個課程的目標是 | 1.掌握軟件工程的生存週期 2.掌握面向對象分析、設計與編碼方法 3.掌握軟件工程的模式 |
這個做業在哪一個具體方面幫助我實現目標 | 1.提升了個人動手能力 2.加強了學習的主動性 3.經過自我學習網上、博客裏的資料 |
我是來自地理信息科學17級的曾琅,大學一晃眼已通過去兩年了,在這兩年不管是在學習仍是生活上都有所收穫,在學校裏的學習使我更好認識世界,認識本身。我平時喜歡聽聽音樂,本身的閃光點確實找不到,可能本身不善於發現吧。偶爾被迫跑跑步打打卡,但願經過《軟件工程》這門課學會更多的計算機知識。
個人博客地址:https://www.cnblogs.com/zlang/git
Q1:回想一下你初入大學時對你所在專業的暢想編程
Q2:對照前人們走過的路和描述將來發展,如今的你服務器
Q3:目前是一我的生選擇的十字路口,考研、工做、考公、出國,不一樣的選擇在大三就有不一樣的努力方向。而不管考研仍是工做的每條路徑,也有許多不一樣的分支數據結構
Q1:第2章2.1.2P27在作單元測試時,代碼覆蓋率經常被拿來做爲衡量測試好壞的指標,爲何代碼覆蓋率並不等同於100%的正確性?
我先查了代碼覆蓋率的含義:是軟件測試中的一種度量,描述程序中源代碼被測試的比例和程度,所得比例稱爲代碼覆蓋率。可分爲類的覆蓋率、方法覆蓋率、語句覆蓋率、語句塊覆蓋率 、分支覆蓋率,個人理解是既然已經作到100%的覆蓋率,意味着已經進行了100%的單元測試,單元測試是檢查每一個軟件單元可否正確實現功能、檢查軟件單元的性能可否達到要求、發現軟件單元中可能存在的錯誤,既然每一部分都徹底正確,爲何不等同於100%的正確性。分佈式
Q2:第5章5.2P91軟件團隊模式,軟件團隊模式有不少,怎麼找到適合本身的團隊模式?
書上的團隊模式有主治醫師模式,明星模式,社區模式,業餘劇團模式,祕密團隊,特工團隊,交響樂團模式,爵士樂模式,功能團隊模式,官僚模式,這些都是隨着團隊的成熟和環境的變化,演變而成的,而我大體看了一下,這些模式都各有優缺點,在生活中,怎麼才能找到與本身性格匹配,適合本身的一種模式,仍是說這些模式都是隨着時間而慢慢造成,並不能提早本身去決定。
Q3:第5章5.4P106團隊模式和團隊開發模式又什麼聯繫?
團隊模式和團隊的開發模式的關係,我我的的理解是一羣人在一塊兒作軟件開發,老是要一些方式方法。而這裏團隊模式就是這一羣人的定性,團隊的開發模式則是這羣人使用的方法的定性。
Q4:第8章P151對於咱們如今接觸的項目大部分需求都是老師給咱們的任務,那麼咱們是否是一樣須要進行需求的分析?
需求分析是一個項目的開端,既然需求分析肯定問題難,需求時常變化,交流難以達到共識,獲取的需求難以達到完備與一致,需求難以進行深刻的分析與完善,咱們是否是不用再這方面浪費時間 而去直接完成任務。
Q5:第11章11.5.2每日構建的重要性,構建是指構建的什麼?如何作好構建的工做?
經過查閱資料,每日構建意味着完整地構建整個代碼樹,意思是將整個項目源代碼的目錄,子目錄,文件的位置儘量事先固定下來,這樣在開發過程當中各個模塊間,各個文件間的相對位置都不會混亂。源代碼樹指的就是一個項目全部的已經組織好的代碼文件。一般代碼樹應該用版本控制軟件管理起來。瞭解每日構建的重要性以及帶來的好處,可是這個工做應該是很麻煩很耗時間的,怎樣作好每日構建的工做喃?工具
Git | 是一個開源的分佈式版本控制系統,能夠有效、高速地處理從很小到很是大的項目版本管理。Git 是 Linus Torvalds 爲了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟件。 |
---|---|
優勢 | 1.適合分佈式開發,強調個體。2.公共服務器壓力和數據量都不會太大。3.速度快、靈活。4,任意兩個開發者之間能夠很容易的解決衝突。5.離線工做。 |
缺點 | 1.資料少。2.學習週期相對而言比較長。3.不符合常規思惟。4.代碼保密性差,一旦開發者把整個庫克隆下來就能夠徹底公開全部代碼和版本信息。 |
GitHub | GitHub是一個面向開源及私有軟件項目的託管平臺,是一個集成了git的服務。它能夠以網頁或者客戶端的形式,幫助用戶把git本地的數據提交到遠程的服務器裏。 |
---|---|
優勢 | 1.代碼託管。2.開源共享。3.提供了很好的學習機會。 |
缺點 | 1.不能很好的解決GB2312/GBK,對中文不夠友好。2.國內訪問速度太慢,常常出現connect time-out。3.wiki功能太弱,直接致使文檔(對於開源項目很重要)常常被分離到一個獨立站點 |
Microsoft TFS | 是一種爲 Microsoft 產品提供 源代碼管理、數據收集、報告和項目跟蹤,而爲協做軟件開發的項目。 |
---|---|
優勢 | 是對敏捷,msf,cmmi等項目、過程管理、過程改善的支持。任務版上能將需求、項目進度盡收眼底,對於小團隊而言,比甘特圖更有用。 |
缺點 | 能應用起來的團隊、公司的數量極少,多數真正用起來,也就是源代碼管理這部分,這也僅僅是佔TFS極小部分功能。 |
Trac | Trac是一個爲軟件開發項目須要而集成了Wiki和問題跟蹤管理系統的應用平臺,是一個開源軟件應用。 |
---|---|
優勢 | 很是靈活,能夠爲所欲爲控制能夠和SVN集成 |
缺點 | 功能不是很強大。 |
Bugzilla | Bugzilla 是一個開源的缺陷跟蹤系統(Bug-Tracking System),它能夠管理軟件開發中缺陷的提交(new),修復(resolve),關閉(close)等整個生命週期。 |
---|---|
優勢 | 免費,有中文版支持 |
缺點 | 快速搜索結果不許確。只能管理缺陷。 |
Apple XCode | Xcode 是運行在操做系統Mac OS X上的集成開發工具(IDE),由Apple Inc開發。Xcode是開發 macOS 和 iOS 應用程序的最快捷的方式。 |
---|---|
優勢 | 編譯速度極快,每次操做都很快速和輕鬆。自動提供撤消、重作和保存功能,無需編寫任何編碼。 |
缺點 | 更新版本後,某個插件可能會失效。 |
Bitbucket | 是一家源代碼託管網站,採用Mercurial和Git做爲分佈式版本控制系統。 |
---|---|
優勢 | 很是靈活,能夠爲所欲爲控制能夠和SVN集成 |
缺點 | 功能不是很強大。 |