Standard Operating Procedures

CSC 509 Standard Operating Procedures,
Volume 1


Project Directory Structure

A software project directory is organized into the following subdirectories:


Subdirectory                   Contents
--------------------------------------------------------------------------------
requirements                   Requirements analysis, principally in .html
                               files

specification                  Formal specification, principally in .rsl files

prototype                      Prototype, in a variety of prototyping file
                               formats

design                         Design, in .html files generated by
                               javadoc

implementation                 Implementation, in .java files

administration                 Scheduling and other administrative
                               information, principally in .html files

testing                        Test plans, scripts, and results, in .html,
                               .csh, .java, .out, and .diff files

documentation                  Assembled documentation, principally in .html
                               and .ps files

subprojects                    Subprojects directories, with the same
                               structure as this directory, i.e., requirements
                               through subprojects.

In a project librarian directory, there are four project superdirectories that organize the projects by degree of stability. The directories are:


Superdirectory                 Contents
--------------------------------------------------------------------------------
production                     Projects that are stable enough for production
                               use.  Project developers may safely use and
                               link to files in production directories.

beta                           Moderately stable versions of projects.  The
                               difference between beta and production versions
                               is that beta projects contain experimental
                               functionality that may not be fully tested.
                               Project developers may reasonably safely use
                               and link to files in beta directories, though
                               they may not be as stable as production
                               projects in all cases.

alpha                          UNstable versions of projects.  Files in alpha
                               projects are subject to frequent change and may
                               not be fully tested.  Project developers should
                               use or link to alpha files only with direct
                               coordination with the project owner.

work                           Personal work-in-progress versions of projects.
                               Files in work projects are highly unstable and
                               may not even compile.  Project developers
                               should never use or link to files in work
                               directories.  The files, if readable, may be
                               used for browsing purposes.

Within each of the four release-level directories are the project directories themselves. Figure 1 is a diagrammatic view of the full project directory structure.



Figure 1: Diagram of project directory structure.




In CSC 509 this quarter, we will use only two levels of projects -- work and alpha. The alpha directory will only be updated once, at the end of the quarter. The contents of the requirements, specification, testing, and administration directories will be copied from the 508 projects of last quarter. Minor updates may be made to the requirements and specification directories, in response to SCOs. The major directories used in 509 this quarter will be design, implementation, and testing. The administration directory will also be used for group administrative files, as it was used in 508. The prototype and documentation directories will not be used.

Specific Update Procedures

Each 509 project member, including the librarian, maintains his/her own work directory. The project librarian also maintains a projects directory for the entire group, in addition to his/her individual work directory.

All changes of any kind originate in an individual work directory. On a regular basis, the files from the individual work directories are checked in to to the overall project work directory using the CVS update command (see the handout on CVS Basics.) Team members keep their own working directories up to date by checking out the work of their partners, again using the CVS update command.



index | lectures | handouts | examples | doc