Correct answer: High cohesion and low coupling
High cohesion within a module means that its components are closely related and work together effectively, while low coupling between modules indicates that they are independent and can function without relying heavily on each other. This combination enhances maintainability, scalability, and reusability in software design.