A system architecture is designed including a definition of the system elements with their behavior, their interfaces, their relationships, and their interactions. The system architecture is analyzed against defined criteria, and special characteristics are identified. Consistency and bidirectional traceability are established between system architecture and system requirements. The agreed system architecture and the special characteristics are communicated to all affected parties.