INTRODUCTION TO PROGRAMMING AND OBJECT-ORIENTED ANALYSIS AND DESIGN

Document Sample
INTRODUCTION TO PROGRAMMING AND OBJECT-ORIENTED ANALYSIS AND DESIGN Powered By Docstoc
					Speaking Notes
SSCI 2402
October 29, 2007
Dr. Neubauer

WHERE WE ARE:

      Lab 7 is due Saturday, Nov. 3.
      Lab 6 is available now at this URL.
       http://www.robertcat.net/fall2007/ssci2402/labs/lab6.htm
      Between now and Thanksgiving, Mondays are class days and Wednesdays are lab
       days.
      Lab 6 will be a programming assignment using Visual Web Developer 2005
       Express, which is derived from Visual Studio .NET. I am in the process of adding
       this software to the computers in our classroom/lab.
      Lab 6 is due Saturday, November 6.


INTRODUCTION TO PROGRAMMING AND OBJECT-ORIENTED ANALYSIS
AND DESIGN

The very first programs were basically setting switches on or off. Two very early
languages were machine language and assembly language. Programs written in assembly
language run very, very fast. For this reason a few applications are still written in
assembly.

The next step up was procedural programming. The entire program was "main."
Programmers wrote the source code that was compiled into an executable. It ran from
top to bottom, except programmers causes the FLOW OF EXECUTION to jump around
using the GO TO command. The resulting codes was very difficult to understand and
maintain and was often referred to as "spaghetti code."

The next step up was STRUCTURED PROCEDURAL PROGRAMMING. There was
still a "main" and it was followed by SUB PROCEDURES. A line of code in main
would cause the flow of execution to jump down to a sub procedure. After the sub
procedure ran the flow of execution jumped back up to the following line of code in
main. Sub procedures gave the program structure and made it much easier to understand
and to maintain.

The next REALLY BIG STEP UP was OBJECT-ORIENTED PROGRAMMING.
"Main" becomes a controller object and there are many other "objects" represented in the
memory of the computer while the program is running. There are UTILITY OBJECTS
like buttons and labels, and BUSINESS OBJECTS like accounts and citizens. All similar
objects are derived from the same CLASS. The class is the template or the pattern. In a
program there is only one button class, but there are likely to be many button objects.
AN OBJECT IS AN INSTANCE OF A CLASS. An object is more than a sub procedure.
Like a sub procedure, an object can do something. It has code that runs. But an object
also includes a DATA STRUCTURE. It has "state." It knows about itself. A button
knows when it is grayed out. It knows its text property. It knows its size. It knows its
location on a form. It is able to change its appearance when clicked. The same can be
said of an account object. It has behavior in that it can report its balance. It can close
itself. It knows what kind of an account it is. It knows its balance. If it is an interest-
bearing account, it can calculate its interest earned and update its balance.

Object-oriented programming is a good match with applications with GUI interfaces.
Most modern information systems have GUI interfaces. Most modern applications are
written using VISUAL programming environments like Microsoft's Visual Studio .NET.
Visual Basic .NET is a programming language. Other common modern programming
languages include C++, Java, and C# (pronounced C-sharp).

Visual Studio .NET is an IDE -- integrated programming environment. In other words, it
is an application used by programmers to do it all. It allows them to edit source code. It
also DEBUGS the source code. It also COMPILES the source code into BINARY which
produces an executable file with an extension like .exe or .dll

INTRODUCTION TO VISUAL WEB DEVELOPER 2005 EXPRESS EDITION

Visual Studio .NET is Microsoft's "do it all" visual IDE.

Visual Web Developer 2005 Express is smaller, similar and FREE!

Either product first requires installation of the .NET Framework 2.0, which is a collection
of classes.

Instructions for the lab are available online and by video online.

       http://www.robertcat.net/fall2007/ssci2402/labs/lab6.htm

       http://www.robertcat.net/fall2007/ssci2402/labs/lab6/lab6.html

       http://www.robertcat.net/fall2007/ssci2402/labs/coreftp/coreftp.html


The resulting product should look like this, but have your name on it. The buttons must
be functional.

       http://www.robertcat.net/2402sample/website6/default.aspx