Conclusion

Il est compliqué de conclure simplement sur cette différence. Le plus important est de noter la collaboration entre l’architecte logiciel et les développeurs (voir D’après Marc Richards)

Architecture Logicielle

Le rôle de l’architecture est de minimiser le coût du changement.

Architecture is the part of design that deals with the aspects that are difficult to change such as the technology choices, application/system structure, trade-offs between quality attributes, how and where data is stored, deployment and runtime properties

Focus on

L’Architecture Logicielle se concentrer sur les principales décisions de conception :

  • Structure : composants et connexions
  • Comportement : responsabilités de chaque composant, algorithmes de haut niveau
  • Interaction : règles régissant la communication entre les composants
  • Attributs de qualité : stratégie pour y parvenir
  • Mise en œuvre : langage, plate-forme, bibliothèques, etc.

En soit, toutes décisions qui a un impact sur les préoccupations des principales parties prenantes ou qui a un ou qui a un impact global sur le programme

Et on ne se concentre pas sur les détails sans importance. Par exemple les décisions internes d’un composant : algorithmes internes, structures de données, modèles de conception locaux. ET qui n’ont pas d’impact sur les préoccupations des principales parties prenantes.

Conception Logicielle

  • Complète l’Architecture Logicelle avec le Comment? implémenter
  • Se concentre sur les contraintes locales
  • E.g. Design Patterns, SOLID, etc …

Conclusion

Gardez à l’esprit que la frontière est très mince, l’architecture et la conception logicielle sont fortement liées.

archivsdesign archivsdesign