Software Architecture Document (RUP 4+1 UML) - Wildfire Management Tool
|Name||Date||Reason for Changes||Version|
|Bruce Schubert||2015.04.01||Software Architecture Document||1.0|
- Software Architecture Document (RUP 4+1 UML) - Wildfire Management Tool
- Architectural Representation
- Architectural Goals and Constraints
- Use-Case View
- Logical View
- Process View
- Implementation View
- Deployment View
- Size and Performance
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.
This Software Architecture Document applies to the WMT software project being developed by Bruce Schubert (www.emxsys.com).
Definitions, Acronyms and Abbreviations
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
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.
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
Main Use-Case Diagram
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.
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.
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).
This section describes the overall structure of the implementation model, the decomposition of the software into NetBeans modules.
Modules Overview - Package Diagram
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.
Size and Performance
''A description of the major dimensioning characteristics of the software that impact the architecture, as well as the target performance constraints.''
''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].