¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Introdução Eng. de Software

Rodrigo Pereira Engenharia de Software Inglés

Introdução Eng. de Software

Contenido del mapa

Introdução Eng. de Software

  1. Software

    • Software é um produto maleável no qual seu material componente (código fonte) é manipulável. Deve-se ter em mente que a aparente facilidade de mudança que o software possui não é de todo verdadeira. Afinal, o software não está restrito apenas ao seu código fonte e seu executável, mas também a toda a documentação e configuração associadas, que são necessárias para que esse funcione corretamente.
    • Produto
      • <> dos comuns
      • Maleável
        • Maleabilidade
          • Aparente facilidade nas alterações
      • Custo no desenvolvimento
        • Fator Humano
          • Criatividade
          • Capacidade de produção
    • Desenvolvimento custa caro
      • Quase sempre, os recursos (equipe) são insuficientes e incapazes de realizar as atividades
    • É desenvolvido, não produzido
      • Alto custo de desenvolvimento (Engenharia)
      • Baixo custo na reprodução
      • Tempo de desenvolvimento, quase sempre é superado
    • Tipos
      • Sistemas de software
        • Uma coleção de programas escritos para servir a outros programas.
      • Sistemas de tempo real
        • Programas que monitoram e controlam eventos do mundo real ao mesmo tempo em que estes eventos ocorrem. São sistemas que devem atender a rígidas restrições de tempo de resposta.
      • Sistemas de informação
        • Sistemas de apoio a processos de negócio e que consistem na manutenção e processamentos de bases de informações.
      • Sistema de engenharia
        • Apóiam atividade de negocio, não manipulando grandes bases de dados, mas processando informações através de algoritmos complexos.
      • Sistemas embarcados
        • Sistemas que residem em memória não volátil e são distribuídos como parte de algum equipamento.
      • Sistemas para computadores pessoais
        • Sistemas como planilhas, jogos.
      • Sistemas distribuídos
        • Sistemas formados por componentes de software executando em computadores distintos e conectados por uma rede.
    • Modelo de ciclo de vida
      • É uma descrição de um conjunto de etapas que devem ser executadas para o desenvolvimento e manutenção de um produto de software. O ciclo de vida determina a interação entre estas etapas e o momento em que elas devem ser executadas em relação umas às outras. Cada etapa define a atividade a ser executada, quem participa e quais são os critérios de encerramento. A transição entre as fases ocorre com entregas de produtos ou transferência técnica de especificações e, em geral, as fases terminam quando a entrega da fase anterior foi homologada. Para isso, devem existir critérios tangíveis para a homologação (isto é, aprovação).
      • Principais etapas ciclo de vida clássico
        • Codificação
          • Pode ser considerada como a tradução do projeto para uma linguagem de programação.
        • Projeto
          • Define uma solução computacional para a implementação de um conjunto de requisitos definidos na análise.
        • Análise de requisitos
          • Etapa que tem o objetivo de descrever o que o software deve fazer e para quem devem ser construídas estas funcionalidades.
        • Testes
          • Verificação do código para determinar se este atende ao projeto e implementa corretamente os requisitos.
        • Manutenção
          • Etapa em que se atua sobre o software já desenvolvido e em produção, em geral, para corrigir erros ainda presentes nele ou para evoluí-lo de forma que se mantenha útil.
    • Crise do Software
      • Início dos Anos 70, final dos anos 60
        • Definição
          • Expressava as dificuldades do desenvolvimento de software frente ao rápido crescimento da demanda por software, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados.
          • Os problemas mais comuns no desenvolvimento de software
            • Produtividade das pessoas da área de software não acompanha a demanda.
            • Prazos ultrapassados.
            • Custos acima do previsto.
            • A facilidade de manutenção não era enfatizada como um critério importante, gerando assim custos de manutenção elevados.
            • Não atendimento dos requisitos do usuário.
            • 1/3 dos projetos eram cancelados.
            • 2/3 dos projetos extrapolavam o orçamento.
            • Estimativas de prazo e de custo imprecisas.
      • Marcada também pela queda do valor do hardware
    • Legado
      • Software desenvolvido a há muitas décadas atrás.
      • Software que foi muitas vezes modificado para se adequar aos requisitos
      • Apesar de ser antigo, eles são considerados indispensáveis para funções de negócios vitais.
  2. Mitos do desenvol. de software

    • da Gerência
      • Ferram. modernas de hardware e software são suficiente.
      • Manuais de Regras e procedimentos.
      • Estamos atrasados ? Vamos alocar mais gente ao projeto.
    • Do desenvolvedor/ Programador
      • Até que o programa esteja "rodando" não a como medir sua qualidade
      • O único produto de um projeto de software é o conjunto de programas
      • Programa escrito e testado! acabei
    • Do cliente
      • Uma lista de inteções(Boas) é suficiente para começar a produzir um software
      • Minhas necessidades vão mudar? mas mudanças são faceis de introduzir porque software é bastante flexível
  3. Engenharia de Software

    • “O estabelecimento de um conjunto de princípios de engenharia com o objetivo de se construir software confiável, eficiente e economicamente viável e em máquinas reais”. A Engenharia de Software é a aplicação de abordagens sistemáticas para desenvolvimento de software de maneira disciplinada e quantificável. A Engenharia de Software surgiu para identificar e analisar as causas de problemas no desenvolvimento de software, propondo soluções economicamente viáveis para esses problemas. Ela também busca organizar o conhecimento sobre diferentes técnicas para o desenvolvimento de software.
    • Princípios
      • Métodos
        • Representações do software durante seu desenvolvimento. Os métodos, em geral, estão baseados em modelos de desenvolvimento, que podem ser representados graficamente ou textualmente, e no uso desses modelos como especificação e projeto de um sistema. Uso de notações e linguagens (por exemplo: UML; analise estruturada).
      • Ferramentas
        • são softwares quem auxiliam na construção de software, oferecendo suporte automático ou semi-automático aos métodos. Ferramentas CASE (computer aided software engineering): abrangem uma larga faixa de diferentes tipos de programas&nbsp;utilizados nas atividades do processo de software, tais como ferramentas de análise de requisitos, ferramentas de modelagem do sistema, ferramentas de suporte a teste, etc.
      • Procedimentos
        • Seqüência de passos para construir um software, incluindo os resultados gerados por estes passos e os controles aplicáveis sobre estes resultados.
      • Abstração
        • é a capacidade de descrever problemas em um nível de generalização que esconde detalhes (não importantes naquele momento) e permite o foco dos analistas nos principais mecanismos que regem o sistema. O uso da abstração no desenvolvimento de software permite que um grupo de desenvolvedores entenda gradualmente um problema de larga escala a ser abordado pelo software.
      • Notação de Análise e projeto
        • Durante o desenvolvimento do software, há a comunicação entre os integrantes da equipe. Por isso, é importante que haja padronização e formalismo na documentação e nos artefatos produzidos por essas equipes. As notações de análise e projeto ajudam muito neste sentido.
      • Prototipagem
        • É a construção de versões mais simples dos sistemas para verificar o entendimento dos requisitos, a qualidade da interface com o usuário e a capacidade de um projeto resolver o problema.
      • Arquitetura de sistema
        • Mecanismos fundamentais que direcionam a construção do produto de software e servem como base para seu posterior refinamento.
      • Processo de desenvolvimento
        • Formalização e disciplina nas atividades que serão executadas no processo de desenvolvimento, visando qualidade no produto. A qualidade de um produto está ligada a qualidade do processo com o qual foi construído.
      • Reutilização
        • Princípio baseado na oportunidade decorrente da similaridade entre aplicações para o reuso de artefatos previamente construídos (não somente o código fonte, mas também especificações, arquiteturas, documentos de projeto, testes, etc.).
      • Medição
        • Mecanismos para avaliação de qualidade do produto e do processo de desenvolvimento. A medição é utilizada com o intuito de controlar tanto a qualidade do produto como do processo, e também para aprimoramento.
      • Ferramentas de desenvolvimento
        • Apóiam o processo de desenvolvimento de maneira automatizado, também permitem a integração das diversas atividades do processo de desenvolvimento.
      • Separação de objetivos
        • O desenvolvimento de software envolve múltiplas habilidades e diferentes objetivos nas diversas fases de desenvolvimento.
      • Antecipação a mudanças
        • Mudanças afetam os sistemas, e é certo que essas ocorrem. Portanto, um sistema deve ser suscetível a mudanças.
    • Processo desenvolvimento de Software
      • Tentativa de sistematizar o desenvolvimento de software, estabelecendo as atividades que devem ser realizadas para construir o software, a ordem em que estas atividades devem ser executadas, os papéis e pessoas envolvidos, os artefatos que devem ser gerados e como estes podem ser validados.
      • Conjunto formado por
        • Atividades
        • Métodos
        • Práticas
  4. Processo de Software

    • Definição 1
      • Um conjunto de atividades realizadas por pessoas cujo objetivo é desenvolvimento ou evolução de software e sua documentação.
    • Definição 2
      • Conjunto de atividades, métodos, práticas e tecnologias utilizadas para o desenvolvimento e manutenção de software e produtos relacionados
    • Atividades genéricas em todos os processos
      • Especificação
        • O que o sistema deve fazer (funcionalidade) e quais as restrições
      • Desenvolvimento
        • Produção do software
      • Manutenção
        • mudanças no software
      • Verificação
        • Avaliar correção, validação e outros aspectos de qualidade
    • Método x Processo
      • Método
        • (ou modelo de processo) é algo teórico, um conjunto de possíveis ações – conteúdo do método.
        • Método + Planejamento = Processo
        • Define:
          • Define quem e quando fazer.
      • Processo
        • determinar ações práticas a serem realizadas pela equipe como prazos definidos e métricas para se avaliar como elas estão sendo realizadas.
        • Define:
          • Define o que, como e porque fazer

Imágenes y archivos del mapa

  • Introdução Eng. de Software
  • Introdução Eng. de Software
  • Introdução Eng. de Software
  • Introdução Eng. de Software

Información

Descripción
Engenharia de Software Mapa Mental sobre Introdução Eng. de Software, creado por Rodrigo Pereira el 07/02/2017.
Creado por
Rodrigo Pereira
Visitas
3
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?