Modelo De Processos
Trabalho Universitário: Modelo De Processos. Pesquise 862.000+ trabalhos acadêmicosPor: javasoad • 10/5/2013 • 5.390 Palavras (22 Páginas) • 722 Visualizações
MODELO DE PROCESSOS:
Modelos Ágeis e Modelos Evolucionários
1 INTRODUÇÃO
Metodologias ágeis têm sido apontadas como uma alternativa às abordagens tradicionais para o desenvolvimento de software. As metodologias tradicionais, conhecidas também como pesadas ou orientadas a planejamentos, devem ser aplicadas apenas em situações em que os requisitos do sistema são estáveis e requisitos futuros são previsíveis. Entretanto, em projetos em que há muitas mudanças, em que os requisitos são passíveis de alterações, onde refazer partes do código não é uma atividade que apresenta alto custo, as equipes são pequenas, as datas de entrega do software são curtas e o desenvolvimento rápido é fundamental, não pode haver requisitos estáticos, necessitando então de metodologias ágeis. Além disso, o ambiente das organizações é dinâmico, não permitindo então que os requisitos sejam estáticos. Processos orientados a documentação para o desenvolvimento de software são, de certa forma, fatores limitadores aos desenvolvedores e muitas organizações não possuem recursos ou inclinação para processos pesados de produção de software. Por esta razão, as organizações pequenas acabam por não usar nenhum processo. Isto pode levar a efeitos desastrosos na qualidade do produto final, além de dificultar a entrega do software nos prazos e custos predefinidos. Em particular, o modelo Clássico ou Seqüencial será apresentado como exemplo de metodologia tradicional. Dentre todas as metodologias ágeis existentes, uma que vem se destacando em número de adeptos e projetos é a Extreme Programming (XP). As metodologias ágeis surgiram com a proposta de aumentar o enfoque nas pessoas e não nos processos de desenvolvimento. Além disso, existe a preocupação de gastar menos tempo com documentação e mais com resolução de problemas de forma iterativa.
2 DESENVOLVIMENTO
Processo de Software: Um processo de software (ou metodologia de desenvolvimento de software) é um conjunto de atividades e resultados associados que auxiliam na produção de software. Dentre as várias atividades associadas, existem, por exemplo, a análise de requisitos e a codificação. O resultado do processo é um produto que reflete a forma como o processo foi conduzido. Embora existam vários processos para o desenvolvimento de software, existem atividades fundamentais comuns a todos eles.
Especificação de Software: definição das funcionalidades (requisitos) e das restrições do software. Geralmente é uma fase em que o desenvolvedor conversa com o cliente para definir as características do novo software.
Projeto e Implementação de Software: o software é produzido de acordo com as especificações. Nesta fase são propostos modelos através de diagramas, e estes modelos são implementados em alguma linguagem de programação. Validação de Software: o software é validado para garantir que todas as funcionalidades especificadas foram implementadas.
Evolução de Software: o software precisa evoluir para continuar sendo útil ao cliente. Muitas organizações desenvolvem software sem usar nenhum processo. Geralmente isso ocorre porque os processos tradicionais não são adequados às realidades das organizações. Em particular, as organizações pequenas e médias não possuem recursos suficientes para adotar o uso de processos pesados. Por esta razão, muitas organizações não utilizam nenhum processo. O resultado desta falta de sistematização na produção de software é a baixa qualidade do produto final, além de dificultar a entrega do software nos prazos e custos predefinidos e inviabilizar a futura evolução do software. É comum mesmo algumas organizações criarem seu próprio processo ou adaptar algum processo à sua realidade. Dentre os vários processos existentes, existem as metodologias tradicionais, que são orientadas a documentação, e as metodologias ágeis, que procuram desenvolver software com o mínimo de documentação.
Modelos Ágeis:
Modelo Linear ou Seqüencial
Também chamado de “ciclo de vida clássico” e “modelo cascata” sugere uma abordagem seqüencial para desenvolvimento de software, é o mais antigo paradigma de software.
Primeiro Passo é Análise do Sistema, Segundo Passo é o Projeto Design, Terceiro Passo é a Codificação e o Quarto e o ultimo Passo é a fase de testes,
Primeiro Passo Analise: Intensificação do levantamento de requisitos, focado no software, define domínio de informação, funcionalidade, comportamento, desempenho e interface.
Segundo Passo Projeto Design: Traduz os requerimentos para uma representação técnica.
Terceiro Passo Codificação: É a tradução do projeto em uma linguagem de programação. Se o projeto for detalhado, a codificação é um processo mecânico.
Quarto passo Teste: Teste do programa codificado pode ser da lógica interna do software ou focado nas funcionalidades externas.
Um passo logo após os quatro citados a cima, é o suporte, manutenção ou atualização do sistema que corrige e adapta o software gerado.
Problemas do modelo linear seqüencial: Os projetos reais raramente seguem a ordem seqüencial proposta e mudanças nesta seqüência pode causar confusão na equipe de projeto, é difícil para os usuários definir todos os requisitos explicitamente, o modelo seqüencial requer esta definição e é difícil acomodar incertezas nos requisitos, o cliente deve ter paciência, uma versão visível do programa estará disponível somente no fim do projeto, erros percebidos somente nesta fase podem se tornar um desastre
Modelo de Prototipação:
Permite que o cliente perceba o software que está sendo gerado antes da finaliação
Atividades do Modelo:
1º Definição de Requisitos;
2º Projeto “Rápido”: foca em representar os aspectos do software que serão visíveis ao usuário. É a construção de um protótipo.
3º Avaliação do Protótipo: O usuário avalia o protótipo e refina os requisitos;
4º Natureza Iterativa: as atividades se repetem até que o software fique pronto;
Prototipação evolucionária: Uma abordagem para o desenvolvimento
...