Systems engineering: coping with complexity