11.01.2017 Views

A Technical History of the SEI

ihQTwP

ihQTwP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

case). This structural modeling approach enabled developers to reduce complexity and facilitate<br />

changeability. The <strong>SEI</strong> also developed a reference model and supporting tools. The benefits included<br />

significant reductions in test problems (from 2,000–3,000 to 600–700), in staff requirements<br />

for installation, in test expense, in defects, and in side effects from s<strong>of</strong>tware changes.<br />

The U.S. Department <strong>of</strong> Transportation and <strong>the</strong> DoD asked <strong>the</strong> <strong>SEI</strong> to join Lincoln Laboratory in<br />

conducting an independent technical assessment (ITA) <strong>of</strong> a problematic FAA upgrade <strong>of</strong> <strong>the</strong> inflight<br />

air traffic control system. This FAA study included three FAA members contributing insights<br />

and documents. The team began to investigate <strong>the</strong> underlying s<strong>of</strong>tware structure and concluded<br />

that it was sound and <strong>the</strong> upgrade project could be salvaged. The team provided a 14-point<br />

list <strong>of</strong> recommendations, which <strong>the</strong> FAA implemented. As a result, <strong>the</strong> contractor completed <strong>the</strong><br />

upgrade, which went smoothly [Brown 1995]. The system is in use today. This experience encouraged<br />

<strong>the</strong> <strong>SEI</strong> to begin thinking more deeply about s<strong>of</strong>tware architecture.<br />

Earlier, <strong>the</strong> <strong>SEI</strong> had embarked on <strong>the</strong> development <strong>of</strong> a user interface management system<br />

(UIMS) intended to simplify <strong>the</strong> creation and modification <strong>of</strong> <strong>the</strong> user interface for interactive applications.<br />

Because <strong>the</strong> user interface is one <strong>of</strong> <strong>the</strong> most highly modified portions <strong>of</strong> most systems,<br />

special attention was needed to support <strong>the</strong> modification <strong>of</strong> <strong>the</strong> user interface. The Serpent UIMS<br />

consisted <strong>of</strong> a language for specifying <strong>the</strong> user interface, a compiler for that language, and a<br />

runtime engine to support <strong>the</strong> execution <strong>of</strong> <strong>the</strong> language. It was based on <strong>the</strong> architectural principle<br />

<strong>of</strong> separating <strong>the</strong> user interface from <strong>the</strong> remainder <strong>of</strong> <strong>the</strong> system to allow for <strong>the</strong> user interface<br />

to change without affecting any <strong>of</strong> <strong>the</strong> o<strong>the</strong>r code in <strong>the</strong> system. Again <strong>the</strong> notion <strong>of</strong> s<strong>of</strong>tware architecture<br />

had become evident.<br />

Because Serpent was one <strong>of</strong> a number <strong>of</strong> competing UIMSs, <strong>the</strong> <strong>SEI</strong> developed a method for comparing<br />

alternative designs for UIMSs to achieve <strong>the</strong> same functionality. This method—<strong>the</strong> S<strong>of</strong>tware<br />

Architecture Analysis Method (SAAM)—was useful in a more general context than <strong>the</strong> user<br />

interface domain and was based on recognizing that different systems, even in <strong>the</strong> same domain,<br />

may be created with different business goals. Business goals, such as length <strong>of</strong> use <strong>of</strong> <strong>the</strong> system,<br />

time to market, and execution within particular environments, led to different design choices.<br />

SAAM included a step in which <strong>the</strong>se goals were explicitly stated so that design decisions could<br />

be evaluated against <strong>the</strong> goals.<br />

The <strong>SEI</strong> first presented <strong>the</strong> SAAM at <strong>the</strong> International Conference on S<strong>of</strong>tware Engineering<br />

(ICSE) in 1994. The SAAM was based on <strong>the</strong> development and evaluation <strong>of</strong> scenarios for determining<br />

<strong>the</strong> ability to achieve defined business goals. O<strong>the</strong>r methods in use at that time employed<br />

checklists (AT&T) and surveys (Siemens). The SAAM was seminal in <strong>the</strong> use <strong>of</strong> scenarios to perform<br />

architecture evaluation. Ano<strong>the</strong>r scenario-based method, 4+1 View [Krutchen 1995], was<br />

developed concurrently at Rational. The <strong>SEI</strong> published a report for executives about s<strong>of</strong>tware architecture<br />

in 1996 [Clements 1996].<br />

SAAM led directly to <strong>the</strong> Architecture Trade<strong>of</strong>f Analysis Method (ATAM), which evaluated a<br />

system for a collection <strong>of</strong> quality attributes (non-functional requirements) in addition to <strong>the</strong> modifiability<br />

<strong>of</strong> <strong>the</strong> user interface. Quality attribute requirements, such as those for performance, security,<br />

reliability, and usability, have a significant influence on <strong>the</strong> success <strong>of</strong> a system. The notion<br />

<strong>of</strong> paying attention to quality attributes first emerged from <strong>SEI</strong> work on Durra, a task-level appli-<br />

CMU/<strong>SEI</strong>-2016-SR-027 | SOFTWARE ENGINEERING INSTITUTE | CARNEGIE MELLON UNIVERSITY 234<br />

Distribution Statement A: Approved for Public Release; Distribution is Unlimited.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!