(原創) UML對程式設計師也很重要喔!! (OO) (UML) (日記)
2006-11-12 00:18
627 查看
<原文我在2006/09/13發表於藍色小舖>
之前一直以為UML是SA的語言,只有SA才該熟UML,所以我只有對Class Diagram比較有概念‧
最近因為要離職了,所以忙著交接程式給其他同事,整個程式也跑了好幾次給同事看,Database的Schema和Relation也同時口頭解釋過,且也留下了文件,平常程式內我也都有習慣留下註解‧
看起來都很圓滿,但同事卻跟我說:『若真的遇到Bug,我還是不知道該改哪裡...』
其實他說的沒錯,若換做是我接他的程式,我也會說同樣的話‧
我應該留下Use Case Diagram,用巨觀的方式描述整個程式的架構‧然後用Sequence Diagram,描述整個流程會經過的網頁、元件...等等,當程式有Bug時, 他只要看著Sequence Diagram,就能一刀下去決定要怎麼修Bug,而不是死死的去Trace程式,畢竟這是最後一招,也是最慘的一招‧
所以我真的要好好去學UML了,不單只是為了文件交接,聽同事說,畫UML時,可以幫助物件導向分析,這也難怪幾位OOA/D的大師要為UML的標準炒翻天了‧
學電機的,由於沒有經過軟體工程的洗禮,也多半沒有文件的概念,我要將UML和軟體工程的概念帶進電機領域,無論是以後開發遷入式系統,或是開發驅動程式,我都要嚴格要求自己和同學、同事要用UML寫文件,而不是每次交接別人的程式,都得靠Trace程式從頭開始‧
之前一直以為UML是SA的語言,只有SA才該熟UML,所以我只有對Class Diagram比較有概念‧
最近因為要離職了,所以忙著交接程式給其他同事,整個程式也跑了好幾次給同事看,Database的Schema和Relation也同時口頭解釋過,且也留下了文件,平常程式內我也都有習慣留下註解‧
看起來都很圓滿,但同事卻跟我說:『若真的遇到Bug,我還是不知道該改哪裡...』
其實他說的沒錯,若換做是我接他的程式,我也會說同樣的話‧
我應該留下Use Case Diagram,用巨觀的方式描述整個程式的架構‧然後用Sequence Diagram,描述整個流程會經過的網頁、元件...等等,當程式有Bug時, 他只要看著Sequence Diagram,就能一刀下去決定要怎麼修Bug,而不是死死的去Trace程式,畢竟這是最後一招,也是最慘的一招‧
所以我真的要好好去學UML了,不單只是為了文件交接,聽同事說,畫UML時,可以幫助物件導向分析,這也難怪幾位OOA/D的大師要為UML的標準炒翻天了‧
學電機的,由於沒有經過軟體工程的洗禮,也多半沒有文件的概念,我要將UML和軟體工程的概念帶進電機領域,無論是以後開發遷入式系統,或是開發驅動程式,我都要嚴格要求自己和同學、同事要用UML寫文件,而不是每次交接別人的程式,都得靠Trace程式從頭開始‧
相关文章推荐
- (原創) 我的程式學習方法 (日記)
- (原創) 程式生涯最艱苦的戰役:開發DE2上CCD驅動程式 (IC Design) (DE2) (Nios II) (日記)
- (原創) 如何解決Rational Rose 2003關閉時,"MEM-BAD-POINTER"的錯誤訊息? (OO) (UML)
- (原創) 第一次体会Component Oriented Design的威力 (OO) (.NET) (日記)
- (原創) association,aggregation,composition有什麼差別? (OO) (UML) (C/C++)
- (原創) 紅潮氾濫台北城 (日記)
- (原創) 今天是我有生以來自由式最有感覺的一天 (日記)
- (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
- (原創) 陈俊杉教授的C++上课方式 (C/C++) (日記)
- (原創) 写程序时,要同时以Class Creator和Class User的角色来写程序 (OO) (.NET) (N-Tier) (C/C++)
- (原創) 我写的程序还有很多缺点 (日記)
- (原創) 开启Notebook时,建议从天版中间开启 (日記)
- (原創) 随笔100篇纪念 (日記)
- (原創) 楚漢相爭之我見 (日記)
- (原創) 這學期C++完美的Ending (C/C++) (日記)
- (原創) 物件導向與老子思想 (OO)
- (原創) 數學就是loose coupling的極致表現 (OO)
- (原創) 軟體為什麼那麼『複雜』? (OO)
- (原創) 我的Design Pattern之旅[1]:Strategy Pattern (OO) (Design Pattern) (C/C++) (template) (.NET) (C#)
- (原創) 其他領域也用Pattern觀念 (OO) (Design Pattern)