Adakah definisi yang tepat, tetapi sederhana dan mudah dipahami tentang perbedaan antara "use case", "User Story" dan "Skenario Penggunaan"?
ada cukup banyak penjelasan, tetapi saat ini, saya tidak melihat seorang pun yang menjelaskan perbedaan dalam satu kalimat, atau dua ...
(mis. http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison sangat panjang dan sulit didapat, penuh diskusi)
agile
object-oriented
Henning
sumber
sumber
Jawaban:
Sebuah Cerita Pengguna adalah lebih informal, ramah dan lebih kecil versi dari Use Case , minus diagram UML; ini biasanya digunakan dalam skenario berulang.
Sebuah Skenario Penggunaan adalah Use Case ditarik keluar ke prosedur langkah-demi-langkah, kadang disertai flowchart.
sumber
Bagi saya, perbedaan terbesar antara Kisah Pengguna dan Kasus Penggunaan adalah:
Menurut Scott W. Ambler pada Skenario Penggunaan , artefak ini terlihat seperti aliran Use Case:
Jujur saja, perbedaan dengan aliran Use Case tidak sejernih kristal, bahkan setelah membaca paragraf ini (kalimat terakhir mungkin yang paling penting):
Saya mungkin salah, tetapi Skenario Penggunaan benar-benar terdengar seperti aliran Use Case tetapi diganti dengan sentuhan Agile.
sumber
A use case is an heavyweight document that needs a word document.
. Martin Fowler berpikir bahwaUse case are at their best when they are short and readable. You should not be spending weeks, let alone months, generating use case documents before you begin development.
Tidak ada definisi pasti dari semua hal ini. Itu semua sedikit berbeda (atau banyak) dari perusahaan ke perusahaan dan dari sistem ke sistem.
Taruhan terbaik Anda adalah menemukan contoh yang sudah ada untuk proyek Anda saat ini dan ikuti.
Jika Anda membuat sistem baru, Anda dapat menemukan definisi dari berbagai jenis kasus penggunaan untuk sistem apa pun yang Anda sukai - Cukup pilih pola yang paling sesuai dengan tujuan Anda.
Jangan terpaku pada nama.
sumber
Kisah pengguna selalu bersifat informal dan menggambarkan kebutuhan pengguna. Sebuah use case dapat berupa formal atau informal, dan menggambarkan perilaku sistem.
Dimungkinkan untuk memiliki cerita pengguna "teknologi", hal yang sama tidak berlaku untuk kasus penggunaan.
Setelah selesai, kisah pengguna biasanya dibuang. Kasus penggunaan dapat dipertahankan selama siklus hidup produk.
Lingkupnya juga berbeda. Cerita pengguna biasanya dalam ruang lingkup yang lebih kecil, dan akibatnya kasus penggunaan terdiri dari beberapa cerita pengguna. Persyaratan yang diubah untuk sistem yang ada dijelaskan dalam kisah pengguna baru, atau versi terbaru dari use case.
Kesamaan antara cerita pengguna dan kasus penggunaan adalah keduanya digunakan untuk perencanaan dan penjadwalan.
sumber
Kisah Pengguna saat didekomposisi ke tugas-tugas yang ditugaskan secara individual untuk pengembang mungkin atau mungkin tidak lebih terperinci dan dibatasi dalam ruang lingkup daripada Skenario Use Case. Kisah Pengguna adalah tentang kebutuhan Pengguna - Sasaran atau Hasil dari penggunaan Sistem.
Contoh Cerita Pengguna adalah:
Pada tingkat abstraksi tertinggi, Use Case terdengar sangat mirip - Tahun Kedaluwarsa Kartu Pembaruan Pelanggan - tetapi di sini merupakan pernyataan fungsi alih-alih tujuan.
Ketika granularity dari skenario Use Case didefinisikan, mereka menjadi lebih tentang fungsi dan prosedur.
Skenario Utama Pascakondisi Skenario Penggunaan harus hasil yang sama dengan yang dinyatakan dalam Kisah Pengguna - Tahun Kedaluwarsa Kartu Kredit Pelanggan Diperbarui.
Skenario Use Case menjelaskan langkah-demi-langkah baik dalam teks atau diagram alir proses (belum tentu UML atau BPM - Saya menggunakan diagram alir lintas fungsional untuk kejelasan dan kemudahan penggunaan oleh konsumen yang tidak terlatih dari use case.
Intinya adalah bahwa Cerita Pengguna menggambarkan Kebutuhan dan Hasil (Apa Sistem Perlu Memberikan) sedangkan Kasus Penggunaan menggambarkan interaksi antara Aktor yang diperlukan untuk memenuhi tujuan - DAN apa yang bisa salah (Skenario, Perpanjangan, Alternatif atau Kesalahan) (bagaimana pengguna berinteraksi dengan Sistem mencapai hasil itu)
Untuk diskusi mendalam tentang topik ini saya sarankan membaca http://c2.com/cgi/wiki?UserStoryAndUseCaseComparison di situs web Alistair Cockburn. Karena dia adalah penandatangan Agile Manifesto, orang yang menciptakan User Stories dan telah dianggap sebagai ahli Kasus Penggunaan selama beberapa dekade terakhir, saya pikir dia sumber yang bagus untuk info lebih lanjut.
sumber
Catatan sementara cepat : Posting ini perlu perbaikan untuk menjawab pertanyaan dengan lebih baik, seperti 1) detail tambahan harus disertakan dari referensi 2) beberapa kutipan mungkin 3) kebenaran bahasa Inggris keseluruhan 4) keseluruhan kualitas narasi 5) dll. Saya akan kembali ke sana. Jangan ragu untuk memperbaikinya sendiri.
Melihat template mereka dapat memberikan wawasan berharga tentang perbedaan antara istilah-istilah ini.
Gunakan kasing
Ada beberapa templat untuk kasus penggunaan. Saya menemukan 3 setelah pencarian cepat: 1 , 2 , 3 . Beberapa poin yang mereka (kadang-kadang samar-samar) miliki adalah:
Extensions - aliran aplikasi ketika menyimpang dari aliran skenario sukses:
Jaminan sukses (alias. Kondisi pos) - keadaan aplikasi setelah semuanya selesai
Beberapa poin tambahan yang dapat dimasukkan adalah Level , Jaminan Minimal , Pemicu , dll.
Di atas adalah apa yang disebut use case sepenuhnya berpakaian . Anda dapat menyederhanakan pembuatan use case dengan menggunakan case use kasual dengan hanya menggunakan poin paling vital, misalnya:
Kasus penggunaan dibuat dan dipopulerkan oleh Ivar Jacobson di akhir 80-an awal 90-an. Kemudian orang lain juga berkontribusi pada karyanya (salah satu dari orang-orang tersebut adalah Alistair Cockburn yang adalah penulis Menulis Kasus Penggunaan Efektif ). Untuk Mengutip Martin Fowler kasus penggunaan dapat menggunakan teks dan diagram UML, tetapi nilai kebohongan terbesar mereka dalam teks itu. Mereka terbaik ketika mereka tidak besar dan mudah dibaca.
Kisah pengguna (alias. Fitur)
Kisah pengguna - kisah kecil yang menggambarkan fitur tertentu. Ada pola umum tentang cara menulis cerita pengguna, yaitu:
Sebagai tipe pengguna tertentu
saya ingin melakukan sesuatu
sehingga ada alasan .
Selain itu, kisah pengguna dapat memiliki kriteria penerimaan .
Seperti yang Anda lihat templat ini jauh lebih kecil dari pada use case. Kisah-kisah pengguna umumnya dikaitkan dengan scrum / agile / xp wilayah pengembangan perangkat lunak. Mereka dimaksudkan untuk ditulis di daerah kecil permukaan, seperti catatan post-it, dan / atau di papan scrum. Di sana, mereka (biasanya) diberi nilai poin yang memperkirakan berapa banyak upaya yang perlu diinvestasikan ke dalam ref cerita pengguna itu .
Bill Wake mengembangkan INVEST mnemonic untuk menggambarkan kualitas apa yang harus dimiliki oleh cerita pengguna yang baik, dan saya akan meminjam ringkasan singkat Martin Fowler tentang itu dari situs webnya :
Skenario penggunaan
Skenario penggunaan mengikuti pola GWT yang merupakan kepanjangan dari Given-When-Then, seperti:
Skenario : judul
Diberikan : fakta tertentu
Dan : fakta tertentu lainnya (mungkin opsional)
Kapan : beberapa peristiwa terjadi
Kemudian : beberapa peristiwa lain terjadi
Skenario penggunaan dikaitkan dengan Pengembangan Berbasis Perilaku. Kedengarannya sangat mirip dengan tes. Martin Fowler dalam posting blognya memberikan beberapa sejarah dan alasan di balik skenario penggunaan. Inilah bagian penting:
Skenario penggunaan dapat digunakan untuk tes menulis untuk aplikasi Anda. Mengutip paragraf terakhir dari pos Martin:
Referensi untuk studi lebih lanjut:
Halaman Wikipedia untuk kasus penggunaan , cerita pengguna , penggunaan skenario
blog Martin Fowler pada kasus penggunaan , cerita pengguna , penggunaan skenario
sumber
Saya tidak terbiasa dengan Cerita Pengguna, tetapi ketika saya melihat ini beberapa tahun yang lalu:
Use Case adalah tugas utama.
Skenario Pengguna adalah berbagai cara yang dapat dimainkan tugas. Jadi, Setiap Kasus Penggunaan memiliki satu skenario atau lebih. Use Case adalah abstrak, Skenario Pengguna adalah katalog dari semua contoh yang mungkin dari tugas abstrak itu.
Jadi:
Gunakan Kasus A: Pengguna mengautentikasi dengan id dan kata sandi.
Skenario:
1. ID dikenali, kata sandi benar. (skenario "hari cerah")
2. ID dikenali, kata sandi salah.
3. ID dikenali, kata sandi salah untuk ketiga kalinya.
4. ID tidak dikenali.
Saya selalu menganggap kasus penggunaan sebagai cara mendefinisikan persyaratan dengan cara naratif untuk klien dalam istilah mereka. w / r / t di atas, jika klien mengatakan "Tetapi bagaimana jika mereka mencoba masuk antara tengah malam dan satu ketika sistem mati?", kami telah menemukan skenario lain untuk tugas otentikasi, dan beberapa persyaratan tambahan.
sumber
Kisah pengguna adalah dari sudut pandang pelanggan, kadang-kadang itu tidak benar atau tidak lengkap. Mungkin tidak ada pertimbangan kinerja, penanganan kesalahan, atau tidak ada apa-apa di backend.
Case use adalah dari sudut pandang dev. Ini akurat dan lengkap. Itu harus menjawab semua persyaratan dari pelanggan.
sumber
"Kasus penggunaan" dan "kisah pengguna" adalah sama dalam arti mereka mewakili "persyaratan" pelanggan.
Use case adalah cara sistem digunakan dalam setiap kasus, biasanya direpresentasikan sebagai interaksi antara aktor dan sistem atau antar sistem.
Kisah pengguna adalah titik awal dalam perjalanan untuk membuat alat bantu komputer yang akan memungkinkan pengguna akhir untuk menyelesaikan sesuatu, dan biasanya dimulai dengan kalimat sederhana menggunakan siapa, apa, mengapa ("Sebagai pengguna menutup aplikasi, saya ingin diminta untuk menyimpan apa pun yang telah berubah sejak penyimpanan terakhir sehingga saya dapat mempertahankan pekerjaan yang bermanfaat dan membuang pekerjaan yang salah. "). Kisah pengguna itu kemudian perlu diolah menjadi use case yang digunakan pengembang untuk membangun aplikasi, dan penguji untuk melakukan pengujian.
Dari perspektif Penguji QA, mereka tidak menguji "cerita pengguna", melainkan "kasus penggunaan", yang berarti mereka menguji fungsionalitas perangkat lunak.
sumber
Dari situs produk-seni .
sumber