Skip to content
Site Tools
Increase font size Decrease font size Default font size
You are here: Home
Software Architecture

Course Overview

 

Our workshop will help jumpstart developers on their way to becoming a software architect.The course is an interactive introduction to software architecture and what it means to be a software architect. It's aimed at software developers who are looking towards their first software architect role, as well as architects that are new to the role.

Bangalore : 25 & 26 June
Pune : 27 & 28 July

Course Fees

  • Please Contact Vertical Divers for pricing
  • For Registration and Discounts see the Registration Page
  • For Event Dates see the Schedule grid

You will receive a course kit. This comprehensive kit contains valuable, real-world examples and best practice insights so that you can get started right away on your own.

Faciliator

Mr. Mubarak Abdulla, know more about him

Course Coverage

  • What is a Architecture Blue print?
  • How is Architecture different from design ?
  • What is difference between Solution Architecture and Enterprise Architecture ?
  • What is Role of a Solution Architect ?
  • Understanding Qualtiy of Service
  • McCall/GE Quality Model
  • Barry Boehm Quality Model
  • ISO/IEC Quality Model
  • Quality Attribute Workshop (QAW)
  • Lab : Architecture driven requirements engineering using QAW
  • Attribute Driven Design (ADD)
  • Applying Tactics, Patterns & Anti-Patterns
  • Performance Engineering
  • Thread Modeling
  • Transaction Cost Analysis
  • Lab : Creature Architecture using ADD
  • Unified Modeling Language (UML) 2.0
  • 4+1 View Model
  • Zachman Framework
  • Lab : Document Architecture using 4+1 View Model
  • Active Review For intermediate Design (ARID)
  • Architecture Trade of Analysis Method (ATAM)
  • Software Architecture Analyis Method (SAAM)
  • Lab : Evaluate Architecture using ATAM
  • Cost Benifit Analysis Method (CBAM)

Detailed Course Coverage

The training course is a combination of presentation, group working and group discussion, with the majority of the exercises focused around a case study. Throughout the course you'll be solidifying everything you learn by defining the architecture for a small software system through a series of hands-on exercises.

Identification of non-functional requirements

The first step in the case study is that we provide each group with the high-level vision for a software system. This single sheet summary provides details of the business context along with a bulleted list of the desired functional requirements. Using Quality attribute Workshop (QAW) we ask each group to identify the non-functional requirements that they expect would need to be specified for this system, along with thoughts on how to test them.

Architecture definition

To ensure that everybody is working against a consistent set of requirements, each group is then provided with a sample set of non-functional requirements for the case study and is asked to undertake the architecture definition. This exercise tends to last for about half a day and we ask groups to do the following.

  • Come up with the architecture for the case study using Attribute Driven Design (ADD).
  • Decide on the Tactics and Patterns that they are going to use to implement it.
  • Draw up the logical view(s) of their architecture, showing the high-level components and their interactions using UML 2.0.
  • Justify that their architecture will satisfy the functional and non-functional requirements using Performance Engineering and Threat Modeling.

At the end of the exercise, we compare what each of the groups has come up with; discussing the choice of Tactics and Patterns, diagram notation and process used to define the architecture. Here are some examples of the diagrams that attendees have drawn on previous courses.

Architecture documentation

Each group is asked to document their Architectural Decisions in a Software Architecture Document (SAD). We ask groups to do the following.

  • Document Architecture using 4+1 View Model.
  • Each Architecture Decision is document in the appropriate View using UML 2.0.

Architecture Evaluation

Each group is given an architecture created by a different group. We ask groups to do the following.

  • Justify that Framework design is appropriate using Active Design Review (ADR) / Active Review for Intermediate Design (ARID).
  • Assess that architecture will satisfy the functional and non-functional requirements using Architecture Trade of Analysis Method (ATAM).
  • Compare Architecture with their Architecture using Software Architecture Analysis (SAAM).

Architecture Cost Estimation

Finally each group would estimate cost involved in implementing the architecture. The Cost of building the Architecture is compared against the benefit they provide using Cost Benefit Analysis Method (CBAM).

Calendar