Project Management Templates
To discuss the various Visual Basic .NET project templates. Point out that students will use many of these project templates during the remainder of the course. Visual Basic developers are used to having multiple project templates to choose from when starting a new project. Visual Basic .NET provides many familiar templates along with a range of new ones.
Truth be told, there is yet another Visual Studio 2008 WCF-centric project template that you will find in the New Web Site dialog box, activated via the File - New - Web Site menu option (see Figure 25-3). Figure 25-3. The Visual Studio 2008 web-based WCF Service project template Figure 25-3. The Visual Studio 2008 web-based WCF Service project template This WCF Service project template is useful when you know from the outset that your WCF service will make use of web service-based protocols rather than, for example, named pipes. This option can automatically create a new Internet Information Services (IIS) virtual directory to contain your WCF program files, create a proper web.config file to expose the service via HTTP, and author the necessary *.svc file (more about *.svc files later in this chapter). In this light, the web-based WCF Service project is simply a time-saver, as the IDE will automatically set up the required IIS infrastructure.
As you would expect, the Visual Studio 2008 IDE provides a good number of WF project templates. First and foremost, when you select the File - New - Project menu option to activate the New Project dialog box, you will find a Workflow node under the Visual Basic programming category (see Figure 26-5. The core WF project templates Figure 26-5. The core WF project templates In addition, you may recall from Chapter 25 that the Windows Communication Foundation (WCF) node of the New Project dialog box also provides a set of WF templates. Here you will find two project templates (Sequential Workflow Service Library and State Machine Workflow Service Library) that allow you to build a WCF service that internally makes use of workflows. We will not make use of this group of WF project templates in this chapter however, do remember that when you are building WCF services, you can elect to integrate WF functionality when creating a new project.
As will be explained in more detail later in this chapter, a WCF application is typically represented by three interrelated assemblies, one of which is a *.dll that contains the types that external callers can communicate with (in other words, the WCF service itself). When you wish to build a WCF service, it is perfectly permissible to select a standard Class Library project template (see Chapter 15) as a starting point and manually reference the WCF assemblies. Alternatively, you can create a new WCF service by selecting the WCF Service Library project template of Visual Studio 2008 (see Figure 25-2). This project type automatically sets references to the required WCF assemblies however, it also generates a good deal of starter code, which you will more likely than not simply delete. Figure 25-2. The Visual Studio 2008 WCF Service Library project template Figure 25-2. The Visual Studio 2008 WCF Service Library project template One benefit of selecting the WCF Service Library project...
A friend of mine who works as a project manager often asks me how long it will take me to write a certain program. I always tell him that it will take two days. (That is the universal answer, right ) His response is always one of shock How can it possibly take two days to check a check box he asks. In fact, with MTS's attribute-based programming, my friend's shock is a bit more justified, because more programming can be accomplished through simple declaration or by setting an attribute value. Transactions in COM+ is one example, referential integrity in SQL Server another.
Like any good development environment, Visual Studio .NET includes a project manager a source code editor UI designers lots of wizards, compilers, linkers, tools, and utilities documentation and debuggers. It supports building applications for both the 32-bit and 64bit Windows platforms as well as for the new .NET Framework platform. Another important Microsoft also provides a .NET Framework SDK. This free SDK includes all the language compilers, a bunch of tools, and a lot of documentation. Using this SDK, you can develop applications for the .NET Framework without using Visual Studio .NET. You'll just have to use your own editor and project management system. You also don't get drag-and-drop Web Forms and Windows Forms building. I use Visual Studio .NET regularly and will refer to it throughout this book. However, this book is mostly about programming in general, so Visual Studio .NET isn't required to learn, use, and understand the concepts I present in each chapter.
On the subject of organizational skills and technical resources, Jack's boss assures him that, when the time comes, the proper team with all the necessary skill sets will be able to be formed. Product and program managers will be assigned, and the team will have appropriate developer and tester resources available to it. Given the size and scope of the project, Jack is confident that getting the appropriate resources and skills together on a project team will not be a problem.
Of course, there is a limit to the number of new features that can be added to an application before it starts to affect the delivery schedule or the project budget. That is when you have to put a stop to scope creep and say, It will have to wait until the next release. Of course, if the client insists that the new features be in this release, the project schedule, the budget, or both, will have to be redone, which might mean having to revise the design specifications. These disturbances to the development process should be avoided if at all possible.
This demonstration will show you how to create a Visual Basic .NET project by using the project templates. In this demonstration, you will learn how to create a Visual Basic .NET project based on the project templates. You will also learn about the files that comprise the project structure and how to create a reference to another assembly.
The evaluation of project control is the examination of the cost based on budget, project progress, and team performance. Many of these tasks can be performed by using traditional project management technologies and methods. The goal is to determine if the team knows what it is building, which goes back to planning the project. Effective planning reduces risks in such areas as defects, project costs, timing, and overall project quality. It sets up the project for success by providing more predictability, which in turn gives the team more control over outcomes. Effective project controls help to detect bugs early on, and costs can be controlled by examining what resources will be needed, when they will be needed, and how they will be utilized.
You are writing a project management application. You want to insert projects into the project flow, remove projects from the project flow, and know which projects precede or follow a specific project, on the basis of the importance of and deadline for each project. You can do all this by using the generic LinkedList class.
For example, if you are building a project management application, you might use a element to represent the project's schedule. An accounting application might also use to represent an accounting schedule. If for some reason an XML document contains information about the project's schedule and the accounting schedule, how do you tel l which is which Even if you could infer which is which based on context and other information, how would an application reading this document understand which is the accounting schedule and which is the project management schedule By prefixing each element with a unique string that co rresponds to either the project management application or the accounting application, you can dis tinguish between schedule elements just based on this new, fully qualified name. For example, the project management application might use the namespace 'projManage' and the accounting application might use the namespace 'accountingApp' making the fully qualified names and .
The success of most technology projects depends on proper planning and the adoption of a formal methodology to fulfill the business objectives through effective project management and development. The use of a framework within which to operate is even more important as larger development efforts are undertaken. Therefore, care was taken by the authoring and development team to implement the sample application within a development framework that would ensure the quality of the resulting application.
The Eclipse project has created an umbrella project for related projects called Callisto. The projects remain separate, and maintain their own project management, but they do coordinate their releases with Eclipse, and promise not to break dependant projects. Currently, the projects include business intelligence and reporting tools, a C C++ IDE, a data tools platform, graphical editor framework, the Eclipse project itself, Eclipse Test and Performance tools, Eclipse Web Tools, and the VE Visual Editor. You can find out more about Callisto at The first release was scheduled for June 30, should be on the market by the time you read this.
You will use the Setup Project template provided by Visual Studio.NET to add a set of standard screens for creating a setup project or application. In addition to the default screens, you can customize your application by adding more screens as per your project requirement. For example, you might include a license-agreement screen in your application as per the corporate world's requirement. To add this screen to your deployment project, you need to use the User Interface editor provided by Visual Studio.NET. To open this editor, choose Editor, User Interface from View menu. The User Interface editor is opened. Notice that there are two types installations Install and Administrative Install. Figure E-5 displays the User Interface editor.
One benefit of using the WCF Service Library project template is that when you debug or run your library, it will read the settings in the *.config file and use them to load the WCF Test Client application (WcfTestClient.exe). This GUI-based application allows you to test each member of your service interface as you build the WCF service, rather than having to manually build a host client as you did previously simply for testing purposes.
Despite the number of auxiliary activities that can be obtained from the online WF community, it is also entirely possible (and in some cases necessary) to build a custom activity from scratch. As you might guess, Visual Studio 2008 provides a Workflow Activity Library project template for this very purpose. If you select this project type, you will be given a designer surface to create your custom activity, using an identical approach to building a workflow itself (add new activities, connect them to code, etc.).
As discussed in Chapter 25, Web Services, Visual Studio.NET provides you with an ASP.NET Web service project template that enables you to create Web services in Visual Basic or C . When you use this built-in template, your final application consists of a set of predefined files that you can use to code the Web service, depending on your
Zero bug bounce is a measure of the number of bugs found after testing has started. Project control is concerned with whether or not the project is on schedule and how much the project costs. A fixed ship date mindset allows the developers and team to help prevent scope creep. B, C, and D. A fixed ship date mindset allows the developers and team to help prevent scope creep. Bug convergence is the tracking of when the number of bugs resolved is lower than the number of bugs found. Project control is concerned with whether or not the project is on schedule and how much the project costs. lower than the number of bugs found. Project control is concerned with whether or not the project is on schedule and how much the project costs.
Visual Studio .NET 2003 (code-named Everett) already has built-in support for the .NET Compact Framework, with the corresponding assemblies and project templates to support project-targeting mobile devices. The new project templates are named Smart Device Application and ASP.NET Mobile Application, and they allow us to create applications to be used on either Pocket PC- or Windows CE-based devices. Figure 2 shows the New Solution dialog box of Visual Studio, highlighting the Smart Device Application item.
As mentioned in Chapter 2, the New Project dialog box of Visual Studio 2008 now has the option of selecting which version of the .NET platform you wish to compile against, using the drop-down list box mounted on the upper-right corner. When you opt to compile against the .NET Framework 3.5, each of the project templates will automatically reference the key LINQ assemblies. For example, if you were to create a new .NET 3.5 Console Application, you would find the assemblies shown in Figure 14-1 visible within Solution Explorer (provided you have clicked the Show All Files button).
Click the Visual C Projects folder in the Project Types window. This will display all available C project templates in the Templates window. 2. Click the Visual C Projects folder in the Project Types window. This will display all available C project templates in the Templates window.
Visual Studio .NET offers project templates that allow you to create different types of Web projects. These include Mobile Web Applications, ASP.NET Web Applications, and Empty Web Projects. Until now, you've used the Mobile Web Application template. This creates a project containing the default implementation for the files that you most commonly require for this type of application. It also creates a full project structure both on your development computer and on the Web server. The ASP.NET Web Application template is similar to a Mobile Web Application template, except it creates a project for desktop clients rather than mobile clients. An Empty Web Project creates a project structure but doesn't add any files.
You can use the New Project dialog box to select a project template for your setup project._ You can use the Setup Project and Web Setup Project templates to create Windows Installer packages for Windows-based and Web-based applications, respectively. You specify which of these project types you want to use when you create a new project in Visual Studio .NET. You can also use the Setup Wizard to lead you through the process of gathering the necessary information resulting in the required project type.
Although you can create a Web service by creating an .asmx file with any text editor, using Visual Studio .NET makes it easy to code and debug Web services. Simply start Visual Studio .NET and choose File, New, Project then choose the ASP.NET Web Service project template. In the location field, enter the URL where you want the new project to be located. T he project name is automatically derived from the last segment of this URL (the word after the last forward slash). The project name is displayed for you in the Name field but you cannot edit it there. Figure 6- 2 shows a project being created. This new project will be called Chapter6 and project files will be located at the URL If you already have an existing IIS application and you want to place a new project in it, you can select the project template called New Project In Existing Folder* and enter the new project name. On the next screen you*ll be asked to enter a folder name, instead enter the URL where you want the new project...
The first choice for formatting cells is to set styles through the higher-level DataGridView, DataGridViewColumn, and DataGridViewRow objects. These styles are then used for the entire grid, entire columns, or entire rows, respectively. However, sometimes you need to set the style for specific, individual cells. For example, you might want to flag data in a column that is greater or less than a certain value, such as due dates that have passed on a project schedule list or negative rates of return on a sales analysis. In both of these cases, you'll need to format the individual cell.
Are unfamiliar with Visual Studio might just assume that productivity refers to organizing and starting projects. Certainly, as shown by the project templates and project settings discussed so far, this is true, but those features don't speed your development after you've created the project. Tools such as code snippets and especially code expansion are even more valuable when you work in multiple languages. Keep in mind, however, that Visual Studio isn't limited to the features that come in the box. It's possible to extend Visual Studio not only with additional controls and project templates, but also with additional editing features.
Prior to founding Wintellect, John was one of the early engineers at NuMega Technologies (now Compuware), where he played key roles in designing, developing, and acting as project manager for BoundsChecker, TrueTime, TrueCoverage, SoftlCE, and TrueCoverage for Device Drivers.
Setup and deployment project templates. The Setup project template creates a Windows Installer .msi file for a desktop or distributed application. A Setup project is not intended for deployment of Web-based applications, since a specialized Web Setup project is used for that purpose. A Setup project produces a program that installs an application onto a target machine. You may create Setup projects within the same solution that contains the other projects to be deployed. In a multitier solution, you can create one setup project for each project that is to be deployed to a particular target computer. For example, in a simple three-tier solution, you would probably have three deployment projects. Two simple deployment projects would set up the client and server. A third deployment project would then look Once the initial Setup project has been created with the Setup Project template, it can be further developed using the File System Editor. The File System Editor allows you...
However, that covers just the source control features and as mentioned previously, TFS goes well beyond source control. In particular, TFS approaches project development from the role of the project manager. It doesn't consider a Visual Studio project file to represent the definition of a project. Instead, it recognizes that a project is based on a customer or contract relationship, and may consist of several seemingly unrelated projects in Visual Studio. Thus, when you define a project you create an area where all of the projects and solutions and their associated source files can be stored. As part of the creation process you select a process template and third-party templates are available and create a SharePoint website based on that template. The SharePoint website becomes the central point of collaboration for the project's team. In addition to hosting the documentation associated with your selected software development process, this site acts as a central location for task...
Now that you have constructed and consumed a single-file assembly, let's examine the process of building a multifile assembly. Recall that a multifile assembly is simply a collection of related modules (which has nothing to do with the Visual Basic 2008 Module keyword ) that are deployed and versioned as a single logical unit. At the time of this writing, Visual Studio 2008 does not support a VB 2008 multifile assembly project template. Therefore, you will need to make use of the command-line compiler (vbc.exe) if you wish to build such a beast (see Chapter 2 for details of the command-line compiler).
In most cases, a standard installer with default options is not sufficient to meet the deployment requirements of an application. You may need to add dialog boxes, text, Help files, and more, to your setup program. In Visual Basic 6.0, this required you to either modify the setup script file or modify the Setup1.exe project template used by the wizard.
Microsoft Visual Studio provides the necessary project templates to help you build CAB and MSI packages for the smart device. You can create a CAB project by choosing the Smart Device CAB Project template under the Other Project Types Setup and Deployment category in Visual Studio (shown as follows)
Similar to other project templates, Visual Studio opens in the main window you've just declared but unlike Windows Forms, this isn't just a design surface. The first thing to notice is that there isn't a line of VB code in this project, just a few XAML snippets. As shown in Figure 5-2, the default application does not look entirely different from that of a Windows Form, except when it comes to the design surface. In Windows Forms, the design surface generates code that is placed in the *.designer.vb file. The generated file *.designer.vb is a partial class definition that Visual Studio uses to hold the definition of each control you place onto the form, as well as the form itself.
This first example will not use the Visual Studio WCF project templates, in order to keep focused on the specific steps involved in making a WCF service. To begin, create a new VB Class Library project named MagicEightBallServiceLib. Once you have done so, rename your initial file from Class1.vb to MagicEightBallService.vb and add a reference to the System.ServiceModel.dll assembly. In the initial code file, specify that you are using the System.ServiceModel namespace. At this point, your VB file should look like so
The goal of this exercise is to create a Web Setup Project using the Web Setup Project template rather than the Setup Wizard. The project will install the WebSqlApp application and create a shortcut for the ReadMe.rtf file on the user's desktop. This exercise will give you practice on creating Web Setup projects using the Web Setup project template.
Select Visual Basic Project templates from the Project Types pane in the New Project dialog box. From the Templates pane, select Windows Application. Enter the name of the project as Localization. Click on the OK button to close the New Project dialog box. This adds the form Form1 to the project automatically. Create a label and set its Text property as Select Language. Create a combo box and set its Name property as Combo1. Create a button and set its Text property as ok. Change the Name property of the control to btnOK. Compare your form with Figure D-1.
Launch Visual Studio .NET and select File New Project from the main menu. You should be presented with a dialog box which lists the available project templates. Select Visual C Projects in the left pane, and select Windows Application in the right. Call the project VsWinPok. See figure 7.9.
While Notepad is fine for creating simple .NET programs, it offers nothing in the way of developer productivity. It would be ideal to author *.vb files using an editor that supports (at a minimum) keyword coloring and integration with the VB compiler. Furthermore, we would hope to build our VB programs using a tool that supports rich IntelliSense capabilities, designers for building graphical user interfaces, project templates, and database manipulation tools. As luck would have it, numerous such tools do exist, many of which are completely free of charge.
You are a developer in a large manufacturing company. You are developing a complex inventory control application with a team of 15 other developers. You have written two program modules, inv1234.cs and inv5678.cs, that are generic and will be used from several other applications within the company. You compiled both the program modules using the Visual C .NET compiler, producing inv1234.netmodule and inv5678.netmodule files. You now want to link both compiled modules into an assembly that you will install in the GAC to test some Web forms that depend on this assembly. You have decided to keep the name of the assembly as InvLib.dll. You do not have access to the private key of the company, although you have access to company's public key. The public key is stored in a file named BigCoPublic.snk. When the testing is completed, your project manager will use the private key (stored in a BigCoPrivate.snk file) to fully sign all the assemblies in the accounting software application. Which...
While we're talking about Visual Studio tools for WPF, you may notice that a few icons away from the Windows Application (WPF) project template is another one called XAML Browser Application (WPF), as shown in Figure 1-8. Figure 1-8. The WPF XAML Browser Application project template in VS05 Figure 1-8. The WPF XAML Browser Application project template in VS05
Note The Appconfig file of the WCF Service Library project is also useful in that it shows you the barebones settings
In addition to the basic WCF Service Library template, the WCF project category of the New Project dialog box defines two WCF library projects that integrate Windows Workflow Foundation functionality into a WCF service as well as a template to build an RSS library (all of which are also seen in Figure 25-2). The next chapter will introduce you to Windows Workflow Foundation, so I'll ignore these particular WCF project templates for the time being (and I'll leave it to the interested reader to dig into the RSS feed project template).
We created a sample ASP.NET AJAX application called the XBOX 360 Game Review to see how we can use the WebHttpBinding binding and the WebScriptEnablingBehavior to build AJAX-based applications. This simple Web application enables users to provide reviews about their favorite XBOX 360 game. The application was built using an ASP.NET AJAX Web site project template in Visual Studio 2008. Figure 13.2 shows a picture of this Web site.
For many years now, .NET programmers have created web services using the ASP.NET Web Service project template of Visual Studio, which can be accessed using the File - New - Web Site dialog box. This particular project template creates a commonly used directory structure and a handful of initial files to represent the web service itself. While this project template is very helpful to get you up and running, you are able to build a .NET XML web service using a simple text editor and test it immediately using the ASP.NET development web server, WebDev.WebServer.exe (Chapter 33 examines this utility in more detail).
After you start the MDE window, you can open a new project. A project contains all the files related to your C program. After you determine the type of C program you want to write, Visual Studio creates all of the project files you need to start programming. Visual Studio contains project templates that let you create different types of programs. The MDE window lets you create eight different projects so you can tailor your C program to the needs of your program users. Click a project template
The Form Designer opens by default when a new project is created. If you have closed it, then you can easily reopen it by right-clicking Forml.vb in the Solution Explorer and selecting View Designer from the pop-up menu. From this window, you can also bring up the Code view for this form. However, Figure 1-13 illustrates the default view you see when your project template completes. On the screen is the design surface upon which you can drag controls from the Toolbox to build your user interface and update properties associated with your form.
When you create a new project in the Development Environment, it provides you with a dialog box where you select the type of application you want. On the left side of the dialog box, entries for the various programming languages and other project types appear. On the right side, the dialog lists the individual project templates. In this book, you focus mostly on the Windows Application, console application, and ASP.NET Web Application project types. A Windows Application uses Windows Forms to develop a graphical Windows application. The console
NOTE One tool that comes to mind for producing executable output is the Dynamic Language Runtime (DLR), a Microsoft project that aims to give us dynamic languages in .NET. One basic underpinning of this project is a set of classes that specify the behavior of a program (the abstract syntax tree, or AST) that the DLR can turn into an executable. There are other such tools, for sure, but the DLR is the only one I know of in the .NET space.
To create a Visual Basic 6.0 desktop application, you use the standard executable project template. By default, this template starts with an empty form that becomes one of the primary interfaces. The Visual Basic 6.0 integrated development environment (IDE) allows you to include supplementary components and references to take advantage of existing functionality.
When you create a project, the project wizard will create the initial files for you from project template files. You can write your own project wizards by providing templates of the files that should be created for the new project, along with a script to perform any other configurations.
As development has become more server-centric, developers have a greater need to discover and manipulate services on the network. Visual InterDev, used for building classic ASP web sites, and which was available around the same time as Visual Basic 6, started in this direction with a Server Object section in the InterDev Toolbox. The Server Explorer feature in Visual Studio takes this concept and makes working with servers easier. The Server Explorer is more sophisticated in that it enables you to explore and alter your application's database or your local registry values. With the assistance of an SQL Database project template (part of the Other Project types), it's possible to fully explore and alter an SQL Server database. You can define the tables, stored procedures, and other database objects as you might have previously done with the SQL Server Enterprise Manager.
Below this check box is a check box to suppress results from generated code. One of the code analysis issues for which Microsoft was criticized after the Visual Studio 2005 release was that if you used the standard project template to create your project and then ran Code Analysis, you would get warnings related to the generated code. Microsoft's solution was to enable you to automatically bypass checking their generated code, which at least enables you to avoid having to manually mark all of the issues related to the generated code as being suppressed.
Using the Test Project template, add a new project named Foo.Math.Tests to the solution, as shown in Figure 7-4. This will add a single class, UnitTest1.vb, to your solution (renamed to AverageTests.vb in Figure 7-5). Delete that class for now, as you will add your own in a moment. In addition, three solution items are added these enable configuring how the testing will run. You will look at these later. For now, add a reference to the Foo.Math project.
As noted earlier in the discussion of the Solution Explorer, the default project template does not create any application settings accordingly, an app.config file is neither needed nor created. app.config files are XML files that define any custom application settings that a developer wants to be able to change without needing to recompile the application. Because these settings live in an XML file, they can be modified in between or even during application execution.
|Project Management Templates||projecttemplates.net|
Project Management Made Easy
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.