標籤:
1.讀了鄒欣老師的構建之法,我有以下幾個問題:
(1)小型項目是否需要考慮複雜的軟體工程知識?
對於一個小型的項目來說,可能幾個人在幾天內就開發完畢,但是加入詳細、文檔化的需求分析及單元測試等內容後很可能將開發週期拖到數周,這種情況下是否還需要按照軟體工程的方法去實行?
(2)如何平衡開發效率和運行效率?
為了達到最高的效率有時相似的問題可能需要不同的代碼,而用同一種代碼去解決的話可能會導致運行效率有所下降。這時如何平衡開發效率和運行效率?
(3)關於教材中給授課老師和助教的建議第四條。
關於第四條:如何對付南郭先生。如何保證團隊間給出的貢獻分一定客觀公正?
(4)如何進行分工?
在書中寫到,團隊需要有明確的分工,但是對於一個小型項目有時很難將功能進行拆分,大概只能粗略地分為開發、測試,專案經理什麼的似乎也不太需要,這是如何進行分工?
(5)書中結對程式設計的例子之前並沒有在項目開發中遇到過,現實中有多少項目會採用這種方式呢?
2.“軟體” 和 “軟體工程” 這些詞彙是如何出現的 - 何時、何地、何人?
軟體:關於軟體的第一個理論的誕生還要早於電腦本身的誕生,是由圖靈在1935年發表的文章Computable numbers with an application to the Entscheidungsproblem提出的。而這個單詞最早出現的出版物是由Richard R. Carhart 於1953年8月出版的書籍。
軟體工程:是由 Margaret Hamilton 發明的。在1968年北大西洋公約組織的電腦科學家在聯邦德國召開國際會議,討論軟體危機課題,在這次會議上正式提出並使用了“軟體工程”這個名詞。
3.目前流行的來源程式版本管理軟體和專案管理軟體都有哪些, 各有什麼優缺點?
Microsoft TFS
TFS(Team Foundation Server )是一個工作流程協作的引擎,它允許一個團隊使用他們自訂的流程,並使用在項目曆史中即時收集起來的一個集中的資料倉儲。
優點:具有整合性。版本控制系統和工作項目儲存空間在註冊時整合在一起。當註冊時,可以將其與一個或多個工作項目關聯。個人用起來一般也就主要用其源碼管理功能。
缺點:搭建、維護TFS比較複雜。
Git
優點:快速的分支切換,因為分支都在本地。這使得git特別適合處理臨時需求,或者小實驗。有一個全世界最大的開源社區——github,上面可以看到各種優秀的各語言代碼。
缺點:版本號碼不好看,操作過程較繁瑣,命令較混亂。
Ruby社區的程式員使用Git以後,找不到好的Git託管網站,於是就開發了Github出來。
優點:重視社區活動,在GitHub,使用者可以十分輕易地找到海量的開原始碼。速度快、靈活。
缺點:可能不是捕捉創意過程和記錄創意點子的最佳工具。對於這種特殊功能類比可以選擇LayerVault 或其他相似工具。資料少(起碼中文資料很少)。如果英文不好的人看不懂不知道說的啥。
Bitbucket
優點:免費支援私人倉庫。檢索功能強大。審核機制安全。網路使用者介面友好配置設定豐富多樣。安全性原則細緻和產品分類方案完備。
缺點:只能管理缺陷。
軟體工程個人作業-Week1