Software Architecture for Developers

Design View

Do any of the lower level details need explaining?

The design view is where the lower level implementation details start to make an appearance. For example, this could include information such as how your architectural layering will be implemented through to documenting blueprints/common usage patterns for the technologies/frameworks you have chosen for the implementation. Depending on your team size, you may or may not find including this low level of detail useful.

Design View

  • Is it well understood how the key use cases will be implemented?
  • How are the chosen technologies used and combined?
  • Are there common patterns across the architecture?
  • If yes, are these well understood and documented?
  • Are the diagrams (e.g. UML class and sequence) up to date and do they reflect reality?
  • Is there too much detail?
  • Are any common wheels being reinvented? If so, why aren’t vendor/open source products being used?
  • If the code isn’t enough, is there enough information here to provide the rest of the development team with an overview/the intent of how the designs work?