Paradigmas de Engenharia de Software
O que é Engenharia de Software?
O que é Engenharia de Software? É a estratégia usada no desenvolvimento do software que define: Métodos; Ferramentas; Procedimentos a serem utilizados.
Vantagens Maior qualidade do software; Evita o retrabalho; Cumprimento de prazos; Otimização das tarefas entre outros.
Exemplos:
Problemas Comunicação: A informação pode ser compreendida de várias formas dependendo de como ela é transmitida.
Representação da Informação:
Representação da Informação:
Representação da Informação:
Representação da Informação: Facóquero O facóquero é classificado como um artiodáctilo pertencente ao gênero Phacochoerus. OsfacóqueroshabitamaÁfrica,aosuldoSaara.Elespreferemassavanasáridase úmidas, evitando desertos, florestas e montanhas. O facóquero tolera bem aridez e temperaturaselevadas. Ofacóqueroéummamíferoe possui umacabeçagrandecom verrugas características, espalhadas aos pares. Os olhos no alto da cabeça servem para vigiar possíveis predadores, como o leão ou o leopardo. O focinho é longo, acompanhadodedoisparesdepresas,usadasparaescavareparadefesa.ocorpoé grande e as pernas curtas. Apesar disso, é um bom corredor. Possui um cauda razoavelmente longa, que mantém em posição ereta enquanto trota. Um facóquero adultopesaentre50e 100kg.
Javali -africano
Paradigmas de Engenharia de Software Cascata Espiral
Modelo Cascata
Etapas do Modelo Cascata Requisitos Coleta os requisitos do software. Gera o documento de especificação do sistema que serve de base para o orçamento, cronograma, esforço, ferramentas a serem utilizadas, etc.
Etapas do Modelo Cascata Análise Compreensão clara e precisa do domínio do problema e das funcionalidades do software. Levantamento e revisão em conjunto com representantes do cliente, usuários chaves e outros especialistas da área de aplicação.
Etapas do Modelo Cascata Projeto Concentra-se na definição das estruturas de dados, arquitetura do software, detalhes procedimentais e caracterização da interface. Codificação Tradução do projeto para uma linguagem legível para a máquina. Se o projeto for bem detalhado essa tarefa pode ser automatizada.
Etapas do Modelo Cascata Teste Inicia-se logo após a geração do código. Visa garantir que uma entrada do programa produz o resultado esperado. Manutenção Ocorre em função de: Ocorrência de erros Adaptações para acomodar mudanças externas Acréscimos funcionais Problemas de desempenho
Desvantagens do Modelo Cascata Projetos reais raramente seguem o fluxo sequencial que esse modelo propõe. Sempre ocorre alguma interação e/ou Superposição. Dificilmente os clientes são capazes de relacionar todos os requisitos de uma só vez no início do projeto.
Desvantagens do Modelo Cascata Maioria dos programas só estará disponível quando o cronograma já está bastante adiantado. Dificuldades para se introduzir alterações quando o processo está avançado
Modelo Espiral Aproveita as melhores características do modelo cascata e da prototipação. Acrescentando um novo elemento: a análise de riscos.
Modelo Espiral
Etapas do Modelo Espiral Planejamento. Definição dos objetivos, alternativas e restrições. Análise dos Riscos. Análise de alternativas e identificação dos riscos sob o ponto de vista técnico e de gerência.
Etapas do Modelo Espiral Engenharia. Desenvolvimento do produto. Avaliação do Cliente. Avaliação dos resultados da engenharia.
Desvantagens do Modelo Espiral Avaliação dos riscos exige muita experiência. O modelo é relativamente novo e não tem sido amplamente utilizado.
Pensamento Tudo o que a gente não vê gera dúvida, e a dúvida gera conflito de idéias... (autor desconhecido)
XP Extreme Programming Programação Extrema
XP Extreme Programming XP é um processo de desenvolvimento software voltado para: Projetos onde os requisitos mudam com frequência Equipes pequenas (até 12 desenvolvedores) Desenvolvimento incremental (lembre-se do modelo espiral)
XP Extreme Programming Principais características do XP: Desenvolvimento ágil Cliente sempre presente Não há uma sequência, mas sim práticas que podem ser aplicadas de acordo com o projeto
XP Extreme Programming Algumas práticas: Cliente presente Stand Up Meeting (reunião em pé) Programação em par Código coletivo
XP Extreme Programming Escrevendo estórias Fichamento das funcionalidades do sistema. Histórias são escritas em pequenos cartões pelo clientes.
XP Extreme Programming Vantagem em utilizar estórias: Cliente pensa e materializa as funcionalidades do sistema. O cliente cria responsabilidade sobre aquilo que escreve Facilita o cliente a entender o custo do sistema.
XP Extreme Programming Como a equipe utiliza as estórias: Definição das principais tarefas no projeto de acordo com a necessidade. Facilita a atribuição das atividades. Ajuda na definição do tempo e custos.
XP Extreme Programming Como a equipe utiliza as estórias: Definição das principais tarefas no projeto de acordo com a necessidade. Facilita a atribuição das atividades. Ajuda na definição do tempo e custos.
XP Extreme Programming Vantagens: Evita o retrabalho. Agiliza o desenvolvimento. É versátil, flexível.
XP Extreme Programming Conclusão O XP é inovador e desafiador. É necessário analisar quais práticas devem ser utilizadas no projeto levando em consideração as propriedades de cada projeto.