Introduction to Architecture

Software Architecture refers to the macroscopic design of our software systems. In this module, the learning objectives are:

  • Cover a brief demo of Django and it’s structure
  • Learn the basics of software architectural design
    • What do we mean by architecture?
    • How do we decide on an architecture?
    • How do we determine a given framework’s architecture?
  • Common Architecture Patterns
    • MVC
    • Layered Architecture (including 3-layer architecture)
    • Client-Server
    • Peer-to-Peer
    • Service-Oriented Architecture
  • Hosting architectures
    • Software-as-a-Service
    • Platform-as-a-Service
    • Infrastructure-as-a-Service