UML Applied: A .NET Perspective