Coordination Models and Software Architectures in a Unified Software Development