UML models can help you create code and tests and describe the architecture and requirements of a system. Developers often spend more time understanding existing code than writing it. The code visualization tools in Visual Studio Ultimate can help you visualize major parts of the code, assess its flexibility, and identify problem areas. You can more easily assess the potential cost of proposed changes by tracing the dependencies between parts of the code. Layer diagrams help you visualize the logical dependency structure of your application. To make sure that structural changes are not introduced accidentally, you can validate code against the model on every check-in.