Perangkat lunak komputer (computer software) kemungkinan besar merupakan salah satu hasil karya manusia yang paling kompleks yang pernah dikerjakannya. Rekayasa perangkat lunak (software engineering) menuntut bukan hanya logika dan ketrampilan teknis yang tinggi dalam hal pemrograman komputer menggunakan bahasa tertentu, tetapi juga membutuhkan pengetahuan dan keterampilan dalam melakukan anali…