論文進度報告(2010/5/9)
繼上次做完專案規劃之後,這週則是開始作UML的系統分析與設計。UML的作法主要是參考游峰碩寫的UML系統分析與設計(學貫行銷出版),個人是覺得寫得還不錯,案例也很實在。照著這本書依樣畫葫蘆,倒也把使用案例圖跟活動圖畫了幾張出來。至於正不正確、實不實用……做下去就知道了。
大四時我有修過系統分析,不過並沒有很紮實地受過UML的訓練。我雖然寫程式有段時間了,寫寫小工具雖然還算得心應手,但是作大型系統時就必定暴露出沒有全面性思考的缺陷。因此這次就想先從UML著手來構思系統,一邊畫各種模型,一邊強迫自己思考系統該怎麼呈現。
大致上我預計製作以下幾種文件:
- 詞彙表:記錄本系統使用的詞彙
- 使用案例圖:呈現user(學生)、supervisor(教師)、administrator(系統管理者)三種角色主要執行的幾種動作
- 活動圖:將幾種案例以活動步驟來描述。目前繪製完成user端的六種活動圖。
- 類別圖:系統使用的概念轉換成較為具體的類別class,並敘述各類別之間的關聯
- 循序圖:描述系統中物件互動的情形
畫完循序圖,整個系統也就差不多了,接下來就是開始系統實作。
繪製UML的時候,其實感覺非常不習慣。對我來說,寫程式的樂趣在於馬上可以看到成果。但是UML怎麼畫,卻都還是腦中構想的流程圖,沒有實際上完成什麼東西的成就感,因此畫起來頗讓人感到無聊。這時深深地感受到敏捷系統開發流程強調的測試導向或是雛型架構等方法的重要性——雖然必定會有哪裡搞錯,但能看到成品,比較能夠激勵人心吧。
另一方面,由於不知道自己這樣畫是不是正確,畫起來也無從依據,只能憑感覺來架構。希望這些文件能在之後的階段中派上用場才是。
不過,如果要讓自己成長的話,就不能一直停留在用直覺寫程式的階段。UML文件是必要的,特別是未來要與他人合作開發系統的話,只有自己腦中構想的系統架構,可是無法進行溝通啊!
好,接下來則是檢視一下專案管理的時候了。
現在位於「系統分析」階段,由於加入了UML的學習時間,所以原本預定一週完成的系統分析,延長至三週完成。殘酷的是這不影響預定畢業的時間,還是1/25結束(汗)。
專案管理的所有檔案現在改移到KALS協作平台的專案管理中,有興趣的人可以從該頁中下載全部的專案檔案。
簡單報告完畢之後,接下來就要著手畫類別圖了。套句現任系統分析師說的話:「使用案例圖跟活動圖畫不好沒關係,類別圖跟循序圖畫好最重要,因為系統就是照著他們來做的。」所以終於到了接近系統核心的類別圖,這讓我忽然覺得壓力很大啊(抖抖抖)。
不管怎樣,加油吧。
加油
回覆刪除謝謝
回覆刪除