quinta-feira, 6 de dezembro de 2012

Modelos Incremental, Espiral e de Prototipação

 O Modelo Incremental






Barry Boehm sugeriu, tendo em vista as limitações da abordagem tradicional, que o desenvolvimento de sistemas de informação poderia ser administrado numa série de incrementos. Assim, poderia haver uma série de ciclos de vida tradicionais para cada incremento.

O Modelo Incremental foi desenvolvido através da combinação entre os modelos linear e prototipação. O desenvolvimento é dividido em etapas, denominadas “incrementos”, que produzirão incrementalmente o sistema, até a sua versão final.

Em cada incremento é realizado todo o ciclo do desenvolvimento de software, do planejamento aos testes do sistema já em funcionamento. Cada etapa produz um sistema totalmente funcional, apesar de ainda não cobrir todos os requisitos.

O Modelo Incremental apresenta diversas vantagens para o desenvolvimento de um software, especialmente se os requisitos não estão claros inicialmente. Por exemplo: quando o Modelo Incremental é utilizado, o primeiro incremento é normalmente constituído do núcleo do sistema. Isto é, os requisitos básicos são implementados, e os detalhes suprimidos. Esse produto será entregue para uma avaliação, que poderá detectar, inicialmente, problemas que poderiam ser de dimensões muito maiores se detectados somente na entrega do produto final.

Outra vantagem para o desenvolvedor é que, em contato com o sistema, o cliente esclarece seus requisitos e suas prioridades para os próximos incrementos, além de contar com os serviços da versão já produzida.

Outras vantagens são:
  • A construção de um sistema menor é sempre menos arriscada que a construção de um grande;
  • Se um grande erro é cometido, apenas o último incremento é descartado;
  • Reduzindo o tempo de desenvolvimento de um sistema, as chances de mudanças nos requisitos do usuário durante o desenvolvimento são menores.



1.5 O Modelo Espiral
Seguindo a mesma linha do modelo incremental,o modelo foi proposto o modelo EPS (Boehm, 1988) - Evolutionary Spiral Process. Este modelo baseia-se em quatro principais atividades:

  • Determinação dos objetivos, alternativas e restrições;
  • Análise de risco e prototipação;
  • Validação e verificação;
  • Planejamento da fase seguinte.

Esta concepção tende a criar um roteiro de atividades e etapas para que se alcance uma maturidade do processo evolutivo de desenvolvimento de sistemas complexos e obter, ao final, um produto em sua forma mais completa possível.

Problemas do Modelo espiral 
•          O modelo em espiral, por suas características de avaliação e planejamento baseadas em risco, exige que se tenha gerentes e técnicos experientes.

•          As tarefas gerenciais para acompanhamento e controle do projeto tornam-se mais difíceis, uma vez que o modelo em espiral pode levar ao desenvolvimento em paralelo de múltiplas partes do projeto, cada uma sendo abordada de modo diferenciado. É necessário o uso de técnicas específicas para estimar e sincronizar cronogramas, bem como para determinar os indicadores de custo e progresso mais adequados.





1.6 Prototipação



Baseado no desenvolvimento de um protótipo com base no conhecimento dos requisitos iniciais para o sistema. O desenvolvimento é feito obedecendo à realização das diferentes etapas de análise de requisitos, o projeto, a codificação e os testes. Não necessariamente estas etapas devem ser realizadas de modo muito explícito ou formal

A definição de todos os requisitos necessários ao sistema pelo cliente ou usuário geralmente é uma tarefa muito difícil. É quase impossível prever como o sistema irá afetar o funcionamento das práticas de trabalho, como será a interação com outros sistemas e que operações dos usuários devem ser automatizadas. Mas para poder testar os requisitos de uma forma mais eficiente, seria necessária a utilização de um protótipo do sistema.

Um protótipo  é uma versão inicial de um sistema de software, que é utilizada para mostrar conceitos, experimentar opções de projeto e, em geral, para conhecer mais sobre os problemas e suas possíveis soluções. O desenvolvimento rápido de um protótipo é essencial para que os custos sejam controlados e os usuários possam fazer experiências com o protótipo no início do processo de software.

Um protótipo de software apóia duas atividades do processo de engenharia de requisitos:
  • Levantamento de requisitos - Os protótipos de sistema permitem que os usuários realizem experiências para ver como o sistema apóia seu trabalho. Eles obtêm novas idéias para os requisitos e podem identificar pontos positivos e negativos do software. Eles podem, então, propor novos requisitos de sistema.
  • Validação de requisitos - O protótipo pode revelar erros e omissões nos requisitos propostos. Uma função descrita em uma especificação pode parecer útil e bem-definida. Contudo, quando essa função é utilizada com outras, os usuários muitas vezes acham que sua visão inicial era incorreta e incompleta. A especificação de sistema pode então ser modificada para refletir sua compreensão alterada dos requisitos.

Na maioria dos projetos, o primeiro sistema construído dificilmente será usável. Ele pode ser muito lento, muito grande, desajeitado em uso, ou todos os três. A questão administrativa, não é se deve construir um sistema-piloto e jogá-lo fora. Isso será feito. A única questão é se deve planejar antecipadamente a construção de algo que se vai jogar fora ou prometer entregar isso aos clientes.

O protótipo pode ser oferecido ao cliente em diferentes formas:
  • protótipo em papel
  • modelo executável em PC retratando a interface homem-máquina capacitando o cliente a compreender a forma de interação com o software;
  • protótipo de trabalho que implemente um subconjunto dos requisitos indicados
  • programa existente (pacote) que permita representar todas ou parte das funções desejadas para o software a construir

Vantagens da prototipação:
  • modelo de desenvolvimento interessante para alguns sistemas de grande porte que representem um certo grau de dificuldade para exprimir rigorosamente os requisitos
  • é possível demonstrar a realizabilidade através da construção de um protótipo do sistema
  • é possível obter uma versão, mesmo simplificada do que será o sistema, com um pequeno investimento inicial
  • A experiência adquirida no desenvolvimento do protótipo vai ser de extrema utilidade nas etapas posteriores do desenvolvimento do sistema real, permitindo reduzir o seu custo e resultando num sistema melhor concebido

Problemas da prototipação:
  • Quando informamos que o produto precisa ser reconstruído, o cliente  exige que alguns acertos sejam aplicados para tornar o protótipo  um produto; muito freqüentemente, a gerência de desenvolvimento de software cede.
  • O desenvolvedor muitas vezes faz concessões de implementação a fim de colocar um protótipo em funcionamento rapidamente. Depois de algum tempo, o desenvolvedor pode familiarizar-se com essas opções e esquecer-se de todas as razões pelas quais elas são inadequadas - a opção menos ideal se tornou então parte integrante do sistema.



19 comentários:

  1. Legal Dênys. Você pretende postar as referências?

    ResponderExcluir
  2. I can term myself as one of the lucky few who have had the chance to see this post, and be much more informed about software engineering. I have to admit that you have created a nice page, and a post that can be termed as very interesting. The best way to reach out to many clients is by inquiring for quality Advertisement Content Help. This is a reliable way of ensuring that you have maximally advertised your business.

    ResponderExcluir
    Respostas
    1. ok man my good this post is very interesting u now so thank u for t information man

      Excluir
  3. O modelo incremental não possui desvantagens ?

    ResponderExcluir
  4. poxa vida! parabéns! ficou bem mais claro do que na minha video aula da faculdade! valeu mesmo!

    ResponderExcluir
  5. Muito legal o conteúdo. Foi esclarecedor.

    ResponderExcluir
  6. Cara muito bom o conteúdo, você teria exemplos de softwares que podem ser construídos a partir da prototipação ?

    ResponderExcluir
  7. Aqui está o Sr. Benjamin, detalhes de contato do email, lfdsloans@outlook.com. / Ou Whatsapp +1 989-394-3740 que me ajudou com um empréstimo de 90.000,00 Euros para iniciar meus negócios e estou muito agradecido, foi muito difícil para mim aqui tentar abrir caminho como mãe solteira, as coisas não têm sido É fácil comigo, mas com a ajuda do senhor Benjamin, colocar um sorriso no meu rosto enquanto vejo meus negócios se fortalecerem e se expandirem também. para obter ajuda financeira ou passar por dificuldades com os negócios ou desejar iniciar um projeto de negócios, pode cuidar disso e ter a esperança de sair das dificuldades ... Obrigado.

    ResponderExcluir