Janea Taylor – COMPUTERS ARE FUN!


File Access
March 25, 2006, 4:18 am
Filed under: Advanced, Development

When working with files in an application, there are different methods of accessing the data within those files (File Access Types, Functions and Statements, 2006). One method, known as sequential file access is primarily used to read from and write to plain text files. The data within a text file may be separated into blocks through the use of a delimiter such as a comma or carriage return. When data is read from a text file, each block of text must be processed. This can significantly slow down the process of reading data from a file if the file contains a lot of data, in which case it may be faster to use the random file access method.

Random file access may be faster than sequential file access because it does not have to process every record in a file to access a specific record (Working with Random Access Files, 2006). If random file access is to be used, the data within the text file must be structured using specified record lengths and fields. Random file access can also be used to access binary files as long as the data is structured. If the data is not structured or the record lengths and data types are unknown, then it is possible to use another method of accessing data known as binary file access, however if the binary file access method is used, the order in which data is written to the file must be known (Working with Binary Access Files, 2006).

An example of sequential file access would be accessing data on a magnetic tape whereas accessing data on a disk, such as a CD or a hard drive would be considered random file access (What is Random Access?, 2006). Sequential file access would be more beneficial than random or binary file access in a case where each record in a file must be accessed in the same order. For instance, if you have a text file that contains a list of numbers and you need to calculate a running total of the numbers. However, if you were working with a file that contained a lot of data and you needed to quickly access a specific record, such as an address, you would use the random file access method rather than the sequential or binary access method. Binary file access would be the preferred file access method in a situation where you need to read from or write to a file other than a plain text file. For instance, if you needed to access a specific file within a .zip file, you would use the binary file access method because it is capable of accessing files that contain variable length data (Reading from and Writing to a File Opened for Binary Access, 2006).

References:

Halvorson, M. (2003). Microsoft Visual Basic .NET Step By Step.

United States of America: Microsoft Press

File Access Types, Functions and Statements. Retrieved March 25, 2006 from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcn7/html/vbconSequentialFileAccess.asp

What is Random Access?. Retrieved March 25, 2006 from http://www.webopedia.com/TERM/R/random_access.html

Working with Random Access Files. Retrieved March 25, 2006 from http://java.sun.com/docs/books/tutorial/essential/io/rafs.html

Working with Binary Access Files. Retrieved March 25, 2006 from http://support.microsoft.com/default.aspx?scid=kb;en-us;151335

Reading from and Writing to a File Opened for Binary Access. Retrieved March 25, 2006 from http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vbcn7/html/vagrfwritingtofileopenedforbinaryaccess.asp



VB.NET Resources & OOD vs. OOP
March 24, 2006, 5:28 am
Filed under: .NET, Development

Prior to enrolling in AIU’s IT – Software Development Bachelor’s program, I had developed an interest in programming and specifically in Visual Basic .NET. I had tried for several years to learn programming concepts but always struggled. It wasn’t until I stumbled across a little book called Learn Microsoft Visual Basic .NET in a Weekend that I actually began to grasp the basics of programming. The book’s title alone held much appeal, considering that a weekend is not that much time to have to spend learning something new, especially a computer programming language. The physical size of the book drew me in as well; being that it is so small compared to most of the twenty pound, thousand page programming books you see. The book itself only covers very basic features of Visual Basic but is written in plain English and contains many illustrations (Work & Miller, 2002). These factors make it very easy to read and understand.

Another book I own that I have found to be quite helpful is called Visual Basic .NET Complete. It’s nearly a thousand pages, which makes it rather intimidating but it is not necessarily a book that you would sit down to read cover-to-cover. It is more useful as a reference. Some of the topics covered include Visual Basic .NET essentials, ASP.NET essentials, XML integration, and database programming as well as application deployment. The book does not go into great detail of these topics however, there is enough information provided to give the reader a basic understanding of what is being discussed.

I have another book called Sams Teach Yourself Visual Basic .NET Web Programming in 21 Days. I have read several Sams books and highly recommend them because they are typically very easy to read and the way they are organized makes reading them almost fun. I have not finished reading this one yet but I have used it several times as a reference book to perform specific actions or to find snippets of code. For instance, when I was developing a website for a company I used to work for, I needed to create a database connection and I was able to find out how by reading the section on working with ADO.NET (Aitken & Syme, 2002). Another resource I have found to be infinitely useful when it comes to finding snippets of code is a website called Planet Source Code. The website contains sample source code for several different languages including Visual Basic, Perl, and Java (Planet Source Code, 2006)

Finally, to discuss the differences between Object-Oriented Programming (OOP) and Object-Oriented Design (OOD), it should be noted that they are closely related. OOD is a way of developing the methods and concepts that will be used to define how an object-oriented program will be designed and implemented. Advantages of using OOD include simplified management, reusability, and reduction of complexity which in turn reduces cost and saves resources (Object-Oriented Design, 2006). When it comes to using Object-Oriented Programming to develop a system, CASE tools can be used to represent objects in the design process (Using Object-Oriented CASE Tools, 2006). Object-Oriented Programming (OOP) is the method used to implement the design.

OOD is used to simplify the development of complex programs and systems. An example of this can be seen by examining how AT&T Bell Labs implemented reusable design objects and code in their Call Attempt Data Collection System (CADCS) program. OOD and OOP, specifically C++ were used to develop the system, which contained over 350,000 lines of code and was distributed amongst several different systems (Object-Oriented Design, 2006). A large programming project such as this would be a good candidate for the use of OOD.

References:

Work, L., & Miller, J. (2002). Learn Microsoft Visual Basic .NET in a Weekend.

United States of America: Premier Press

Grider-Carlyle, K. (2002). Visual Basic .NET Complete. United States of America: Sybex

Aitken, P., & Syme, P. (2002). Sams Teach Yourself Visual Basic .NET Web Programming in 21 Days. United States of America: Sams Publishing.

Planet Source Code. Retrieved March 24, 2006, from http://www.planet-source-code.com/

Object-Oriented Design. Retrieved March 24, 2006, from http://www.sei.cmu.edu/str/descriptions/oodesign_body.html

Using Object-Oriented CASE Tools. Retrieved March 24, 2006, from http://www.microgold.com/Stage/WithClassTutorial/WCTutP1S3.htm



Intro to Development – Interface Design
March 7, 2006, 3:02 am
Filed under: Development, Intro

I have filed my taxes online every year for the last several years. I had grown very comfortable using a certain company’s web application to do so. Unfortunately that company went out business last year. So, when I filed my taxes this year, I had to learn a whole new process.

There seems to be an over-abundance of options when it comes to online tax services. I basically just picked one randomly. Although, the one that I chose to use was a functional and effective application, the GUI left a bit to be desired. It was not very pleasing to the eye, perhaps because of a poor choice of color combinations, which made the whole experience a little distracting. The forms that I had to fill out contained several drop down boxes and text boxes, most of which were not even pertinent to my requirements. However, the ones that were “required” were clearly marked as such, which made it easier to identify the areas that I needed to fill out. This made the application rather intuitive. The interface design was very simple and did not contain any objects that were unrelated to the function of the application. This made it easier to navigate.

One thing I might suggest to the designer of the interface would be to allow users to customize the interface by manipulating the color scheme (Principles of Good GUI Design, 2006). Also, when I completed the forms that were required, I was a bit confused as to what to do next. There were a couple buttons and I clicked on the one that said “Complete”. However, there was another button labeled “File Return”. I instinctively clicked on the “Complete” button. A week later, I realized that I had never filed my return. I only completed filling out the forms. Perhaps the designer could make the end of the process a little more intuitive.

References:

Principles of Good GUI Design. Retrieved on March 7, 2006 from http://www.iie.org.mx/Monitor/v01n03/ar_ihc2.htm



Intro to Development – Object-Oriented Concepts
March 4, 2006, 3:13 am
Filed under: Development, Intro

The fundamental concepts related to object-oriented programming include the use of classes and objects, encapsulation, inheritance, abstraction, and polymorphism. Some popular object-oriented languages include C++, Java, and .NET languages such as Visual Basic .NET and C# (Object-oriented programming – Definition, 2006).

C++ is a popular object-oriented capable language that is considered to be more of a general purpose language. It is a newer variant of the C language. The C language is an older a high-level programming language still widely used today. C++ is an enhanced version of C in that it offers the same benefits as C, such as efficiency and portability but is also capable of handling classes (C Plus Plus, 2006). Some other features that C++ offers over C are namespaces, exception handling, and templates (Incompatibilities Between ISO C and ISO C++, 2006).

Although C++ is a derivative of C, programs written in C++ and C are not necessarily compatible with each other (C Programming Language – Definition, 2006). Some of the types of applications written using C++ include games, user applications, as well as operating systems (C++ Applications, 2006). C# is another derivative language of C but is based on the Microsoft .NET platform and has become a popular commercial object-oriented language (Object-oriented programming – Definition, 2006).

If I were on the development team assigned to a project that involved developing a user application, such as Microsoft Word, or Adobe Photoshop, I would most likely use an object-oriented language like C++ or C#. It seems that these languages have become the standard in the development of high-end user applications.

References:

Object-oriented programming – Definition. Retrieved on March 4, 2006 from http://en.wikipedia.org/wiki/Object-oriented_programming

C Plus Plus – Definition. Retrieved on March 4, 2006 from http://en.wikipedia.org/wiki/C_Plus_Plus

C Programming Language – Definition. Retrieved on March 4, 2006 from http://en.wikipedia.org/wiki/C_programming_language

Incompatibilities Between ISO C and ISO C++. Retrieved on March 4, 2006 from http://david.tribble.com/text/cdiffs.htm

C++ Applications. Retrieved on March 4, 2006 from http://public.research.att.com/~bs/applications.html



Sequential File Merging
March 3, 2006, 4:48 am
Filed under: Development

Below you will find flowcharts for a pseudo-code example pertaining to sequential file merging. File merging is necessary when you have two separate files which contain related data and one file needs to be updated with changes. For instance, if you have a master file that contains data which does not change often and transaction file that is frequently updated, you may need to update the master file at some point with data from the transaction file. The data is updated through the process of matching and merging (Sequential File Merging, Matching, and Updating, 2006).


References

Sequential File Merging, Matching, and Updating. Retrieved March 3, 2006 from http://www.harford.edu/faculty/CKing/Chapter%20Presentations/11Chapter.ppt