43
O IMPACTO DA ENGENHARIA DE REQUISITOS EM PROJETOS DE SOFTWARE PROF. RAFAEL MAIANI DE MELLO, MSC.

O Impacto Da Engenharia de Requisitos Em Projetos

Embed Size (px)

Citation preview

Page 1: O Impacto Da Engenharia de Requisitos Em Projetos

O IMPACTO DA

ENGENHARIA DE

REQUISITOS EM

PROJETOS DE

SOFTWARE

PROF. RAFAEL MAIANI DE MELLO, MSC.

Page 2: O Impacto Da Engenharia de Requisitos Em Projetos

PROF. RAFAEL MAIANI

DE MELLO

Mestre e Doutorando na linha de Engenharia de Software do

Programa de Engenharia de Sistemas e Computação da

COPPE/UFRJ

Especialista em Gerência de Projetos de Software pela PUC-

RJ

MBA Executivo em Negócios Financeiros pela FGV

Bacharel em Informática e Tecnologia da Informação pela

UERJ

Page 3: O Impacto Da Engenharia de Requisitos Em Projetos

PROF. RAFAEL MAIANI

DE MELLO

Membro do Grupo de Engenharia de Software Experimental

(ESE) da COPPE/UFRJ

• QUATIC 2012: International Conference on the Quality of

Information and Communications Technology

• JCC 2011: Jornadas Chilenas de Computacíon

• SBQS 2011: Simpósio Brasileiro de Qualidade de Software

• SBES 2010: Simpósio Brasileiro de Engenharia de Software

• ISMICK 2008: International Symposium on the Management

of Industrial and Corporate Knowledge

Page 4: O Impacto Da Engenharia de Requisitos Em Projetos

PROF. RAFAEL MAIANI

DE MELLO

Professor de Graduação e de Pós-Graduação no Instituto

Infnet

• Engenharia da Computação

• Análise e Desenvolvimento de Sistemas

• Gestão de TI

• MIT em Engenharia de Software com Java

Analista Sênior no Banco do Brasil

Professor Substituto na UERJ

Page 5: O Impacto Da Engenharia de Requisitos Em Projetos

VOCÊS SABEM QUE...

Requisitos são a base para o desenvolvimento do software

Requisito também é software!

Nada deve ser incluído no resto do software que não esteja

especificado nos requisitos

Page 6: O Impacto Da Engenharia de Requisitos Em Projetos

VOCÊS SABEM QUE...

Quanto mais tarde corrigir o defeito em um software, mais

____________ fica o esforço da correção

a) Barato

b) Bonito

c) Triste

d) Caro

e) NRA

Page 7: O Impacto Da Engenharia de Requisitos Em Projetos

VOCÊS SABEM QUE...

Page 8: O Impacto Da Engenharia de Requisitos Em Projetos

VOCÊS SABEM QUE...

Page 9: O Impacto Da Engenharia de Requisitos Em Projetos

PROPOSTA

Que tal ver mais de perto este cenário?

Vamos ver os FATOS?

Page 10: O Impacto Da Engenharia de Requisitos Em Projetos

PRIMEIRO, UM BREVE

EXERCÍCIO...

Page 11: O Impacto Da Engenharia de Requisitos Em Projetos

ALERTA

Este conteúdo é inadequado para os que

sofrem de problemas cardíacos, gestantes,

menores de 18 anos, hipertensos, etc...

OU NÃO!

Page 12: O Impacto Da Engenharia de Requisitos Em Projetos

1962- O BUG DO

FOGUETE MARINER 1

Cost: $18.5 million

Disaster: The Mariner 1 rocket with a space probe headed for

Venus diverted from its intended flight path shortly after

launch. Mission Control destroyed the rocket 293 seconds

after liftoff.

Cause: A programmer incorrectly transcribed a

handwritten formula into computer code, missing a

single superscript bar. Without the smoothing function

indicated by the bar, the software treated normal variations of

velocity as if they were serious, causing faulty corrections

that sent the rocket off course.

Page 13: O Impacto Da Engenharia de Requisitos Em Projetos
Page 14: O Impacto Da Engenharia de Requisitos Em Projetos

1985- MÁQUINA DE

RADIOTERAPIA

Cost: Three people dead, three people

critically injured

Disaster: Canada’s Therac-25 radiation therapy machine

malfunctioned and delivered lethal radiation doses to

patients.

Cause: Because of a subtle bug called a race condition,

a technician could accidentally configure Therac-25 so the

electron beam would fire in high-power mode without the

proper patient shielding.

Page 15: O Impacto Da Engenharia de Requisitos Em Projetos

1987- QUEBRA DA BOLSA

DE WALL SREET

Cost: $500 billion in one day

Disaster: On “Black Monday” (October 19, 1987), the Dow

Jones Industrial Average plummeted 508 points, losing 22.6%

of its total value. The S&P 500 dropped 20.4%. This was the

greatest loss Wall Street ever suffered in a single day.

Cause: A long bull market was halted by a rash of SEC

investigations of insider trading and by other market

forces. As investors fled stocks in a mass exodus,

computer trading programs generated a flood of

sell orders, overwhelming the market, crashing

systems and leaving investors effectively blind

Page 16: O Impacto Da Engenharia de Requisitos Em Projetos

1991- MÍSSIL NÃO-

INTERCEPTADO

Cost: 28 soldiers dead, 100 injured

Disaster: During the first Gulf War, an American Patriot

Missile system in Saudi Arabia failed to intercept an

incoming Iraqi Scud missile. The missile destroyed an

American Army barracks.

Cause: A software rounding error incorrectly

calculated the time, causing the Patriot system to

ignore the incoming Scud missile.

Page 17: O Impacto Da Engenharia de Requisitos Em Projetos

1993- FALHA DE

DIVISÃO DO PENTIUM

Cost: $475 million, corporate credibility

Disaster: Intel’s highly-promoted Pentium chip occasionally made mistakes when dividing floating-point numbers within a specific range. For example, dividing 4195835.0/3145727.0 yielded 1.33374 instead of 1.33382, an error of 0.006%. Although the bug affected few users, it become a public relations nightmare. With an estimated 5 million defective chips in circulation, Intel offered to replace Pentium chips only for consumers who could prove they needed high accuracy. Eventually Intel replaced the chips for anyone who complained.

Cause: The divider in the Pentium floating point unit had a flawed division table, missing about five of a thousand entries and resulting in these rounding errors

Page 18: O Impacto Da Engenharia de Requisitos Em Projetos

1996- EXPLOSÃO DO

FOGUETE ARIANE

Cost: $500 million

Disaster: Ariane 5, Europe’s newest unmanned rocket, was intentionally destroyed seconds after launch on its maiden flight. Also destroyed was its cargo of four scientific satellites to study how the Earth’s magnetic field interacts with solar winds.

Cause: Shutdown occurred when the guidance computer tried to convert the sideways rocket velocity from 64-bits to a 16-bit format. The number was too big, and an overflow error resulted. When the guidance system shut down, control passed to an identical redundant unit, which also failed because it was running the same algorithm.

Page 19: O Impacto Da Engenharia de Requisitos Em Projetos
Page 20: O Impacto Da Engenharia de Requisitos Em Projetos

2000- SOFTWARE DE

RADIOTERAPIA

Cost: Eight people dead, 20 critically injured

Disaster: Radiation therapy software by Multidata Systems

International miscalculated the proper dosage, exposing

patients to harmful and in some cases fatal levels of

radiation. The physicians, who were legally required to

double-check the software’s calculations, were indicted for

murder.

Cause: The software calculated radiation dosage based on

the order in which data was entered, sometimes delivering a

double dose of radiation.

Page 21: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

1

If you don’t get the

requirements right, it doesn’t

matter how well you execute

the rest of the project.

Page 22: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

2

Requirements development is

a discovery and invention

process, not just a collection

process

Page 23: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

3

Change happens

Page 24: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

4

The interests of all the project

stakeholders intersect in the

requirements process

Page 25: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

5

Customer involvement is the

most critical contributor to

software quality

Page 26: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

6

The customer is not always

right, but the customer always

has a point

Page 27: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

7

The first question an analyst

should ask about a proposed

new requirement is:

“Is this requirement in

scope?”

Page 28: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

8

Even the best requirements

document cannot—and should

not—replace human dialogue

Page 29: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

9

The requirements might be

vague, but the product will be

specific

Page 30: O Impacto Da Engenharia de Requisitos Em Projetos

PARA REFLEXÃO

“COSMIC THRUTHS”, DE

KARL WIEGERS

10

You’re never going to have

perfect requirements

Page 31: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE

Os Requisitos de software devem ser SMART

• Specific – Objectives should specify what they want to achieve

• Measurable – You should be able to measure whether you are meeting the objectives or not

• Achievable - Are the objectives you set, achievable and attainable?

• Realistic – Can you realistically achieve the objectives with the resources you have?

• Time-framed – When do you want to achieve the set objectives?

Page 32: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE

• Requisitos são os objetivos a serem alcançados, portanto

devem ser expressos “por inteiro” (responder 5W1H)

Page 33: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Use the most simple words

appropriate to the intent of the

statement. Hide is defined as "to put

out of sight". Obscure is defined as

"lacking light or dim". Don't use

obscure if you mean hide.

Page 34: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Use imperatives correctly and be

consistent. Remember, shall

"prescribes", will “describes", must &

must not "constrain", and should

"suggests"

Page 35: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Avoid weak phrases such as "as

a minimum", "be able to",

"capable of", and "not limited to".

Page 36: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Do not use words or terms that give

the provider an option on the extent

that the requirement is to be satisfied

such as "may", "if required", "as

appropriate", or "if practical".

Page 37: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Do not use generalities where

numbers are really required such

as "large", "rapid", "many",

"timely", "most", or "close".

Page 38: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Avoid fuzzy words that have relative

meanings such as "easy", "normal",

"adequate", or "effective".

Page 39: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

Apresente exemplos, deixando claro que são

exemplos!

Cite suas referências claramente!

Se for utilizar gráficos ou tabelas, identifique e

referencie cada uma conforme sua utilização na

especificação de requisitos!

Page 40: O Impacto Da Engenharia de Requisitos Em Projetos

REQUISITOS DE

SOFTWARE-

ORIENTAÇÕES

REVISE – INSPECIONE!

Page 41: O Impacto Da Engenharia de Requisitos Em Projetos

E... MANTENHA A

CALMA...

Page 42: O Impacto Da Engenharia de Requisitos Em Projetos

REFERÊNCIAS

Devtopics. 20 Famous Software Disasters. Disponível em:

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

2012.

Sommerville, I. Engenharia de Software- Teoria e Prática.

Wiegers, K. E. More About Software Requirements- Thorny

Issues and Practical Advice. Microsoft Press, 2006.

Wilson, W. M. Writing Effective Requirement Specifications.

Software Technology Conference, Utah, April 1997.

Page 43: O Impacto Da Engenharia de Requisitos Em Projetos

O IMPACTO DA

ENGENHARIA DE

REQUISITOS EM

PROJETOS DE

SOFTWARE

43

Prof. Rafael de Mello, Msc.

[email protected]

[email protected]