Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro...

57
Software Engineering @ LEIC Lecture 1

Transcript of Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro...

Page 1: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Software Engineering @ LEIC

Lecture 1

Page 2: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Lectures!António Rito Silva Sérgio Fernandes

!

Laboratories!Andreia Teixeira David Martinho Gonçalo Sousa Samuel Coelho

[email protected]

Page 3: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Logistics

Page 4: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Classes

Page 5: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The
Page 6: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Lectures

Page 7: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

The concepts and real examples

Page 8: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Focussed on what is going on with the project

Page 9: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Interrupt me!

Page 10: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Laboratories

Page 11: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Size complexity

Page 12: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Technology to manage complexity

maven, git, …

Page 13: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Teacher is a facilitator

Page 14: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Helps in project management

Page 15: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Project

Page 16: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Project to learn, exam to assess

Page 17: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Groups

Page 18: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Groups of 6 (ES+SD and ES-only)

Page 19: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Enrolmentstarts 18/2 at 20:00 closes 23/2 at 23:59

Page 20: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

But, I cannot find a group

ES-only ? -> Enrol in “no group ES”ES+SD ? -> Enrol in “no group ES+SD”

Page 21: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Office Hours

Page 22: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Sérgio FernandesMonday from 14:00 to 17:00 @ INESC-ID room 132

(Ending February)

Page 23: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

António Rito SilvaMonday from 14:00 to 17:00 @ INESC-ID room 132

(Starting March)

Page 24: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

LabsTo be announced. @RNL

Page 25: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Grading

Page 26: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

• Exam: 70% (min 9.5 out of 20) (11/6, 3/7)

• 50% theory

• 50% project

• Project: 30% (min 8.0 out of 20)

• 4 parts (week 11/3, week 25/3, day 17/4, day 13/5)

Page 27: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

• Final Grade =

• if E<9.5 then RE

• if (0.17P1 + 0.25P2 + 0.25P3 + 0.33P4) < 8 then RE

• if (0,7E + 0,05P1 + 0,075P2 + 0,075P3 + 0,1P4) < 9.5 then RE

• else ROUND(0,7E + 0,05P1 + 0,075P2 + 0,075P3 + 0,1P4)

Page 28: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Bibliography

Page 29: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The
Page 30: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

and

Page 31: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

articles on the internet

Page 32: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

and

Page 33: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

(integrates concepts and interrelates with internet sources)

Page 34: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Secondary

Page 35: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Code Complete 2: A Practical Handbook of Software Construction 2nd Edition

[Paperback] Steve McConnell

2004

Page 36: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Introdução à Engenharia de Software Sérgio Guerreiro

FCA 2015

Page 37: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Goals

Page 38: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

An introduction to software engineering

further developed in the MSc

Page 39: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Present the different areas

from requirements to code

Page 40: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Integrate what you have learned so far in the context of building software artefacts

from computer science to engineering

Page 41: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Motivate the different dimensions of software engineering

from technology to human

Page 42: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Software development as a collaborative activity

the course project

Page 43: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

What is software engineering?

Page 44: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Some definitions

Page 45: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Software engineering is an engineering discipline that is concerned with all aspects of

software productionIan Sommerville

Page 46: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

The purpose of software engineering is to develop

software-based systems that let customers achieve business goals

Ivan Marsic

Page 47: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Software engineering is about methods, tools and techniques used for developing software

Douglas Bell

Page 48: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

The goal of software engineering (...) is the creation of software systems that meet the needs of customers

and are reliable, efficient, and maintainable. In addition, the system

should be produced in an economical fashion, meeting project

schedules and budgetsEric J. Braude and Michael E. Bernstein

Page 49: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

The application of a systematic, disciplined, quantifiable approach to

the development, operation, and maintenance of software; that is, the

application of engineering to software

The IEEE's definition

Page 50: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

So…

Page 51: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Build software artefacts

Page 52: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Achieve business goals

Page 53: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Execute on top of the Turing machine

Page 54: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Maximize value

Page 55: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Minimize cost

Page 56: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

It is engineering!

Page 57: Software Engineering @ LEIC - ULisboa · Introdução à Engenharia de Software Sérgio Guerreiro FCA 2015. Goals. An introduction to ... software production Ian Sommerville. The

Does it differ from other engineering disciplines?