物件架構設計
在這個例子中請大家思考一下下面這個系統裡該有什麼物件?
資訊系辦公室裡希望有一個線上的教務資訊系統, 這個系統裡可以記錄所有老師的資料, 各年級學生的資料 (包括姓名,學號,聯絡方式等等), 每一學期開課的資料, 每一堂課所有選修學生的資料 (包括成績,作業,出席記錄等等), 一下子不是很容易全部列出來, 不過相信大家應該都知道我所描述的系統指的是什麼, 請大家用你的經驗, 用你對學校、系上的了解, 將系統中可能的物件列舉出來, 並且畫出它們的靜態關係。
注意:
本來系統的功能應該是大家在思考物件之間關係時一個很重要的依據, 這裡我沒有很清楚地描述這些, 只是很簡單地告訴大家我們要做一個教務資訊系統, 能夠做輸入, 能夠做查詢, 能夠做統計, 其它的功能希望你用你的經驗來思考, 大家都應該還算熟悉學校裡運作的狀況, 大家都算得上是 domain expert, 我們這裡要慢慢來做一個 bottom up 的程式設計。
物件提示: 學生, 各年級班級, 課程, 班級, 教師, 課表, 教室, ...
夠抽象吧! 先給大家一些範例:
注意:
在底下這些範例裡我們對物件的描述是透過一種非正式的圖形來描述, 現在有所謂的 UML (Unified Modelling Language) 來統一這些圖形的描述方式, 不過我們暫時先不要去管這些符號規矩, 先用簡單直覺的方法來描述我們的問題
此外下面看到的是描述物件之間的關係圖, 並不是描述類別之間的關係圖
Game of three two-ball bags
貪食蟲遊戲
校務行政系統
汽車維護系統
電話查詢系統
回
C++ 程式設計課程
首頁
製作日期: 2000/3/12 by 丁培毅 (Pei-yih Ting)
E-mail:
pyting@cs.ntou.edu.tw