The Swedish Ship Vasa
● In the 1620s, Sweden an Poland were at war.
● Gustavus Adolphus, The King of Sweden
commissioned a new warship, The Vasa.
● 70 meters long, carry 300 soldiers, 64 heavy
guns mounted on two gun decks.
● Henrik Hybertsson , a seasoned Dutch
shipbuilder were assigned to this task.
● His experience told him to design the Vasa as
though it were a single-gun-deck ship and
● Luckily, Hybertsson die about a year before
the ship was finished.
● On Sunday morning, August 10, 1628, the
mighty ship was ready. She set her sails, fired
her guns in salute, and promptly rolled over.
Why it Fail?
● Hybertsson had to balance many concerns
– Time to deployment was critical
● He was also responsible to a variety of
– the primary customer was the king
– the crew that would sail his creation
● Hybertsson did a poor job of balancing all of
the conflicting constraints.
You will learn
● Case studies of successful architectures
crafted to satisfy demanding requirements,
so as to help set the technical playing field of
● Methods to assess an architecture before any
system is built from it, so as to mitigate the
risks associated with launching
● Techniques for incremental architecture-
based development, so as to uncover design
flaws before it is too late to correct them.
What is Architecture
● An architecture is the result of a set of
business and technical decisions
● Software architecture is a result of technical,
business and social influences.
Influenced by System Stakeholders
● Stakeholders : Many people and
organizations are interested in the
construction of a software system.
– The customer
– The end users
– The developers
– The project manager
– The maintainers
Influenced by the Developing ORG
● Staff skills ,development schedule and
● Immediate business investment
● Long-term business investment
● Organization structure
Influenced by the background and
experience of the Architect
● Success or Fail from project in the pass.
● Education and training
● Exposure to successful architectural patterns
● Or exposure to systems that have worked
particularly poorly or particularly well
Influenced by the Technical
● The environment that is current when an
architecture is designed will influence that
– standard industry practices
– software engineering techniques
Ramifications of influences
● Architects must identify and actively engage
the stakeholders to solicit their needs and
The loop of ABC
● The Architectures affect the factors that
How cycle work
● The architecture can affect
– The structure of the developing organization
– The goals of the developing organization.
– Customer requirements for the next system
How cycle work
● The process of system building will affect the
architect's experience with subsequent
● A few systems will influence and actually
change the software engineering culture, that
is, the technical environment in which system
builders operate and learn.
● Creating the business case for the system
● Understanding the requirements
● Creating or selecting the architecture
● Documenting and communicating the
● Analyzing or evaluating the architecture
● Implementing the system based on the
Rules of Thumb
● The Architecture
– should be the product of a single architect or
small group of architects with an identified
– should be well documented.
– should be circulated to the system's
– should be analyzed for applicable quantitative
measures in early stage.
Rules of Thumb
● The Architecture should feature well-defined
● Quality attributes should be achieved
● The architecture should never depend on a
particular version of a commercial product or
● separate data producing modules from data
● Architecture is result of functional requirements ,the
architect's background, the technical environment
within which the architect lives, and the sponsoring
organization's business goals
● The architecture in turn influences the environment
that spawned it
● We introduced the Architecture Business Cycle
● We posited a set of rules of thumb that generally lead
to successful architectures.