The Architecture of Software-Intensive Systems

Under the auspices of the IEEE Software Engineering Competency Recognition Program (SECRP), the following two courses have been developed as a part of the curriculum on the Architecture of Software-Intensive Systems:
  • Concepts of the Architecture of Software-Intensive Systems
  • Principles of the Architecture of Software-Intensive Systems
  • Concepts of the Architecture of Software-Intensive Systems

    Description

    Architecture is recognized as a critical element in successful software-intensive systems—complex systems where software contributes essential influences to the design, construction, deployment and evolution of the system as a whole. There is a growing body of knowledge in the application of architectural concepts to these systems to achieve the benefits of reduced costs and improved system qualities such as usability, flexibility, reliability, and interoperability.

    This course is an introduction to the essential concepts of software-intensive systems architecture and the motivation for their use within the system life cycle—from system conception through system operation and evolution.

    The course is based on IEEE Standard P1471, Draft Recommended Practice on Architectural Description.

    Architectural description is the set of practices for defining, recording and analyzing a system's architecture in a concrete form. As such, it is the foundation for many other architectural activities of system development and design, maintenance and product evolution. Architectural description plays a role in:

    To this end, IEEE P1471 defines a set of practices for preparing an architectural description of a system—the key blueprints for that system. The practices codified by IEEE P1471 are applicable to individual systems and applications, systems of systems, product lines and whole enterprises.

    This course presents the conceptual framework for architectural description on which IEEE P1471 is based. It develops a working definition of "architecture" and related concepts applicable to software-intensive systems. It introduces and motivates the key concepts of architecture built upon that definition, as embodied in IEEE P1471. The course also covers the context and conduct of architectural activities within the life cycle; the architect's role in those activities; the relation of the architect to other system stakeholders; and explores the wide range of uses and applications of architectural descriptions by various stakeholders throughout the life cycle.

    On this foundation, the course introduces and motivates the key elements of architectural description, including: documentation requirements for architectural descriptions, stakeholders and their concerns, architectural views and viewpoints, and architectural modeling. Along the way, it applies the IEEE P1471 conceptual framework to survey other contemporary architectural techniques and tools.

    The course is designed to be delivered in various formats, ranging from introductory seminar at a high-level, to in-depth workshop targeting the specific needs of the students and their organizations. Material from the standard is supplemented with case studies drawn from various application areas (command and control, distributed systems, electronic commerce) and with exercises for the student.

    Audience

    This course is intended for anyone with an interest in architectural concepts; in particular those who have a role in architecture-related activities in the system life cycle. It serves as both an introduction to architectural thinking and an analysis of the draft standard. As such, it is appropriate for clients seeking to engage an architect; designers, program managers and those involved in system or product development; those who acquire, oversee and evaluate systems and their development; and other system stakeholders.

    Objectives

    Completing this course, the student will:


    Principles of the Architecture of Software-Intensive Systems

    Description

    Architecture is recognized as a critical element in successful software-intensive systems—complex systems where software contributes essential influences to the design, construction, deployment and evolution of the system as a whole. There is a growing body of knowledge in the application of architectural concepts to these systems to achieve the benefits of reduced costs and improved system qualities such as usability, flexibility, reliability, and interoperability.

    This course develops principles and practical approaches to software-intensive systems architecture, based on the foundation of IEEE Standard P1471, Draft Recommended Practice on Architectural Description. The course focuses on the preparation and use of Architectural Descriptions (ADs) as tangible artifacts. This includes:

    The course is designed to be scalable to the needs of the students and their organizations. It can be presented as a two-day seminar surveying existing approaches to architectural practice, or delivered as an intensive workshop, wherein students working on a system of interest can directly apply the concepts to their problem and gain feedback. Material from the standard is supplemented with case studies drawn from various application areas (command and control, distributed systems, electronic commerce) and with exercises for the student.

    Audience

    This course is intended primarily for those involved in architecture-related activities. This includes clients, developers, managers, acquirers and other system stakeholders. A prerequisite for this course is Concepts of the Architecture of Software-Intensive Systems.

    Objectives

    Completing this course, the student will:


    For more information on the Architecture of Software-Intensive Systems curriculum, contact Rich Hilliard. Back to IEEE 1471 Applications Page