software archiecture lecture02
TRANSCRIPT
Architecture Business Cycle
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.
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.
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.
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.
What is Architecture
Saint Louis Gateway Arch.
What is ArchitectureTully Castle
What is Architecture
Folk Victorian
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 budget
● 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 environment
● The environment that is current when an architecture is designed will influence that architecture.– standard industry practices – software engineering techniques
Ramifications of influences
● Architects must identify and actively engage the stakeholders to solicit their needs and expectations
The loop of ABC
● The Architectures affect the factors that influence them.
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
●
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.
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
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.
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.
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.