Pemodelan Perangkat Lunak dan UML
Pemodelan perangkat lunak merepresentasikan suatu sistem melalui abstraksi yang menangkap struktur dan perilakunya, dan Unified Modeling Language (UML) adalah notasi grafis standar untuk mengekspresikan model tersebut.
Definition
Pemodelan perangkat lunak adalah konstruksi representasi abstrak dari sistem perangkat lunak untuk menganalisis, merancang, dan mengomunikasikannya, dan UML adalah bahasa pemodelan tujuan umum terstandardisasi yang menyediakan serangkaian tipe diagram terpadu untuk representasi ini.
Scope
Topik ini mencakup model struktural seperti diagram kelas, komponen, dan penyebaran; model perilaku seperti diagram kasus penggunaan, urutan, aktivitas, dan mesin keadaan; peran model dalam analisis, desain, dan komunikasi; rekayasa berbasis model dan pembangkitan kode; serta tingkat kekakuan pemodelan yang sesuai untuk proyek tertentu.
Core questions
- Aspek sistem manakah yang ditangkap oleh model struktural versus perilaku?
- Bagaimana tipe diagram UML utama merepresentasikan suatu desain?
- Seberapa besar kekakuan pemodelan yang sesuai untuk proyek tertentu?
- Kapan pembangkitan kode otomatis dari model bermanfaat?
Key theories
- Berbagai pandangan tentang suatu sistem
- Suatu sistem dimodelkan dari sudut pandang yang saling melengkapi — struktur statis, interaksi, perilaku keadaan, dan penyebaran — masing-masing ditangkap oleh tipe diagram yang sesuai, karena tidak ada satu pandangan pun yang menyampaikan semua informasi desain yang relevan.
- Rekayasa berbasis model
- Model dapat berfungsi sebagai artefak pengembangan utama dari mana implementasi sebagian atau seluruhnya dihasilkan melalui transformasi, meningkatkan tingkat abstraksi dan mengaitkan desain secara langsung dengan kode.
Clinical relevance
Model membuat maksud desain menjadi eksplisit, mendukung analisis sebelum kode ada, dan menyediakan bahasa bersama di seluruh tim; nilainya bergantung pada penggunaan jumlah pemodelan yang tepat, karena model yang berlebihan atau usang menimbulkan biaya tanpa manfaat.
Evidence & guidelines
Spesifikasi OMG UML mendefinisikan notasi dan semantik standar, dan standar OMG terkait seperti SysML dan MOF memperluas pemodelan ke rekayasa sistem dan metamodeling.
History
UML muncul pada pertengahan 1990-an dari penyatuan metode Booch, OMT, dan Objectory, diadopsi sebagai standar OMG pada tahun 1997, dan berkembang melalui UML 2; pendekatan berbasis model dan sketsa ringan hidup berdampingan dengan perdebatan tentang seberapa besar pemodelan formal memberikan hasil.
Debates
- Pengembangan berbasis model 'berat' versus pembuatan sketsa 'ringan'
- Apakah model harus menjadi artefak otoritatif yang mendorong pembangkitan kode atau sketsa informal untuk komunikasi masih diperdebatkan; visi model-sebagai-program menjanjikan konsistensi, sementara penggunaan berorientasi sketsa menghargai biaya overhead rendah dan kemampuan beradaptasi.
Key figures
- Grady Booch
- James Rumbaugh
- Ivar Jacobson
- Martin Fowler
Related topics
Seminal works
- booch2005
- omg2017uml
- fowler2003
Frequently asked questions
- Apakah UML masih relevan dalam pengembangan tangkas (agile)?
- Ya, meskipun sering digunakan secara lebih ringan. Tim tangkas cenderung menggunakan diagram UML sebagai sketsa informal untuk berkomunikasi dan bernalar tentang desain daripada sebagai spesifikasi yang lengkap, menerapkan pemodelan secukupnya untuk memperjelas masalah yang ada.
- Apakah pemodelan memerlukan UML?
- Tidak. UML adalah notasi yang paling terstandardisasi secara luas, tetapi pemodelan dapat menggunakan notasi lain atau bahasa khusus domain; ide dasarnya adalah abstraksi struktur dan perilaku, di mana UML adalah salah satu pilihan yang didukung dengan baik.