Pengembangan perangkat lunak adalah proses yang membutuhkan perencanaan dan pandangan ke depan yang tepat. Ada beberapa teknik yang tersedia untuk mendokumentasikan pengembangan perangkat lunak. Unified Modeling Language (UML) adalah metode standar yang digunakan untuk mendokumentasikan artefak yang diperlukan untuk pengembangan perangkat lunak.
UML adalah kumpulan praktik terbaik desain yang telah digunakan selama bertahun-tahun dalam komunitas pengembangan perangkat lunak. Unified Modeling Language pertama kali diperkenalkan pada tahun 1996 oleh Object Management Group (OMG). Versi awal UML dibuat oleh sekelompok ahli pengembangan perangkat lunak yang sering disebut sebagai tiga sekutu.
Ketiganya adalah Grady Booch, James Rumbaugh, dan Ivar Jacobson. Mereka dianggap sebagai pemimpin dan pendiri proyek penyatuan metode standar pada tahun 1996 yang mengarah pada penciptaan Bahasa Pemodelan Terpadu. Upaya penyatuan ini mengambil pendekatan terbaik untuk desain dan pengembangan perangkat lunak dan menciptakan kerangka kerja yang dapat digunakan kembali yang dapat dengan mudah dipahami.
Pendekatan desain UML menggunakan notasi grafis sebagai alat komunikasi untuk proyek perangkat lunak dan komunitas pengguna. Notasi grafis ini membantu tim pengembangan perangkat lunak mengeksplorasi potensi desain dan jebakan. Unified Modeling Language biasanya digunakan sebagai cetak biru untuk desain aplikasi perangkat lunak. Cetak biru ini menjelaskan bagaimana aplikasi perangkat lunak akan dibangun.
Agile Modeling (AM) adalah contoh pendekatan desain perangkat lunak yang menggunakan UML. AM adalah kumpulan praktik dan prinsip untuk merancang perangkat lunak. Proses UML sering dikritik karena memberatkan tim pengembang, terutama di bidang manajemen dokumen. Agile Modeling mencoba untuk mengambil bagian yang diperlukan dari UML dan merampingkannya menjadi kerangka desain yang tangkas. Agile Modeling menggunakan dokumen UML sebagai rancangan kasar desain daripada cetak biru akhir atau dokumen formal. Ini menghilangkan kebutuhan untuk pembaruan rutin dokumen UML.
Model Based Testing (MBT) adalah proses di mana pengujian diselesaikan berdasarkan desain yang ditentukan. Desain ini dibangun dari persyaratan sistem. Persyaratan yang ditentukan kemudian digunakan untuk menghasilkan kasus uji, yang ditulis sebagai skrip uji. Artefak MBT selanjutnya dapat menghasilkan informasi yang diperlukan untuk menjelaskan keadaan yang diharapkan dari suatu sistem.
Salah satu proses yang paling kompleks dalam pengembangan perangkat lunak adalah integrasi komponen. Model-Driven Integration (MDI) adalah proses yang dirancang untuk menyederhanakan upaya integrasi aplikasi. Dalam MDI, desain dibuat dalam Bahasa Pemodelan Terpadu untuk mewakili kontrol jalur pertukaran dalam perangkat lunak.