What is Software Engineering and Its Characteristics