importance of system design life cycle