Mengapa kami membutuhkan UML? Atau bagaimana cara menyimpan saraf dan waktu Anda

Banyak programmer, dihadapkan dengan tugas yang sulit, mengabaikan fase desain, merujuk pada kenyataan bahwa desain adalah buang-buang waktu, dan dalam hal ini hanya akan mengganggu saya.


Seringkali pernyataan ini ternyata benar jika tugasnya sangat kecil dan kualifikasi programmer cukup untuk menentukan solusi yang paling optimal.

Programmer yang tidak menggunakan UML dibagi menjadi beberapa kelompok:

  • Saya akan mulai menulis kode, dan dalam prosesnya saya akan mengerti apa dan bagaimana;
  • Saya membaca forum, Habr, medium, stack overflow, buku, catatan di dinding, tanda-tanda ...;
  • Saya bertanya kepada kolega saya, mungkin seseorang tahu bagaimana memecahkan masalah yang sama;
  • Saya akan mulai menggambar kotak kecil dan secara skematis menunjukkan visi apa dari masalah yang telah terbentuk dalam pikiran saya.

Tetapi ketika memecahkan masalah yang lebih kompleks, perencanaan dan pemodelan lebih lanjut sangat menyederhanakan pemrograman. Selain itu, membuat perubahan diagram kelas lebih mudah daripada membuat kode sumber.

Anda bisa menggambar analogi dengan membangun rumah. Ketika seseorang ingin membangun rumah, dia tidak hanya memukul dengan palu dan mulai bekerja. Ia perlu memiliki rencana - rencana desain, sehingga ia dapat menganalisis dan memodifikasi sistemnya.

Jika Anda sudah mulai menggambarkan tugas Anda di atas kertas, ini sudah merupakan nilai tambah yang besar.

Apa itu UML?


Definisi resmi dari Wikipedia.
UML - Unified Modeling Language - adalah sistem notasi yang dapat digunakan untuk analisis dan desain berorientasi objek. Ini dapat digunakan untuk visualisasi, spesifikasi, desain dan dokumentasi sistem perangkat lunak.
Sederhananya, jika Anda melihat gambar di mesin pencari, akan menjadi jelas bahwa UML adalah sesuatu tentang skema, panah, dan kotak.

Penting bahwa UML menerjemahkan sebagai Bahasa Pemodelan Unified. Kata utama di sini adalah Unified. Artinya, gambar kita akan dipahami tidak hanya oleh kita, tetapi juga oleh orang lain yang tahu UML. Ternyata ini adalah bahasa internasional untuk menggambar sirkuit.

Pro dan Kontra Desain UML


Cons:

  • buang waktu;
  • kebutuhan akan pengetahuan berbagai diagram dan notasinya.

Pro:

  • kesempatan untuk melihat tugas dari sudut pandang yang berbeda;
  • programmer lain merasa lebih mudah untuk memahami esensi tugas dan cara mengimplementasikannya;
  • diagram relatif mudah dibaca setelah dengan cepat terbiasa dengan sintaksisnya.

Untuk mengetahui apakah Anda perlu menggunakan UML, Anda perlu mempertimbangkan diagram utama. Berkat mereka, gambaran keseluruhan terbentuk, memberikan ide tentang kemungkinan mengekspresikan ide-ide arsitektur dalam kerangka tugas bisnis.

Semua diagram di bawah ini saling berhubungan. Dengan menggabungkannya, kita dapat mencapai tingkat dekomposisi tugas individu yang diperlukan.

Saya mengusulkan untuk berkenalan dengan beberapa grafik yang paling berguna dan sering digunakan.
Kita akan berbicara tentang diagram urutan, negara, kegiatan, dan yang paling kompleks - diagram kelas.

Pertama saya <...>, dan kemudian <...>, dan kemudian ... Sequence diagram


Bayangkan Anda perlu menggambarkan urutan tindakan untuk memesan barang di toko online. Siapa yang harus dilibatkan dalam proses tersebut? Fase apa yang dilalui suatu pesanan sebelum ditempatkan?

Biasanya, kami menulis daftar panjang tahapan yang harus dilalui aplikasi untuk menerima status bangga "Dihiasi". Kemudian kami menjelaskan siapa yang akan melakukan tindakan spesifik. Dan hanya setelah itu kita mulai memprogram.

Apa kerugian dari pendekatan ini? Dia tidak visual.

Bayangkan, sebelum Anda meletakkan daftar panjang langkah-langkah yang dijelaskan sebelumnya dan mengomentarinya. Seberapa mudah bagi Anda untuk mengetahuinya? Berapa lama? Saya kira itu sudah cukup.

Alternatif untuk pendekatan ini adalah dengan menggunakan diagram urutan yang ditunjukkan pada gambar di bawah ini.


Diagram urutan

Aktor ditampilkan di bagian atas, dan setiap panah adalah tindakan khusus yang terkait dengannya. Pelajari lebih lanjut tentang bagan ini di sini.

Diagram keadaan. Kami mengonfigurasi jam elektronik lama


Diagram keadaan memungkinkan Anda untuk mendeskripsikan perilaku objek individu dalam kondisi tertentu. Dia juga akan menunjukkan kepada kita semua kemungkinan keadaan di mana objek itu berada, serta proses perubahan keadaan sebagai akibat dari pengaruh eksternal.

Misalkan kita memprogram jam elektronik Soviet.


Untuk mengkonfigurasi, kita hanya diberikan beberapa tombol. Jarang sekali. Pada saat yang sama, kita tahu bahwa salah satu tombol mengganti mode pengaturan jam. Tombol lain dalam mode pertama mengubah menit, dan pada jam kedua.

Instruksi setup sudah cukup kecil, tetapi berkat diagram keadaan, secara visual dirasakan jauh lebih mudah.


Diagram keadaan

Baca lebih lanjut tentang diagram keadaan di sini .

Diagram kelas, atau cara berbicara tentang kode Anda tanpa kode


Diagram kelas paling sering digunakan dalam pemodelan PS. Mereka adalah bentuk deskripsi statis dari sistem dari sudut pandang desainnya. Diagram kelas tidak menampilkan perilaku dinamis dari objek kelas yang digambarkan di atasnya. Diagram kelas menunjukkan kelas, antarmuka, dan hubungan di antara mereka.
Dalam berbagai dokumentasi, deskripsi pola desain, serta membaca Habr, kita semua sering menemukan diagram kelas. Mengapa sering digunakan?


Misalkan Anda perlu merancang suatu sistem. Sebelum memulai implementasi beberapa kelas, Anda ingin memiliki pemahaman konseptual tentang sistem - kelas apa yang saya butuhkan? Fungsi dan informasi apa yang akan dimiliki kelas-kelas ini? Bagaimana mereka berinteraksi satu sama lain? Siapa yang bisa melihat kelas-kelas ini? Dan sebagainya.

Di sinilah diagram kelas muncul. Diagram kelas adalah cara yang bagus untuk memvisualisasikan kelas pada sistem Anda sebelum Anda mulai mengkodekannya. Mereka adalah representasi statis dari struktur sistem Anda.

Ini adalah diagram kelas yang memberi kita ide paling lengkap dan terperinci dari struktur dan hubungan dalam kode program. Memahami prinsip-prinsip membangun diagram ini memungkinkan Anda untuk secara singkat dan transparan mengekspresikan pikiran dan ide Anda.

Mari kita pertimbangkan bagaimana menggambarkan pola desain terkenal "Pengunjung" menggunakan diagram kelas.
"Pengunjung" adalah pola desain perilaku yang memungkinkan Anda untuk menambahkan operasi baru ke program tanpa mengubah kelas objek di mana operasi ini dapat dilakukan.

Diagram kelas

Keuntungan paling signifikan dari grafik ini adalah:

  • menghemat waktu saat menjelaskan tugas kepada programmer lain;
  • representasi yang lebih akurat dan visual dari struktur elemen-elemen utama sistem.

Kerugiannya termasuk biaya waktu yang signifikan, asalkan tidak ada pengalaman dengan diagram ini.

Anda dapat membaca lebih lanjut tentang diagram kelas di sini , dan tentang pola Pengunjung di sini .

Bagan aktivitas


Diagram aktivitas adalah teknologi yang memungkinkan Anda untuk menggambarkan logika prosedur, proses bisnis, dan alur kerja. Dalam banyak kasus, mereka menyerupai diagram alur, tetapi perbedaan mendasar antara diagram aktivitas dan notasi diagram alur adalah bahwa yang sebelumnya mendukung proses paralel.
Singkatnya, diagram aktivitas membantu kita menggambarkan logika perilaku sistem. Dimungkinkan untuk membangun beberapa diagram aktivitas untuk sistem yang sama, yang masing-masing akan fokus pada berbagai aspek sistem, menunjukkan tindakan berbeda yang dilakukan di dalamnya.

Pada diagram aktivitas yang menunjukkan transisi dari satu aktivitas ke aktivitas lainnya. Ini, pada kenyataannya, adalah semacam diagram keadaan, di mana semua atau sebagian besar negara bagian adalah beberapa kegiatan, dan semua atau sebagian besar transisi bekerja ketika suatu kegiatan tertentu selesai dan memungkinkan Anda untuk melanjutkan ke yang berikutnya.


Bagan aktivitas

Arti diagram itu bisa dimengerti. Ini menunjukkan cara bekerja dengan aplikasi web yang memecahkan masalah tertentu dalam basis data jauh. Perhatikan pengaturan kegiatan dalam diagram ini: mereka, seolah-olah, tersebar dalam tiga kolom, yang masing-masing sesuai dengan perilaku salah satu dari tiga objek - klien, server web dan server database. Berkat ini, mudah untuk menentukan objek mana yang melakukan masing-masing kegiatan.

Anda dapat membaca lebih lanjut tentang diagram aktivitas di sini .

Kesimpulan


Semoga setelah artikel ini Anda melihat UML berbeda. Sekarang, ketika membaca literatur atau situs yang membahas topik ini, akan lebih mudah bagi Anda untuk memahami apa tujuan UML dan menemukan peluang untuk penerapannya. Cobalah untuk mulai menerapkannya dan Anda akan merasakan semua kekuatan dan kekuatan yang tersembunyi di balik serangkaian panah dan kotak.

Tinggalkan komentar jika Anda berpikir (atau tahu) bahwa ada sesuatu yang salah atau dapat digambarkan lebih baik.

Source: https://habr.com/ru/post/id458680/


All Articles