CSC 509 Standard Operating Procedures,
Volume 1
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.
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.