Following is a copy of the checklist that should be filled out for each application program that is to be released.
PROGRAM NAME_______________________
GENERAL CHECKLIST _____ Searched through the ADPPRF database and signed off all problem reports. Made a `Z` item in ADPPRF database if needed. _____ Used c_inlas instead of xzinit for initialization._____ Initialized curent and curcat global variables to starting values before calling c_startm.
_____ Checked parameter validity upon receipt rather than later in the program. This is extremely important with tape ingest routines.
_____ Routine is compiled and tested on all the supported systems.
PDF CHECKLIST _____ Used subcommands where necessary - did not use default subcommands._____ Referenced TAE globals when needed. Refer to the LAS Overview Appendix B: Global Variables
_____ PDF .TITLE line contains description of function and does not contain the function name.
_____ Used valid field in PDF to validate parameter values.
_____ PDF and global valid values in upper case except for name and address globals.
_____ Used standard names and descriptions for parameters. See the system manager for the standard parameter list.
_____ Use the command .page between the examples, description/ algorithm, error messages and user notes.
FILES CHECKLIST _____ Updated associated DDR file._____ Created associated history file, and updated it using c_hstout.
_____ Closed all files when the function is finished with them. This includes closing all files if a fatal error is encountered.
_____ Make sure that all output file names are in lower case.
_____ For every large file whose final size can be calculated before the file is opened, add a call to the c_dk routines. Files that are created/deleted by image i/o or DDR subroutines already use the c_dk calls. There is no need to place an "#ifdef UNIX_DISK" around the call since the c_dk routines already contain this statement.
MESSAGES CHECKLIST _____ Used c_inittm, c_startm, and c_stoptm to print standard processing message. The processing message is written in past tense._____ Used c_complt to write a standard completion message. Verify LAS names are used for the list of output files. Application name is in upper case.
_____ Put messages in USER'S GUIDE to inform the user if processing time will vary greatly due to different parameter options.
_____ Used c_errmsg for all error and informational messages.
[program_name-error_key] Message
USER DOCUMENTATION CHECKLIST _____ User's Guide examples use full parameter names in proper order. The example should begin with the prompt "LAS>"._____ Followed pdfhtml documentation standards. Refer to the LAS Programmers Manual: Documentation Standards
_____ Documented the minimum and maximum image sizes allowed by the program if other than system defaults.
_____ Documented limitations to the data types allowed by the program.
_____ All error messages are listed in the User Guide. _____ Kept references to EDC out of the User's Guide and program messages.
_____ Check PDF format in TAE HELP and Mosaic _____ Ran PDF through a spell checker.
_____ User Guide has been routed: first to leads then to Sci. Staff. _____ If new routine or a modification to a current routine, the customer has reviewed the User Guide.
PROGRAMMER DOCUMENTATION CHECKLIST_____ Documented variables and array dimensions.
_____ Included good in-line documentation.
_____ Documented a function's local changes to array limits and other system constants to avoid future maintenance problems.
_____ Split functions into separate files.
_____ Included a prolog for every file. The program history is included only in the main source file. Don't include the pseudocode algorithm description unless the program requires more explanation.
_____ Listed algorithm references if available.
_____ Updated program history in prolog of main source file.
MAKE CHECKLIST _____ Makefile created/updated._____ Makefile notifies system manager if warning errors are expected and are to be ignored during the building process.
_____ Makefile should follow the standards in the LAS Programmer's Manual.
_____ All source files (e.g., .c, .h, .f) are listed in the Makefile.
PROGRAM CHECKLIST _____ Used #IFDEF for differences in systems._____ Included STDIO.H where applicable.
_____ Made sure file.h was used as follows: #include < /sys/file.h > _____ Freed all dynamically allocated buffers as the function is finished with them.
_____ Used raw C data types (i.e., long or short instead of int).
REPORT PRINTING CHECKLIST _____ Print parameter includes TERM, FILE, and LP options._____ Used fileutil to insert standard header and print file.
FUNCTIONAL CHECKLIST _____ Tested the function with a single band image._____ Tested with a multi-band image.
_____ Tested subbands and windows (separately and together).
_____ Tested with input images of all data types.
_____ Tested with image of 256 bands.
_____ Tested with an image of MAXNS.
_____ Tested with an image of MAXNL.
_____ Tested with one image of all zeros.
_____ Tested with an image containing negative values.
_____ Tested program in batch mode - checked for logging of messages.
_____ Checked standard completion message and the list of output files created.
_____ Checked all parameters for help at both levels 1 and 2, using the tutor mode.
_____ Checked User's Guide for accuracy and completeness.
_____ Retested function after PDF is returned from technical editing.
_____ Checked for changes to PDF called by this routine or to PDFs that call this routine.
_____ Exercised all parameter options at least once with nondefault values.
_____ Tested with a combination of input images specified using plus signs.
_____ Checked that upon a fatal error condition, files are left or cleaned up, depending on the setting of the global variable $DELFLG.
_____ If minmax is computed for the whole input image, checked that its DDR is updated, privilege permitting.
_____ Checked that the DDR is updated correctly. Verified the projection information.
_____ Tested image compression. _____ All testing was done after the program was built with the default optimizer flag. _____ Make sure all code has been run through CodeCenter and purify and all necessary changes have been made.