<?xml version="1.0" encoding='UTF-8'?>

<!--
Copyright 2006 Niels Heirbaut. All rights reserved.

Redistribution and use in source (XML DocBook) and 'compiled' forms (SGML,
XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are
permitted provided that the following conditions are met:

   1.  Redistributions of source code (XML DocBook) must retain the above
       copyright notice, this list of conditions and the following disclaimer
       as the first lines of this file unmodified.

THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
-->

<!--
This template can be used to create a Software Architecture Document as
described in the Rational Unified Process. Where applicable, comments will
provide guidance to the author. At the authors discretion these comments can be
deleted.
-->

<!--{{{-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"
[

<!--
Text entities. They are used to define document wide definitions. Replace the
'@@@ xxx @@@' definitions with the correct ones. If necessary custom text
entities should be added here.
-->
<!--{{{-->
<!ENTITY projectname    "@@@ Your Project @@@">
<!ENTITY projectacronym "@@@ Your Project Acronym @@@">
<!ENTITY firstname      "@@@ First Name @@@">
<!ENTITY surname        "@@@ Last Name @@@">
<!ENTITY copyrightyear  "@@@ Year @@@">
<!--}}}-->

]>
<!--}}}-->

<book lang="en"><!-- Software Architecture Document {{{-->

  <!--
  This is the front matter definition of the Software Architecture Document.
  Most data is set through the text entities above. Only the history per
  revision has to be set by hand. See <revhistory> below.
  -->
  <bookinfo><!-- Front Matter {{{-->

    <title>&projectname;</title>
    <subtitle>Software Architecture Document</subtitle>

    <author>
      <firstname>&firstname;</firstname>
      <surname>&surname;</surname>
    </author>

    <copyright>
      <year>&copyrightyear;</year>
      <holder>&firstname; &surname;</holder>
    </copyright>

    <revhistory>

      <!--
      For each revision a <revision> section has to be added.
      -->
      <revision>
        <revnumber></revnumber>
        <date></date>
        <authorinitials></authorinitials>
        <revremark></revremark>
      </revision>

    </revhistory>

  </bookinfo><!--}}}-->

  <!--
  The introduction of the Software Architecture Document provides an overview
  of the entire Software Architecture Document. It includes the purpose, scope,
  definitions, acronyms, abbreviations, references, and overview of the
  Software Architecture Document.
  -->
  <chapter><!-- Introduction {{{-->
    <title>Introduction</title>

    <!--
    This section defines the role or purpose of the Software Architecture
    Document, in the overall project documentation, and briefly describes the
    structure of the document. The specific audiences for the document is
    identified, with an indication of how they are expected to use the
    document.

    A standard Purpose Description has already been provided below. Change if
    necessary.
    -->
    <section><!-- Purpose {{{-->
      <title>Purpose</title>

      <para>
        This document provides a comprehensive architectural overview of the
        system, using a number of different architectural views to depict
        different aspects of the system. It is intended to capture and convey
        the significant architectural decisions which have been made on the
        system.
      </para>

    </section><!--}}}-->

    <!--
    A brief description of what the Software Architecture Document applies to;
    what is affected or influenced by this document.
    -->
    <section><!-- Scope {{{-->
      <title>Scope</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section provides the definitions of all terms, acronyms, and
    abbreviations required to properly interpret the Software Architecture
    Document.  This information may be provided by reference to the project's
    Glossary.
    -->
    <section><!-- Definitions, acronyms and abbreviations {{{-->
      <title>Definitions, acronyms and abbreviations</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section provides a complete list of all documents referenced elsewhere
    in the Software Architecture Document. Identify each document by title,
    report number (if applicable), date, and publishing organization. Specify
    the sources from which the references can be obtained. This information may
    be provided by reference to an appendix or to another document.
    -->
    <section><!-- References {{{-->
      <title>References</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    This section describes what the rest of the Software Architecture Document
    contains and explains how the Software Architecture Document is organized.
    -->
    <section><!-- Overview {{{-->
      <title>Overview</title>

      <para>
      </para>

    </section><!--}}}-->

  </chapter><!--}}}-->

  <!--
  This chapter describes what software architecture is for the current system,
  and how it is represented. Of the Use-Case, Logical, Process, Deployment, and
  Implementation Views, it enumerates the views that are necessary, and for
  each view, explains what types of model elements it contains.
  -->
  <chapter><!-- Architectural Representation {{{-->
    <title>Architectural Representation</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter describes the software requirements and objectives that have
  some significant impact on the architecture; for example, safety, security,
  privacy, use of an off-the-shelf product, portability, distribution, and
  reuse. It also captures the special constraints that may apply: design and
  implementation strategy, development tools, team structure, schedule, legacy
  code, and so on.
  -->
  <chapter><!-- Architectural Goals and Constraints {{{-->
    <title>Architectural Goals and Constraints</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter lists use cases or scenarios from the use-case model if they
  represent some significant, central functionality of the final system, or if
  they have a large architectural coverage-they exercise many architectural
  elements or if they stress or illustrate a specific, delicate point of the
  architecture.
  -->
  <chapter><!-- Use-Case View {{{-->
    <title>Use-Case View</title>

    <para>
    </para>

    <!--
    This section illustrates how the software actually works by giving a few
    selected use-case (or scenario) realizations, and explains how the various
    design model elements contribute to their functionality.
    -->
    <section><!-- Use-Case Realizations {{{-->
      <title>Use-Case Realizations</title>

      <para>
      </para>

    </section><!--}}}-->

  </chapter><!--}}}-->

  <!--
  This chapter describes the architecturally significant parts of the design
  model, such as its decomposition into subsystems and packages. And for each
  significant package, its decomposition into classes and class utilities. You
  should introduce architecturally significant classes and describe their
  responsibilities, as well as a few very important relationships, operations,
  and attributes.
  -->
  <chapter><!-- Logical View {{{-->
    <title>Logical View</title>

    <para>
    </para>

    <!--
    This section describes the overall decomposition of the design model in
    terms of its package hierarchy and layers.
    -->
    <section><!-- Overview {{{-->
      <title>Overview</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    For each significant package, include a subsection with its name, its brief
    description, and a diagram with all significant classes and packages
    contained within the package. 

    For each significant class in the package, include its name, brief
    description, and, optionally, a description of some of its major
    responsibilities, operations, and attributes.
    -->
    <section><!-- Architecturally Significant Design Packages {{{-->
      <title>Architecturally Significant Design Packages</title>

      <para>
      </para>

    </section><!--}}}-->

  </chapter><!--}}}-->

  <!--
  This chapter describes the system's decomposition into lightweight processes
  (single threads of control) and heavyweight processes (groupings of
  lightweight processes). Organize the chapter by groups of processes that
  communicate or interact. Describe the main modes of communication between
  processes, such as message passing, interrupts, and rendezvous.
  -->
  <chapter><!-- Process View {{{-->
    <title>Process View</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter describes one or more physical network (hardware) configurations
  on which the software is deployed and run. It is a view of the Deployment
  Model. At a minimum for each configuration it should indicate the physical
  nodes (computers, CPUs) that execute the software and their interconnections
  (bus, LAN, point-to-point, and so on.) Also include a mapping of the
  processes of the Process View onto the physical nodes.
  -->
  <chapter><!-- Deployement View {{{-->
    <title>Deployement View</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  This chapter describes the overall structure of the implementation model, the
  decomposition of the software into layers and subsystems in the
  implementation model, and any architecturally significant components.
  -->
  <chapter><!-- Implementation View {{{-->
    <title>Implementation View</title>

    <para>
    </para>

    <!--
    This section names and defines the various layers and their contents, the
    rules that govern the inclusion to a given layer, and the boundaries
    between layers. Include a component diagram that shows the relations
    between layers. 
    -->
    <section><!-- Overview {{{-->
      <title>Overview</title>

      <para>
      </para>

    </section><!--}}}-->

    <!--
    For each layer, include a section with its name, an enumeration of the
    subsystems located in the layer, and a component diagram.
    -->
    <section><!-- Layers {{{-->
      <title>Layers</title>

      <para>
      </para>

    </section><!--}}}-->

  </chapter><!--}}}-->

  <!--
  A description of the persistent data storage perspective of the system. This
  chapter is optional if there is little or no persistent data, or the
  translation between the Design Model and the Data Model is trivial.
  -->
  <chapter><!-- Data View (optional) {{{-->
    <title>Data View (optional)</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of the major dimensioning characteristics of the software that
  impact the architecture, as well as the target performance constraints.
  -->
  <chapter><!-- Size and Performance {{{-->
    <title>Size and Performance</title>

    <para>
    </para>

  </chapter><!--}}}-->

  <!--
  A description of how the software architecture contributes to all
  capabilities (other than functionality) of the system: extensibility,
  reliability, portability, and so on. If these characteristics have special
  significance, such as safety, security or privacy implications, they must be
  clearly delineated.
  -->
  <chapter><!-- Quality {{{-->
    <title>Quality</title>

    <para>
    </para>

  </chapter><!--}}}-->

</book><!--}}}-->

<!-- vim: set ts=2 sw=2 fo+=t et ff=unix filetype=docbkxml fdm=marker: -->

