Modeling Applications in VS 2012

Designing Systems with a stable architecture is always challenging. But it is one of the most interesting tasks personally I find as a developer, it is where we can improve both technical knowledge & analytical skills.

VS 2012 has come with some new rich tools for modeling the applications to make sure , it meets the user requirements. This tools can be used to visualize the code to understand its structure, relationships, and behavior in a more effective manner. It provides us the facility of create models in different levels :-

  • Track requirements
  • Track Tasks
  • Test cases
  • bugs

 

Types of Models

 

1. Dependency Graph

This diagrams shows how your code is been organized & it’s dependencies. This is very useful to identify the code base without going through code lines. You can create a dependency graph for the whole solution & then dig in to the small levels of the assemblies as follows.

image

image 

2. Layer Diagram

Layer diagram let us to create logical grouping of the Visual studio solutions items. ( projects, classes). Using the layer diagrams you can group you solutions also can visualize the dependencies between the objects in different layers.

image

You can validate you architecture using layer diagram & generate a report so you can see the failing points. following diagram shows a sample validation report.

image

3. UML Model

Now you can use visual studio to create UML Diagrams so that you can clarify, understand & communicate your code design & user requirements.

  • Class Diagram
  • Use Cases
  • Activity Diagram
  • Sequence Diagram
  • Component Diagrams

 

4.Code-Based sequence Diagram

There are situations where we are assigned to projects which has been developed for several months & we are asked to do some modifications. It is always challenging & time consuming to understand the code & understand he flow of it by going through the code lines. Using visual studio you can generate sequence diagrams of a existing code so that you can easily visualize the flow of the method calls.

image
5. Domain-specific language (DSL)

A domain-specific language is a notation, usually graphical, that is designed to be used for a particular purpose. By contrast, languages such as UML are general-purpose. In a DSL, you can define the types of model element and their relationships, and how they are presented on the screen.

For more Information : http://msdn.microsoft.com/en-us/library/vstudio/ee943825.aspx

 

I will describe about this tools in more detail in my next posts.

Happy Modeling !!!!!

Comments

Popular posts from this blog

Responsive Web Design

Contract First Development in WCF 4.5

Affine Cipher in C#