4.3BSD/usr/contrib/spms/doc/1.intro.ms

Compare this file to the similar file:
Show the results in this format:

.PP
.nr PS 12
.NH
Introduction
.nr PS 10
.XS
\*(SN Introduction
.XE
.PP
Software packages on the
.UX
operating system are frequently organized in a haphazard manner. The
conventions for arranging parts of the package within the file system vary
from package to package, and absolute pathnames are often used to describe
the location of files. The net result is an amorphous non-portable
software package requiring a substantial maintenance effort.
.PP
It would seem extremely desirable to develop tools and file system
structures to support more coherent and portable software packages, and
reduce the maintenance effort associated with them. The Software
Project Management System (SPMS) is a system for the management of
medium- to large-scale software systems. SPMS provides, within the
.UX
environment\|[5], a number of commands which can greatly simplify many tasks
associated with program development and maintenance. SPMS does not
attempt to duplicate existing
.UX
program development tools such as
.I make
or
.I SCCS,
but instead provides a way of coordinating these tools.
.PP
If only the simpler commands are used, the SPMS system can be helpful
for inexperienced
.UX
users. If the more advanced SPMS features are used, the experienced
user can perform complex tasks with less effort and greater
reliability than by applying the standard
.UX
tools directly.
.PP
Each software package managed by SPMS is organized as a project\|[7,8]. A
project is a collection of directories, each of which supports a
specific activity such as program development, testing, or
documentation (see fig. 1). There is no restriction on the number
of directories belonging to a project. The directory layout is arbitrary,
and can be altered to reflect the changing needs of the package.
.KF
.sp 33
.SM
.ce
\fIFigure 1.  \fRProject organization

.NL
.KE
.PP
SPMS can be fitted to existing software systems. It retains the full
capabilities of the
.UX
environment with unrestricted access to
.UX
tools. As a result, software packages developed using SPMS do not depend
on the system for their survival and can be ported to versions of
.UX
that do not support SPMS.