Seperti kita maju ke kurun ke-21, ketergantungan kita pada komputer dan sistem informasi untuk memfasilitasi bisnis lebih besar dari sebelumnya. Pasar global terlalu berbelit-belit dan tak kenal lelah untuk dijalankan pada tenaga kerja dan mencatat saja; sistem perangkat lunak sangat penting untuk sebuah perusahaan ketika menangani sejumlah besar pengolahan data, transaksi nasabah, atau database client. Dengan demikian, pengembangan dan pemeliharaan mereka telah menjadi komponen kunci dalam operasi perusahaan yang sukses.
Struktur, rencana, dan mengendalikan pengembangan sistem ini, siklus hidup pengembangan perangkat lunak (SDLC) dikembangkan dan ditaati. metodologi yang berbeda telah berevolusi untuk diterapkan untuk tujuan yang berbeda, menurut teknis, organisasi, proyek dan tim kebutuhan, tetapi umumnya semua akan memakai beberapa kombinasi dari tahapan sebagai berikut:
• menganalisis Masalah / Problem analyzing
• Riset pasar / Market research
• Analisa Kebutuhan / Requirements analysis
• Desain / Design
• Pelaksanaan / Implementation (coding)
• Pengujian / Testing
• Penyebaran / Deployment
• Pemeliharaan dan perbaikan bug / Maintenance and bug fixing
Bagaimana ketat aturan ini diikuti, dan apa tingkat perencanaan dan dokumentasi tercapai, akan tergantung pada kebutuhan bisnis dan kemampuan perangkat lunak. A 'terjun' pendekatan SDLC akan melihat setiap tahap dilakukan dalam rangka linear, dengan perencanaan yang rinci dan evaluasi risiko sebelum coding bahkan dimulai. Pendekatan 'tangkas' melibatkan perencanaan dan dokumentasi jauh lebih sedikit, dan lebih berfokus pada coding dan terus menerus re-pengujian, ideal untuk sistem yang lebih kecil, atau satu di mana komponen gres yang ditambahkan sebagai proses yang berkelanjutan.
pengembangan perangkat lunak pemodelan memakai diagram UML
Sementara melalui setiap tahap SDLC, itu sanggup berguna, dan perlu, untuk menghasilkan model visual dari proses itu. Sebuah diagram semacam ini menyajikan tampilan grafis struktur sistem perangkat lunak, komponen dan hubungan, yang memungkinkan desainer untuk mengatur dan memprediksi hasil tertentu, serta sistem informasi menyebarkan dengan kolaborator dan klien.
standar yang berlaku dipakai ketika model sistem yang dikenal sebagai Unified Modeling Language (UML), satu set generik notasi yang dipakai ketika membuat diagram UML. notasi visual sanggup mewakili kebutuhan, subsistem, elemen logis dan fisik, dan pola struktural dan perilaku, yang sangat relevan dengan sistem yang dibangun memakai gaya berorientasi objek.
Menggunakan UML selama proses pemodelan mempunyai sejumlah manfaat - untuk satu, seluruh tim pengembangan sanggup menyebarkan informasi dan berkolaborasi memakai bahasa umum, diagram dan perangkat lunak, sesuatu yang mustahil bila memakai bahasa pemrograman yang lebih spesifik tugas. Hal ini memungkinkan anggota tim untuk membuat sistem 'cetak biru', membuat diagram yang menunjukkan sistem sebagai suatu kesatuan yang utuh, tetapi juga memungkinkan pilihan untuk memecah sistem yang menjadi bagian-bagian komponen atau proses.
Saat ini di versi 2.5, UML mendukung 14 teknik diagram yang berbeda yang dilihat sebagai standar industri. diagram ini secara luas dibagi menjadi dua kategori; pertama yakni diagram struktur statis, yang menggambarkan struktur fisik dari sebuah sistem. Lalu ada diagram perilaku, yang menggambarkan sikap dan interaksi dari aneka macam komponen sistem. Berikut ini yakni klarifikasi singkat apa yang masing-masing diagram dan bagaimana hal itu sanggup diterapkan:
diagram struktur statis
diagram kelas - membagi benda ke 'kelas', yaitu bab yang menyebarkan atribut umum. Kelas mendefinisikan metode dan variabel dari objek itu, dan diagram menggambarkan kekerabatan dan instruksi sumber ketergantungan di antara mereka.
diagram komponen - menampilkan komponen sistem (fisik atau logis), interface dan port, dan kekerabatan antara mereka. Memungkinkan analis untuk menggantikan dan sistem mengusut bab individu daripada merancang proses dari awal.
diagram struktur komposit - menunjukkan struktur internal kelas tertentu, kiprah masing-masing elemen memainkan berafiliasi dengan orang lain, dan bagaimana ini mensugesti bagaimana kelas berinteraksi dengan elemen luar.
diagram Deployment - model penyebaran fisik artefak (sistem perangkat lunak) pada node (biasanya hardware, contohnya laptop, ponsel). node lingkungan sanksi yakni 'simpul dalam simpul', sumber daya komputasi software yang menampilkan karakteristik hardware.
diagram objek - merupakan citra sistem. Mirip dengan diagram kelas, mengambil snap-show dari struktur sistem pada ketika tertentu dalam waktu.
Paket diagram - paket terbentuk ketika elemen UML dikelompokkan bahu-membahu - kelas, objek, kasus penggunaan, komponen atau node. Diagram paket menunjukkan pengelompokan ini, dan dependensi antara paket yang membentuk suatu sistem. Contoh penggunaan akan ketika pemodelan instruksi sumber yang kompleks; paket dipakai untuk mewakili aneka macam lapisan kode.
Profil diagram - beroperasi pada tingkat metamodel untuk menunjukkan stereotip sebagai kelas, dan profil sebagai paket. Memungkinkan pengembang untuk membuat paket.
diagram perilaku
Aktivitas diagram - sanggup dikatakan ibarat diagram alur, menunjukkan langkah-langkah dalam proses perangkat lunak sebagai sebuah alur kerja. pilihan biner dari setiap langkah, ya / tidak, benar / salah, membuat ini media yang mempunyai kegunaan untuk menggambarkan perangkat lunak dan kebijaksanaan coding.
diagram mesin negara - menggambarkan keadaan ketika ini mesin, yang nilai bertindak atasnya. Ini menunjukkan tindakan apa node dari sistem perangkat lunak mengambil, tergantung pada insiden eksplisit.
Gunakan diagram kasus - menunjukkan pola nyata dari penggunaan sistem. Membantu mendefinisikan persyaratan untuk sistem perangkat lunak, dan sanggup menggambarkan bentuk apapun mungkin interaksi antara pengguna dan sistem itu.
diagram interaksi
diagram komunikasi - menampilkan interaksi antara objek dalam hal satu set pesan sequencing. Ini dipakai untuk membuat tampilan burung-mata dari kerja sama antara beberapa objek, untuk tujuan yang sama dalam sistem.