Course Overview
The term "software architecture"
is used both for the high-level structure of a software system, and the related field or
discipline. In the workshop, we approach the software architecture discipline from three
primary points of view:
architecture,
answering the question: "what is software architecture?" and introducing
architectural patterns, principles and mechanisms.
architecting,
that is the process of creating an architecture. The major emphasis of the workshop is on
learning how to create, validate and update an architecture.
architects,
focusing on the role and responsibilities of the architect and positioning the
architecture role within the organization.
Benefits
Software architecture contributes to
competitive advantage in two primary ways:
Software architects are thus poised to play
a critical role in an organizations business success, translating business strategy
into an architectural strategy that is the foundation for a stream of products or family
of systems. This workshop is designed to provide participants with concepts, techniques
and lessons from experience that will help them be more successful in the architect role.
We have considerable experience helping
architects and their organizations transition to higher levels of architectural
competency. The software architecture workshop integrates extensive real-world
architecture experience, and builds on four years of teaching software architecture
workshops.
Workshop Format
Exercises form a large component of
this four-day workshop, which is oriented toward building skills rather than simply
exposing students to new concepts. Also, case studies and stories from our experience are
used to integrate real-world lessons into the workshop.
Audience
This workshop is designed for
architects and senior system design engineers. Managers of architecture teams will also
benefit.
Instructor's
Background
David
Redmond-Pyle will be teaching the
workshop. David worked with IBM's architecture community on
software architecture best practice and architectural reuse, and
co-authored IBM's "Standard for Architecture
Description", IBM Systems Journal, Vol 38 No 1, http://www.research.ibm.com/journal/sj/381/youngs.html.
He is also a
recognized expert in user interface design and usability evaluation,
having published an influential textbook on the subject. David was
previously Principal Consultant and Chief Methodologist at software
method and tool vendor LBMS. David is currently technical director
of PostModern Solutions Ltd, and has recently provided consultancy to
PricewaterhouseCoopers, TogetherSoft and Citibank.
Pricing
In-house: Pricing
depends on number of students taking the class. Please contact
us for details.
Open Enrollment: The cost for the
4-day workshop is US$2000 per student. Note: We only accept a maximum of 16
participants, and you should register early to avoid disappointment.
Lunches and snacks
will be provided, but workshop participants are responsible for other
meals and their own
accommodations.
The price includes the workshop binder with
color copies of the slides and notes, and a set of our Architecture
Action Guides.
Cancellation Policy
Refunds will be made in full if cancellations are made more than
30 days
in advance of the workshop start date. Cancellations made 30 days or less from the
workshop start date are not refundable. However, student substitutions may
be made any time prior to the start of the workshop.
If we are forced to cancel for any reason (such as
major personal calamity including severe sudden illness or
injury), our obligation will be limited to a full refund of class enrollment fees or
transfer of the registration to a future workshop.
|
Course Contents
Software Architecture
In the software architecture
section, we deal with:
meta-architecture:
the architectural vision, style, principles, key communication and control mechanisms, and
concepts that guide the team of architects in the creation of the architecture.
architectural
patterns: structural patterns such as layers and client/server, and
mechanisms such as brokers and bridges.
architecture
modeling using the Unified Modeling Language (UML).
architectural
views: structural views help document and communicate the architecture in
terms of the components and their relationships, and are useful in assessing architectural
qualities like extensibility. Behavioral views are useful in thinking through how the
components interact to accomplish their assigned responsibilities and evaluating the
impact of what-if scenarios on the architecture. Behavioral views are especially useful in
assessing run-time qualities such as performance and security. Execution views help in
evaluating physical distribution options and documenting decisions.
component
specification: components are identified and assigned responsibilities that
client components access through "contracted" interfaces. Component
interconnections specify communication and control mechanisms and allow component
interactions to accomplish system behavior.
key
architectural design principles including abstraction, separation of
concerns, postponing decisions, and simplicity, and related techniques such as interface
hiding and encapsulation, as well as system decomposition principles and good interface
design.
The Architecting Process
The technical process section is the
principal focus of the workshop, and covers:
Architectural
requirements: how to elicit and document functional (i.e., behavioral)
requirements and non-functional requirements (i.e., system qualities including run-time
qualities such as performance and reliability, and development-time qualities such as
evolvability/ extensibility and reusability).
System
Structuring: how to use architectural modeling to decompose the system,
evaluate architectural trade-offs, and document the system using different views.
Evaluation:
how to assess the system in terms of the system requirements.
The organizational process section covers:
Sponsorship:
how to gain the support of all levels of management affected by the architecture
Leadership:
how to create and lead the architecture team
Consulting:
how to assist the developer community in their use of the architecture to ensure its
successful adoption and appropriate use.
The Role and Responsibilities of the Architect
This section relates the responsibilities
and associated skills and attitudes of the architect to the architecting process.
Venue
This open
enrollment Software Architecture Workshop will be held at:
Elvetham
Hall Conference Center
Hartley Wintney
Hampshire RG27 8AR Tel:
(01252) 844871 For
information on the venue, places to stay, and so on, please see http://www.bredemeyer.com/Workshops/London.htm
ABOUT BREDEMEYER
CONSULTING|
Bredemeyer Consulting specializes in training and mentoring software architects. We
typically work with architecture teams, providing training and mentoring to accelerate
their creation or migration of an architecture. However, we do offer a limited number of
Software Architecture Workshops for open enrollment.
|