Shows how considering the modeling and programming languages together from the start can be beneficial. This book integrates design and implementation, using Java and UML. It includes case studies, exercises and a free software tool for hands on learning.[...]