Starting from essential basic knowledge about software technology, this textbook presents general models and important aspects of a methodical approach to software development. It covers the role of processing models, specifications, methods of internal and external representation, and principles of metamodeling. An emphasis is placed on the practical utility of the tools that are presented.