To take full advantage of Visual Studio .NET, you should become familiar with the many application design tools and features that provide process modeling, architecture guidance, and rapid visual development of databases and reports.
The following sections introduce the various tools you can use to design your enterprise application.
Modeling with Visio
As you design and build your application, there are a number of ways to use Microsoft Visio for Enterprise Architects. For example, starting with Visual Studio code in either Visual Basic, Visual C++, or Visual C#, you can reverse engineer the code to create a UML diagram and then refine the model using the modeling tool.
For more information on Visio for Enterprise Architects, see the online help on the Microsoft Visio for Enterprise Architects CD-ROM. Visio must be active and running in order to view the online help for the Visio UML solution. At the end of the Visual Studio .NET Enterprise Architect installation you have an option to install Visio for Enterprise Architects.
For more information on modeling and UML, see Modeling Your Application and Data.
Using Enterprise Templates
Enterprise Templates can help you quickly create Visual Studio solutions that define the initial structure of a complex distributed application project. Additionally, Enterprise Templates can provide technology guidance for the development team by simplifying component, command, and other Visual Studio IDE choices. You can also create custom help for display in the Dynamic Help window when certain selections are made in Solution Explorer.
Visual Studio .NET provides many useful Enterprise Template projects for creating new applications. For example, you can select either a three- or seven-layer distributed application for either Visual Basic or Visual C#. Alternatively, you can begin with an empty Enterprise Template project and create your own customized, reusable solution.
Whether you are creating reusable business services, data access layers, client presentation services, or recurring design patterns, you can use Enterprise Templates to define the infrastructure for complex enterprise applications. To use Enterprise Templates, you must have either Visual Studio .NET Enterprise Developer or Visual Studio .NET Enterprise Architect. For more information, see Enterprise Templates for Distributed Applications.
Using Visual Database Tools
Visual Database Tools help you create database objects such as tables, columns, keys, indexes, relationships, and constraints. You can quickly connect to existing databases (or create new databases), create new tables (or modify existing tables), and create, run, and save complex queries. When you run a query, the changes are propagated to the database. You can also create views, triggers, stored procedures, and functions. For more information, see Visual Database Tools and Visual Database Tools Editions.
Using Crystal Reports
Crystal Reports for Visual Studio .NET is the standard reporting tool for adding high-quality, interactive, reports to your application. You can easily integrate reports directly into your client application (using either the Web Forms Viewer or the Windows Forms Viewer) or alternatively publish your reports on a Web server. Applications using Crystal Reports can use any Visual Studio .NET programming language and access data using ADO.NET datasets.
The primary benefit of using Crystal Reports is simplified coding and reduced project time. While it is true that you could code layout dimensions and iterations through a result set, the fact is that high-quality presentation displays are just too hard to program. Using Crystal Reports, you can quickly create professional-looking reports. To use Crystal Reports, you must have Visual Studio .NET Professional, Visual Studio .NET Enterprise Developer, or Visual Studio .NET Enterprise Architect. For more information, see Crystal Reports.
Designing With Wizards
Wizards are automation tools that provide a guide to help you quickly complete common and perhaps complex tasks. When you use a Visual Studio wizard, you might not immediately think that you are designing your application, but you are. Every wizard option you choose affects the project code or configuration settings.
Visual Studio .NET provides many wizards to create a range projects to handle certain coding situations. For example, there are C# wizards for adding projects, classes, methods, properties, fields, indexers, and coding various interfaces. Visual Basic uses application wizards to create starter projects. SQL Server provides many wizards for analyzing data, administering replication, assigning features, and creating entities and relationships. The .NET Framework also provides wizards to manage assemblies and configure users, computers, and enterprise security settings.
A wizard is essentially a sequential, multipage property sheet. Each page of a wizard helps you set options, configure settings, customize projects, define sequential tasks, and even automate the project build and deployment process. Using Visual Studio, you can even create a custom wizard to help other developers simplify their coding process.
Whether you are using an existing wizard to simplify a coding task, or creating a new wizard to handle recurring customization problems, you will benefit from the speed and consistency that occurs when you are designing with wizards. For more information, see Creating a Wizard and Creating Add-Ins and Wizards.
Using Samples for Design Ideas
Sample applications provide a rich source of design ideas for your new application. Visual Studio .NET contains many different kinds of samples, including technology samples and enterprise samples.
Technology samples demonstrate how to use various technologies in the .NET Framework. Technology samples are small and typically limited to demonstrating a single technology. For example, the Configuration sample demonstrates the use of the System.Management namespace, the Permissions Technology sample shows a security access implementation, and the Threading sample illustrates multiple ways to use threads in the .NET Framework.
Enterprise samples are large-scale distributed applications that demonstrate a number of important application architecture ideas. Enterprise Samples are created as real-world applications, with good design qualities such as availability, reliability, scalability, and high-performance. Enterprise samples are also concerned with common software lifecycle development issues such as deployment, administration, and long-term maintenance. For more information, see Enterprise Samples and Technology Samples.