UML, We Will Miss You The
Unified Modeling Language (UML) , dikembangkan oleh Rational Software dan diadopsi sebagai standar oleh Object Management Group (OMG) pada tahun 1997, dimaksudkan untuk menstandarisasi berbagai jenis notasi grafis yang diadopsi oleh industri pengembangan perangkat lunak .
Sejarah hubungan saya dengan UML dimulai hampir satu dekade yang lalu, ketika saya menjadi penginjil untuk bahasa ini sebagai jembatan antara TI dan bisnis . Saya tidak pernah sepenuhnya yakin akan nilai UML sebagai notasi untuk memodelkan produk perangkat lunak tertentu; tujuan saya adalah menggunakan UML untuk menggambarkan sifat struktural dan perilaku yang diharapkan dari sistem yang dirancang.
Wahyu bagi saya adalah semantik formal yang terkait dengan Diagram Aktivitas UML. Saya tidak tahan dengan diagram Visio informal karena banyak ambiguitas di dalamnya. Misalnya, apa arti dua panah yang keluar dari persegi panjang: pemilihan atau pemisahan aliran menjadi dua jalur paralel? Contoh serupa: apakah dua panah yang menunjuk ke persegi panjang yang sama berarti tindakan dimulai segera setelah utas pertama mencapai persegi panjang? Atau mungkin OR, XOR, atau AND? Secara umum, Anda mengerti maksudnya. UML memecahkan masalah ini dengan memperkenalkan semantik yang jelas dan tidak ambigu.
Permainan tidak adil dari awal: tidak ada jawaban yang
benar. Saya benar-benar menaruh hati dan jiwa saya ke dalam UML:
- Saya menggambar diagram untuk solusi saya sendiri dari tahun 2004 hingga 2015 untuk tujuh perusahaan dan klien yang berbeda hampir secara eksklusif menggunakan UML.
- UML ( -) .
- , UML. Haskell GraphViz UML.
Beberapa tahun kemudian, sekitar tahun 2015, saya menyadari bahwa saya praktis telah berhenti menggunakan UML, begitu juga rekan-rekan saya yang lain, serta hampir semua klien Fortune 500 yang saya konsultasikan akhir-akhir ini. Apa yang terjadi?
Aku tahu itu kematian dari seribu luka. Dan tidak, UML tidak membunuh komunitas bisnis karena kerumitan atau ketelitiannya. Sebaliknya, pebisnis menyukai kemampuan untuk berkomunikasi dengan jelas dan tidak ambigu dengan beberapa simbol baru. Orang-orang IT menaikkan UML (saya melakukan ini pada satu waktu), dan mereka juga menyebabkannya jatuh.
Namun UML sendiri bukanlah korban. Sejujurnya, UML hanyalah kerugian jaminan. Pembantaian sebenarnya ada di area pengembangan persyaratan, yang mencakup intelijen bisnis dan desain. Agile menjadi pembunuh, dan cerita pengguna adalah panah beracunnya.
Dalam model, di mana cerita pengguna didorong pada input, dan demo (atau rilis produksi fitur) diterima pada output, tidak ada lagi ruang untuk analisis struktural tugas yang bermakna.
Di dunia baru yang berani saat ini, pemahaman langsung dikristalkan ke dalam kode siap produksi. Bahkan pemodelan bisnis, pada kenyataannya, telah dibunuh oleh disiplin Agile terkait: Domain Driven Design (DDD). Konteks terikat merangkum (menyapu di bawah karpet) kompleksitas sehingga perusahaan dapat menskalakan ke "tim dua pizza." Perusahaan yang menggunakan BDD dan mengharuskan tim mereka untuk menulis spesifikasi Mentimun lebih unggul di sini, tetapi sangat sedikit bisnis yang melakukannya.
Paradigma modern adalah bahwa kita masih tidak akan bisa memahami masalahnya. Pakar transformasi digital memberi tahu kami bahwa kami perlu menerapkan produk ke produksi sehingga pengguna sendiri dapat mengetahui apa persyaratan bisnisnya, dan tidak merumuskannya sendiri secara apriori. Berkat ini, kami dapat melakukan beberapa upaya untuk memperbaikinya. Ya, dalam paradigma ini seseorang harus melakukan kesalahan dengan cepat dan sering.
Anda seharusnya sudah tahu sekarang bahwa ini bukan kesalahan UML. Kami baru saja menyerah pada analisis bisnis dan spesifikasi formal, jadi kami dihadapkan dengan pertanyaan baru: apa yang harus digunakan selain UML?
Contoh diagram masala
Sementara beberapa menggunakan teknik pemodelan ringan seperti C4 , kebanyakan diagram yang digunakan saat ini adalah dari jenis yang saya sebut sebagai "diagram masala . " Lagi pula, mengapa tidak memanggil diagram yang saya buat sendiri? Kenapa Masala? Karena mereka informal; mereka secara bersamaan mencakup beberapa dimensi, mereka dapat struktural, dan perilaku, logis dan fisik. Mereka sering merupakan campuran rendering dari model arsitektur 4 + 1 .
Bagaimana Mempersiapkan Diagram Masala
Sistem jutaan dolar yang menjadi sandaran hidup dan keuangan kita diciptakan, dibiayai, dan diimplementasikan seluruhnya dari diagram masala ini, yang seringkali tidak lebih dari beberapa epos dan cerita pengguna.
"Penulis, yah, arsitektur sistem hipotek bank saya jelas tidak dirancang berdasarkan model masala Anda yang mengerikan ini!"
Itu tidak mungkin benar, bukan? Faktanya, jika bank Anda tidak menggunakan CICS, dan solusinya dijual tahun lalu, maka ada kemungkinan besar bahwa itu dibangun berdasarkan diagram masala.
Apakah dunia sudah gila? Tidak, kami baru saja menyerah pada rekayasa perangkat lunak. Sekarang ini hanya pertaruhan kode . Saya tidak mengatakan bahwa mereka yang menulis perangkat lunak bukanlah insinyur; lebih sering daripada tidak, tidak. The point adalah bahwa pada tingkat organisasi, perangkat lunak tidak lagi dirancang , seperti yang dilakukan di daerah lain, misalnya, di bidang teknik mesin. Boeing tidak akan pernah memesan mesin jet dari Rolls Royce berdasarkan diagram masala informal seperti itu.
Namun, diagram masala memiliki tujuannya sendiri. Ketika digunakan di mana mereka berada, mereka indah. Anda lihat, ini bukan spesifikasi . Tujuan mereka adalah untuk membangkitkan emosi. Diagram Masala sangat berharga ketika Anda perlu membawa kegembiraan ke hati pemimpin yang menjadi tujuan mereka.
Tidak peduli bagaimana saya berdebat dengan teman-teman saya dari kamp Agile, saya tidak bisa tetap buta terhadap kebahagiaan orang. Tidak hanya klien dan kolega saya yang meminta lebih banyak diagram masala , tetapi mereka bersikeras agar saya membuatnya lebih banyak lagi (sehingga saya menggabungkan lebih banyak dimensi arsitektur di dalamnya!). Mengapa menolak ini?
UML masih tetap ada di hati saya dan saya terus menyusun solusi menggunakan beberapa dimensi, tetapi dalam bentuk data/tabel murni. Dan ketika berbicara tentang notasi grafis, saya mengeluarkan blender dan wajan 5 liter saya dan mulai membuat bagan masala yang bagus untuk klien favorit saya.
Periklanan
Server epik adalah VDS untuk hosting situs dari toko online kecil di Opencart hingga proyek serius dengan audiens yang besar. Buat konfigurasi server Anda sendiri dalam beberapa klik!
Bergabunglah dengan obrolan Telegram kami .