Software Architecture

© Ingo Arnold Department Computer Science University of Basel Introduction Software Architecture Architecture Approximation & Definition(s) Lecture...
Author: Gabriella McGee
1 downloads 0 Views 4MB Size
© Ingo Arnold

Department Computer Science University of Basel

Introduction

Software Architecture Architecture Approximation & Definition(s) Lecture Introduction

What do we deal with by the way?  We … • Plan & Define • Architect & establish • Maintain & operate

… our Company’s Information System …

Department of Computer Sciences – University of Basel 2

What do we deal with by the way?  What is a Company Information System? • Flight Booking System @ Lufthansa, Germany, mid 60ies

Department of Computer Sciences – University of Basel 3

What do we deal with by the way?  A Company Information System is comprised of ... • Processes

Department of Computer Sciences – University of Basel 4

What do we deal with by the way?  A Company Information System is comprised of ... • Function points and applications

Department of Computer Sciences – University of Basel 5

What do we deal with by the way?  A Company Information System is comprised of ... • Data, Data Structures and Data Containers (Folders, Binders et al)

Department of Computer Sciences – University of Basel 6

What do we deal with by the way?  A Company Information System is comprised of ... • Some sorts of technological infrastructure and underpinnings

Department of Computer Sciences – University of Basel 7

What do we deal with by the way?  What has changed is that ... • „Things“ have taken off the ground ...

• ... and become ... -

Virtual Clonable Shippable Configurable Investigable Deletable

.. far beyond what was possible in the „things“ world of the mid 60ies Department of Computer Sciences – University of Basel 8

Architecture is not new  The Solution Architect in the 60ies had to arrange processes, data, applications, tools, spaces and other means, fundamental to the given business models …

Department of Computer Sciences – University of Basel 9

Architecture is not new  … similar to what the Solution Architects have to in 2008

... but the means changed in the meantime Department of Computer Sciences – University of Basel 10

Architectural disorientation Why bother?

Department of Computer Sciences – University of Basel 11

Architecture Disorientation Question for You Please think broadly about this and shout out all aspects and dimensions that span the concept of «Architecture» in an IT context

Department of Computer Sciences – University of Basel 12

Architectural disorientation Why bother?

 What is architecture?  What are you expected to do as an architect?

 How is architecture manifested?

A tube

A brush

Department of Computer Sciences – University of Basel 13

Architectural disorientation Why bother?

 How do you distinguish good from bad architecture?  Where and when does architecture occur?

 Why is architecture to be developed – why is it useful?  Whereby is architecture developed?  Who is responsible for architecture?  How do you approach architecture?  What do you need to know as an architect?

Department of Computer Sciences – University of Basel 14

Let’s do some Architecture Architecture Fingerfood

Department of Computer Sciences – University of Basel 15

Architectural disorientation Why bother?

 Let’s stroll through an “architecture” flip-book

Department of Computer Sciences – University of Basel 16

every “thing” has an architecture

consciously created – or not

architecture is inherent

architecture does not stand still architecture evolves

architecture does not stand still architecture evolves

there is no architecture module not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

architecture is intangible in a system

architectures are models of systems not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

models reduce complexity

INPUT

PROCESS

OUTPUT

architecture models focus main pillars

what is „main“ depends on viewpoint

Solution context A

Solution context B

architecture = system holism Stakeholder View Function / Process View

Component View

Deployment View Operational View

Function1

Function2

Function3

a view serves a specific viewpoint Aarau – public reality transport model population density buffer zones

architecture is continuous ...

... even beyond projects

architecture balances stakeholder needs Sponsor

Maintainer

Customer

Architecture

Project Manager

End User

Maintainer

architecture = long lasting decisions

architecture underpins quality attributes Availability Reliability

Security

Reusability

Performance & Scalability

Extensibility Evolution

Maintainability & Operability

architectures are models of systems not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

not the architecture module

models can show static aspects

models can show dynamic aspects

models can capture as-is

models can show the to-be

models can describe one system

models can describe many systems

models can be very detailed

models can be very abstract

models can show functional aspects

... deployment aspects ...

... development aspects ...

... information aspects ...

... security aspects ...

... availability aspects ...

... performance aspects ...

... evolution aspects

Architecture is mainly about quality

Architecture is not always equally relevant

Architecture has a diminishing ROI

Patterns of Architecture are captured as Architecture Styles Freiburger Münster (Gotik)

Notre Dame (Romanik)

Questions?

Department of Computer Sciences – University of Basel 56