geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Siddhartha Chandurkar <>
Subject System Architecture Document
Date Thu, 11 Sep 2003 07:08:22 GMT
Hi all,

    I have joined the mailing lists just yesterday,
but I was going through the archives for past 1 1/2
weeks. Since some of the work has already been done I
wanted to understand the overall architecture vision
and how the various modules which are under progress
will colaberate. I was looking for a System
Architecture Document. While browsing through the Wiki
Web. I saw in the TODO list a requirement of the
System Architecture Description Document. I have been
working as a System Designer for the past 3 years,
below is a template which I have formulated based on
my past experience with prodcuts.  
If there is no work going on this document. I can
start contributing by writting this document.

    Before I proceed,IMHO. I suggest that we should
have some business drivers of the architecture written
down. Even though these things are important for
commercial products and this being an Open Source
product. In my limited experience this really helps.
This will give us a clear focus and we know the enemy
which we are trying to conquer. (Sun Tzu - "Know your
enemy"). Some of the points that we should consider
are given below.

Business Drivers
+ Describe the business history, environment,
requirements, market differentiators, stakeholders,
current need. How the proposed system will meet those
+ Business Constraints. e.g. time to market, customer
needs and standards etc.
+ Technical Constraints
+ Quality attribute requirements and the business
needs from they are derived from

Having said that below is a proposed template for
System Architecture Description. Some of the things
might not be relevant or some sections might need to
be added.

                                   SYSTEM ARCHITECTURE
DOCUMENT for Apache's Geronimo project

1. Title
<The Title of the Product>

2. Revision History
<Revision History of the Document>

3. Introduction
A Brief Introduction of the Product
3.1 Purpose
<Brief description of the Product and the purpose of
the document, plus the intentended audience>

3.2 Scope
<Scope of the Product>

3.3 Definitions, Acronyms, Terminology and Abrivations
<Descrption of all the terms, acronyms, Abrivations
that will help to understand the Document. 
Reference to the Glossary/Dictionary can be given here
if it is present>

3.4 References
<References to the documents which are input to this
document. Their Title and the location from where
they are accessible>

3.5 Overview
<Explains what this document contains and how the
document is organized

4. Architectural Goals and Constraints
<Section describes the main Arcthitectural goals and
constraints which are driving the architecture>

5. UseCase View
<Scenarios/Usecases (Architecturally Significant Use
Cases) that represent the central functionality of the

5.1 UseCase Realization
<Section describes how these Usecase are realized by
the architecture. How various subsystems contribute to
their functionality

6. Logical View
6.1 Subsystem Decomposition
6.2.n Desription of Subsystems
<This section describes the decomposition of the
System into subsystem, their relationships and

7. Interaction Diagram Between Subsytems
<The Interaction Diagrams (Sequences) between the
interfaces of the subsystem. Note. The flow should be
on the subsystem interface level. Details of the
subsystem should not be depicted here>

8. Process View
<The section descibes the varoius processes and
threads interact>

9. Data View (Optional)
<Section descibes how the persistent data is managed
in the system>

10. Deployment View
<Section desrcibes how the system will be deployed and
the Hardware configurations it supports> 

11. Quality Attributes 
<Section descibes how the Architecures satisfies the
various quality attributes of the system i.e.
reliability, usability, security, performance,
scalability, modifiability and extensibility,
availability etc.>

thanks & regards,

Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software

View raw message