OOD: Dependency between classes…
Hal lain yang perlu diperhatikan saat design adalah ketergantungan sebuah kelas terhadap kelas lainnya. Idealnya, ketergantungan dibuat seminimal mungkin agar modifikasi di sebuah kelas tidak terlalu besar pengaruhnya terhadap kelas lain.
Ketergantungan (dependency) kelas B terhadap kelas A dinyatakan dengan visibility kelas A terhadap kelas B. Ada beberapa jenis visibility (diambil dari definisi RUP), yaitu:
- global visibility; biasanya untuk kelas-kelas utility; kelas utility A visible terhadap B apabila instans kelas B bisa menggunakan seluruh service dari kelas A; apabila kelas A dimodifikasi, maka kelas B perlu dimodifikasi pula di bagian-bagian yang memanfaatkan service kelas A.
- parameter visibility; kelas A parameter visible terhadap kelas B jika method kelas B punya parameter bertipe kelas A. Jika kelas A dimodifikasi, maka hanya method terkait saja yang mungkin harus dimofifikasi di kelas B.
- field visibility; kelas A field visible terhadap kelas B jika kelas A di-create dan di-invoke oleh kelas B; visibility jenis ini digambarkan sebagai asosiasi (bukan dependensi)
- local visibility; kelas A local visible terhadap kelas B jika service kelas A hanya diperlukan pada suatu method di kelas B; ketergantungan kelas B terhadap kelas A hanya ada di method tsb.
Dependency digambarkan dengan garis putus-putus dan arah panah terhadap kelas yang menyediakan service (kelas A pada contoh-contoh di atas).
Buat apa lagi ini ? Tentu saja untuk memperkirakan efek modifikasi sebuah kelas terhadap kelas lainnya…
-
Archives
- December 2009 (8)
- November 2009 (5)
- October 2009 (15)
- September 2009 (12)
- August 2009 (5)
- July 2009 (4)
- June 2009 (7)
- May 2009 (14)
- April 2009 (7)
- March 2009 (7)
- February 2009 (18)
- January 2009 (15)
-
Categories
- analysis
- aspect oriented
- CBSE
- critical system
- design
- digital learning
- e-business
- ecosystem
- final project
- fun
- health informatics
- introduction
- lecture
- maintenance
- method
- oop
- others
- programming
- project
- project management
- quality
- real time system
- requirement
- research
- service computing
- soa
- software architecture
- software developer
- software metrics
- software process
- software product
- software quality
- software standard
- technology
- testing
- tools
- Uncategorized
- webE
-
RSS
Entries RSS
Comments RSS