You are here:About>Computing & Technology>Visual Basic> Learn VB.NET> Visual Basic .NET 2008 Express - About Programming
About.comVisual Basic
Newsletters & RSSEmail to a friendSubmit to Digg

Visual Basic .NET 2008 Express - About Programming

From Dan Mabbutt,
Your Guide to Visual Basic.
FREE Newsletter. Sign Up Now!
Jan 19 2008

Part 3 of an About Visual Basic Tutorial

This is a free tutorial to help beginning programmers get up to speed using Microsoft Visual Basic 2008 Express. To get the most from this tutorial, you might want to start at the beginning:

Part 1 - A "From the Ground Up" Tutorial - An introduction to the course.

Part 2 - Visual Basic Fundamentals - The basics of the VB Language and How To Find More Information

About Programming

Although this is a tutorial on programming in Visual Basic .NET, I believe that it's important for beginners and students to understand "the big picture" - that is, how software systems are created in the real world. Most of Part 3 introduces the Systems Development Life Cycle. Multi-million dollar software projects use these same concepts, but in the real world, they're much more elaborate and sophisticated.

If your goal is to become a professional developer, then a thorough knowledge of systems development is essential and this lesson is just a start. But even if you only plan to put your recipe file on a computer, it's helpful to understand the purpose and scope of development tools in the real world. Although the full scope of systems development methodology only applies to large scale projects, you can start out right by applying a few basic concepts. The example program in the last part of the lesson, for example, is designed to introduce the ideas explained in the "programming" phase of a project.

The Systems Development Life Cycle

It's amazing how many programmers seem to think that programming is just "writing code".

Imagine a customer who wants a system that will keep a constantly updated comparison of widget production for different widget manufacturing specifications? A lot of programmers say, "Sure! I'll sit down and start writing the code to do that immediately!"

A week later, some programmers might ask, "What's a widget?" The real question is, "If you didn't know what a widget was, what did you spend all last week doing?"

(It's worse that many managers think that writing code is all there is to the job too. I've heard this described as the "Why isn't anybody coding?" syndrome. Here's an example of the problem. The Vice President wanders through the programming shop between golf dates and doesn't see anybody actually writing any program code. Instead, they're drawing diagrams and writing use cases. At the next project review, the big question from the VP is, "Why isn't anybody coding?")

Some consultants will tell you that in a well run software development project, actually writing the program code should take less time and effort than any other phase of the project. These consultants say that if you have really analyzed and designed the system correctly, writing the code will be almost automatic and the testing and implementation will take much less time too for a big net savings overall. The idea is often expressed, "measure twice, cut once."

I've been the project manager of a multi-million dollar software project. I've also seen too much time used up on analysis and design. But I will say that if you don't have a very clear idea about what the program you're trying to write is supposed to do, you're wasting your time. And as a programmer, I've had a lot of my time wasted by customers who didn't know what they wanted.

In the programming industry, this whole topic can become very controversial and complicated with many competing "methodologies" for doing the various steps involved in creating a software system. For our purposes, simply understand that, in general, software development is normally done in steps and the steps for a whole project are usually called the System Development Life Cycle. It's such a tradition in software development that the acronym SDLC is often used instead.

The most common SDLC steps are:

System Request
   Some person or group has to be "the owner" of the new system.

Analysis
   A description of what the new system will do must be completed.

Design
   This step creates a detailed plan to build the new system.

Programming
   The coding step. This is the one most people understand.

Acceptance Testing
   The "owner" of the system "signs off" and agrees that the system does what it should do.

Implementation
   The system is placed into production.

Maintenance
   Nothing works forever. Times change and so do software systems.

On the next page, we go through the steps in detail.

 All Topics | Email Article | | |
Advertising Info | News & Events | Work at About | SiteMap | Reprints | HelpOur Story | Be a Guide
User Agreement | Ethics Policy | Patent Info. | Privacy Policy©2008 About, Inc., A part of The New York Times Company. All rights reserved.