Clone wiki

Wildfire Management Tool / Software Architecture

Software Architecture Document (RUP 4+1 UML) - Wildfire Management Tool

Revision History

NameDateReason for ChangesVersion
Bruce Schubert2015.04.01Software Architecture Document1.0

Contents

Introduction

Purpose

This software architecture document provides a comprehensive architectural overview of the Wildfire Management Tool (WMT) system, using the Rational Unified Process (RUP) 4+1 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.

Scope

This Software Architecture Document applies to the WMT software project being developed by Bruce Schubert (www.emxsys.com).

Definitions, Acronyms and Abbreviations

See Glossary.

References

  1. Vision and Scope

Architectural Representation

This document presents the architectural as a series of views (RUP/Kruchten 4+1); the use case view, logical view, process view, deployment view, and implementation view, plus an optional data view.. These views are presented as Unified Modeling Language (UML) diagrams.

RUP 4+1 Representation

RUP 4+1 View.png


Architectural Goals and Constraints

There are some key requirements and system constraints that have a significant bearing on the architecture. They are:

  • Java will be used for its cross-platform capabilities.
  • The system will be a NetBeans Rich Client Platform application.
  • The NASA WorldWind Java SDK will be used the terrain visualization; it is OpenGL based and cross platform capable.
  • The Terramenta project will provide a NetBeans modular framework for NASA WorldWind
  • The VisAD 3D visualization toolkit will be used for data analysis and views
  • The Microsoft SQL Server 2012 will be used for knowledge discovery.

Use-Case View

A description of the use-case view of the software architecture. The Use Case View is important input to the selection of the set of scenarios and/or use cases that are the focus of an iteration. It describes the set of scenarios and/or use cases that represent some significant, central functionality. It also describes the set of scenarios and/or use cases that have a substantial architectural coverage (that exercise many architectural elements) or that stress or illustrate a specific, delicate point of the architecture.

High Level Use Cases - Use Case Diagram

Use Case - High Level.png

Main Use-Case Diagram


Logical View

This section 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. Included are architecturally significant classes and their responsibilities, as well as a few very important relationships, operations, and attributes.

High Level Subsystems - Class Diagram

This class diagram depicts the WMT high level subsystems and their responsibilities and relationships. Note the CPS module implements the Model-View-Controller (MVC) pattern. Class Diagram - High Level Subsystems.png


Process View

This section describes the system's decomposition into lightweight processes (single threads of control) and heavyweight processes (groupings of lightweight processes). Sequence diagrams describe the main modes of communication between processes, such as message passing, interrupts, and rendezvous.

Handle Coordinate Changes - Sequence Diagram

This sequence diagram shows the interaction between the MVC participants when the user changes where the cross-hairs are positioned on the Globe.

Sequence Diagram - Update Coordinate.png

Handle Time Changes - Sequence Diagram

This sequence diagram shows the interaction between the MVC participants when the user changes the time via the calendar or via the animation controls (e.g., play/pause/rewind).

Sequence Diagram - Update Time.png


Implementation View

This section describes the overall structure of the implementation model, the decomposition of the software into NetBeans modules.

Modules Overview - Package Diagram

Package Diagram - Modules Overview.png


Deployment View

This section describes one or more physical network (hardware) configurations on which the software is deployed and run. It is a view of the Deployment Model. It indicates the physical nodes (computers, CPUs) that execute the software, and their interconnections (bus, LAN, point-to-point, and so on.) It includes a mapping of the processes of the Process View onto the physical nodes.

Desktop System - Deployment Diagram

This deployment diagram shows the components of the desktop version of the WMT.

Deployment Diagram - Desktop System.png


Size and Performance

''A description of the major dimensioning characteristics of the software that impact the architecture, as well as the target performance constraints.''


Quality

''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, for example safety, security or privacy implications, they should be clearly delineated.''


Copyright © 2014-2015 Bruce Schubert, [http://www.emxsys.com].

Updated