Arquivar

Posts Etiquetados ‘Engenharia de Software’

Modelo Sequencial Linear

O modelo em cascata, algumas vezes chamado de ciclo de vida clássico, sugere uma abordagem sistemática e sequência para o desenvolvimento de softwares que começa com a especificação dos requisitos pelo cliente e progride ao longo do planejamento, modelagem, construção e implantação, culminando na manutenção progressiva do software acabado.

 O modelo em cascata também chamado de linear é o paradigma mais antigo da engenharia de software. No entanto, nas duas últimas décadas, a critica a esse modelo de processo tem provocado, mesmo em seus mais ardentes adeptos, questionamentos sobre sua eficácia [HAN95].

 Etapas do Modelo Seqüencial Linear: 

Engenharia de Sistemas.

Envolve a coleta de requisitos em nível do sistema.

Esta visão é essencial quando o software deve fazer interface com outros elementos (por exemplo, um hardware específico). 

 

Análise de Requisitos de Software.

  • O processo de coleta dos requisitos é intensificado e concentrado especificamente no software.
  • Deve-se compreender o domínio da informação, a função e o desempenho exigido.
  • Os requisitos (para o software) são documentados e revistos com o cliente. 

 

Projeto

Tradução dos requisitos do software para um conjunto de representações que podem ser avaliadas quanto à qualidade, antes que a codificação se inicie. 

 

Codificação

Tradução das representações do projeto para uma linguagem “artificial” resultando em instruções executáveis pelo computador. 

 

Testes.

  • Concentra-se:
    • Nos aspectos lógicos internos do software, garantindo que todas as instruções tenham sido testadas.
    • Nos aspectos funcionais externos, para descobrir erros e garantir que a entrada definida produza resultados que concordem com os esperados. 

 

Manutenção

  • Provavelmente o software deverá sofrer mudanças depois que for entregue ao cliente.
  • Causas das mudanças: erros, adaptação do software para acomodar mudanças em seu ambiente externo e exigência do cliente para acréscimos funcionais e de desempenho.

 

Críticas ao modelo seqüencial linear:

  • Projetos reais muitas vezes não seguem o fluxo seqüencial;
  • É difícil se colocar todos os requisitos explicitamente.
  • Versão operacional estará presente só no final do projeto;
  • A natureza linear leva a situações onde membros da equipe precisam aguardar que outros membros completem tarefas dependentes.
  • Para sistemas pequenos e bem-definidos é aconselhada a sua utilização por ser mais fácil de ser.

  

Fontes: Engenharia de Software – 6a-ed – Roger S. Pressman.
www.julianoribeiro.com.br/…/aula2_2006_fundamentos_de_software.ppt
https://disciplinas.dcc.ufba.br/pastas/MATA63/2009.1/aula02Processos.pdf

XP – Extreme Programming

Oi pessoal, mais uma vez estou eu aqui de novo fazendo mais uma postagem no blog, depois de tanto tempo sem escrever nada.

Esse fim de semana estava conversando com um amigo meu gerente de projetos e contei que esse semestre estou tendo engenharia de software e conversamos um pouco sobre a matéria e ai ele me disse de uma metodologia de desenvolvimento que se chama XP eXtreme Programming, e me passou esse vídeo que estou disponibilizando pra vocês.

O que é Extreme Programming?

Extreme Programming (XP) é uma metodologia de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90. Vem fazendo sucesso em diversos países, por ajudar a criar sistemas de melhor qualidade, que são produzidos em menos tempo e de forma mais econômica que o habitual. Tais objetivos são alcançados através de um pequeno conjunto de valores, princípios e práticas, que diferem substancialmente da forma tradicional de se desenvolver software.

Palestra sobre Extreme Programming feita por Vinicius Teles (fundador da IMPROVEIT) na TDC (The Developer´s Conference) 2008.

Tópicos abordados na palestra:

  • Por que o modelo tradicional de fazer software nao da certo
  • Utilização de funcionalidades
  • Falhas de comunicação
  • Analise tradicional
  • Mundo físico
  • Mundo digital
  • Fabrica de software
  • Mudanças: visão ágil
  • Participação do cliente
  • Planejamento de iterações
  • Planejamento de releases
  • Jogo do Planejamento
  • Aguarde e confie
  • Reunião diária, ou stand up meeting, ou daily scrum.
  • Tarefas visuais
  • Modelagem visual usando quadro branco
  • Encerramento da iteração
  • Retrospectiva
  • Adaptabilidade
  • Coragem
  • Test-driven development
  • Programação em par
  • Refatoração
  • Jack Jarkvik – Vice-presidente da Ericson

Fonte: http://improveit.com.br/xp