software archiecture lecture02
TRANSCRIPT
![Page 1: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/1.jpg)
Architecture Business Cycle
![Page 2: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/2.jpg)
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.
![Page 3: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/3.jpg)
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.
![Page 4: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/4.jpg)
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.
![Page 5: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/5.jpg)
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.
![Page 6: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/6.jpg)
What is Architecture
Saint Louis Gateway Arch.
![Page 7: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/7.jpg)
What is ArchitectureTully Castle
![Page 8: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/8.jpg)
What is Architecture
Folk Victorian
![Page 9: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/9.jpg)
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.
![Page 10: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/10.jpg)
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
![Page 11: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/11.jpg)
Influenced by the Developing ORG
● Staff skills ,development schedule and budget
● Immediate business investment● Long-term business investment● Organization structure
![Page 12: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/12.jpg)
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
![Page 13: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/13.jpg)
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
![Page 14: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/14.jpg)
Ramifications of influences
● Architects must identify and actively engage the stakeholders to solicit their needs and expectations
![Page 15: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/15.jpg)
The loop of ABC
● The Architectures affect the factors that influence them.
![Page 16: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/16.jpg)
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
●
![Page 17: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/17.jpg)
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.
![Page 18: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/18.jpg)
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
![Page 19: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/19.jpg)
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.
![Page 20: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/20.jpg)
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.
![Page 21: Software archiecture lecture02](https://reader034.vdocuments.site/reader034/viewer/2022052618/554e20c8b4c90571798b4cf3/html5/thumbnails/21.jpg)
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.