Home > Architecture > Software Architecture

Software Architecture

“[Software] Architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution.” – IEEE

My understanding of the definition:

Organization of a system into subsystems

  • Functional organization / decomposition

Example: business / functional modules. In an Retail System it could the the Store, Order Processing, Shipping, Warehouse management, Payment Processing etc.

  • Implementation based organization / decomposition

Example: layers, tiers

Decisions which are hard to change at a later point in the lifetime of the system presented as strategies.

Example of decisions include (but are not limited to):

  • Where (between what layers) can an optional tier boundary be introduced.
  • How do we handle transactions
  • How do we handle exceptions and errors
  • How do we handle instrumentation
  • How do we handle / design the system for non-functional requirements a.k.a. quality attributes (security, performance, scalability etc)

Layers, Tiers, Quality Attributes, more to come. Stay tuned…

PS: I work in Business Applications and so you can see the writings biased on that side of things.

Advertisements
Categories: Architecture
  1. No comments yet.
  1. November 19, 2010 at 11:01 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: