software engineering: what is that?

38
Software Engineering: what is that? Henry Muccini [email protected]

Upload: henry-muccini

Post on 13-Apr-2017

481 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Software Engineering: What is That?

Software Engineering: what is that?

Henry Muccini [email protected]

Page 2: Software Engineering: What is That?

SEA 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 3: Software Engineering: What is That?

SEA Group

Welcome to the Software Engineering Course

Software Engineering: what is that?

o how it relates to previous courses?

o What «Software Engineering» means?

Course Objective

Course plan

Page 4: Software Engineering: What is That?

SEA Group

WELCOME

Page 5: Software Engineering: What is That?

SEA 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: Software Engineering: What is That?

SEA Group

Page 7: Software Engineering: What is That?

SEA Group

Tell me something about you

Page 8: Software Engineering: What is That?

SEA Group

Phrase of the day

� Take Notes, Take Notes, Take Notes

� You are not anymore used to take notes!!

� Most of the material comes from experience, not from

books

� Ask questions, Ask questions, Ask questions

� That is the main way to interact

� This is not high school

Page 9: Software Engineering: What is That?

SEA Group

SOFTWARE ENGINEERING:

WHAT IS THAT?

Page 10: Software Engineering: What is That?

SEA Group

Algorithms

Operating

systems

Data

Structures

Programming

Languages

DatabasesComputer

Architecture

Math

Page 11: Software Engineering: What is That?

SEA Group

Let us put the pieces together, on…

Page 12: Software Engineering: What is That?

SEA Group

Discussion:

On the relationship between SE

and Computer Science

Page 13: Software Engineering: What is That?

SEA Group

There is much more:

http://www.boeing.com/commercial/aeromagazine/a

ero_05/textonly/ps02txt.html#table1

Page 14: Software Engineering: What is That?

SEA Group

discussion

Page 15: Software Engineering: What is That?

SEA Group

Page 16: Software Engineering: What is That?

SEA Group

Page 17: Software Engineering: What is That?

SEA Group

There are 100s definitions!!!

“Application of a systematic, disciplined, quantifiable

approach to the development, operation, and

maintenance of software; that is, the application of

engineering to software” (IEEE 1990)

“The application of a systematic, disciplined,

quantifiable approach to the development, operation,

and maintenance of software, and the study of these

approaches; that is, the application of engineering to

software” (Wikipedia)

Page 18: Software Engineering: What is That?

SEA Group

Set of automated methods

to systematically develop quality software

that fulfils customer needs

while satisfying existing constraints

discussion

Page 19: Software Engineering: What is That?

SEA Group

Page 20: Software Engineering: What is That?

SEA Group

Page 21: Software Engineering: What is That?

SEA Group

Page 22: Software Engineering: What is That?

SEA Group

Page 23: Software Engineering: What is That?

SEA Group

o The final Software doesn´t fulfill

the needs of the customer

o Hard to extend and improve:

if you want to add a functionality

later is mission impossible

o Bad documentation

o Bad quality: frequent errors, hard

to use, ...

o More time and costs than

expected

o Social aspects of teamwork

Page 24: Software Engineering: What is That?

SEA Group

o It does what expected by the customer/user +

o It implements the «wanted» qualities +

o It satisfies existing constrains +

o It can be easily revised, extended, evolved …

o … and more!

Page 25: Software Engineering: What is That?

SEA Group

discussion

Page 26: Software Engineering: What is That?

SEA 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 27: Software Engineering: What is That?

SEA Group

http://www.devtopics.com/20-famous-software-disasters/

Page 28: Software Engineering: What is That?

SEA Group

Field of computer science dealing with software systems

that are:

• large and complex =complex? large?

• built by teams =people!, communication, …

• exist in many versions =version control

• last many years =engineered to be sustainable

• Undergo changes =evolves

Page 29: Software Engineering: What is That?

SEA Group

Requirements/User

stories

Software Design

Implementation

Testing

Maintenance

Sw

Process

Quality

Assurance

Human

Aspects

Activities

Page 30: Software Engineering: What is That?

SEA Group

Preface @ «Object-Oriented Software Engineering –

using UML, Patterns, and Java», by Bernd Bruegge and

Allen H. Dutoit

Page 31: Software Engineering: What is That?

SEA Group

COURSE ORGANIZATION

Page 32: Software Engineering: What is That?

SEA Group

Lectures

Labs

Projects

Exams

Page 33: Software Engineering: What is That?

SEA Group

Software Design (with the UML)

Requirements Engineering (with the UML)

(RUP and Agile) Software Development Process

Software Testing

Collaboration&Communication

Page 34: Software Engineering: What is That?

SEA Group

Sw Design

Introduction

UML for sw Design

Sw Requirements

Requirements Elicitation

UML for Sw Requirements

Software Process

RUP vs Agile

Software Testing

Black box, white box

Collaboration and Communication

Page 35: Software Engineering: What is That?

SEA Group

Course Web Site

CODE:

C44F3-XV3JT

https://app.schoology.com/course/383003107/

https://goo.gl/sV211p

Page 36: Software Engineering: What is That?

SEA Group

Bernd Bruegge, Allen H. Dutoit

Object-Oriented Software

Engineering: Using UML,

Patterns and Java, 3rd Edition

Publisher: Prentice Hall, Upper

Saddle River, NJ, 2009;

ISBN-10: 0136061257

ISBN-13: 978-0136061250

Additional readings will be added during the lectures.

Page 37: Software Engineering: What is That?

SEA Group

Practical projects covering the material

discussed in class

Ora examination

Page 38: Software Engineering: What is That?

SEA Group