Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Fábrica de Software

1,463 views

Published on

Aula de Fábrica de Software do curso de Sistemas de Informação da Universidade Federal de Pernambuco.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Fábrica de Software

  1. 1. Fábrica  de   So-ware  Centro  de  Informá-ca  -­‐  Universidade  Federal  de  Pernambuco   Sistemas  de  Informação   Vinicius  Cardoso  Garcia   vcg@cin.ufpe.br    
  2. 2. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Warm  up…  •  Engenharia  =  “é  a  a-vidade  em  que  os   conhecimentos  cienIficos  são  empregados   para  resolver  problemas  prá-cos”  •  Engenharia  de  SoLware  =  “é  a  a-vidade  em   que  os  [conhecimentos  cien9ficos]  são   empregados  para  resolver  problemas  prá-cos   relacionados  à  construção  de  soLware”   2  
  3. 3. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Warm  up…   “Um  dos  obje-vos  básicos  da  Engenharia  de  SoLware  é  transformar     a  criação  de  sistemas  soLware   realizada  de  maneira  ar9sHca,   indisciplinada  e  pouco  entendível   para  uma  forma  devidamente  controlada,  quan-ficada  e  previsível.”   3  
  4. 4. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    A  Origem  •  Em  1968,  especialistas  se  reúnem  em  Garmisch,  para  discu-r  problemas   de  desenvolvimento  de  soLware   h[p://homepages.cs.ncl.ac.uk/brian.randell/NATO/index.html   4  
  5. 5. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Problemas  da  época  •  Produtos  de  SoLware     –  de  baixa  qualidade  e   –  sem  atender  requisitos  e  •  Projetos  realizados  acima     –  do  orçamento  e  do   –  tempo  previsto  e   –  vez  por  outra  ingerenciáveis   5  
  6. 6. [if977]  Engenharia  de  So-ware  -­‐  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  dificuldades  do   desenvolvimento  de  soLware  frente  ao  rápido   crescimento  da  demanda  por  so-ware,  da   complexidade  dos  problemas  a  serem  resolvidos   e  da  inexistência  de  técnicas  estabelecidas  para   o  desenvolvimento  de  sistemas  que   funcionassem  adequadamente  ou  pudessem  ser   validados.   6  
  7. 7. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE     7  
  8. 8. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Produção  de  So-ware:  histórico  •  60´s  Fábrica  de  SoLware    •  70´s  Kanbam  •  70´s  Just  In  Time  •  80´s  SIGMA  •  90´s  CMM  •  00´s  Fábrica  de  SoLware...   de  novo!  •  10´s  Fábrica  de   Componentes?  SPL?  MDD?  •  COMUNIDADES?  •  SaaS?  Cloud  Compu-ng?  •  Distribuída?   8  
  9. 9. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Fábricas  de  So-ware   •  Princípios   •  Conceitos   •  Ilusões   9  
  10. 10. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Fábrica  de  so-ware  na  práHca  •  Operação  profissional  •  Processo  de  desenvolvimento  transparente  •  Retorno  rápido  ao  cliente  •  Alta  produ-vidade   –  Ferramentas  e  processos  padronizados  •  Alta  qualidade   –  Dados  históricos,  previsibilidade  e  análise  de  risco  •  Reusabilidade  de  código   [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  
  11. 11. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Fábrica  de  so-ware  na  práHca  •  E  o  mercado?   –  h[p://mshiltonj.com/soLware_wars/     11  
  12. 12. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE     12  
  13. 13. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE     13  
  14. 14. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE     14  
  15. 15. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE     Cathedral  and  Bazaar     e  Desenvolvimento  de   SoLware  segundo  Eric   Raymond,  1997     Alguns  projetos  são  como   Cathedrals   •  altamente  centralizados   em  poucas  pessoas  que   decidem  projeto  e   implementação   •  para  fazer  parte  deve-­‐se   aceitar  as  definições    Fonte:  h[p://catb.org/~esr/wri-ngs/cathedral-­‐bazaar/cathedral-­‐bazaar/     15  
  16. 16. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Outros  são  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  fundação  •  GCC  (gcc.gnu.org):  “steering  CommiVee”   16  
  17. 17. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Conceitos    “The  factory  is  an  organizaHon  inhabited  by  people  engaged  in  a  common  effort,  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  
  18. 18. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Fábricas  de  so-ware:  4  estratégias...  •  Japonesa    (1981,1987)   –  SWB  –  SoLware  Work  Bench  •  Européia  (1991,1992)   –  ISDE  –  Integrated  SoLware  Development  Environment  •  Norte-­‐Americana   –  experiência  produção  (1989,1993)  •  Norte-­‐Americana   –  níveis  de  maturidade  (1990,1993)   18  
  19. 19. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Estratégia  Japonesa  •  Aumento  de  produ-vidade  e  qualidade  de   desenvolvimento  e  manutenção  •  Estratégia  baseada  em  infra-­‐estrutura:  •sica,   organizacional  e  ferramental  •  Uso  de  métricas  •  Metodologia  padronizada  para  todos  os   projetos  •  Reuso  em  todas  as  fases  •  Foco  em  tecnologia   19  
  20. 20. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Estratégia  Européia  •  Ambientes  integrados  de  desenvolvimento   orientados  a  cliente  (IDEs)  •  Estratégia  orientada  a  ferramentas:   padronização  de  componentes,  adaptação  de   processo  •  Sem  métricas  •  Metodologia  adaptada  por  projeto  •  Sem  reuso  •  Foco  em  Tecnologia  •                                                               (Organizacional...  ISO-­‐9000)   20  
  21. 21. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Estratégia  Norte  Americana  1  •  Baseada  em  Componentes  •  Maior  eficácia  de  processos,  menos  re-­‐trabalho  e   mais  reuso  •  Estratégia  de  melhoria  conInua  baseada  na   experiencia  adquirida  •  Sem  métricas  •  Metodologia  adaptada  por  projeto    •  Reuso  •  Sem  foco  em  tecnologia  •                                     (...Ágeis...XP  –  Extreme  Programming)   21  
  22. 22. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Estratégia  Norte  Americana  2  •  Processo  eficaz,  previsível,  confiável  e  auto-­‐ melhorável  •  Estratégia  de  melhoria  em  etapas,  níveis  de   maturidade  •  Uso  de  métricas  •  Metodologia  adaptada  por  projeto  •  Pouco  reuso  •  Pouco  foco  em  tecnologia  •                                                                       (Processos...  RUP,  CMM...)   22  
  23. 23. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    …  considerações  …    “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  
  24. 24. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    ...e  ilusões...   Fonte:  www.icb.ufmg.br     ≠ fábrica  de  soLware    produção  em  massa     padronização,  formalização,  especialização,   ≠ controle      produção  de  soLware  com   qualidade      o  que  fazer?   24  
  25. 25. [if977]  Engenharia  de  So-ware  -­‐  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  define  a  detailed  soLware  development  process  2.  staff  members  were  given  extensive  training  in  the   new  process  3.  process  specifica-on  separated  from  process   execu-on  4.  data  collec-on  and  analysis   1.  interviews   2.  soLware  process  assessments   3.  process  a[ributes  for  each  project   4.  configura-on  management  system   5.  project  tracking  data   25  
  26. 26. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Lições  aprendidas  •  separa-ng  func-on  of  process  engineer  from   developer  •  job  rota-on  between  process  engineering  and   product  development   26  
  27. 27. [if977]  Engenharia  de  So-ware  -­‐  CIn  -­‐  UFPE    Building  a  so-ware  factory...  •  Framework:   –  ...  process  x  team   –  ...  requirements  x  architecture   –  ...  metrics  x  uncertainty   –  ...  tools  x  process   –  ...  communi-es   –  ...   27  

×