第一週我的博客做業

《構建之法》問題git

 1.軟件工程是一個在不斷髮展的方法學,隨着時間在不斷變化。那麼咱們如今學習的方法是否會被替代?若是會,緣由是什麼?github

2.書中寫,團隊須要有明確的分工。可是對於咱們這樣的小團隊,甚至是更小的團隊,沒法作到平均的分工,是否還應該有按照職責的明確的分工?web

3.既然短時間刺激和長期影響並統一,那麼在開發時怎樣衡量和評估軟件的前景?windows

4.爲提高用戶的第一印象,不少軟件選擇減小開啓界面的複雜度,可是這樣會掩蓋不少軟件的功能和特色。對於這一矛盾應如何抉擇?服務器

5.敏捷開發中,儘早持續交付是一個基本原則,而十五章又講須要漸進發布,這兩者應該分別用於什麼場景?併發

6.若是開發過程當中,用戶的需求出現了較大變化,應選擇重構代碼,仍是在現有基礎上修改?分佈式

7.書中對績效的評定方式闡述的很含糊,沒有給出一個能夠量化的方式。在現實中績效是如何考察的?svn

 

軟件與軟件工程的發明:學習

軟件:最先的軟件概念由Richard R. Carhart在1953年8月提出,使用於工程背景。真正電子上的軟件由John Tukey於1958年提出於"The Teaching of Concrete Mathematics",並發表在JSTOR。測試

軟件工程:由Margaret Hamilton於開發阿波羅11號軟件系統期間發明。當時的軟件開發處於起步階段,沒有工程化的方法,在開發大型程序時阻力很大。Hamilton爲了讓軟件得到擁有的尊重,開創了軟件的科學——軟件工程。

 

項目管理軟件對比

Git:git是一款免費的、開源的、分佈式的版本控制系統。git採用了分佈式版本庫的方式,沒必要服務器端軟件支持,使源代碼的發佈和交流極其方便。每個git克隆都是一個完整的文件庫,含有所有歷史記錄和修訂追蹤能力。其最大特點就是「分支」及「合併」操做快速、簡便。支持離線工做,git是整個項目範圍的原子提交,並且git中的每一個工做樹都包含一個具備完整項目歷史的倉庫。

Github: github是一個基於git的代碼託管平臺,提供了web管理頁面,在windows上也提供了客戶端。用戶可議在github上託管項目,可是目前免費的託管都不能設置爲私有。

Svn:SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上不少版本控制服務已從CVS遷移到Subversion。與git相比,svn不是分佈式的,全部信息按文件存儲,處理分支較爲複雜,有全局的版本號,內容的完整性略差。

TFS:TFS是微軟提供的一項服務,已經被集成在Visual Studio中。TFS不只提供了版本管理的功能,還提供工做項追蹤、自動化生成等功能。針對5人如下的校開發團隊,提供免費版。

Xcode:Xcode是Apple提供的集成開發環境,可議選擇使用git或者svn做爲版本控制。

Mercurial:Mercurial是使用Python開發的輕量級開源的分佈式版本控制系統。每一個用戶管理本身的 repository,管理員只需協調同步這些repository。

BitBucket:BitBucket是一家源代碼託管網站,採用Mercurial和Git做爲分佈式版本控制系統,同時提供商業計劃和免費帳戶。BitBucket提供了很是豐富的功能,如無限的私有倉庫和硬盤、Bug追蹤、API支持、自定義域名等。

Bugzilla:Bugzilla是一個開源的缺陷跟蹤系統。

Trac:是一個爲軟件開發項目須要而集成了Wiki和問題跟蹤管理系統的應用平臺,是一個開源軟件應用。Trac以簡單的方式創建了一個軟件項目管理的Web應用,以幫助開發人員更好地寫出高質量的軟件;Trac應用力求不影響現有團隊的開發過程。

Rational:IBM軟件開發平臺的一部分,包括生命週期管理、統一建模語言、功能測試和迴歸測試等多個組成部分。

相關文章
相關標籤/搜索