Skip to main content

Introduction to Architecture: What is architecture?

The pursue of a good understanding of architecture and specially software architecture has been really into my mind for the past few months, and furthermore i have searched the internet for concepts and definitions. only to help get the grasp of what i need to understand. and i found a really good site it was amazingly simple and very easy in ways this guy defines architecture and inspired by his book which i gladly bought and this website i have decided to write something about it.  

First thing i understood is that you need to understand that architecture in so many ways have the same concept over so many industries whether its software construction..etc
and this whole article is totally applicable to any field architecture is applied to

The word architecture has many different meanings, variations and conceptual definitions searching here and there through friends and internet people seem to have their have these definitions accustomed to what they do or what they need as their work as architects or participants in the architectural phase, and here is a summary of those results,

• The things that are expensive to change
• The things that are difficult to change
• The big picture
• Ability to communicate (abstractions, language, vocabulary)
• A degree of rigidity and solidity
• Systems, subsystems, interactions and interfaces
• The outcome of strategic decisions
• Necessary constraints
• Strategy and vision
• Building blocks
• The system as a whole
• Awareness of environmental constraints and restrictions
• Foundations
• The skeleton/backbone of the product
• An abstract view
• The system as a whole
• The process to achieve a goal
• A blueprint
• Modules, connections, dependencies and interfaces
• Satisfying non-functional requirements/quality attributes
• Everything has “architecture”

Technically there are no end to those really I mean you could up with hundreds and hundreds and still won’t be able to lay your finger on what you are looking for, fortunately for the whole world there are two common themes Architecture as A noun and as A verb

As A Noun

So it can be summed as being about Structure and the decomposition of application into a collection of components and communications , taking into account the whole application as whole, including the foundations and infrastructure services that deal with cross-cutting concerns such as power/water/air conditioning (for a building) or security/configuration/error handling (for a piece of software).

As A Verb

It is about the process, the architecting. So it is defined in terms of what matters or shall I say what is needed to build, make a vision for construction and building and making design decisions and help it to success. So it is just about technical leadership. 


Popular posts from this blog

(AsyncWebClient) Async Webclient for windows phone 8

Using windows phone web client is pretty common but the thing is you can not use it using Async -> Await mechanism so i used threading to create an async functionality for The Download string and upload string methods here is the code below // Comment public class AsyncWebClient { public Task DownloadString(Uri uri) { var task = new TaskCompletionSource(); try { var client = new WebClient(); client.DownloadStringCompleted += (s, e) => { task.SetResult(e.Result); }; client.DownloadStringAsync(uri); } catch (Exception ex) { task.SetException(ex); } return task.Task; } public Task UploadString(Uri uri, string content) { var task = new TaskCompletionSource(); try { var client…

RuntimeBinderException cannot resolver property in Unit Test in case of dynamic return.. Solved

Xamarin UI Tests – Deep dive Part 1

IntroAs the title may describe this is the first of the series of articles that will cover the UI Test of Xamarin in a deep dive, we will start simple and then dig deeper as we go. Since this is very well the first of the series, it will mostly cover up the architecture and the testing technique that Xamarin UI Tests uses.

The Technology
Xamarin UI Test is an automation testing framework similar to selenium, Watir, Watin (.net), Robot and Sikuli, if you have used BDD (Behavioral Driven Development) or a more advanced TDD (Test Driven Development) approach at least you must have come across one of these frameworks, and in that perspective comes Xamarin UI Testing as an automation framework designed specifically for Xamarin Automation testing, For starter Xamarin UI Tests was not build from scratch, instead it was built on top of another UI Automation testing framework that is targeting android and iOS sepecifically which is Calabash, I have to say that this choice was made wisely as of n…