O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Modelos de Ciclo de Vida de Desenv. de Soft.

Rodrigo Pereira Engenharia de Software Inglês

Modelos de Ciclo de Vida de Desenv. de Soft.

Conteúdo do mapa

Modelos de Ciclo de Vida de Desenv. de Soft.

  1. Sistemas de software

    • Coleção de programas escritos para servir a outros programas (ex. compiladores, sistemas operacionais, ...)
    • Tipos de sistemas de software
      • Tempo Real
        • Sistemas que monitoram, controlam e analisam eventos do mundo real ao mesmo tempo em que eles ocorrem. Estes sistemas tem que atender a rígidas restrições de tempo de resposta.
      • Informação
        • Sistemas de apoio a processos de negócios e que consistem na manutenção e processamento de bases de informação.
      • Engenharia
        • Sistemas que auxiliam as aplicações científicas e apoiam atividades de negocio, não manipulando grandes bases de dados, mas processando informações através de algoritmos complexos.
      • Distribuídos
        • Sistema formado por componentes de software distribuídos em maquinas distintas e que são conectados por uma rede.
      • Embarcados
        • São softwares próprios de um determinado hardware e que residem em memória não volátil e são distribuídos como parte de um equipamento.
      • Computadores pessoais
        • São softwares para os computadores pessoais que, entre muitas outras aplicações, são responsáveis por processamento de textos, planilhas eletrônicas, computação gráfica.
  2. Ciclo de vida de um software - Visão Geral

    • Definição
      • Planejamento
      • Análise de requisitos
        • O QUE ???
      • Especificação do sistema
    • Desenvolvimento
      • Projeto
      • Implementação
        • COMO ???
      • Teste
    • Implantação
      • Operação
        • Tornar realidade
    • Manutenção
      • Correções
      • Adaptações
        • MUDANÇAS
      • Melhorias
  3. Processo de desenvolvimento de software

    • Define:
      • Um ciclo de vida e um paradigma para o desenvolvimento
      • Os métodos que serão utilizados durante o desenvovimento
      • As ferramentas que suportam estes métodos
      • Os papéis dos desenvolvedores
    • Principais etapas:
      • Análise de requisitos
        • Tem como objetivo descrever o que o software deve fazer e para quem deve ser construídas estas funcionalidades.
        • Objetivos
          • Identificação e entendimento das necessidades do usuário
          • Verificação da capacidade de desenvolvimento destas necessidades(econômica, técnica, legal, ...)
          • Distribuição das funções do sistema entre as pessoas, o hardware, o software e outros elementos do sistema
          • Criação de um modelo de sistema, utilizado pelas fases seguintes de desenvolvimento.
        • Não focaliza a solução, mas o problema
      • Projeto
        • Dado um conjunto de requisitos, o projeto define uma solução computacional para sua implementação.
        • Transformação dos requisitos em representações de software
        • Introdução de restrições computacionais no modelo de análise
        • Criação de instrumentos para tratar os aspectos computacionais
        • Pode ser dividido em duas etapas:
          • Projeto de arquitetura
            • Transformação dos requisitos em dados e arquiteturas de software
          • Projeto detalhado
            • Refinamento da arquitetura, que são representados por estruturas de dados bem definidas e algoritmos para as funções.
      • Codificação
        • Tradução do projeto para uma linguagem de programação
        • Tradução dos algoritmos estabelecidos durante o projeto refinado para uma linguagem de programação
          • A linguagem de programação deve ser coerente com o paradigma utilizado durante as fases anteriores.
      • Testes
        • Verificação do código para determinar se este atende ao projeto e implementa corretamente os requisitos.
        • Processo de execução de um programa com a intenção de encontrar erros ocultos
          • 2 tipos:
            • Testes de caixa preta
              • Focalizam a validação dos requisitos de um software
            • Testes de caixa branca
              • Focalizam a estrutura do programa
          • Devem ser conduzidos por casos de testes gerados a partir das especificações
            • Casos de testes
              • Situação em que o programa será executado, e é esperado uma resposta já pré-estabelecida
      • Manutenção
        • Atua sobre o software previamente desenvolvido com o intuito de corrigir erros nele presentes e evolui-lo de forma que continue útil.
        • Processo de correção de erros latentes do processo de desenvolvimento
          • Tipos de manutenção:
            • Corretivas
              • Correção de erros não localizados durante as etapas de testes.
            • Adaptativas
              • Alteração do software para um novo hardware ou plataforma.
            • Evolutivas
              • Modificação das funções do sistema ou acréscimo de novas funções.
            • Preventivas
              • Modificação do software para facilitar as futuras manutenções.
      • Implantação
        • Implica em colocar o software em operação no ambiente do usuário
        • Passos a serem seguidos:
          • Preparação dos dados
          • Conversão dos dados
          • Integração com outros sistemas
          • Treinamento de operadores
          • Disponibilidade de manuais
          • Suporte a operação (Help Desk)
    • Avaliação da qualidade no processo de desenvolvimento de software
      • Atividades que deve ser executada durante as etapas do processo de desenvolvimento para assegurar a qualidade do produto final
        • Uso de um processo de desenvolvimento bem definido
        • Conduta de revisões formais
        • Testes
        • Padronização
        • Controle de alterações no software
        • Medição dos fatores de qualidade
        • Comparação das medidas obtidas com dados históricos de outros projetos
  4. Modelos de Ciclos de vida

    • Cascata
      • Popularizado nos anos 70
        • Composto por uma sequência de atividades.
        • Uma atividade começa a executar quando a outra termina
        • Resultado de uma etapa é utilizado na etapa seguinte
        • Guiado por documentos
        • Ciclo de vida mais antigo e mais utilizado
    • Incrementais
      • Protótipo
        • Versão simplificada de um produto de software
          • Geralmente criado sem um processo formal de desenvolvimento
            • Utilizado para elucidar ou validar os requisitos do produto
      • Desenvolvimento incremental
        • Diversas execuções do modelo clássico de vida
        • Ao fim de cada execução é gerado um produto executável
        • Tipos de ciclos incrementais
          • Evolutivos
            • Produtos de cada etapa de desenvolvimento são aproveitados em cada nova passagem pela etapa.
            • Entrega rápida de produtos intermediários para o usuário
            • Maior entendimento a medida que o desenvolvimento ocorre
            • Os requisitos vão sendo implementados por partes
          • Descartáveis
            • Produtos das etapas de desenvolvimento são descartados e cada novo protótipo é construído do início.
            • Custo alto pela perda do "PRODUTO" construído no incremento
            • Possível insistência do usuário em manter o protótipo em uso
            • Alta qualidade do processo "POR TRÁS" do protótipo descartável
          • Operacional
            • Requisitos são elucidados através de protótipos e o produto final é construído paralelamente a construção dos protótipos.
            • Duas equipes de trabalho
              • Equipe Secundaria
                • Uma equipe pequena trabalha em turnos longos no ambiente do usuário, construindo protótipo "quick & dirty" para facilitar o entendimento dos requisitos do usuário.
              • Equipe Principal
                • Equipe que trabalha em ritmo menos acelerado e em um ambiente separado, produzindo um software de qualidade a partir dos requisitos coletados pela equipe secundaria.
    • Espiral
      • Metamodelo
        • Porque qualquer ciclo de vida pode ser utilizado na fase de desenvolvimento
      • A medida que componentes são desenvolvidos:
        • Os componentes são avaliados
        • O desenvolvimento futuro e reavaliado
        • Riscos são avaliados
        • Ciclo termina com o produto pronto
    • RAD
      • Adaptação do modelo clássico
        • Onde um desenvolvimento rápido é obtido através de uma abordagem de construção baseado em componentes.
      • Fases:
        • Modelagem do negócio
        • Modelagem dos dados
        • Modelagem do processo
        • Geração da aplicação
        • Teste e implantação
    • Com componentes
    • Transformacional
    • Critérios para seleção de ciclo de vida
      • Critérios relacionados aos usuários / equipe
        • Experiência dos usuários no domínio da aplicação.
        • Facilidade dos usuários em expressar requisitos.
        • Experiência da equipe de desenvolvimento no domínio da aplicação.
        • Experiência da equipe de desenvolvimento em engenharia de software.
        • Disponibilidade de recursos humanos para a equipe.
        • Grau de acesso aos usuários.
      • Critérios relacionados ao problema
        • Grau de maturidade do domínio da aplicação.
        • Complexidade do problema.
        • Frequência e complexidade das mudanças nos requisitos.
        • Grau de magnitude das mudanças nos requisitos.
        • Grau de modularidade do problema.
      • Critérios relacionados ao produto
        • Tamanho da aplicação.
        • Grau de complexidade da aplicação.
        • Grau de importância dos requisitos de interface.
      • Critérios relacionados aos recursos
        • Grau de acesso aos usuários.
        • Disponibilidade de recursos humanos.
      • Critérios relacionados ao desenvolvimento
        • Aplicável à necessidade de entrega de produtos intermediários.
        • Grau dos riscos técnicos.
        • Paradigma adotado.

Imagens e arquivos do mapa

  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.
  • Modelos de Ciclo de Vida de Desenv. de Soft.

Informações

Descrição
Engenharia de Software Mapa Mental sobre Modelos de Ciclo de Vida de Desenv. de Soft., criado por Rodrigo Pereira em 15-02-2017.
Criado por
Rodrigo Pereira
Visualizações
4
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?