Key Terms and Concepts in Software Engineering