Perangkat lunak sistem
Perangkat lunak sistem adalah suatu istilah generik yang merujuk pada jenis perangkat lunak komputer yang mengatur dan mengontrol perangkat keras sehingga perangkat lunak aplikasi dapat melakukan tugasnya. Ia merupakan bagian esensial dari sistem komputer. Sistem operasi adalah suatu contoh yang jelas, sedangkan OpenGL atau pustaka basis data adalah contoh lainnya. Perangkat lunak jenis ini dibedakan dengan perangkat lunak aplikasi, yang merupakan program yang membantu pengguna melakukan tugas spesifik dan produktif, seperti pengolahan kata atau manipulasi gambar.
Pemrograman
Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritme yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritme diklasifikasikan menjadi perintah dengan menggunakan apa yang disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang akrab dengan berbagai mapan algoritme dan kompleksitas masing-masing dan menggunakan pengetahuan ini untuk memilih algoritme yang paling cocok dengan keadaan.
Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai, pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan adalah Kasus Gunakan analisis.