1.讀了鄒欣老師的構建之法,我有以下幾個問題:
(1)小型專案是否需要考慮複雜的軟體工程知識?
對於乙個小型的專案來說,可能幾個人在幾天內就開發完畢,但是加入詳細、文件化的需求分析及單元測試等內容後很可能將開發周期拖到數週,這種情況下是否還需要按照軟體工程的方法去實行?
(2)如何平衡開發效率和執行效率?
為了達到最高的效率有時相似的問題可能需要不同的**,而用同一種**去解決的話可能會導致執行效率有所下降。這時如何平衡開發效率和執行效率?
(3)關於教材中給授課老師和助教的建議第四條。
關於第四條:如何對付南郭先生。如何保證團隊間給出的貢獻分一定客觀公正?
(4)如何進行分工?
在書中寫到,團隊需要有明確的分工,但是對於乙個小型專案有時很難將功能進行拆分,大概只能粗略地分為開發、測試,專案經理什麼的似乎也不太需要,這是如何進行分工?
(5)書中結對程式設計的例子之前並沒有在專案開發中遇到過,現實中有多少專案會採用這種方式呢?
3.目前流行的源程式版本管理軟體和專案管理軟體都有哪些, 各有什麼優缺點?
microsoft tfs
tfs(team foundation server )是乙個工作流協作的引擎,它允許乙個團隊使用他們自定義的流程,並使用在專案歷史中實時收集起來的乙個集中的資料倉儲。
優點:具有整合性。版本控制系統和工作項儲存器在註冊時整合在一起。當註冊時,可以將其與乙個或多個工作項關聯。個人用起來一般也就主要用其原始碼管理功能。
缺點:搭建、維護tfs比較複雜。
git優點:快速的分支切換,因為分支都在本地。這使得git特別適合處理臨時需求,或者小實驗。有乙個全世界最大的開源社群——github,上面可以看到各種優秀的各語言**。
缺點:版本號不好看,操作過程較繁瑣,命令較混亂。
ruby社群的程式設計師使用git以後,找不到好的git託管**,於是就開發了github出來。
優點:重視社群活動,在github,使用者可以十分輕易地找到海量的開源**。速度快、靈活。
缺點:可能不是捕捉創意過程和記錄創意點子的最佳工具。對於這種特殊功能模擬可以選擇layervault 或其他相似工具。資料少(起碼中文資料很少)。如果英文不好的人看不懂不知道說的啥。
bitbucket
優點:免費支援私有倉庫。檢索功能強大。審核機制安全。網路使用者介面友好配置設定豐富多樣。安全策略細緻和產品分類方案完備。
缺點:只能管理缺陷。
個人作業 Week1
在超大的軟體工程中如何在測試和成本中找到平衡點?軟體工程師在入職後大概擁有多少的學習時間進行自我提公升?如何克服 複審 文件撰寫這類工作的枯燥?專案經理與程式設計師之間的矛盾如何處理,該如何看待這種關係?團隊中技術差距與思路不同如何進行磨合?軟體 software 最早出現在出版物中是由richar...
個人作業 Week1
問題1 程式設計師的優劣是否在軟體開發中已經不重要了?使用者實際關心的 外形,使用的樂趣和效率,自我形象,個人滿足感,回憶,這麼多條中,僅有效率與 有關,而實際上使用者比起效率卻更在意其他這些 么蛾子 qq,支付寶等諸多流行的 功能,複雜度並不高但卻十分成功。3.軟體開發更重要的管理與分工,是否超出...
個人作業 week1
1 問題 1 與軟體學院相比,電腦科學更偏向理論研究,本系開設軟體工程課程的意圖是否是為了平衡理論與應用的比重?2 bug的定義根據開發者與使用者的分析角度不同,有著很大的區別,如何使開發者能夠有效的感受使用者的角度,使軟體更具人性化?3 coder和hacker之間原則性的區別是什麼?4 面對 量...