2. 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.
3. Story
● 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
then extrapolate.
● 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.
4. Why it Fail?
● Hybertsson had to balance many concerns
– Time to deployment was critical
– Performance
– Functionality
– Safety
– Reliability
– Cost
● He was also responsible to a variety of
stakeholders.
– 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.
5. You will learn
● Case studies of successful architectures
crafted to satisfy demanding requirements,
so as to help set the technical playing field of
the day.
● Methods to assess an architecture before any
system is built from it, so as to mitigate the
risks associated with launching
unprecedented designs.
● Techniques for incremental architecture-
based development, so as to uncover design
flaws before it is too late to correct them.
9. 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.
10. 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
11. Influenced by the Developing ORG
● Staff skills ,development schedule and
budget
● Immediate business investment
● Long-term business investment
● Organization structure
12. 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
13. Influenced by the Technical
environment
● The environment that is current when an
architecture is designed will influence that
architecture.
– standard industry practices
– software engineering techniques
14. Ramifications of influences
● Architects must identify and actively engage
the stakeholders to solicit their needs and
expectations
15. The loop of ABC
● The Architectures affect the factors that
influence them.
16. 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
● Reliable
● Timely
● Economic
●
17. How cycle work
● The process of system building will affect the
architect's experience with subsequent
systems.
● A few systems will influence and actually
change the software engineering culture, that
is, the technical environment in which system
builders operate and learn.
18. Software Process
● Creating the business case for the system
● Understanding the requirements
● Creating or selecting the architecture
● Documenting and communicating the
architecture
● Analyzing or evaluating the architecture
● Implementing the system based on the
architecture
19. Rules of Thumb
● The Architecture
– should be the product of a single architect or
small group of architects with an identified
leader.
– should be well documented.
– should be circulated to the system's
stakeholders.
– should be analyzed for applicable quantitative
measures in early stage.
20. Rules of Thumb
● The Architecture should feature well-defined
modules
● Quality attributes should be achieved
● The architecture should never depend on a
particular version of a commercial product or
tool
● separate data producing modules from data
consuming modules.
21. Summary
● 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.