Lisensi perangkat lunak
Lisensi perangkat lunak mencakup izin, hak, dan pembatasan yang diberlakukan atas perangkat lunak, baik berupa suatu komponen atau program berdiri sendiri. Penggunaan suatu perangkat lunak tanpa lisensi dapat dianggap pelanggaran atas hak eksklusif pemilik menurut hukum hak cipta atau, kadang, paten dan dapat membuat pemilik menuntut pelanggarnya. Dalam suatu lisensi, penerima lisensi diizinkan untuk menggunakan untuk menggunakan perangkat lunak berlisensi sesuai dengan persyaratan khusus dalam lisensi. Pelanggaran persyaratan lisensi, tergantung pada lisensinya, dapat menyebabkan pengakhiran lisensi, dan hak pemilik untuk menuntut pelanggarnya.
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.