Software High Level Design