Perangkat lunak merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan tersebut dapat berupa program atau instruksi yang akan dijalankan melalui perintah, serta catatan yang diperlukan komputer untuk menjalankan perintah tersebut. . dia tampil. Pemrogram perangkat lunak: pendekatan individual berdasarkan pengalaman masa lalu, meskipun hanya sedikit yang menghasilkan perangkat lunak berkualitas baik  seperti rantai yang tidak terputus. Menerapkan dan menggunakan prinsip-prinsip teknik untuk menghasilkan perangkat lunak yang ekonomis, andal, dan berjalan efisien pada mesin nyata.
Perancangan perangkat lunak adalah tahap perancangan arsitektur, komponen, antarmuka dan karakteristik perangkat lunak lainnya. Analisis dan Rekayasa Sistem: Perangkat lunak merupakan bagian dari suatu sistem untuk mendapatkan gambaran luas pada tingkat sistem. Berfokus pada detail logika perangkat lunak dengan tujuan mengungkap dan menghilangkan kesalahan yang ada sehingga perangkat lunak berfungsi sesuai harapan.
Proyek pengembangan perangkat lunak jarang mengikuti alur yang berurutan dan banyak yang melibatkan proses berulang. Beberapa atau seluruh fungsi telah.. diimplementasikan, dan akan diperluas dalam proses pengembangan. C. Prototipe bukanlah perangkat lunak nyata. D. Melibatkan proses berulang, setiap iterasi bekerja pada satu 'tingkat produk'. dari level prototipe awal hingga level perangkat lunak yang diinginkan).
Hal ini memungkinkan pengembang untuk menentukan karakteristik perangkat lunak pada tingkat yang lebih tinggi dan alat akan .. secara otomatis menghasilkan kode program.
Manajemen Proyek
- Pendahuluan
 - Pengukuran Perangkat Lunak
 - Estimasi
 - Analisis Resiko
 - Penjadwalan
 - Rencana Proyek
 
Proyeksi/penilaian risiko: kemungkinan terjadinya risiko dan akibat yang akan dialami jika risiko tersebut terjadi3.
Proses Rekayasa Perangkat Lunak
- Analisis Kebutuhan
 - Desain Perangkat Lunak
 - Implementasi
 - Testing dan Evaluasi
 - Pemeliharaan
 - Data Flow Diagram
 - Entity Relational Diagram
 
Desain perangkat lunak adalah tugas, tahapan, atau aktivitas yang berfokus pada spesifikasi rinci dari solusi berbasis komputer (Whitten et al, 2004). Spesifikasi desain umum hanya berisi gambaran umum agar pemangku kepentingan sistem memahami seperti apa perangkat lunak yang akan dibangun. Pengujian tingkat penerimaan perangkat lunak akan berakhir ketika dirasa seluruh kelompok pengguna menyatakan dapat menerima perangkat lunak berdasarkan kriteria yang ditentukan.
Pemeliharaan perangkat lunak mendaur ulang setiap fase program sebelumnya dan tidak membuat fase baru. Ada beberapa jenis maintenance yang umum dikenal dalam dunia software seperti terlihat pada diagram pada gambar di bawah ini. Jenis pemeliharaan rutin ini disebut juga dengan pemeliharaan preventif, yang dilakukan secara berkala untuk melihat apakah perangkat lunak berfungsi atau tidak, dan apakah terdapat kesalahan.
Jenis upgrade pemeliharaan sistem ini dilakukan jika ada perubahan pada komponen yang terlibat dalam perangkat lunak. Misalnya, mengubah platform sistem operasi dari versi lama ke versi baru akan menyebabkan perangkat lunak harus ditingkatkan. Pemodelan perangkat lunak digunakan untuk memberikan gambaran kepada pemangku kepentingan (pengembang, pengguna, manajemen) tentang perangkat lunak yang akan dikembangkan.
Dapat fokus pada aspek penting pengembangan perangkat lunak tanpa harus terlalu terlibat. Dapat menunjukkan pemahaman analis tentang kebutuhan pengguna dan membantu perancang dan pemrogram dalam implementasi perangkat lunak. Ada beberapa cara yang dapat digunakan untuk merepresentasikan perangkat lunak melalui diagram, misalnya flowchart, HIPO (Hierarchy Input Process Output), Tabel Keputusan, DFD (Data Flow Diagram), State Transition Diagram, UML dan lain-lain.
Diagram konteks adalah diagram aliran data tingkat atas (DFD Top Level), yaitu diagram paling detail dari suatu sistem atau perangkat lunak yang menggambarkan aliran data masuk dan keluar sistem atau perangkat lunak serta masuk dan keluar perangkat. Merupakan representasi grafis dari perangkat lunak yang menunjukkan entitas internal dan eksternal sistem serta data yang mengalir masuk dan keluar dari entitas tersebut. Merupakan representasi grafis dari suatu perangkat lunak yang menunjukkan proses dalam sistem dan aliran data masuk dan keluar dari proses tersebut.
Kita menggunakan DFD logika untuk membuat dokumentasi perangkat lunak karena DFD logika dapat mewakili logika yaitu apa yang dilakukan perangkat lunak, tanpa harus menentukan di mana, bagaimana, dan oleh siapa proses dalam sistem dilakukan. Keuntungan DFD logis dibandingkan DFD fisik adalah DFD ini dapat memfokuskan perhatian pada fungsi-fungsi yang dilakukan oleh perangkat lunak.
Unified Modeling Language
Petakan kasus penggunaan untuk setiap proses bisnis untuk menentukan secara tepat fungsionalitas yang harus disediakan oleh sistem. Jika use case memiliki opsi aliran normal dan kegagalan, buatlah diagram untuk setiap aliran. Buat desain model antarmuka pengguna yang menyediakan antarmuka kepada pengguna untuk menjalankan skenario kasus penggunaan.
Gunakan pendekatan kasus, menugaskan setiap kasus penggunaan ke tim pengembangan tertentu untuk mengembangkan kode unit lengkap dengan pengujian. Use case adalah suatu desain yang berfokus pada pengguna dan tugas pengguna untuk memenuhi keinginan pengguna. Use case adalah pekerjaan tertentu, misalnya login, membuat daftar belanja, dan lain-lain.
Diagram use case bisa sangat berguna ketika membangun persyaratan sistem, mengkomunikasikan desain dengan pelanggan, dan merencanakan kasus uji untuk semua fungsi dalam sistem. Sebuah use case dapat menyertakan fungsionalitas dari use case lainnya sebagai bagian dari prosesnya. Secara umum diasumsikan bahwa use case yang disertakan akan dipanggil setiap kali use case yang disertakan biasanya dijalankan.
Sebuah use case dapat dimasukkan ke dalam lebih dari satu use case lainnya, sehingga duplikasi fungsionalitas dapat dihindari dengan mengekstraksi fungsionalitas umum. Sedangkan hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari use case lainnya. Aktivitas mendeskripsikan proses yang sedang berlangsung, sedangkan use case mendeskripsikan bagaimana aktor menggunakan sistem untuk melakukan aktivitas.
Superclass merupakan kelas induk yang nantinya mempunyai kelas-kelas yang terdiri dari kelas dan subkelas. Umumnya menggambarkan suatu kelas yang mempunyai atribut berupa kelas lain, atau kelas yang perlu mengetahui keberadaan kelas lain.