What is Software Architecture?

Software architecture makes sure that requirements of various stakeholders have been addressed. While providing and architectural solution, an architect should keep in mind following things:

  • System may need to be changed over time so the architecture needs to be flexible enough to address the new requirements which can come in future.
  • Some modeling techniques like UML can be used to help visualizing himself the requirements for better understanding.
  • Being an architect, you should start building a bigger picture covering main features then at the end you can go in details. Try to make bigger things right first then go into the deeper details. If you will go in details first, you may wrongly do the things with your own assumptions.
  • You should identify the risks and also provide ways to lessen the risks.
  • An architecture should handle functional as well as quality requirements.