天天看點

個人作業1

一.不懂的問題

  1. 如何準确分析使用者的需求,并了解客戶對我們的要求和我們目前的技術能否實作他們的需求?
  2. 有什麼比較有效的方法來提升作為軟體工程師的能力?
  3. 團隊項目如何合理的配置設定成員的任務?
  4. 軟體開發過程中遇到難以修複的bug時團隊中的各個角色應該怎麼處理?
  5. 如何有效地對軟體進行長期維護?

二. “軟體” 和 “軟體工程” 這些詞彙是如何出現的

軟體工程的概念是1968年第一次提出的,“軟體工程”一詞是Margaret Hamilton在阿波羅計劃期間發明創造出來的。

關于軟體的第一個理論的誕生還要早于計算機本身的誕生,是由圖靈在1935年發表的文章Computable numbers with an application to the Entscheidungsproblem提出的。而這個單詞最早出現的出版物是由Richard R. Carhart 于1953年8月出版的書籍。

三.目前流行的源程式版本管理軟體和項目管理軟體都有哪些, 各有什麼優缺點? 

Microsoft TFS(Team Foundation Server):

  • 優點:任務版上能将需求、項目進度一覽無餘,對于小團隊而言,比甘特圖更有用;內建了項目管理、版本控制、BUG 跟蹤,能有效實作 SCRUM;能與 VS 無縫接合
  • 缺點:搭建、維護tfs比較複雜,硬體要求也比較高。

GitHub:

  • 優點:GitHub是一個非常萬能的工具。對于任何大小的項目,他都是理想的工具;他也是偉大的web工作流工具。首 先,他可以作為一個版本控制系統和協作工具,用它來釋出工作。利用GitHub,你可以将項目存檔,與其他人分享交流,并讓其他開發者幫助你一起完成這個項目。優點在于 ,他支援多人共同完成一個項目,是以你們可以在同一頁面對話交流。建立自己的項目,并備份,代碼不需要儲存在本地或者伺服器,GitHub做得非常理想。學習Git也有很多好處。他被視為一個預先維護過程,你可以按自己的需要恢複、送出出現問題,或者您需要 恢複任何形式的代碼,可以避免很多麻煩。Git最好的特性之一是能夠跟蹤錯誤,這讓使用Github變得更加簡 單。Bugs可以公開,你可以通過Github評論,送出錯誤。在GitHub頁面,你可以直接開始,而不需要設定主機或者DNS。
  • 缺點:如果,你是Github使用新手,首先的挑戰就是擺正心态——需要不斷實踐和時間。他可能不是捕捉創意過程和記錄創意點子的最佳工具。對于這種特殊功能模拟可以選擇LayerVault 或其他相似工具。之前,我們已經強調過Github非常适用代碼跟蹤,但是卻不是最好的設計跟蹤工具。将圖檔内容轉 化為代碼,或者将設計用于産品設定,看起來依舊不是那樣順利。這是由設計者決定的,然而,一些人發現 GUI 有點混亂,選擇CLI代替。一些開發人員學習主要使用Git指令 ,這樣可以解釋為什麼他們不太喜歡GUI的原因了。稍加練習,指令的學習是不太困難的。然而,你喜歡天天 寫指令嗎?特别是跟蹤項目曆史或解決沖突的時候。是以就有了另外一群喜歡GUI的人們。将送出、修改、移 動檔案等操作可視化,會有一個更好的體驗。而這些,就如之前提到的,需要時間來适應。

Trac:

  • 優點:Trac做一個SCM配置管理平台,意味着它有良好的擴充性;Trac的權限體系是比較完備的設計;非常靈活,可以随心所欲的定制,可以和TortoiseSVN內建。
  • 缺點:1.不支援多項目 2.需求和缺陷沒有分離 3.用 wiki 來替代 Word 等工具編寫文檔對于産品策劃來說門檻太高了 4.中文化不完整,美術人員接觸起來困難重重  5.不顯示中文名,本地化做得很差 6.核心功能很少,不安裝插件基本上沒法用。

BUGZILLA:

  • 優點:1、BUGZILLA不收費,2、BUGZILLA現在有中文版支援
  • 缺點:1、BUGZILLA隻能管理缺陷

Apple XCode:

  • 優點:1.可以自動建立分類圖表。2.自動提供撤消、重做和儲存功能,無需編寫任何編碼。
  • 缺點:1、 更新版本後,某個插件可能會失效。