26
DISIM Dept. of Information Engineering, Computer Science and Mathematics Universityof L’Aquila, Italy Welcome Henry Muccini [email protected]

00_Welcome to the Software Architecture Course

Embed Size (px)

Citation preview

Page 1: 00_Welcome to the Software Architecture Course

DISIM

Dept. of Information Engineering, Computer Science and Mathematics

University of L’Aquila, Italy

Welcome

Henry Muccini

[email protected]

Page 2: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Welcome

Page 3: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

The material in these slides may be freely reproduced

and distributed, partially or totally, as far as an explicit

reference or acknowledge to the material author is

preserved.

Henry Muccini

Page 4: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

WELCOME

Page 5: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Henry Muccini, Ph.D.Prof. in Computer ScienceInternational aspects

My Research in Software Engineering:

o Software Architecture

o Software Testing

o Model Driven Engineeering

o Mobile Computing

Teaching:

o Software Engineering

o Software Architecture

o Progettazione UML per il Web (MWT)

Page 6: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Page 7: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Tell me something about you

Page 8: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

THE CONTEXT… SOME YEARS AGO…

Waterfall model (Royce 1970)

Waterfall modelRoyce, 1970

» Linear, sequential

» An ideal model

» The output of each phase is the input to the next one

[Figure from Ian Sommerville]

Programming Languages:

Pascal, Fortran, Cobol, …

Page 9: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

» Evolutionary processes:

- Exploratory development

- Throw-away prototyping

» Spiral, Boehm, 1985

Objectives Analyse and Evaluate

Plan nextphase

Development and test

Page 10: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

WHAT IS GOING ON WITH SOFTWARE?

Page 11: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

What is happening…

Bigger and bigger systems

USA space program

1960 19801970 1990 2000

0

25

50

75

100

. . .

.

.Mercury

Gemini

Apollo

Space

Ship

Space

Station

Millions of instructions

YEAR

Page 12: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

http://www.informationisbeautiful.net/visualizations/million-lines-of-code/

Page 13: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

http://www.informationisbeautiful.net/visualizations/million-lines-of-code/

Page 14: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

It is not just a matter of

LOC!!!

«difficult» and

competing requirements

Page 15: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

1994 1996 1998 2000 2002 2004 2009

Succeeded 16% 27% 26% 28% 34% 29% 32%

Failed 31% 40% 28% 23% 15% 18% 24%

Challenged 53% 33% 46% 49% 51% 53% 44%

� See more at: http://www.projectred.org/latest-

news/190-software-project-failure-costs-billions-

better-estimation-planning-can-help.html

Standish Findings By Year Updated for 2009

Page 16: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

... Failures in Big Projects...

Air Traffic Control

Real-time system, composed by 1.000.000 LOCs,

distributed among a hundred of computers

Expected cost: 500 $ for LOC

Real cost: 700-900 $ for LOC

Cause: average every line of code had to be rewritten

once

5 years delay with a surcharge of about “1 billion

dollars”

J. Rost and R. L. Glass, The Dark Side of Software Engineering:

Evil on Computing Projects, John Wiley & Sons, 2011.

Page 17: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Therac-25 safety failure:

•approximately 100 times the intended dose of

radiation

•3 people died, and 6 got injured

see article at: http://sunnyday.mit.edu/papers/therac.pdf

Factors:

•Overconfidence in

Software

•Confusing reliability

with safety

•Lack of defensive Design

•Failure to eliminate

fault causes

•Inadequate software

engineering practices

•…

Page 18: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

The Skype

pervasive

failures:

•Black out for two hours

•Europe, Japan, Australia,

Afghanistan, Sud Africa,

Malesia and Brasil have

been affected

Page 19: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

[Fatal Defect, Ivars Peterson, 1995]

Half book is about failures in software development

Page 20: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

… need …

To Design Software

→ Software development has to be a systematic activity

(Early) Quality Assurance

→ To discover issues as soon as possible

Abstraction:

→ To take complexity managable

For achievieng those goals, this course will use a:

→ Model-Driven Engineering approach to Architectural Design

Page 21: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

What You Will Learn in This Course

→ Software architectures

─ Why we need it

─ SA styles

─ Architecture Description Languages

─ Design Decisions

─ Views and Viewpoints

─ …

Page 22: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Lectures

Labs

Projects

Exams

Page 23: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

� Project � Oral examination

� Project � Oral examination

� Following given templates� Some of them with project management tasks

Page 24: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Course Web Site

https://app.schoology.com/course/383006041/materials

CODE:

XQKSQ-Q886X

https://goo.gl/1SyGQC

Page 25: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

There is not one predefined textbook:

You have to study on the:

Page 26: 00_Welcome to the Software Architecture Course

SEA GroupSEA Group

Advanced Software

Engineering Project