developers code with Microsoft

overview

1

fundamentals

2

get tools

3

start learning

What is software architecture? (overview)

Understanding code involves multiple tasks. Tooling can help you visualize and understand the organization, relationships, and behavior of the code. For example, to examine the existing relationships and patterns in the code, generate dependency graphs. To communicate the intended architecture of your system, create layer diagrams. You can then use these diagrams to keep the code consistent with the design. To understand how the code implements a method, generate sequence diagrams. To explore the structure of existing classes, create class diagrams.   Read on >>

1 Visual Studio Overview  

View this content about the process of software architecture, and then prepare your environment by installing the tools that you'll use to build applications.

read document

Introducing Visual Studio: General and Architecture Overview

Modern software development is anything but simple. Accordingly, the tools that support today's development teams have many moving parts, and Visual Studio 2010 is no exception. One way to get a handle on this product family is to start with a broad look at the components and how they fit together. Once we've done this, we can look more closely at the piece that ties everything else together: Team Foundation Server.  Read on >>

2 get the tools  
download  Install Visual Studio 2010 Professional (free 90-day trial)
  -OR-
download  Install Visual Studio 2010 Ultimate (free 90-day trial)

For help picking the right version of Visual Studio, review the Visual Studio 2010 comparison chart.
For more information about team development, read about Application Lifecycle Management.

3 start learning  

Use the following resources to help you learn more about understanding code, requirements analysis, systems design, and the lifecycle of designing software.

read article

GENERATE A SOURCE CODE DEPENDENCY GRAPH
Walkthrough | Dependency Graphs | Visual Studio Ultimate | March 2010

In this walkthrough, you can use any project to generate a dependency graph of your object model. A dependency graph lets you determine the hierarchy and reference structure of your objects and is a great way to visualize, and clean up your object design. This feature requires Visual Studio Ultimate.

Next: Go to the Visual Studio ALM guide

play video

UNDERSTANDING YOUR SYSTEMS: EXPLORE YOUR APPLICATION ARCHITECTURE
Video | 4 minutes | Visual Studio Ultimate | March 2010

Making changes in an existing system can mean you often don’t know what you are going to break until it’s too late. This is time-consuming and costly, and it can result in numerous bug fixes required immediately after a release. Architecture Explorer provides a dependency view to help you determine which items are connected to the one you are changing, from any level (method, class, namespace, assembly, or solution).

Whitepaper for the Video (no longer available)

Next: Go to the Visual Studio ALM guide

read article

CHANGE YOUR DESIGN USING VISUALIZATION AND MODELING TOOLS
Article | UML / Modeling | March 2010

This walkthrough demonstrates tools that are available in Visual Studio 2010 Ultimate that help ensure a software system meets its users' needs. These tools include Unified Modeling Language (UML) diagrams, layer diagrams, code-based dependency graphs, sequence diagrams, and class diagrams.

Next: Go to the Visual Studio ALM guide

Related Topics

Designing and Modeling Video Series
Watch videos about Designing and Modeling code by using Visual Studio.

Microsoft Application Architecture Guide
A free online guide and book that covers all the key concepts.

Visual Studio Application Lifecycle Management
Downloads, documentation, training, videos, and virtual labs help you understand the software application lifecycle.

Visual Studio Application Lifecycle Management: Documentation
If you’re developing on a team, learn about the full scope of ALM tasks and features in this documentation.

Architecture Developer Center
The Architecture Developer Center has everything you need to know about architecting software applications.

Books

Professional Application Lifecycle Management with Visual Studio 2010 Professional Application Lifecycle Management with Visual Studio 2010
This nuts-and-bolts guide walks you through the tools, guidelines, and methodologies you'll need for Application Lifecycle Management (ALM) with Visual Studio 2010.
Framework Design Guidelines Framework Design Guidelines
This book teaches developers the best practices for designing reusable libraries for the Microsoft .NET Framework.
Microsoft.NET: Architecting Applications for the Enterprise Microsoft.NET: Architecting Applications for the Enterprise
Led by two enterprise programming experts, you’ll learn how to apply the patterns and techniques that help control project complexity—and make systems easier to build, support, and upgrade—right from the start.