Log In | New Account   
Home My Page ESPResSo++
Project Home Summary Activity Forums Lists Tasks Docs News SCM Mediawiki

System design

From espressopp

Jump to: navigation, search

This is the overview page of the system design description of ESPResSo++.

The description is intended for all persons who want to know about the functional and structural parts of the ESPResSo++ software. It can also be considered as an introduction for all software developers that are involved in the development, quality assurance, and support of the software.

The system design has been based on the Requirements document of ESPResSo++. The system design was matched against this document to guarantee that all requirements can be met.

Use of UML diagrams

in many cases, for the description of the architecture, UML (Unified Modeling Language) diagrams are employed. UML was defined by the Object Management Group (OMG) and allows software developers to concentrate more on design and architecture.

The following figure shows what kind of relations between classes will be used to describe the system design:

Relations between classes and objects in UML diagrams
Relations between classes and objects in UML diagrams
  • The inheritance relationship is also known as the generalization or "is a" relationship. It indicates that one of the two related classes (the subclass) is considered to be a specialized form of the other (the superclass) and superclass is considered as generalization of subclass. In practice, this means that any instance of the subclass is also an instance of the superclass. The UML graphical representation of a inheritance is a hollow triangle shape on the superclass end of the line that connects it to one or more subclasses. The subclass in the inheritance relationship is also known as the inheriting class.
  • A dependency exists between two defined elements if a change to the definition of one would result in a change to the other. This is indicated by a dashed arrow pointing from the dependent to the independent element. Several named varieties exist. A dependency can be between instances, classes, or both.
  • Interaction or association between two objects (e.g. communication or data transfer) will be presented by a usual lines.

Powered By GForge Collaborative Development Environment Contact us
Impressum (in German only)