Skip to main content

Epidata Corporate Courses

Software Architecture: Fundamentals

Objective

Ensure every role involved in a software product's lifecycle knows the most relevant aspects to consider when designing and implementing its software architecture, from its strategic importance through to its implementation.

Content

Unit 1: definitions and basic concepts

  • Definition of architecture.
  • Differences between architecture and design.
  • Views and Stakeholders.
  • The architect's role.
  • Types of architects.
  • Tasks and capabilities of the architect.
  • Lifecycle.
  • DevOps.

Unit 2: requirements engineering

  • Functional and non-functional requirements.
  • Use cases or user stories.
  • Quality attributes.
  • Quality scenarios.
  • Utility Tree.

Unit 3: architecture design

  • Cohesion, coupling, and connascence.
  • Software design principles.
  • Design process. Introduction to methodologies (ADD).
  • Monolithic architecture
  • Distributed architecture.
  • Introduction to architectural styles.

Unit 4: architecture documentation

  • Uses of documentation and audience types.
  • Basic architectural views: Modules, Components and Connectors, and Allocation.
  • Documentation and agility.
  • Examples of documentation languages.

Skills developed

  • provide participants with a solid understanding of the fundamental concepts and principles related to software architecture
  • Understand how to design systems that can grow and adapt as requirements and the number of users increase
  • Understand how to integrate different systems and technologies so they work together efficiently.

Course characteristics

Format and Duration

Online 18 hrs

Who it's for

Developers, technical leads, managers, POs, functional analysts, and anyone involved in a software product's development process.

Course Instructors

Herman Schinca

Instructor in Software Design, Architecture, and Quality

Alejandra González

DevOps Engineer

Keep innovation close