3/09/2006

JCOE教育訓練心得報告 -- 官方版



一. 了解本部門
客觀來說, SUN講師藉由許多問題來了解我們對JAVA的了解, 且測試我們的軟體專案開發的程度, 有的問題很冷門, 屬於SCJP基本教義類.
講師對我們有不少建議:

1. 多讀書:
講師推薦了Effective in JAVA, 這書裡面有不少在寫JAVA時候的建議, 剛學JAVA的人或許有的會看不懂, 但可以先記在心裡, 等以後碰到就可以交互比對. 至於熟練JAVA的人, 可以藉機看看為什麼作者會這樣寫, 自己是不是也這樣覺得.

2. 加入有興趣的技術主題的Mail List:
加入有興趣的技術主題的Mail List, 多看別人的討論, 但是要注意最好挑選有名氣或已經穩定的Framework或Source code.

3. 成立個人或組織的no-time-constrained project:
透過自我鞭策與組織的團隊合作, 共同熟悉與建立專案開發流程, 以求精進.

4. Knowledge Sharing:
組織裡的任何人都一樣, 個人要成長, 一定是教學互長, 缺一不可, 尤其大家是要出去打戰的, team work也很重要.

5. 顧好JAVA的基本功、加強OO的活用度:
基本功真的很重要, 如果我們要標榜自己是善於OO的team, 一定要努力打基礎.
有的要從專案中累積, 有的要從教育訓練下手, 有的要讓員工的內心正本清源, 要作為人上人必須份外努力.

6. 加強Business Design Pattern的知識:

7. Tool Usage and debugging skill:
一定要找到好用的Tool, 但不該僅限於開發用的Tool, 要廣於尋找符合軟體專案開發或專案管理的工具, 以加速專案內的事項管理與追蹤.
再來就是要加快Debug的技術, 這和做專案的經驗、對程式開發的熟悉程度有密切的關連, 所以平常要有正規良好的開發流程與習慣(如Logging機制), 才能加速Debug.


二. 方法論與專案實務討論
Sun的JCOE內涵蓋些許專案管理與軟體製作的方法論, 和RUP不完全一樣.
例如: PM和Archi應該要把風險及早發現, 且要控制好; Archi應該要和各工程師維持良好關係; Use Case Document內的Flow可以寫"GET GUI-xxx", 以表示操作流程畫面 ... 等等.

至於專案內所需要產出的文件, 大概有以下幾類需要注意:
(1) Inception :
Vision : 最多不要超過一頁 - PM
Business Case : 可併入Vision內, 稍微描述.
Risk List : 風險列表, 一定要寫, 要誠實的寫, 也要讓客戶知道, 每次都要review. 對於political issue要有技巧的描述, 不然有可能會被客戶釘在牆壁上 - PM
Software Development Plan : 要累積做專案的經驗, 才能有辦法估計use case大概需要花費的成本等) - PM+Archi
Iteration Plan : PM+Archi
Project-Specific Template : 累積而成的template
Use Case Modeling Guideline :
Domain Model :
Glosarry :
(2) Elaboration :
Project-Specific Template : 做專案累積而成的template
Data Model : 企業系統最好要出, 不然到時候不知道Data是怎麼回事.
Iteration Plan : 可用xls做list, 方便控管與討論
Test Plan : 沒測試過的系統, 你敢用嗎?
(3) Transition :
The Product Build :
Release Note :
Installation Artifacts :


三. 技術討論:
講師在這系列課程裡, 提到SOA、Spring、AJAX、Maven、Eclipse、OSGI等新技術, 而且是用質疑的角度與我們討論.

他挑了幾篇文章與我們討論:
SOA :
http://www.javaworld.com/javaworld/jw-01-2006/jw-0109-soa.html
Spring :
http://crazybob.org/2006/01/i-dont-get-spring.html
http://developer.apple.com/internet/webcontent/xmlhttpreq.html
AJAX :
http://www.adaptivepath.com/publications/essays/archives/000385.
php
https://bpcatalog.dev.java.net/nonav/solutions.html
Eclipse goes server side :
http://blog.csdn.net/yipsilon/archive/2005/03/09/315984.aspx
http://blog.sina.com.tw/2439/article.php?pbgid=2439&entryid=
2797

這些技術是不是真的會在專案內用到? 未必, 但是有些觀念必須不斷的被思考, 被質疑, 才能悟出真理.

以OSGi為例, 原本是被一些家用閘道器相關產業廠商所定義推出的, 然而他獨特的特性卻被軟體開發業者注意到, 且開始蓬勃發展, 這是SI廠商所必須持續關注與測試的, 挑選順手適合的武器, 才能摧毀敵人獲得勝利.

0 意見: