Software
Most everyone working with computers is familiar with the term software. Software are
computer programs designed to accomplish a specific task. For example, word processing
software is a program that enables you to write term papers, create impressive-looking
re´sume´s, and even write a book. This book, for example, was created with the help of a
word processor. Students no longer type their papers on typewriters or write them by
hand. Instead, they use word processing software to complete their term papers. Many
people maintain and balance their checkbooks on computers.
Powerful, yet easy-to-use software has drastically changed the way we live and communicate.
Terms such as the Internet, which was unfamiliar just a decade ago, are very
common today. With the help of computers and the software running on them, you
can send letters to, and receive letters from, loved ones within seconds. You no longer
need to send a re´sume´ by mail to apply for a job; in many cases, you can simply submit
your job application via the Internet. You can watch how stocks perform in real time,
and instantly buy and sell them.
Without software a computer is of no use. It is the software that enables you to do things
that were, perhaps, fiction a few years ago. However, software is not created overnight.
From the time a software program is conceived until it is delivered, it goes through
several phases. There is a branch of computer science, called software engineering, which
specializes in this area. Most colleges and universities offer a course in software engineering.
This book is not concerned with the teaching of software engineering principles.
However, this chapter briefly describes some of the basic software engineering principles
that can simplify program design.
Software Life Cycle
A program goes through many phases from the time it is first conceived until the time it is
retired, called the life cycle of the program. The three fundamental stages through which a
program goes are development, use, and maintenance. Usually a program is initially conceived
by a software developer because a customer has some problem that needs to be solved and
the customer is willing to pay money to have it solved. The new program is created in the
software development stage. The next section describes this stage in some detail.
Once the program is considered complete, it is released for the user to use. Once users
start using the program, they most certainly discover problems or have suggestions to
improve it. The problems and/or ideas for improvements are conveyed to the software
developer, and the program goes through the maintenance phase.
In the software maintenance process, the program is modified to fix the (identified)
problems and/or to enhance it. If there are serious/numerous changes, typically, a new
version of the program is created and released for use.
When a program is considered too expensive to maintain, the developer might decide to
retire the program and no new version of the program will be released.