To determine whether the job can be done with a
commercial software package, you need to be aware of
the different software packages available and their
capabilities and features. If it appears you can use a
commercial software package and your AIS facility
does not have it, start looking at the different govern-
ment contracts in effect to locate the particular software
package you are interested in. If the software is not
available on contract, you will have to look for outside
sources. Once you locate the software package and
obtain approval for purchase, you can start the process
of filling out the paperwork to order the software.
If you determine no commercial software is
available to accomplish the users request, you need to
look at the expertise available in your AIS facility and
what programming software is available at your facility
to accomplish the job. Powerful software is available to
mike the programmers work easier. This software falls
into one or more of the following categories:
Query languages. Allow records to be printed
or displayed in a specified format.
Database languages. Allow records to be added
or retrieved and manipulated following set
formats.
Report generators. Allow reports to be created
from retrieved data records.
Application generators. Allow the use of pre-
written modules in creating a program.
High-level languages. Allow the programmer
to create a program from scratch.
Generalized software. Directs certain internal
computer functions.
Determine System Hardware Requirements
Once you determine the source of the program,
whether a commercial or an in-house program, you
need to look at what type of hardware will be required.
Commercial software will have the hardware
requirements stated in the paperwork. The users may
have certain hardware requirements dictated to them
that will have to be met. For example, a laser printer, a
specific type of floppy drive, or a CD-ROM drive may
be required. For in-house programs, it may be more
difficult to determine the hardware needed until the
program specifications are complete.
When additional hardware is required, you should
first determine if it is available at the facility. You may
find the hardware needed is not being used where it is
located and you can move it to meet the new
requirements. If the hardware is not available at the
facility, begin the acquisition process. This process is
the same as for software, except, in most cases, the
requirements will have to go out on bids to several
companies. With this process, it may take a long time to
receive the hardware. You should plan accordingly.
Calculate Memory Requirements
When translating user requirements into an
application, there are several things to keep in mind. We
have covered the system software and hardware
requirements; now, we turn our attention to the memory
requirements.
Calculate the memory requirements
carefully; it will do no one any good to create a program
that can not be run due to memory constraints of the
system. Factors to be combined when calculating
memory requirements are:
. the operating system,
l the program, and
. the data to be input.
By taking into consideration the memory requirements
of each of these factors, there should be no problems (as
far as memory goes) with running the programs.
I/O AND PROGRAM SPECIFICATIONS
DEVELOPMENT
Once you develop the pseudocode and identify the
software and hardware requirements, you can begin
developing the I/O and program specifications. This is
also a good time to determine what type of file organiza-
tion method will best suit the application. The I/O
specifications will require the users interaction to
further detail what they need as input data and output
material. They are your primary source for this infor-
mation. To prepare the program specifications, you will
use the pseudocode and design the program to match.
Also, look at the memory and storage requirements for
the program. You may have to adjust the hardware
requirements to match the program specifications. Be
sure you are not going to overload the computer system.
File Organization
File organization is the technique of physically
arranging the records of a file on a storage media. When
the programmer creates a subschema, a determination
must be made on how the file will be accessed by the
program. The three file organizations methods used
are: sequential, indexed sequential, and direct.
3-20