The Architecture Design outlines the details in which a software application solution will reside in. It needs to be agile as the increasing complexity of solutions and the rapId increase in technological advances can potentially make the application less responsiveness over time.

Considerations

  • When considering an architectural solution for a Project we go with the best fit for the budget.
  • What devices do you want the application to run on?
  • What are the security measures required?
  • What level of performance will be needed and how much growth can the solution account for?
  • How much data is expected and how is the data managed?
  • What technology is the best fit and is it easily upgraded?
  • How are errors handled?
  • What needs to be cached to improve performance?

The following outline some of the points to consider when designing:

  • Keep design patterns consistent on each page.
  • Do not duplicate functionality.
  • Reduce dependencies.
  • Define a coding style and naming convention.
  • Unit test each module.
  • Check quality and performance during testing.
  • Modulise each area so that functionality does not overlap.
  • Data formats must be clearly defined so that do not need to continually change from one type to another
  • Do not overload the functionality of a component.
  • Consider a data archive process and live process if data volumes are expected to be high.