Software Architecture

Tools & Methods

The SEI has developed and applied architecture tools and methods that can be used during various stages of the development life cycle:

  • Establishing requirements by analyzing the business drivers, system context, and factors that system stakeholders deem critical to success
  • Defining an architecture by developing architectural structures and coordination strategies that satisfy requirements
  • Evaluating the architecture by determining when and what methods of architecture evaluation are appropriate, conducting the evaluations, and applying the results to improve the developing architecture
  • Documenting the architecture in sufficient detail and in an easily accessible form for developers and other stakeholders
  • Analyzing the architecture for system performance, security, or safety using the Architecture Analysis and Design Language (AADL) through the Open Source AADL Tool Environment (OSATE)

The SOA Migration, Adoption, and Reuse Technique (SMART) helps organizations to make better decisions on their paths to adopting service-oriented architecture.

The Hard Choices board game is a simulation of the software development cycle meant to communicate the concepts of uncertainty, risk, options, and technical debt. 

Software Architecture Training and Publications

Software Architecture Training at the SEI

Software Architecture Publications


Find Us Here

Find us on Youtube  Find us on LinkedIn  Find us on twitter  Find us on Facebook

Share This Page

Share on Facebook  Send to your Twitter page  Save to  Save to LinkedIn  Digg this  Stumble this page.  Add to Technorati favorites  Save this page on your Google Home Page 

For more information

Contact Us


Help us improve

Visitor feedback helps us continually improve our site.

Please tell us what you
think with this short
(< 5 minute) survey.