Sunday, December 02, 2007

Domain Model Design :Siri 2

User Story : Siri 1

Aku akan cuba menjadi domain expert dan pada masa yang sama sebagai developer untuk menjayakan siri demo agile process ini. Maka segala user story yang ditulis adalah berdasarkan pemahaman aku sahaja tapi aku akan cuba sebaik mungkin menjadi domain expert.

Aku nak cuba pendekkan beberapa penerangan, so rancangan aku ialah dari user story aku akan terus buat simple domain model design. Cara aku nie short cut sedikit kerana jika mengikut process sebenar apabila mendapat senarai user story, team lead dengan developer/system analyst hendaklah berbincang dengan domain expert untuk dapatkan lebih maklumat berkaitan user story, ini adalah kerana user story hanya seperti check list antara domain expert dan developer team. Domain expert akan letakkan priority untuk setiap user story dan team akan berbincang dengan domain expert pemilihan user story yang akan dimasukkan kedalam iteration 1.

Aku rasa penerangan lebih lanjut berkaitan process tersebut aku biarkan dalam tulisan yang lain buat masa ini aku nak fokuskan kepada domain model design berdasarkan user story yang telah pun ditulis.

Sebagai User/Domain Expert/StakeHolder, aku boleh:
- Rekodkan maklumat user story, oleh itu aku boleh tahu detail user story yang aku rekodkan dan perlukan dalam project

Berdasarkan user story diatas context utama domain expert ialah merekodkan setiap user story kedalam sesuatu project. Jadi bila dianalisa terdapat 2 domain yang penting untuk merealisasikan context/tujuan tersebut iaitu:
- User
- UserStory
- Project

Untuk itu aku biasanya akan design seperti berikut:


Visual design diatas masih belum lengkap kerana relation antara domain-domain tersebut boleh dikategori sebagai kompleks.Perlu diingat relation bidirectioanal akan mengakibat relation domain mesti mengetahui antara satu sama lain. Jadi apabila design setiap relation memerlukan penelitian adakah perlu relation domain A ke domain B perlu saling kenal mengenali. Jika tidak perlu pastikan relation dalam satu hala (unidirectional). Aku akan bagi 2 solution unutk difikirkan solution mana yang lagi sesuai

0 comments: