Software Architecture

Software Architecture definitions and illustration

What is the software architecture

Software architecture of a system is the set of structures needed to reason about the system, which comprise system elements, relations among them, and properties of both. Software/System architecture typically refers to the bigger structures of a system, and it deals with how multiple systems processes cooperate to carry out their tasks. Software Design refers to the smaller structures and it deals with the internal design of a single software process.
Architecting a software describe the major components of the system with referring to how components of the system interact with each other.
Architecting a software and design includes several contributory factors such as Business strategy, quality attributes, human dynamics, design, and IT environment.
Software architecture and design are two related phases, where in architecture, nonfunctional decisions are cast and separated by the functional requirements and in design, functional requirements are accomplished.
Architecting a software and design are very related and each phase affect the another one. While the software architecture phase focus on bigger view of the system, the software design phase focus on internal subsystems/functions/components and how the software pieces work together.

Software architecture real life sample

Business case

  • I supposed that the system will be built from scratch
  • The business owner offers that he needs to build a tourism system for his agency
  • The customer goal is to become the most famous tourism provider in the next 3 years in MENA region
  • He needs to provide an easy to use system with very high availability and very quick response (any action should never exceed 3 seconds) with ability to pay online
  • Help decision maker with recommendation system (AI system)

Requirements (Project scope)

  • Provide web/mobile (android and IOS) applications that give the customer ability to reserveHotel
    • Flight
    • Train
    • Bus
  • The system will support multi-languages (Arabic, English, French, German and Spanish)
  • The system will be hosted on cloud (Microsoft azure) with providing local copies
Software architecure modules and components
Software architecure whole view
Software architecure technical view
Asp.net core architecure

Microsoft provides a good book for asp.net core software architecure, you can find it here

We can help you to build such as software tools/snipts, you contact us from here

Leave a Reply

Your email address will not be published. Required fields are marked *