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?
Jawaban:
Menyukai pertanyaan - pertanyaan yang sama seperti yang saya tanyakan pada diri sendiri:
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.
sumber
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.
sumber
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:
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.
sumber
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:
sumber
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
sumber
Ada tiga bagian untuk ini:
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.
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.
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.
sumber
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 :)
sumber