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

Information Viewpoint

The ultimate purpose of any information system is, of course, to manipulate data in some form. This data may be stored persistently in a database management system, in ordinary files, or in some other storage medium such as flash memory, or it may be transiently manipulated in memory while a program executes.

Nowadays, many organizations possess massive amounts of information on their customers, their products or services, their own internal processes, and their competitors. Although some of this information may be hard to access, inconsistent, and inaccurate, it still represents a substantial asset—one that, if correctly used, can bring substantial benefits. We see this often, in large systems integration projects that attempt to bring together information from a variety of sources to produce a consolidated customer view, an integrated view of the supply chain, or an accurate financial picture.

Formal data modeling and design can be a long and complex process. As an architect, you can do data modeling only at an architecturally significant level of detail. You need to focus on those aspects of the data model where getting it wrong would affect the system as a whole rather than just a part of it. Your task is to develop a complete but high-level view of static information structure and dynamic information flow, with the objective of answering the big questions around ownership, latency, references, and so forth. You use the Information view to answer, at an architectural level, questions about how your system will store, manipulate, manage, and distribute information.

Definition Describes the way that the architecture stores, manipulates, manages, and distributes information
Concerns- information structure and content
- information flow
- data ownership
- timeliness, latency, and age
- references and mappings
- transaction management and recovery
- data quality
- data volumes
- archives and data retention
- regulation
Models- static data structure models
- information flow models
- information lifecycle models
- data ownership models
- data quality analysis
- metadata models
- volumetric models
Pitfalls- data incompatibilities
- poor data quality
- unavoidable multiple updaters
- key matching deficiencies
- poor information latency
- interface complexity
- inadequate volumetrics
Stakeholders Primarily users, acquirers, developers, and maintainers, but most stakeholders have some level of interest
Applicability Any system that has more than trivial information management needs

find out more about the Information 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