There is a compelling incentive for using optimization to design aerospace systems due to large penalties incurred by their weight. The design of these systems is challenging due to their complexity. We tackle these challenges by developing a new view of multidisciplinary systems, and by combining gradient-based optimization, efficient gradient computation via adjoint methods, and Newton-type methods. Our applications include wing design based on Navier-Stokes aerodynamic models coupled to finite-element structural models, and satellite design including trajectory optimization. The methods used in this work are generalized and proposed as a new framework for solving large-scale optimization problems.