Software Systems Architecture

Nick Rozanski and Eoin Woods

[ HOME ] [ BOOK ] [ REVIEWS ] [ EVENTS ] [ RESOURCES ] [ LIBRARY ] [ ABOUT ]

News

Big in Japan

A Japanese translation of our book was published on 2 December 2008 and has already received three five-star reviews on Amazon Japan.
Amazon Japan

Architectural Training

Rebecca Wirfs-Brock has developed a course, based in part on our book, which provides software architects with skills and knowledge that enable them to prepare, present, and explain their architectures to diverse stakeholders.
Wirfs-Brock Associates

Amazon Reviews

We now have fifteen five-star reviews on Amazon.com. Thanks to all who have provided such strong endorsements. We are really pleased that people are finding it so useful.
Reviews Page

Functional Viewpoint

The Functional view of a system defines the architectural elements that deliver the system's functionality. The view documents the system's functional structure-including the key functional elements, their responsibilities, the interfaces they expose, and the interactions between them. Taken together, this demonstrates how the system will perform the functions required of it.

The Functional view is the cornerstone of most ADs and is often the first part of the description that stakeholders try to read. (Too often, it is also the only view of the architecture produced.) It is probably the easiest view for stakeholders to understand. The Functional view usually drives the definition of the other architectural views (Information, Concurrency, Development, Deployment, and Operational). You will almost always create a Functional view and will often spend most of your time defining and refining it.

As with all of the other views, the challenge when defining the Functional view is to include an appropriate level of detail. Focus on what is architecturally significant-in other words, what has a visible impact on stakeholders-and leave the rest to your designers.

Definition Describes the system's runtime functional elements and their responsibilities, interfaces, and primary interactions
Concerns- functional capabilities
- external interfaces
- internal structure
- design philosophy
Models- functional structure model
Pitfalls- poorly defined interfaces
- poorly understood responsibilities
- infrastructure modeled as functional elements
- overloaded view
- diagrams without element definitions
- difficulty in reconciling the needs of multiple stakeholders
- inappropriate level of detail
- 'God' elements
- too many dependencies
Stakeholders All stakeholders
Applicability All systems

find out more about the Functional viewpoint ...

Reference

Viewpoints

Introduction

Functional

Information

Concurrency

Development

Deployment

Operational

Main Perspectives

Introduction

Security

Performance and Scalability

Availability and Resilience

Evolution

Other Perspectives

Accessibility

Development Resource

Internationalization

Location

Regulation

Usability