Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type


Publication Date


Use of ACE for Improving a Software System

  • November 2012
  • By Felix Bachmann4935
  • In this webinar, we will show how the SEI's architecture methods can be used to improve an existing software system.
  • Software Architecture
  • Publisher: Software Engineering Institute
  • Watch

    Loading the video......
  • Abstract

    In this webinar, we will show how the SEI's architecture methods can be used to improve an existing software system. The example used in the webinar is based on the assumption that there is an existing software system (most common case) that has some issues that need to be fixed. We discuss how to analyze the problem to find the root cause(s), how to decide among alternative solutions, and how to ensure the correct implementation of the chosen solution. We also show how SEI's architecture methods and techniques, such as quality attribute scenarios, attribute-driven design, documentation, scenario-based peer reviews, active design, and conformance reviews are used in concert.

    Especially successful products must continuously evolve. They have shortcomings that need to be removed and they have to provide new capabilities. Not always is an obvious change the right one. Often quick fixes and extensions introduce unexpected issues that could have been avoided by doing a more thorough root-cause analysis. In the first part of the webinar, we discuss how to kick off an architecture-improvement activity by specifying a problem as a quality attribute scenario and how to examine the architecture to determine architecture elements contributing to the problem.

    Guided by the defined quality attribute scenario(s), in a second step we discuss how to determine possible solutions and how to be sure to pick the appropriate one. We then discuss how to support communication and understanding of the solution by the developers using active design and code reviews.

    From this webinar, you'll take away

    • appreciation of how an architecture-centric engineering approach smoothes the evolution and improvement of existing systems
    • understanding of how individual architecture activities work together
    • insight about using architecture activities to enliven your product development life

    About the Speaker

    Felix H. Bachmann is a Senior Member of the Technical Staff at the Software Engineering Institute (SEI) working in the Research, Technology, and System Solutions Program. Felix is a co-author of the Attribute-Driven Design Method, a contributor to and instructor for the ATAM Evaluator Training, a co-author of Documenting Software Architectures: Views and Beyond, and leading research on an architecture design expert. Before joining the SEI he was a software engineer at the Robert Bosch GmbH in Corporate Research, where he worked with software development departments to address the issues of increased features and higher quality in the call-control software—the core of telecommunications products. As a result of these efforts, Bosch developed the OTES (Objects Through Essential Services) Method, in which Felix played a decisive role. Felix also defined the corresponding software development process that describes in three levels how to develop high quality software in a timely fashion. Later he was a Resident Affiliate for Bosch at the SEI where he managed a collaboration in software architecture and product lines that was aimed at applying the SEI technology and methods in these areas within Bosch business units. Bachmann began his career in 1977, educating service staff on determining and rectifying software errors in the first computer controlled telecommunication systems.

  • Slides