Tuesday, June 26, 2007
Object Modeling, Tahap Advance ke?
Adakah Object Modeling, salah satu aktiviti utama fasa analisa, satu cabang ilmu yang advance? Saya tak setuju. Tapi, saya bukanlah pakar dalam mengajar ilmu software development ni, hanya sekadar practitioner aje.
Untuk itu, saya akan berusaha untuk meluangkan masa memodelkan dalam bentuk object, apa shj yang sesuai dalam kehidupan seharian kita, secara mudah. Kalau terlalu banyak detail, saya takut akan defeat the purpose pula.
Dengan itu, bermula hari ini, dari masa ke semasa, bila masa dan keadaan mengizinkan, saya akan beri contoh bagaimana untuk melakukan object modeling ni. Sebarang cadangan membina amat dialu-alukan.
Diagram object model tu saya hasilkan menggunakan Visual Paradigm, Community Edition. Disebabkan limitation Community Edition ni, maka, kelihatan water mark dalam semua diagram yg dihasilkan. Harap bersabar dgn water mark yg agak mengganggu tu.
Kita bermula dgn contoh pertama dibawah...
Object Modeling Kehidupan Seharian, Secara Mudah : Contoh 1 - Membeli Makanan di Restoran Fast Food
Dalam software development ni, satu perkara yang sangat penting ialah konteks. Dalam contoh ini, konteksnya ialah membeli makanan di restoran makanan segera. Seterusnya, kita hasilkan Scenario 1 beserta class diagram untuk menyokong Scenario 1 ini:
Seterusnya, kita hasilkan interaksi antara class2 yg telah dikenal pasti utk memastikan ianya benar2 sesuai bagi memenuhi Scenario 1.
Dgn melakukan cara software development secara agile, kita ubah dan perbaiki scenario tersebut kpd Scenario 1B. Class diagram nye:
Dan sequence diagram nye:
Lagi sekali, kita improve scenario nye (boleh juga tambah scenario) di iteration berikutnya, kali ini, cara penyediaan makanan dirasakan penting untuk dimodelkan dlm konteks ini (sebagai cth je). Class diagram nye:
Dan 2 sequence diagram utk memenuhi, menunjukkan dan membuktikan scenario 1C dan 1D boleh disokong oleh object model tersebut:
dan
Setakat ini shj, cth pertama. Rasanya byk lagi kelemahan penyampaian saya ni. Segala feedback membina dialu2kan utk improve penyampaian ini.
Update: Saya sengaja tak teruskan sampai tahap code. Biarlah, buat masa ini, saya kekalkan dulu sampai tahap ini shj. Masa kurang mengizinkan. Sesiapa yg berminat, boleh implement object model ni dlm code masing2, C# ke, Java ke, Ruby ke, etc. Dan bagitau la saya. InsyaAllah, saya boleh komen mana yg mampu dan akan linkkan ke blog/website anda.
(5) comments
Adakah Object Modeling, salah satu aktiviti utama fasa analisa, satu cabang ilmu yang advance? Saya tak setuju. Tapi, saya bukanlah pakar dalam mengajar ilmu software development ni, hanya sekadar practitioner aje.
Untuk itu, saya akan berusaha untuk meluangkan masa memodelkan dalam bentuk object, apa shj yang sesuai dalam kehidupan seharian kita, secara mudah. Kalau terlalu banyak detail, saya takut akan defeat the purpose pula.
Dengan itu, bermula hari ini, dari masa ke semasa, bila masa dan keadaan mengizinkan, saya akan beri contoh bagaimana untuk melakukan object modeling ni. Sebarang cadangan membina amat dialu-alukan.
Diagram object model tu saya hasilkan menggunakan Visual Paradigm, Community Edition. Disebabkan limitation Community Edition ni, maka, kelihatan water mark dalam semua diagram yg dihasilkan. Harap bersabar dgn water mark yg agak mengganggu tu.
Kita bermula dgn contoh pertama dibawah...
Object Modeling Kehidupan Seharian, Secara Mudah : Contoh 1 - Membeli Makanan di Restoran Fast Food
Dalam software development ni, satu perkara yang sangat penting ialah konteks. Dalam contoh ini, konteksnya ialah membeli makanan di restoran makanan segera. Seterusnya, kita hasilkan Scenario 1 beserta class diagram untuk menyokong Scenario 1 ini:
Seterusnya, kita hasilkan interaksi antara class2 yg telah dikenal pasti utk memastikan ianya benar2 sesuai bagi memenuhi Scenario 1.
Dgn melakukan cara software development secara agile, kita ubah dan perbaiki scenario tersebut kpd Scenario 1B. Class diagram nye:
Dan sequence diagram nye:
Lagi sekali, kita improve scenario nye (boleh juga tambah scenario) di iteration berikutnya, kali ini, cara penyediaan makanan dirasakan penting untuk dimodelkan dlm konteks ini (sebagai cth je). Class diagram nye:
Dan 2 sequence diagram utk memenuhi, menunjukkan dan membuktikan scenario 1C dan 1D boleh disokong oleh object model tersebut:
dan
Setakat ini shj, cth pertama. Rasanya byk lagi kelemahan penyampaian saya ni. Segala feedback membina dialu2kan utk improve penyampaian ini.
Update: Saya sengaja tak teruskan sampai tahap code. Biarlah, buat masa ini, saya kekalkan dulu sampai tahap ini shj. Masa kurang mengizinkan. Sesiapa yg berminat, boleh implement object model ni dlm code masing2, C# ke, Java ke, Ruby ke, etc. Dan bagitau la saya. InsyaAllah, saya boleh komen mana yg mampu dan akan linkkan ke blog/website anda.
Tuesday, June 19, 2007
Hari ini dalam sejarah
Pada 14/6/2007, buat pertama kalinya, saya menyerahkan surat perletakan jawatan. Sepanjang 13 tahun saya bekerja, tak pernah saya menyerahkan surat perletakan jawatan. Company pertama, kena VSS. Kedua, sendiri punya. Company ketiga, financial problem dan hilang senyap begitu shj. Keempat, freelance. Dan yg kelima company P, dgn berbaki 3 bulan lagi dlm kontrak saya, saya dengan rasminya telah meletak jawatan.
Tempoh perletakan jawatan ialah 2 bulan. Berbekalkan 15 hari lagi cuti, hari terakhir saya ialah 20/7/2007.
Dan, 23/7/2007, dijangka hari saya melapurkan diri kat company keenam, I, nun di selatan semenanjung Malaysia, tempat kelahiranku...
Selamat tinggal KL. Sama ada kekal atau sementara, entah, tak ku tahu...
Macam2
JFeature - "JFeature is an open source feature/requirement coverage tool that facilitates focusing on requirements as you develop code. It lets you leverage from standard development practices to get more insight into the requirements covered by the code."
Starting Struts 2. Ebook untuk projek gabungan struts dan webwork. Download and check it out!
The Dark side of Microsoft. MS menyaman Most Valuable Professional (MVP) nye sendiri? Hmmm...
Dependency Injection with Guice. Light alternative kpd Spring.
JavaFX: New WYSIWYG Editor + Ramani Updates on License. JavaFX dari Sun. Check it out!
GridGain - open source grid computing framework. Check it out! Dasat gak! Sebagai pelengkap, satu lagi grid framework utk java : JPPF.
Using Java to Crack Office 2007.
OSGi & Spring In-depth with Adrian Colyer.
Interview: Jezz Santos about Software Factories. Software factories from MS anyone? Menarik gak.
Interview and Book Excerpt: RESTful Web Services.
Introduction to LDAP: Part 1: Installation and simple Java LDAP Programming.
Securing Java applications with Acegi, Part 1: Architectural overview and security filters.
Securing Java applications with Acegi, Part 2: Working with an LDAP directory server.
Search smarter with Apache Solr, Part 1: Essential features and the Solr schema.
Search smarter with Apache Solr, Part 2: Solr for the enterprise.
JavaOne 2007: Prodigal Sun returns to the client
Iraq
The Bradley, upside down, was on fire. Seven died
(2) comments
Pada 14/6/2007, buat pertama kalinya, saya menyerahkan surat perletakan jawatan. Sepanjang 13 tahun saya bekerja, tak pernah saya menyerahkan surat perletakan jawatan. Company pertama, kena VSS. Kedua, sendiri punya. Company ketiga, financial problem dan hilang senyap begitu shj. Keempat, freelance. Dan yg kelima company P, dgn berbaki 3 bulan lagi dlm kontrak saya, saya dengan rasminya telah meletak jawatan.
Tempoh perletakan jawatan ialah 2 bulan. Berbekalkan 15 hari lagi cuti, hari terakhir saya ialah 20/7/2007.
Dan, 23/7/2007, dijangka hari saya melapurkan diri kat company keenam, I, nun di selatan semenanjung Malaysia, tempat kelahiranku...
Selamat tinggal KL. Sama ada kekal atau sementara, entah, tak ku tahu...
Macam2
JFeature - "JFeature is an open source feature/requirement coverage tool that facilitates focusing on requirements as you develop code. It lets you leverage from standard development practices to get more insight into the requirements covered by the code."
Starting Struts 2. Ebook untuk projek gabungan struts dan webwork. Download and check it out!
The Dark side of Microsoft. MS menyaman Most Valuable Professional (MVP) nye sendiri? Hmmm...
Dependency Injection with Guice. Light alternative kpd Spring.
JavaFX: New WYSIWYG Editor + Ramani Updates on License. JavaFX dari Sun. Check it out!
GridGain - open source grid computing framework. Check it out! Dasat gak! Sebagai pelengkap, satu lagi grid framework utk java : JPPF.
Using Java to Crack Office 2007.
OSGi & Spring In-depth with Adrian Colyer.
Interview: Jezz Santos about Software Factories. Software factories from MS anyone? Menarik gak.
Interview and Book Excerpt: RESTful Web Services.
Introduction to LDAP: Part 1: Installation and simple Java LDAP Programming.
Securing Java applications with Acegi, Part 1: Architectural overview and security filters.
Securing Java applications with Acegi, Part 2: Working with an LDAP directory server.
Search smarter with Apache Solr, Part 1: Essential features and the Solr schema.
Search smarter with Apache Solr, Part 2: Solr for the enterprise.
JavaOne 2007: Prodigal Sun returns to the client
Iraq
The Bradley, upside down, was on fire. Seven died