Apa hal penting yang perlu diketahui tentang UML?

18

Saya ingin coretan desain dan perilaku program saya menjadi lebih ramping dan memiliki bahasa yang sama dengan pengembang lain.

Saya melihat UML dan pada prinsipnya sepertinya itu yang saya cari, tetapi tampaknya berlebihan. Informasi yang saya temukan online juga tampak sangat membengkak dan akademis.

Bagaimana saya bisa memahami UML dalam bahasa Inggris, cukup untuk bisa menjelaskannya kepada kolega saya? Apa sumber kanonik untuk memahami UML di permukaan tanah?

Hanno Fietz
sumber
1
Saya lebih menyukai judul yang lama, paling tidak pada awalnya: "Apa yang paling berguna 10% dari UML?" Kalau tidak, edit yang bagus!
Joey Adams
jika Anda sudah memiliki dokumentasi yang ditulis mungkin sudah dalam uml, Anda hanya tidak terbiasa dengan apa yang mereka putuskan untuk memanggil tipe dokumentasi Anda
Ryathal

Jawaban:

4

Menyukai pertanyaan - pertanyaan yang sama seperti yang saya tanyakan pada diri sendiri:

Bagaimana saya bisa memahami UML dalam bahasa Inggris, cukup untuk bisa menjelaskannya kepada kolega saya? Apa sumber kanonik untuk memahami UML di permukaan tanah?

Inilah yang saya temukan:

Sebagai permulaan: pilihan saya adalah Fowler's UML Distilled . Ini benar-benar merupakan penyulingan dari dasar-dasar, seperti yang telah disebutkan: definisi, contoh, saran kapan jenis diagram tertentu harus atau tidak boleh digunakan. Ini juga merupakan referensi yang baik , jika Anda ingin fokus pada bagian tertentu dari UML tanpa membaca sampul buku.

Untuk pengantar yang lebih rinci, namun sederhana dalam bahasa Inggris: UML 2 untuk Dummies telah dilakukan untuk saya dan rekan kerja. Itu tidak hanya memperkenalkan UML, sintaks dan panjang lebar penggunaannya, tetapi memiliki banyak saran tentang pemrograman yang baik dan praktik desain.

Kadang-kadang ada perbedaan antara kedua buku tentang apa yang termasuk sintaks versi standar UML. Namun ini kecil dan jelas tidak penting untuk menggunakan diagram UML untuk mengkomunikasikan ide-ide desain. (Sebagai contoh: apakah UML 2 memungkinkan multiplisitas diskrit, yaitu menunjukkan bahwa properti tertentu mungkin memiliki objek X, Y atau Z yang tepat, daripada hanya nol, satu, banyak atau lebih dari X, katakanlah; ketika nama peserta harus digarisbawahi. ..)

Untuk pengantar yang sepenuhnya non-akademik dan kurang bertele-tele: blog ini memiliki artikel tentang berbagai bit UML: http://blog.diadraw.com/category/uml/

Ini bukan buku teks, jadi jauh dari lengkap, tetapi juga menggunakan cerita dan contoh non-buku teks, yang berhubungan dengan. Beberapa posting yang tersedia difokuskan pada memperkenalkan konsep-konsep UML secara visual, sehingga Anda dapat melewati pembacaan teks sekaligus.

gulungan
sumber
Tautan blog itu bagus.
Hanno Fietz
8

Saya benar-benar menyukai UML Distilled milik Martin Fowler . Pendek dan manis, dan lebih dari cukup untuk diskusi papan tulis. Dapatkan beberapa salinan dan bagikan di sekitar tim.

kevin cline
sumber
1
+1 untuk menyebutkan buku ini, saya benar-benar lupa tentangnya saat menulis jawaban saya!
Alexander Galkin
2
Bisakah Anda menjelaskan sedikit lebih banyak tentang pengalaman Anda dengan buku itu?
Apa alasan downvote?
kevin cline
1
Salah satu hal pertama yang saya lakukan ketika saya menjadi pemimpin tim adalah membeli salinan buku ini untuk semua orang di tim saya. Itu memberi kami semua kosakata umum untuk mendiskusikan desain kami. Beberapa pria yang lebih muda juga melaporkan bahwa itu membantu mereka lebih memahami diagram dalam berbagai buku pola desain yang mereka baca.
TMN
2
@kevincline Saya biasanya menautkan ke Amazon karena itu akan mengubah tautan itu menjadi URL pengarah untuk Stack Exchange. Jika seseorang mengklik dan membeli dari URL itu, Stack Exchange dapat menghasilkan uang. Itu juga menjadi sepele, dengan judul, penulis, dan informasi ISBN dari Amazon, untuk menemukan buku di penjual buku pilihan favorit Anda.
Thomas Owens
5

Diagram saja tidak selalu membantu. Misalnya, diagram use case tidak dapat menyampaikan aturan bisnis secara rinci. Diagram kelas mungkin sangat berguna karena Anda mungkin dapat menghasilkan kode kelas dan DLL darinya.

Saya menemukan diagram ini yang paling berguna:

  • Gunakan diagram kasus
  • Diagram Kelas
  • Diagram Aktivitas
  • Sequence Diagram

Ada begitu banyak sumber daya yang bermanfaat, tetapi periksa ini:

Edit-1 sebagai tanggapan atas komentar Markus.

Meskipun saya tidak menggunakan sumber daya ini sehari-hari, mereka berfungsi sebagai referensi cepat untuk sintaks UML. Sumber daya di atas dipilih karena menyediakan representasi diagram UML yang cepat dan agak komprehensif. Ini menunjukkan diagram umum dan membantu pengguna UML baru dengan cepat melihat perbedaan di antara mereka. Sumber pertama, video, memberikan detail tentang Use Case dan bagaimana kaitannya dengan diagram lainnya. Sumber daya di atas tidak diharapkan cukup bagi siapa pun yang ingin mempelajari UML atau OOD, saya menyadari bahwa mempelajari topik-topik seperti itu tidak dimaksudkan dalam pertanyaan awal.

Tidak mungkin
sumber
+1 untuk diagram Kelas , Urutan , dan Aktivitas . Saya sama sekali tidak yakin dengan Use Case Diagram, selain itu mereka adalah sampul yang sangat baik untuk laporan karena pengguna tampaknya menyukai gambar.
Sjoerd
@ Soerd, terima kasih atas komentar Anda. Seperti yang telah Anda tentukan dengan benar, Use Case dicintai oleh pengguna. Juga, Use Case Diagram memiliki banyak nilai. Mereka memungkinkan Anda untuk mengidentifikasi aktor (primer dan sekunder) dan memungkinkan Anda menemukan "Kasus Cse Level". Hubungannya dengan diagram aktivitas Anda dan diagram kelas yang membangun kohesi dalam spesifikasi Anda. Ingat, itu bukan pengganti untuk aturan bisnis terperinci dan dokumentasi persyaratan lengkap.
NoChance
Bisakah Anda membahas lebih lanjut tentang pengalaman Anda dengan sumber daya ini? Bagaimana dengan mereka, dan bukan yang lain, membantu Anda memahami UML?
@MarkTrapp, terima kasih atas komentar Anda dan untuk suntingannya.
NoChance
2

Jika Anda puas dengan hanya 10% , maka Anda tidak harus mencoba mempelajarinya dari buku UML. Sebaliknya, Anda lebih baik membaca buku bagus tentang analisis berorientasi objek atau pola desain - buku-buku ini memberi Anda 10% yang Anda cari.

Jika Anda masih mencari tutorial untuk UML, saya akan merekomendasikan halaman web ini , dan terutama esai ini tentang diagram UML (Ini bukan iklan, saya pribadi tidak memiliki hubungan dengan situs ini sama sekali). Cukup telusuri diagram dan melihat mereka: mereka sebagian besar menjelaskan sendiri dan Anda dapat dengan mudah memahami apa yang mereka gambarkan selama Anda menyadari OOP dan umumnya merancang program dan arsitektur.

Mengapa saya merekomendasikan halaman ini? (ditanya dalam komentar)

Ada beberapa alasan mengapa saya lebih menyukainya daripada yang lain:

  1. Ini menyajikan Anda tabel ikhtisar diagram UML di halaman pertama.
  2. Tabel ini, selain memberikan deskripsi singkat tentang setiap digram UML2.0, juga memiliki kolom "Prioritas Pembelajaran" yang sangat berguna yang dapat membantu pemula UML untuk mengidentifikasi diagram UML yang paling sering digunakan.
  3. Meskipun mengandung diagram mesin-diberikan juga, kebanyakan diagram terlihat seperti berada digambar tangan (mungkin mereka adalah tangan-digambar). Saya menganggapnya sebagai tanda bahwa pemodelan masih dapat dilakukan hanya dengan menggunakan pensil dan kertas Anda, tidak perlu mempelajari perangkat lunak visualisasi UML di awal.
Alexander Galkin
sumber
Bisakah Anda mempelajari lebih lanjut tentang pengalaman Anda dengan rekomendasi ini? Bagaimana dengan mereka, dan bukan yang lain, membantu Anda memahami UML?
1

Referensi Saku UML 2.0 dari O'Reilly sedikit lebih detail dari itu tetapi mungkin pilihan terbaik karena cukup kecil untuk dengan cepat menemukan apa yang Anda butuhkan tetapi masih memiliki penjelasan ketika Anda membutuhkannya. Dan ini terbaru, yang tidak berlaku untuk "lembar contekan UML" atau kartu referensi yang saya temukan di web - yang sebagian besar menggambarkan UML 1.x

Michael Borgwardt
sumber
Bisakah Anda mempelajari lebih lanjut tentang pengalaman Anda dengan buku ini? Bagaimana dengan itu, dan bukan buku-buku lain, membantu Anda memahami UML?
@ Mark Trapp: terutama fakta bahwa itu kecil, sehingga Anda dapat dengan cepat mengambil semua hal yang penting tanpa tersesat dalam detail dan kasus khusus.
Michael Borgwardt
0

Ada tiga bagian untuk ini:

  1. Dapatkan referensi UML resmi

    Kapan pun Anda mempelajari "bahasa" baru, dapatkan referensi yang dapat Anda tarik dan gunakan kapan saja, apakah itu buku atau sumber daring. UML Distilled berukuran kecil, memiliki banyak penjelasan, dan banyak diagram yang jelas. Bahkan jika Anda tidak menggunakan semua fitur, Anda selalu dapat kembali dan melihat cara "benar" untuk mengekspresikan sesuatu.

  2. Gunakan UML untuk memodelkan berbagai hal

    Sekarang setelah Anda memiliki referensi, mulailah menggunakannya untuk memodelkan beberapa sistem kecil yang ada atau sistem yang mulai Anda gunakan. Anda mungkin ingin tetap menggunakan Class Diagram, Sequence Diagram, dan State Diagram untuk sebagian besar situasi. Jika ada sesuatu yang Anda tidak yakin, buka referensi Anda dan cari penggunaan "benar" - jika itu tidak membantu, coba beberapa Googling atau tanyakan pada Stack Overflow. Sama seperti pemrograman, latihan adalah kuncinya.

  3. Gunakan beberapa UML dalam proyek nyata

    Ketika Anda mulai menggunakan UML dengan tim Anda, ingatlah bahwa itu hanya alat untuk memahami sistem yang Anda buat atau akan bangun. Anda masih harus memeriksa referensi Anda saat membuat diagram, tetapi fokus pada penyampaian informasi, tidak secara ketat mengikuti aturan.

Pikirkan kembali ke kelas menulis sekolah menengah Anda. Guru Anda mungkin menganggapnya sebagai dosa utama untuk memulai kalimat dengan "dan," "tetapi," atau "atau." Ketika Anda menulis lebih banyak dan mendapatkan lebih banyak kendali atas bahasa Inggris, Anda belajar cara membengkokkan aturan untuk efek yang lebih besar - Anda melakukan transisi dari mengikuti pendekatan yang tepat ke pendekatan yang menyampaikan apa yang Anda ingin katakan sebagai yang terbaik. UML harus digunakan dalam industri dengan cara yang sama persis.

derekerdmann
sumber
0

Saya akan mengatakan bahwa jika Anda tahu UML maka semua diagram memberi Anda pandangan berbeda tentang aplikasi Anda. Banyak buku tersedia.

Jika Anda tidak tahu UML yang paling mudah adalah dengan hanya membuat diagram kelas / urutan yang telah dibalik dari kode yang ada. Anda hanya perlu membalikkan kode yang ada menjadi UML dan menambahkan catatan Anda sendiri di dalam diagram kelas / urutan. Diagram kelas akan memberikan tampilan statis aplikasi Anda, diagram urutan akan menjelaskan aliran metode dan karenanya perilaku aplikasi. Pekerjaan UML selesai dan tidak ada kesalahan :)

UML_GURU
sumber