Software Systems Architecture

The 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.

Definition Describes the way that the system stores, manipulates, manages, and distributes information
Concerns
  • information structure and content
  • information purpose and usage
  • information ownership
  • enterprise-owned information
  • identifiers and mappings
  • volatility of information semantics
  • information storage models
  • information flow
  • information consistency
  • information quality
  • timeliness, latency, and age
  • archiving and information retention
Models
  • static information structure models
  • information flow models
  • information lifecycle models
  • information ownership models
  • information quality analysis
  • metadata models
  • volumetric models
Pitfalls
  • representation incompatibilities
  • unavoidable multiple updaters
  • key-matching deficiencies
  • interface complexity
  • overloaded central database
  • inconsistent distributed databases
  • poor information quality
  • excessive information latency
  • inadequate volumetrics
Stakeholders Primarily users, acquirers, developers, testers, and maintainers, but most stakeholders have some level of interest
Applicability Any system that has more than trivial information management needs

← The Functional Viewpoint     |     Viewpoints    |     The Concurrency Viewpoint →