建構完整的程式開發環境 使用開源軟體
DESCRIPTION
建構完整的程式開發環境 使用開源軟體. 紀俊男 和群資訊有限公司 總經理. 自我介紹. 生物資訊所 博士候選人. 資訊工程系. 資訊科學所. 展望電腦 業務主任. 1. 趨勢科技 全球技術支援部協理. 各大補習班 電腦講師. 筌寶電子 軟體部經理. 和群資訊 總經理. 3. 3. 2. 1. 中研院資訊所 軟體工程師. 西基電腦 遊戲工程師. 1. 5. 完整的程式開發環境有哪些工具?. 軟體專案開發流程. 專案管理 與 協同運作. 需求. 設計. 實作. 測試. 除錯 與 瑕疵管理. 編寫. 閱讀 - PowerPoint PPT PresentationTRANSCRIPT
建構完整的程式開發環境使用開源軟體
紀俊男 和群資訊有限公司 總經理
自我介紹資訊工程系 資訊科學所 生物資訊所
博士候選人
11
11
33
展望電腦業務主任
西基電腦遊戲工程師
趨勢科技全球技術支援部協理
33
各大補習班電腦講師
22
筌寶電子軟體部經理
11
和群資訊總經理
55
中研院資訊所軟體工程師
完整的程式開發環境有哪些工具?
軟體專案開發流程
需求 設計
實作
編寫編寫閱讀與理解
閱讀與理解
版本管控版本管控 編譯編譯 文件
生成文件生成
測試除錯與瑕疵管理
專案管理 與 協同運作
關於開源軟體
歷史
1984 : GNU Free Software ( Richard Stallman )
1998 : “ Open Source” ( Eric Raymond )
授權方式( Licensing )
商用軟體 自由 / 開源軟體
Public DomainPublic Domain
XFree86 / BSD / ApacheXFree86 / BSD / Apache
CopyleftCopyleft
GPL
LGPL
CommercialCommercial
SharewareShareware
自由軟體鑄造場 授權精靈
http://swan.iis.sinica.edu.tw/LicenseWizard/index.htm
何處下載開源軟體
SourceForge.net
FreshMeat.net
of.openfoundry.org
開源作業系統
首選: Linux
首選
Linux
推薦的 Linux 流通版本
Ubuntu
Fedora
Shopping Software for Free
Synaptic Package Manager(Ubuntu)
專案管理工具
作為「研究記錄」之用 過往的一個小記錄可能是大發現 專利申請、訴訟之用
作為「團隊溝通」之用 團隊間有很多事是無法用猜的 只有指導教授與學生,也是團隊
學術研究需要專案管理嗎?
推薦的專案管理工具
Trac Project• Apache + PHP + MySQL = Wiki & Bug Tracker• Wiki :輕鬆構築網頁,資料對內對外共享。• Bug Tracker :記錄軟體需求與缺陷。
Open Foundry•馬上可用!• 提供六大功能。
需求分析與設計工具
Mind Mapper
FreeMind•樸實無華,但簡單好用。•初用會看不上眼,但用久了會喜歡。
XMind•功能齊全,介面華麗。•很逼近最受歡迎的商業軟體 Mind Manager 。
使用 FreeMind 做需求分析
Pencil for Firefox
原始碼編輯工具
程式魔人的選擇
vi / vim
emacs
一般人的建議選擇
原始碼分析與瀏覽工具
何謂「原始碼分析」工具Reference Analysis Flow Analysis
建議軟體: Source Navigator
版本控制軟體
何謂「版本控制」
原始版本
差異 1
差異 2
差異 1-1
為何需要「版本控制」
John Mary
1 2
3 4
John 的修改消失不見
John Lucy
常見的版本控制軟體
Subversion
CVS
Git
五大缺點
Subclipse
EGit
推薦的版本控制軟體
編譯器與其它建構工具
推薦的編譯器
C / C++
Java SDK
文件生成工具
推薦文件生成工具
Doxygen 運作原理
/** 多列註解*/
/// 單列註解
Doxygen 生成結果
測試工具
為何要測試
讓你可以「亂搞」,但不致於「搞亂」。
測試的種類
推薦的測試工具
C / C++
Java
除錯與軟體瑕疵管理
推薦的除錯工具 & 瑕疵管理工具
Eclipse 內建除錯工具
瑕疵管理: Trac 或 OSSF
結論
Linux Linux + Java VM
Source Navigator Eclipse
JUnit / CUTE Doxygen GCC / JDK
Subversion / Git
FreeMind / XMind
• ------• ---• ---
• ------• ---• ---
• ------• ---• ---
QC
Trac / OSSF
Q & A