08.09.2013 Views

Microsoft .NET: Architecting Applications for the Enterprise ... - BattleIT

Microsoft .NET: Architecting Applications for the Enterprise ... - BattleIT

Microsoft .NET: Architecting Applications for the Enterprise ... - BattleIT

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.

Chapter 1 Architects and Architecture Today 7<br />

(with a specifi ed name) that is executed by <strong>the</strong> element where <strong>the</strong> connector starts and that<br />

affects <strong>the</strong> target. So, <strong>for</strong> example, <strong>the</strong> System fulfi lls one or more Missions; <strong>the</strong> Environment<br />

(context) infl uences <strong>the</strong> System; a Concern is important to one or more Stakeholders; <strong>the</strong><br />

System has an Architecture.<br />

Describing <strong>the</strong> Architecture<br />

As you can see in Figure 1-1, <strong>the</strong> Architecture is described by one Architectural Description.<br />

How would you describe <strong>the</strong> architecture to stakeholders?<br />

The key messages about an architecture are its components and classes, <strong>the</strong>ir mapping onto<br />

binaries, <strong>the</strong>ir relationships and dependencies, usage scenarios, and detailed work fl ows <strong>for</strong><br />

key operations. How would you render all <strong>the</strong>se things?<br />

A very popular choice is UML diagrams.<br />

UML is also a recognized international standard—precisely, ISO/IEC 19501 released in<br />

2005. You create UML class diagrams to show relationships between classes; you employ<br />

use-case diagrams to present usage scenarios; you create component diagrams to capture<br />

<strong>the</strong> relationships between reusable parts of a system (components) and see more easily how<br />

to map <strong>the</strong>m onto binaries. In some cases, you can also add some sequence diagrams to<br />

illustrate in more detail <strong>the</strong> workfl ow <strong>for</strong> some key scenarios. These terms are defi ned and<br />

discussed in more detail in Chapter 2, “UML Essentials.”<br />

At <strong>the</strong> end of <strong>the</strong> day, you serve different and concurrent views of <strong>the</strong> same architecture and<br />

capture its key facts.<br />

Note The same principle of offering multiple views from distinct viewpoints lies behind ano<strong>the</strong>r<br />

vendor-specifi c model <strong>for</strong> architectural description—IBM/Rational’s 4+1 views model. The model<br />

defi nes four main views—nearly equivalent to UML diagrams. These views are as follows:<br />

The logical view, which describe components<br />

The process view, which describes mapping and dependencies<br />

The development view, which describes classes<br />

The physical view, which (if necessary) describes mapping onto hardware<br />

The fi fth, partially redundant, view is <strong>the</strong> scenario view, which is specifi c to use cases.<br />

Validating <strong>the</strong> Architecture<br />

How would you validate <strong>the</strong> design to ensure that stakeholders’ concerns are properly<br />

addressed?<br />

There’s no magic wand and no magic <strong>for</strong>mulas that take a more or less <strong>for</strong>mal defi nition<br />

of an architecture as input and tells you whe<strong>the</strong>r it is appropriate <strong>for</strong> <strong>the</strong> expressed

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

Saved successfully!

Ooh no, something went wrong!