Software Architecture Course Provides Guidance for Achieving Six Key System Qualities

Share Article

Popular Software Engineering Institute Course Now Available Online

Rob Wojcik, instructor for the SEI's Software Architecture: Principles and Practices course

It’s the architecture that’s going to determine whether or not we achieve system quality requirements.

“Organizations are increasingly finding that qualities such as security, performance, and modifiability determine how successful their software-reliant products are,” says Rob Wojcik, a senior researcher at the Software Engineering Institute (SEI) and an instructor for the SEI’s Software Architecture: Principles and Practices course. The popular course is now available in an online version that allows students to learn at their own pace from the comfort of their own desk.

The key to delivering software-reliant products with the qualities that meet customer expectations is software architecture. “It’s the architecture that’s going to determine whether or not we achieve system quality requirements,” says Wojcik.

Realizing the benefits of using software architecture requires skill and understanding, which the Software Architecture: Principles and Practices course aims to provide. In the course Wojcik explains the many benefits of using software architecture to expose risks early, prevent future problems, avoid costly rework, and provide cost-effective, efficient maintenance. An effective use of software architecture also results in more accurate prediction of system qualities, creating opportunities for competitive advantage.

In particular, the course familiarizes students with architecture tactics and how they are used to achieve six key system qualities. Tactics are the “building blocks” or options for design, Wojcik explains.

For example, to achieve availability, architecture practitioners need to make decisions about using tactics for fault detection, fault recovery preparation and repair, fault recovery and reintroduction, and fault prevention. Similarly, for performance, practitioners look at the demand on the system, as well as how resources are managed. Where security is deemed crucial, designers apply tactics for resisting, detecting, and recovering from attacks. Other system qualities that the course explores include modifiability, testability, and usability.

“The course also provides students with an opportunity to apply the tactics that they learn through a scenario-based exercise in which they choose tactics to achieve a system quality and gauge the effect of those tactics on other important system qualities,” says Wojcik.
The Software Architecture: Principles and Practices course can be taken in SEI training centers or through the new online option. Both offerings provide solid content that features significant use of real-world case studies and exercises. For more information about the Software Architecture: Principles and Practices course, visit the training section of the SEI website.

About the Software Engineering Institute
The Software Engineering Institute (SEI) is a U.S. Department of Defense federally funded research and development center operated by Carnegie Mellon University. The SEI helps organizations make measured improvements in their software engineering capabilities by providing technical leadership to advance the practice of software engineering. For more information, visit the SEI website at

SEI Public Relations
Dana Hanzlik
Tel: 412-268-4793

# # #

Share article on social media or email:

View article via:

Pdf Print