Documentation Guidelines for NPARC Alliance Software Development



Similar documents
Creating a Java application using Perfect Developer and the Java Develo...

PaperStream Connect. Setup Guide. Version Copyright Fujitsu

CREATING AND EDITING CONTENT AND BLOG POSTS WITH THE DRUPAL CKEDITOR

Degree Thesis. Neil Diamond Ghulam

Structural Health Monitoring Tools (SHMTools)

Owner of the content within this article is Written by Marc Grote

LICENSE4J FLOATING LICENSE SERVER USER GUIDE

In this tutorial I will be uploading multiple images to my ftp folder on my ktools site, and then add them using manager.

Audit TM. The Security Auditing Component of. Out-of-the-Box

USING STUFFIT DELUXE THE STUFFIT START PAGE CREATING ARCHIVES (COMPRESSED FILES)

AD Certificate Distribution

MultiAlign Software. Windows GUI. Console Application. MultiAlign Software Website. Test Data

Quick Overview on Connecting Crystal Reports with GRIN-Global Data

Interfacing SAS Software, Excel, and the Intranet without SAS/Intrnet TM Software or SAS Software for the Personal Computer

SAS, Excel, and the Intranet

Creating PL/SQL Blocks. Copyright 2007, Oracle. All rights reserved.

Documentation Installation of the PDR code

Monitoring Oracle Enterprise Performance Management System Release Deployments from Oracle Enterprise Manager 12c

INSTALLING, CONFIGURING, AND DEVELOPING WITH XAMPP

Lucid Key Server v2 Installation Documentation.

Creating Dynamics User Model Dynamic Linked Library (DLL) for Various PSS E Versions

3D Restoration (Kine3D -3)

WS_FTP Pro for Windows 95/98/NT

AVALANCHE MC 5.3 AND DATABASE MANAGEMENT SYSTEMS

White Paper

Exercise 3: Building a GIS data library

COGNOS Query Studio Ad Hoc Reporting

Stage 5 Information and Software Technology

SilkTest Workbench. Getting Started with.net Scripts

UQC103S1 UFCE Systems Development. uqc103s/ufce PHP-mySQL 1

DataPA OpenAnalytics End User Training

Automated Software Testing With Macro Scheduler

CUBRID Backup & Restore Part I (Backup)

Using Secure4Audit in an IRIX 6.5 Environment

VERITAS NetBackup Microsoft Windows User s Guide

FIGURE Selecting properties for the event log.

webmethods Certificate Toolkit

Step 3: Go to Column C. Use the function AVERAGE to calculate the mean values of n = 5. Column C is the column of the means.

Administration Guide. . All right reserved. For more information about Specops Gpupdate and other Specops products, visit

Importing TSM Data into Microsoft Excel using Microsoft Query

Installation of ADS SiMKit startup script and designkit on Windows for SiMKit version 4.4

You must have at least Editor access to your own mail database to run archiving.

Lab 1 Introduction to Microsoft Project

When the template is complete, the whole Work Package document can be printed and approved. Saving the Work Package document under its own name

LogProcess v1.0 User Guide

Eliminate Memory Errors and Improve Program Stability

PriveonLabs Research. Cisco Security Agent Protection Series:

InfoView User s Guide. BusinessObjects Enterprise XI Release 2

Installation Guide: Migrating Report~Pro v18

A Manual on use of ABCD central and VHL-Site modules for Developing Library Information Discovery and Information Literacy Tools

Getting Started with Mplus Version 7.31 Demo for Mac OS X and Linux

SpamTitan Outlook Addin V2.0

Business Intelligence Tutorial: Introduction to the Data Warehouse Center

Log Analyzer Reference

Introduction to Synoptic

Backing Up and Restoring Data

Test Automation Integration with Test Management QAComplete

CPM and GANTT: The Next Step in Multi-Project Management

Monitor file integrity using MultiHasher

Help File. Version February, MetaDigger for PC

Configure Single Sign on Between Domino and WPS

This means that any user from the testing domain can now logon to Cognos 8 (and therefore Controller 8 etc.).

Make sure you have configured the following backup methods or your data may not be properly protected.

Basic C Shell. helpdesk@stat.rice.edu. 11th August 2003

HOW TO SILENTLY INSTALL CLOUD LINK REMOTELY WITHOUT SUPERVISION

ERP Test Plan. Revised 7/5/10. SYSTEM TEST PLAN and PEOPLESOFT FMS TEST SCRIPTS SpearMC Consulting. Page 1 of 15

SystemTools Software Inc. NTFS and Share Permissions Reporting

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Unity Error Message: Your voic box is almost full

Importing from Tab-Delimited Files

Response Time Analysis of Web Templates

Business Intelligence Tutorial

The Strategic Planning Process

California Team Decision Making Application (TDM CA v.2.3) Technical Guide

This document assumes you have a full PMAPS WebPro Test environment successfully certified.

TUTORIAL ECLIPSE CLASSIC VERSION: ON SETTING UP OPENERP 6.1 SOURCE CODE UNDER WINDOWS PLATFORM. by Pir Khurram Rashdi

Basic SQL Server operations

Software Requirement Specification (SRS) for Personal Investment Management System (PIMS)

Managing Code Development Using CCS Project Manager

Introduction. There are several bits of information that must be moved:

Technical Bulletin. SQL Express Backup Utility

D61830GC30. MySQL for Developers. Summary. Introduction. Prerequisites. At Course completion After completing this course, students will be able to:

Lab 5 Managing Access to Shared Folders

INFORMATION SECURITY GUIDELINE How to Encrypt Files Using Common Applications Revision 1.1

Clinical Scheduling for Windows

Time Entry User Guide

Task Scheduler. Morgan N. Sandquist Developer: Gary Meyer Reviewer: Lauri Watts

A brief Guide to checking your Group Policy Health

IBM. Implementing SMTP and POP3 Scenarios with WebSphere Business Integration Connect. Author: Ronan Dalton

HOW TO CREATE AND MERGE DATASETS IN SPSS

RSA Authentication Manager 7.1 Basic Exercises

IBM Tivoli Monitoring for Virtual Environments: Dashboard, Reporting, and Capacity Planning Version 7.2 Fix Pack 2. User s Guide SC

Transcription:

Documentation Guidelines for NPARC Alliance Software Development Charles E. Towne NASA Glenn Research Center Cleveland, Ohio 1 Introduction This document describes the guidelines to be used when writing documentation during NPARC Alliance software development projects. It was originally written for the NASTD/NPARC/NXAIR code merger effort, but should be applicable to other software development projects as well. 2 Guidelines for External Documentation This section discusses the external documentation that should be prepared describing the production software. This is the documentation that will be released with the code, in printable and/or electronic form. Generally there will be two levels of documentation one for users and one for developers. For relatively simple applications, these may be combined in a single document, but for more complex programs they should be separate. Depending on the application, it may be appropriate to supply more than one user- and/or developer-level document. For example, it may make sense to have a user-level Installation Guide that s separate from the User s Guide. For some types of software, a third level of documentation may be desirable, providing a separate high-level detailed description of the analysis, modeling assumptions, numerical solution procedure, etc. 2.1 User-Level Documentation This is the documentation that a typical user will refer to most often. It should include all the information that a user, from beginner to expert, needs to successfully apply the program to real-world problems. Ideally, though, it should be organized in such a way that a new user can learn the basics and start running the program relatively quickly, without having to wade through descriptions of advanced and/or rarely-used features. The user-level documentation should include: Where appropriate, a brief description of the analysis, modeling assumptions, numerical solution procedure, etc., especially if a separate detailed Analysis Description is not being provided. This is version 1.0 of this document, released 8 Sep 1997. 1

A brief description of important code features and capabilities. A description of the mechanics of running the program, including details about how to use any user-level scripts supplied with the program. A tutorial, especially for large and/or complex programs, that guides an inexperienced user step-by-step through the process of running a new case. Definitions of all input and output variables. For interactive programs, details about commands that are used, and/or how to use the GUI interface. A discussion of the computational resources required. A description of any user-level input and/or output files, including the contents, the associated Fortran unit number, and the file format. Where appropriate, instead of (or in addition to) describing their contents and format, information should be included describing how to create and/or extract information from the files. A list of error messages that may be generated by the program, including suggested corrective action. Example cases illustrating the proper procedure for running realistic applications. 1 Where appropriate, a separate 2 4 page Quick Guide to running the program. 2.2 Developer-Level Documentation This is a reference document that a developer will refer to for detailed information that s needed when modifying or extending the program. The developer-level documentation should include: A description of the overall code structure, including flow charts and subprogram calling trees. Details about scripts used to run the program. A description of all the files read and/or written by the program, including their contents, the associated Fortran unit number, and the format of the file. Definitions of all common block variables. Details about each subprogram, including: a list of other subprograms that call or are called by the subprogram; a list of the files read and/or written by the subprogram; definitions of the input, output, and key local variables; and a description of the work being done in the subprogram. 1 For the NASTD/NPARC/NXAIR merger, input and output files for the example cases will be supplied with the program and/or made available over the WWW. 2

3 Guidelines for Internal Working Documentation This section describes the documentation that should be supplied by developers during the course of a software development project. This type of documentation is especially important in large projects, in which several people are involved in writing software and developing the external documentation. The purpose of the internal working documentation is to: Establish a detailed history of the software development. Serve as reference material for other developers during the course of the project. Provide raw material for the development of the external documentation described above. Whenever a change is made to an existing subprogram, the developer should supply the following information 2. A suggested format is presented in the Appendix. The date and author of the change. A brief description summarizing what changes were made, and why. A detailed technical description of major changes, to be used in updating the subprogram description in the developer-level documentation. 3 Changes that should be made to the user-level documentation, such as definitions of any new input or output variables, a description of any new files that are used, and a list of new error messages that may be generated. Changes that should be made to the developer-level documentation for the subprogram, such as a list of additional subprograms that call or are called by the subprogram, and definitions of any new input, output, and/or key local variables. The same type of documentation is needed when a completely new subprogram is added to the code, except of course that all the information needed to describe the subprogram in the developerlevel documentation should be supplied. 2 For the NASTD/NPARC/NXAIR code merger project, this should be included whenever new code is checked into the version control system. 3 For the NASTD/NPARC/NXAIR merger, this developer-level documentation does not yet exist. Thus, even though this guideline only refers to a description of the changes that have been made, supplying a detailed description of the work being done by the subprogram as a whole is perfectly OK, and even encouraged. :-) 3

Appendix Supplying Internal Working Documentation The following is a suggested form that code developers may use to supply the information required for the internal working documentation. Where possible, the version control software should not allow code changes to be made without the appropriate documentation. 1 OVERALL DESCRIPTION This section provides an overall description of the changes made, and is intended to establish a detailed history of the program s development. Author: Author of code Date: Date of change Brief summary of changes: A few lines summarizing the changes made Detailed technical description of major changes: For major additions and changes, please include a detailed description of the theory, analysis, etc., that was coded. Reference existing documents as appropriate. 2 USER-LEVEL INFORMATION This section will be used to update the user-level documentation. New/modified keyword input: List of keywords with definitions New/modified standard output: List of changes to standard (i.e., fort.6) output New/modified input files: List of files, including a description of the contents and format New/modified output files: List of files, including a description of the contents and format New/modified error messages: List of messages, including suggested corrective action 3 DEVELOPER-LEVEL INFORMATION This section will be used to update the developer-level documentation. The information described below should be included for each subprogram that has been modified or created. Subprogram names (or file names if necessary) should include the relative path name from the src directory. Changes to the lists of called by routines, input variables, etc., should note those that should be deleted, as well as those to be added. Subprogram: Subprogram name, and file name if different from subprogram name Changes to called by : Changes to the list of subprograms that call this subprogram Changes to calls : Changes to the list of subprograms that this subprogram calls Changes to input variables: Changes to the list of input variables that this subprogram uses, with their definitions 4

Changes to output variables: Changes to the list of output variables that this subprogram computes, with their definitions Changes to key local variables: Changes to the list of key local variables in this subprogram, with their definitions The information described below should be included for each common block that has been modified or created. Include file names should include the relative path name from the include directory. Changes to the lists of variables should note those that should be deleted, as well as those to be added. Common block: Common block name, and include file name if different from common block name Changes to common variables: Changes to the list of variables in this block, with their definitions 5