Recently, some of our partners asked how best VSTS allows the architect to define architectural views, such as the 4+1 views, and how VSTS supports ready made architectural styles and design patterns, such as MVC, and the patterns from Microsoft Patterns and Practices.

Both questions are best answered in terms of our Software Factory strategy.

Architects using VSTS can use software factories to define sets of views, either standard sets of views, such as the 4+1 views, or custom sets of views, usually the set of view needed to build a specific type of deliverable, such as a smart client or a web service. At the heart of a software factory is a model that defines a set of views. It is called a factory schema. Future releases of VSTS will provide first class support for developing and applying factory schemas, allowing the factory author to define a set of views, and the factory user to interact with the set of views defined by the factory author. Currently, views can be mapped to various VSTS mechanisms, as described in this white paper on MSDN.

Architectural styles and design patterns can be captured and delivered to application developers using software factories. In a software factory, architectural styles and design patterns are packaged as reusable assets. A software factory can also package other kinds of reusable assets, such as tools, templates, libraries, frameworks, guidelines, checklists, tests, models, requirements, and so on. These assets are contextualized by activities that describe simple process steps, and the conditions under which those steps make sense to perform. The activities, in turn, are contextualized by the views defined in the factory schema, so that it is easy for the factory user to determine where in the architecture the factory author intends a given activity to be performed, and consequently where in the architecture and under what conditions the factory author intends an asset to be used.