>> Terjemahan langsung dari bagian buku By Kurt Bittner, Ian Spence (UML)
Teknik-teknik baru dapat mengatasi masalah lama, tetapi mereka sering membawa seluruh rangkaian masalah baru juga. Perhatikan kendaraan bermotor – kita tidak perlu lagi khawatir banyak tentang memberi makan dan membersihkan seperti kereta kuda, tetapi kita memiliki hal-hal lain – seperti kegagalan mekanis, tune-up reguler, tes emisi – perlu perhatian. Setiap kali Anda mengadopsi beberapa teknik atau teknologi baru, Anda harus mengambil sedikit waktu untuk mempertimbangkan mengapa Anda membuat perubahan untuk memastikan bahwa perubahan itu berharga.
When Are Use Cases Useful?
Atau dengan kata lain, “kapan bekerja dengan teknik use-case pada saat teknik yang lain tidak ?”
Kadang-kadang hal yang paling sulit adalah untuk memvisualisasikan bagaimana sistem akan bekerja. Kita dapat memiliki persyaratan rinci luar biasa dan hampir tidak tahu apa yang seharusnya dilakukan oleh sistem. Penjelasan melalui use-case memberi kita cara memvisualisasikan bagaimana pengguna dan sistem akan berinteraksi sehingga setiap orang dapat melihat bahwa sistem akan melakukan sesuatu yang bermanfaat.
Satu sistem di mana kita bekerja memiliki lebih dari 18.000 persyaratan. Tim pengembangan benar-benar kehilangan dan hanya memiliki sedikit gagasan tentang apa yang benar-benar dibutuhkan sistem. Menerapkan use-case membantu meluruskan kekacauan tersebut, hasilnya dalam sebuah sistem kita menggunakan kurang dari 30 cases.
Karena use-cases fokus pada cara-cara menggunakan sistem untuk melakukan hal-hal yang berguna, sehingga lebih mudah untuk memastikan bahwa kita sedang membangun sistem yang tepat. Kita dapat melihat bagaimana sistem bereaksi ketika pengguna melakukan sesuatu, atau ketika beberapa peristiwa eksternal terjadi, namun yang paling penting kita memastikan bahwa sistem melakukan sesuatu yang bernilai. Masalah dari begitu banyak sistem adalah bahwa mereka dapat saja memuaskan permintaan dari banyak atau sebagian besar pengguna mereka, namun masih belum benar-benar bermanfaat, karena mereka tidak memberikan kepada pengguna apa yang diinginkan atau butuhkan, sistem tidak bekerja seperti yang diinginkan orang atau bekerja sesuai dengan harapan. Use-case membantu kita dengan memungkinkan untuk memvisualisasikan apa yang dikerjakan sistem dan bagaimana menggunakannya.
Apakah use-cases membantu kita sebagaimana halnya dengan Donald Norman dalam The Design of Everyday Things, yang disebut dengan model konseptual. Ini adalah model dimana para orang-orang yang berkepentingan dan pengguna sistem memiliki sistem itu sendiri. Dengan kata lain, use cases membantu kita membentuk mental model dari bagaimana sistem bekerja, pada tingkat konseptual.
Untuk menggunakan sistem, kita harus memiliki mental model cara kerjanya; mental model ini membantu kita untuk membentuk strategi tentang bagaimana kita dapat menggunakan sistem untuk menyelesaikan pekerjaan. Tanpa mental model, kita tidak dapat menggunakan sistem secara efektif, dan semakin sederhana mental model, semakin mudah sistem digunakan. Metafora Spreadsheet elektronik sangat kuat karena memiliki mental model sederhana dibandingkan dengan spreadsheet berbasis kertas. Pengolah kata yang kita gunakan untuk menulis buku juga memiliki mental model sederhana. Desain internal spreadsheet elektronik dan program-program pengolah kata tidak seperti mental model bagiseorang pengguna, tetapi mental model tetap penting untuk menggunakan program secara efektif.
Uses-cases membantu kita untuk mengeksplorasi, bentuk, dan memperbaiki mental model tentang bagaimana sistem akan bekerja. Jika sistem akan digunakan, adalah penting bahwa ia memiliki mental model sederhana yang diterapkan secara konsisten di seluruh desain. Para pengguna dan pengembang sistem harus berbagi mental model ini untuk sistem yang akan digunakan. Untuk sistem-sistem sederhana, mencapai visi bersama tidak begitu sulit, tetapi sebagai persyaratan peningkatan kompleksitas, kemungkinan hal itu terjadi secara alami menurun. Ketika ditulis dengan benar, use cases dapat menjadi katalisator untuk menciptakan mental model bersama ini dari sistem.
Use Cases Provide a Conceptual Model of the System
Apakah use-cases membantu kita sebagaimana halnya dengan Donald Norman dalam The Design of Everyday Things, yang disebut dengan model konseptual. Ini adalah model dimana para orang-orang yang berkepentingan dan pengguna sistem memiliki sistem itu sendiri. Dengan kata lain, use cases membantu kita membentuk mental model dari bagaimana sistem bekerja, pada tingkat konseptual.
Untuk menggunakan sistem, kita harus memiliki mental model cara kerjanya; mental model ini membantu kita untuk membentuk strategi tentang bagaimana kita dapat menggunakan sistem untuk menyelesaikan pekerjaan. Tanpa mental model, kita tidak dapat menggunakan sistem secara efektif, dan semakin sederhana mental model, semakin mudah sistem digunakan. Metafora Spreadsheet elektronik sangat kuat karena memiliki mental model sederhana dibandingkan dengan spreadsheet berbasis kertas. Pengolah kata yang kita gunakan untuk menulis buku juga memiliki mental model sederhana. Desain internal spreadsheet elektronik dan program-program pengolah kata tidak seperti mental model bagiseorang pengguna, tetapi mental model tetap penting untuk menggunakan program secara efektif.
Uses-cases membantu kita untuk mengeksplorasi, bentuk, dan memperbaiki mental model tentang bagaimana sistem akan bekerja. Jika sistem akan digunakan, adalah penting bahwa ia memiliki mental model sederhana yang diterapkan secara konsisten di seluruh desain. Para pengguna dan pengembang sistem harus berbagi mental model ini untuk sistem yang akan digunakan. Untuk sistem-sistem sederhana, mencapai visi bersama tidak begitu sulit, tetapi sebagai persyaratan peningkatan kompleksitas, kemungkinan hal itu terjadi secara alami menurun. Ketika ditulis dengan benar, use cases dapat menjadi katalisator untuk menciptakan mental model bersama ini dari sistem.