Software Architecture for Developers

‘Software Architecture for Developers’ is a two-day training course about pragmatic software architecture, designed and delivered by software architects who code. It will broaden your software development skills, make you more ‘architecturally aware’ and help you build better software. It's aimed at software developers and architects regardless of whether you're building software in Java, .NET or something else.


The course is interactive; with a combination of presentation, group discussion and group working. Throughout the course you will put into practice what you have learned by applying software architecture principles to a software system case study.

Duration

2 Days

 

Course Objectives

Throughout the course, you’ll gain:

  • An understanding of what software architecture is all about.
  • An understanding of what it means to be a software architect and the responsibilities associated with the role.
  • An understanding of the trade-offs that are made when making architectural decisions.
  • Experience of how to define the software architecture for a bespoke software development project; including gathering non-functional requirements, determining the architectural drivers and doing the high-level design.
  • An appreciation that even a little architecture can go a long way to building better software.
  • An understanding that, as a software architect, it's good to do some coding.

Audience

  • Software Developers
  • Software and Solution Architects

Course Syllabus

Introduction


What is software architecture?

  • What is architecture?
  • Types of architecture
  • Design versus architecture
  • Why do we need architecture

What is the role of a software architect?

  • How does a software architect fit in to a development team?
  • How are software architects and lead developers different?
  • What sort of skills does a software architect need?
  • What does the overall role look like?

How do you define software architecture?

  • What drives software architecture?
  • How do functional requirements drive architecture?
  • How do non-functional requirements drive architecture?
  • How do you design for non-functional requirements?
  • How do constraints drive architecture?
  • How do principles drive architecture?
  • How do you design software given a blank sheet of paper?

Case study (defining an architecture for a software system)


How do you share software architecture?

  • Should software systems be documented?
  • Who needs to know about your architecture?
  • How do you write a software architecture document (SAD)?
  • What other methods are there for sharing architecture?

How do you deliver software architecture?

  • When should a software architect be involved in a project?
  • How does software architecture fit into iterative development?
  • How does software architecture fit into agile development?
  • How much software architecture do you need to do?
  • How do you evaluate your architecture?
  • What is load testing and how do you do it?

Related Courses

Refer to Equinox's architecture courses


Prerequisites

Experience on software projects as a developer or architect.


View printable course description


Course NameDurationPriceDatesCourse Status
Software Architecture for Developers2 Days$1,500Christchurch 10/07/2012Scheduled

All course prices listed by Equinox are in New Zealand dollars and exclude GST.