Metode Perancangan Program Pert 21 : Specifying Operation Specifying operation • Operation specification mendukung model grafik dengan menambahkan rincian sehingga user dapat mengkonfirmasikan kebenaran model, dan designer dapat menggunakannya untuk pengembangan software • Di dalam specifying operation dibutuhkan contract, yaitu sebuah list spesifikasi. The role of operation specification • Peranan operation specification adalah sebagai framework untuk spesifikasi detail yang akan membantu programmer untuk mengetahui method yang cocok untuk implementasi operation dalam code. • Sebuah operation specification dapat juga digunakan untuk menverifikasi bahwa method yang digunakan akan memenuhi spesifikasinya yang pada akhirnya akan memenuhi kebutuhan user. Contract • Adalah sebuah refleksi legal atau komersial kontrak antara orang dalam organisasi. Menandatangani kontrak membutuhkan komitment untuk menjalankan service yang telah disetujui. • Beberapa hal yang ada di dalam contract: – – – – Tujuan perusahaan Spesifikasi operation termasuk return type Gambaran yang tepat Operation lain yang digunakan, mungkin berada di object yang sama ataupun berbeda – Event yang dikirimkan ke object lain – Respon terhadap pengecualian – Kebutuha non-functional yang lainnya Describing operation logic • Ada dua cara untuk menggambarkan logik operation : – Pendekatan Non-algorithmic – Pendekatan algorithmic Pendekatan non-algorithmic • Pendekatan ini berkonsentrasi pada penggambaran logic dari sebuah operation sebagai sebuah black box. • Pendekatan ini digunakan karena: – Class yang ada sudah di encapsulasi dengan baik, dan hanya designer dan programmer tertentu yang bertanggung jawab atas class tertentu – Hasil dari operation simple Pendekatan no-algorithmic • Decision table – Decision table adalah sebuah matrix yang menunjukkan condisi dimana sebuah keputusan dibuat, dan aksi yang akan terjadi dan bagaimana keduanya dihubungkan – Decision table tepat jika hasilnya lebih dari satu output atau action, semuanya tergantung dari hasil kombinasi input Pendekatan no-algorithmic • Contoh decision table condition and actions condition is budget likely to be overspent ? is overspent likely to exceed 2%? Actions No Action Send Letter Set up meeting Rule 1 Rule 2 Rule 3 N - Y N Y Y X X X X Pendekatan non-algorithmic • Pre and post condition – Sesuai dengan namanya, tekbik ini berkonsentrasi pada menyediakan jawaban atas pertanyaan berikut: • Kondisi apa yang harus dipenuhi sebelum operation di jalankan ? • Kondis apa yang akan diterapkan, jika operation sudah dijalankan Pendekatan non algorithmic • Contoh pre dan post condition – Campaign.assignstaff(creativeStaff) – Pre-condition : creativeStaffObject is valid – Post-condition: sebuah link dibuat antara CampaignObject dan creativeStaffObject Pendekatan Algorithmic • Sebuah algoritma menggambarkan logik internal dari sebuha proses atau keputusan yang dibagi kedalam langkahlangkah kecil. • Algoritma juga memuat urutan pengerjaannya. • Teknik algoritma biasanya selalu digunakan selama design method, ini dikarenakan designer memperhatikan implementasi requirement yang efisien, dan karena harus memilih algoritma yang tepat. Pendekatan algorithmic • Structure English – Adalah semacam dialek Inggris tertulis yang merupakan antara bahasa non-technical dan bahasa pemrograman – Struktur logikal yang ada terlihat jelas melalui keyword dan indent. Tetapi, keyword yang terlalu spesifik terhadap bahasa pemrograman tertentu sebaiknya dihindari – Prinsip utama adalah • sebuah spesifikasi dibuat dari beberapa kalimat sederhana. Masing masing terdiri dari sebuah statement sederhana atau perhitungan • Statement hanya dapat digabungkan dengan cara tertentu yaitu sequence, selection atau iteration. Pendekatan Algorithmic • Contoh structured English If client contact is ‘Sushila’ set discount rate to 5% Else set discount rate to 2% Endif Pendekatan algorithmic • Pseudocode – Pseudocode berbeda dengan structured english, karena pseudocode lebih mendekati bahasa pemrograman tertentu. – Walaupun ada beberapa dialek pseudocode, masing masing mengacu pada bahasa pemrograman tertentu. Pendekatan algorithmic • Contoh pseudocode { } { while more adverts: next advert; get advertcost; cumcost = cumcost + advertcost; endwhile } { campaigncost = cumcost x ohrate; get campaignbudget; case campaigncost >= campaignbudget: return warningflag; endcase; } Pendekatan algorithmic • Activity diagram – Activity diagram dapat digunakan untuk spesifikasi operation Object Constraint Language • OCL menyediakan bahasa formal untuk batasan yang ada. • Biasanya OCL akan terdiri dari: – Context, yang menjelaskan sebuah domain dimana expression bernilai valid – Property, milik dari instance, sesuai context dari expression. Properties mungkin termasuk attribute, association, dan query operation – OCL operation, yang diterapkan oada expression. Operation termasuk operator aritmetika, set operators, dan tipe operator OCL • Contoh OCL OCL expression Person self.gender Company self.employee->select (age <60) Interpretation in the context of a spesific person, the value of the property 'gender' of the set of employees of a company whose age is less than 60 Creating an operation spesification • Penulisan spesification dibedakan dengan jenis tulisan. – Spesification structure : biasanya digunakan Arial – Content : biasanya digunakan courier • Contoh Operation specification : checkCampaignBudget Operation intent : return difference between campaign budget and actual costs
© Copyright 2025 Paperzz