Sie sind auf Seite 1von 43

Fbrica

de So-ware
Centro de Inform-ca - Universidade Federal de Pernambuco Sistemas de Informao Vinicius Cardoso Garcia vcg@cin.ufpe.br

[if977] Engenharia de So-ware - SI - CIn - UFPE

Warm up
Engenharia = a a-vidade em que os conhecimentos cienIcos so empregados para resolver problemas pr-cos Engenharia de SoLware = a a-vidade em que os [conhecimentos cien9cos] so empregados para resolver problemas pr-cos relacionados construo de soLware

[if977] Engenharia de So-ware - SI - CIn - UFPE

Warm up Um dos obje-vos bsicos da Engenharia de SoLware transformar a criao de sistemas soLware realizada de maneira ar9sHca, indisciplinada e pouco entendvel para uma forma devidamente controlada, quan-cada e previsvel.
3

[if977] Engenharia de So-ware - SI - CIn - UFPE

A Origem
Em 1968, especialistas se renem em Garmisch, para discu-r problemas de desenvolvimento de soLware

h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html

[if977] Engenharia de So-ware - SI - CIn - UFPE

Problemas da poca
Produtos de SoLware
de baixa qualidade e sem atender requisitos e

Projetos realizados acima


do oramento e do tempo previsto e vez por outra ingerenciveis

[if977] Engenharia de So-ware - SI - CIn - UFPE

A crise do so-ware
A crise do soLware foi um termo u-lizado nos anos 70, quando a engenharia de soLware era pra-camente inexistente. O termo expressava as diculdades do desenvolvimento de soLware frente ao rpido crescimento da demanda por so-ware, da complexidade dos problemas a serem resolvidos e da inexistncia de tcnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados.
6

[if977] Engenharia de So-ware - SI - CIn - UFPE

[if977] Engenharia de So-ware - SI - CIn - UFPE

Produo de So-ware: histrico


60s Fbrica de SoLware 70s Kanbam 70s Just In Time 80s SIGMA 90s CMM 00s Fbrica de SoLware... de novo! 10s Fbrica de Componentes? SPL? MDD? COMUNIDADES? SaaS? Cloud Compu-ng? Distribuda?
8

[if977] Engenharia de So-ware - SI - CIn - UFPE

Fbricas de So-ware

Princpios Conceitos Iluses


9

[if977] Engenharia de So-ware - SI - CIn - UFPE

Fbrica de so-ware na prHca


Operao prossional Processo de desenvolvimento transparente Retorno rpido ao cliente Alta produ-vidade
Ferramentas e processos padronizados

Alta qualidade
Dados histricos, previsibilidade e anlise de risco

Reusabilidade de cdigo

[1968 G&E, R. W. Berner] [2003 IEEE Computer Vol.36 Num.3, B. Boehm] [2005 IEEE SoLware Vol. 22 Num 2, PostModern SW Design] 10

[if977] Engenharia de So-ware - SI - CIn - UFPE

Fbrica de so-ware na prHca


E o mercado?
h[p://mshiltonj.com/soLware_wars/

11

[if977] Engenharia de So-ware - SI - CIn - UFPE

12

[if977] Engenharia de So-ware - SI - CIn - UFPE

13

[if977] Engenharia de So-ware - SI - CIn - UFPE

14

[if977] Engenharia de So-ware - SI - CIn - UFPE

Cathedral and Bazaar e Desenvolvimento de SoLware segundo Eric Raymond, 1997 Alguns projetos so como Cathedrals altamente centralizados em poucas pessoas que decidem projeto e implementao para fazer parte deve-se aceitar as denies
Fonte: h[p://catb.org/~esr/wri-ngs/cathedral-bazaar/cathedral-bazaar/

15

[if977] Engenharia de So-ware - SI - CIn - UFPE

Outros so como Bazaars (SW livre)


Sem planejamento detalhado mas orientados! Linux Kernel (www.linux.org): hierarchical
Linus Torvalds, The Benevolent Dictator

APACHE Founda-on (www.apache.org): meritocracy


Para fazer parte voc deve ter colaborado con-nuamente em projetos da fundao

GCC (gcc.gnu.org): steering CommiVee

16

[if977] Engenharia de So-ware - SI - CIn - UFPE

Conceitos
The factory is an organizaHon inhabited by people engaged in a common eort, work is organized one way or the other, standardizaHon is used for coordinaHon and formalizaHon, and systema-za-on is important, but there will be several op-ons for the design of a par-cular soLware factory
[Aaen, Botcher, Mathiassen, SoLware Factories, 1997] h[p://www.cs.auc.dk/~larsm/Dr_Techn/Volume_II/17.pdf
17

[if977] Engenharia de So-ware - SI - CIn - UFPE

Fbricas de so-ware: 4 estratgias...


Japonesa (1981,1987)
SWB SoLware Work Bench

Europia (1991,1992)
ISDE Integrated SoLware Development Environment

Norte-Americana
experincia produo (1989,1993)

Norte-Americana
nveis de maturidade (1990,1993)

18

[if977] Engenharia de So-ware - SI - CIn - UFPE

Estratgia Japonesa
Aumento de produ-vidade e qualidade de desenvolvimento e manuteno Estratgia baseada em infra-estrutura: sica, organizacional e ferramental Uso de mtricas Metodologia padronizada para todos os projetos Reuso em todas as fases Foco em tecnologia
19

[if977] Engenharia de So-ware - SI - CIn - UFPE

Estratgia Europia
Ambientes integrados de desenvolvimento orientados a cliente (IDEs) Estratgia orientada a ferramentas: padronizao de componentes, adaptao de processo Sem mtricas Metodologia adaptada por projeto Sem reuso Foco em Tecnologia (Organizacional... ISO-9000)
20

[if977] Engenharia de So-ware - SI - CIn - UFPE

Estratgia Norte Americana 1


Baseada em Componentes Maior eccia de processos, menos re-trabalho e mais reuso Estratgia de melhoria conInua baseada na experiencia adquirida Sem mtricas Metodologia adaptada por projeto Reuso Sem foco em tecnologia (...geis...XP Extreme Programming)
21

[if977] Engenharia de So-ware - SI - CIn - UFPE

Estratgia Norte Americana 2


Processo ecaz, previsvel, convel e auto- melhorvel Estratgia de melhoria em etapas, nveis de maturidade Uso de mtricas Metodologia adaptada por projeto Pouco reuso Pouco foco em tecnologia (Processos... RUP, CMM...)

22

[if977] Engenharia de So-ware - SI - CIn - UFPE

consideraes
The four approaches are important contribu-ons towards this goal. At the same -me the approaches individually may lead to unfortunate illusions. Learning from the rela-ve strengths and weaknesses between the approaches may help us avoid becoming vic-ms of these illusions

[Aaen, Botcher, Mathiassen, SoLware Factories, 1997] h[p://www.cs.auc.dk/~larsm/Dr_Techn/Volume_II/17.pdf


23

[if977] Engenharia de So-ware - SI - CIn - UFPE

...e iluses...
Fonte: www.icb.ufmg.br

fbrica de soLware produo em massa padronizao, formalizao, especializao, controle produo de soLware com qualidade
o que fazer?

24

[if977] Engenharia de So-ware - SI - CIn - UFPE

Building a so-ware factory


[Making the soLware factory work... 1990-1999]
h[p://doi.ieeecomputersociety.org/10.1109/METRIC.2001.915539

1. to dene a detailed soLware development process 2. sta members were given extensive training in the new process 3. process specica-on separated from process execu-on 4. data collec-on and analysis
1. 2. 3. 4. 5. interviews soLware process assessments process a[ributes for each project congura-on management system project tracking data

25

[if977] Engenharia de So-ware - SI - CIn - UFPE

Lies aprendidas

separa-ng func-on of process engineer from developer job rota-on between process engineering and product development
26

[if977] Engenharia de So-ware - SI - CIn - UFPE

Building a so-ware factory...


Framework:
... process x team ... requirements x architecture ... metrics x uncertainty ... tools x process ... communi-es ...

27

[if977] Engenharia de So-ware - SI - CIn - UFPE

Processo complexo... Ex.: Ampla


Prospeco
F
E

m
L

C
-

n
r

l
o

t
:

o
C

r
A

a
B -

e
V

m
e r s

n
o

f
0

l a

i s

i r

p e o

G I d e n t i f i c a r m a n d a s q o s s a m s e n d i d a s p e r e a s d e n h e c i m e n

l i e

e G G e r e n t e d e P r o j e t o s e r e n

u e r l a s t o

G t e

G e d

e e e

r n

e t P

n e r

t o

e d c

C e e s T

o e s

m c o s

e n

r c i a l o l o g i a e Q u a

l i d

Prospeco

g e n d a r v i s i t r a a p r e s e n t a / o u e l i c i t a o r e q u i s i t o s

i c

i c

i c

l i d

i s

i t

G R e e q s u t i s i t o o c s / l a e r s o c s o ? p o S i n P r o t e r f j e t a a c e r s ? S P r o j e t a r i n t e r f a c e

p s P i n r t o e t o r f t a i p c a e s r

C V a

l l i d e a r e r q i n u t e i s

G r i t

p f a c o s e s

Contrato
Proposta
P C D R

N S D R R e v i s a r e q u i s i t o s f a c e s , c a u s o e M E G , s R M E R D D R C T U C P M E R P P T P T 1 r i a r P c n i c a d e P r r o e o p P j e G o p s l a t o t a n o G c P P F R G C c r i a C r o m P r e o r p c o i a G s l p t a D i P C p o s G c U C M E R D R D R A n l i s d e e F d u e n P o o n G t o p s P P F

R i n d t e e r

D A

i p r e P s T e n e t a D r R

G P

c C ,

p C

Proposta

P a p r

r o

o v

j e a

t d

o o ?

R s

e p p e r

g n o

Execuo
Execuo
P d r e e p s a e r n a v P r e p a r T a L B p S r e e l e q R e a l i z a u r M E R P r o j e t a d r a E P L T s p d e e u c

i s s j e

t r a o t o

r d o

R P P

e F

v ,

i s P

a C

D e

R P

, R

P O

T T

, .

i s

G P P A v a l i a r r i s c o

p s

p P P

D P C R

i e v C i s o a r m P e r o r c

G p i a

p o l s t

G a

c S R e n e g o c i a r ?

N R e a v l i a h u m s o f t w h a r d a r a a w r n e c u r L s p o s

o s , r e e a r e L p e P P

R c e t r e

e s i n s

v a i d a a m

l i a d e e n

r s t o

L R L r d o a e l v m i m b e i e n n t o p t e c r o n e o v g i s r a a r m

p a

L r e P s t l a e n o d

p e P L T

D A r 1 P L T R e a l i z U a n r i d T a e d s e t e d

e e R I T

c u

i o i s

n i t

a o

D L c s o a s o s d p e

B-2

N m

o i d

L b d a o n s c o d

p e M

DR
R P C P T P P T A N D P r p i m o b l e m l e m e n a s t a n a o ? S C o m d u o n P i c r a o r j e L t o d e e r D I m p l e m e n t a r e

DR
D R P P

S D N C o r r i g i r e

L i f i c t e s i d a t a r e d c d e a e s o

p s P L I n t e

Execuo

L A r d e e q s p u e r e s e n t i s i t o p n v o l v e

p a a d A r r o 2 a r

UC

Revise Requirements, interfaces, E-R and Use Cases


N G p A g e c n o d m a r c r e l i e u n n i o t e P P C l G p L p D R R e p v l a i s n a o r r e d e q p u r i s o i t o s j e t o , P T D i G c P C R e n e g o c i a r 3 G q R e a I l i z n t a e r g T r a e s t e d e o R I T P P G q c o i m N G q d e P R I T P A n p G n a l i s a r n f o r m i d a d e p l a n e j a r l e m e n t a p o s o e D e c o n f o r N m o i d a d e s ? S R e a l i z S a r i s t T e m e s a t e c o n f o r N m o i d a d e s ? S G N c o i m q A n p n a l i s a r n f o r m i d a d e p l a n e j a r l e m e n t a G p D e o s o e D R ( c T a o e s t e d e c e i t a o m c l i e n t R e ) A

B-1

Gp Gc
P o d i n e t e s e r n r r e s o a m e n t l v e i d o ?

L S R e e p v i s l a n a o r d r e e q p u r

p i s o

G i t o j e t s o

DR
g r a r ? S 3 I n c i o C l o m l i c u i t d a a n o a d s e G p i t a o G c l i a r s o l i c m A u p d r a o n v a a r s ?

Gp
S M S M G p r a s E o n c l i c e i t r a

C S

UC
S B

Function Point Analysis


G c r o

PPF

MER
P P

Execuo

Encerramento

Entrega Encerramento
Garantia
A A A F P r r r l u o t e t e t e x n f a f a f a o t o t o t o t o d d o e p f o p d r o n r o e d t e c c e i s s s o o u z i d o D C G G G G L D i l c t p q p e P r o c e s s o R e s p o n s a b i l i d a d e

MER
S G A t r e g i n e a n m d e a n r t o p D P d r e e p t a r r e a r i n m a m a e t e n r i a t o e l

MER
P P B C I n l i c i a g ( 9 r a 0 p r e a d r o d n t i a i a s ) o G d p e A R G q n a G l i s a p r D e D R e P n r c o o b n l e m t r a d a o ? S A P r o c e d e

c o

e u

i t

a p

o c i a

o t l ?

A G q G p

l i s

r D e

P B

DR
?

p R t r e i n e a a l i z a r m e n t o

e P O

D I

e P P

DR

n o s o

s n f

t f t

a l a i g u w a

r r r a e

e r

Gp Gc
C

Gc
r t o G d o p G p a s i q o u i s G p o s

Gp Di

UC
A D C G G G G L D i r e t o r l i e n t e e r e n t e e r e n t e e r e n t e e r e n t e d e r d o e s e n v o t o r e s C o m e r c i a l d e T e c n o l o d e P r o j e t o s d e P r o c e s s P r o j e t o l v e d o r g o i a s e Q u a l i d

Build Technical Proposal and Project Plan


A r t e f a t o s

R e n c e r p

e g i s t r a r a m e n r o j e t o

l i z d e

a o

r p

e i n

G A

q v a l i a d o r p r e r s o u j e l t a t o d

PPF
P O R M L p K D e B

D G G p q

i e

R n

e c ( e e

n i o r r a m q u i p

d e e ) n

e t o

Build Commercial PC Proposal

MER

A D P P P M P R M P P S U P D D D R R K ( o

R _ < C d . d o P r o j e t o > _ < a a a a m m d d > R _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > T _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > C _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > P _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > E R _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > L T _ < C d . d o P r o j e t o > _ V < 9 9 > < 9 9 > I T _ < C d . d o P r o j e t o > _ V < 9 9 > < 9 9 > U _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > O _ < C d i g o d o P r o j e t o > R O T _ < a a a a m m d d > M _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > C _ < C d . d o P r o j e t o > _ V < 9 9 > . < 9 9 > P F _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 C _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 > S _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 > I _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 > A _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 > M _ < C d i g o d o P r o j e t o > _ V < 9 9 > . < 9 9 > B ) = O p c i o n a

PT

>

PP
l

A D P P P M P R M P P S C P D D D R R K

t a o r o r o l a o l a e a e r o o a o i a i a i a e e n

R e u n i o c e n t o d e R e q p o s t a T c n i c a p o s t a C o m e r c i a n o d e P r o j e t o d e l o d e E n t i d a d n o d e T e s t e l a t r i o d e I n c i d e n u a l d o U s u r i o s q u i s a d e O p i n i t t i p o ( N a p a s t a l i c i t a o d e M u d s o d e U s o n t o s p o r F u n o g r a m a d e C l a s s g r a m a d e S e q u g r a m a d e I n t e r a l a t r i o d e A c e i t a l a t r i o d e M e l h o o w l e d g e B a s e

d u

e m

u l e n o a e n s

i s

i t o

e s

R d e

l a T

c e

i o s

n t e

t o

t e I ) n s c

PT 1

i a n o P r o c e s s o

r i a

o o s

28

[if977] Engenharia de So-ware - SI - CIn - UFPE

29

[if977] Engenharia de So-ware - SI - CIn - UFPE

o PROCESSO complexo!

30

[if977] Engenharia de So-ware - SI - CIn - UFPE

e as pessoas?...

31

[if977] Engenharia de So-ware - SI - CIn - UFPE

Trabalho em equipe
O trabalho em equipe um processo baseado em princpios e valores que esto claramente definidos e entendidos. O verdadeiro trabalho em equipe um processo

contnuo interativo de um grupo de


pessoas aprendendo, crescendo e

trabalhando interdependentemente
para alcanar metas e objetivos especficos no suporte a uma misso comum.
32

[if977] Engenharia de So-ware - SI - CIn - UFPE

ORGANIZAES ESTRUTURAIS X BASEADAS EM HABILIDADES

ORGANIZAES TRADICIONAIS: Realizam tarefas funcionais; Pessoa em segundo plano; O controle a meta; Viso a curto prazo; Informao, formao, e incen-vos, no so importantes; Repetem os ciclos de reestruturao e regresso.

ORGANIZAES BASEADAS EM HABILIDADES: Realizam bem, as tarefas com funes cruzadas; As pessoas so valorizadas; A meta valorizar o que cons-tui valor para os clientes; Viso a longo prazo; Informao, formao e incen-vos, so importantes; Criam um padro de melhoria permanente.

33

[if977] Engenharia de So-ware - SI - CIn - UFPE

Rules and Tools for so-ware evoluHon planning and Management


Con-nuing change Increasing complexity Con-nuing growth 10 regras... 1 princpio.. de incerteza!...
the real world outcome of any so2ware execu4on is inherently uncertain with the precise area of uncertainty also not knowable
h[p://www.springerlink.com/content/l4216085h77324q6/
34

[if977] Engenharia de So-ware - SI - CIn - UFPE

E O FUTURO, O QUE ESPERAR?

35

[if977] Engenharia de So-ware - SI - CIn - UFPE

COMUNIDADE DESENVOLVE / COMBINA [NOVOS] PRODUTOS E SERVIOS


36

[if977] Engenharia de So-ware - SI - CIn - UFPE

37

[if977] Engenharia de So-ware - SI - CIn - UFPE

SoLware as a Service
38

SaaS

[if977] Engenharia de So-ware - SI - CIn - UFPE

Marc Benio, CEO, Salesforce.com

39

[if977] Engenharia de So-ware - SI - CIn - UFPE

empresa
como SERVIO
40

[if977] Engenharia de So-ware - SI - CIn - UFPE

a servio de sua comunidade


41

[if977] Engenharia de So-ware - SI - CIn - UFPE

comunidade que

INOVA

42

[if977] Engenharia de So-ware - SI - CIn - UFPE

O Que fazer agora?


Montar uma fbrica de soLware! Como? Em ~4 meses!?!?!?

43

Das könnte Ihnen auch gefallen