software archiecture lecture02

21
Architecture Business Cycle

Upload: luktalja

Post on 09-May-2015

683 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Software archiecture   lecture02

Architecture Business Cycle

Page 2: Software archiecture   lecture02

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

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

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

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

What is Architecture

Saint Louis Gateway Arch.

Page 7: Software archiecture   lecture02

What is ArchitectureTully Castle

Page 8: Software archiecture   lecture02

What is Architecture

Folk Victorian

Page 9: Software archiecture   lecture02

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

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

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

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

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

Ramifications of influences

● Architects must identify and actively engage the stakeholders to solicit their needs and expectations

Page 15: Software archiecture   lecture02

The loop of ABC

● The Architectures affect the factors that influence them.

Page 16: Software archiecture   lecture02

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

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

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

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

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

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.