Baixe o app para aproveitar ainda mais
Prévia do material em texto
RESUMO ENGENHARIA DE SOFTWARE Software: Conjunto de dados ou instruções que informam a um mecanismo como trabalhar. Engenharia de software: disciplina que reúne procedimentos, métodos e ferramentas a serem utilizadas visando auxiliar no processo da produção de software. Classificações do software: • Software Básico: Programas de apoio a outros programas Ex: Sistemas Operacionais • Software Embutido: Softwares dentro de produto ou sistemas usados para controlá-los • Software De tempo Real: Monitora, analisa e controla eventos do mundo real. • Software de engenharia (científico): focados em grandes processamentos numéricos • Software de inteligência artificial: programas que usam algoritmos não numéricos para resolver problemas complexos Crise de software: Conjunto de problemas encontrados no desenvolvimento de software Problemas: • As estimativas de prazo e de custo frequentemente imprecisas • Mal acompanhamento de demanda pelos serviços: pouca produtividade das pessoas • Baixa qualidade do software • Software difícil de manter Causas: • Falhas das pessoas responsáveis pelo desenvolvimento • Mitos do software: propagação de desinformação e confusão No lado Administrativo, do cliente e do lado profissional. • O Caráter do software: era visto como um sistema físico e não lógico, sucesso era medido de forma errada A engenharia de software abrange 3 elementos fundamentais: • Métodos: Os detalhes de como fazer para construir o software • Ferramentas: dão suporte automatizado aos métodos • Procedimentos: o elo de ligação entre os métodos e ferramentas. CICLOS DE VIDA = estrutura que indica processos e atividades envolvidas no desenvolvimento, operação e manutenção de um software Ciclo de vida clássico (cascata): • ANÁLISE E ENGENHARIA DE SISTEMAS: Envolve a coleta de requisitos em nível do sistema, análise de alto nível • ANÁLISE DE REQUISITOS DE SOFTWARE • PROJETO: tradução dos requisitos para um conjunto de representações visando qualidade. Se concentra na estrutura de dados, arquitetura de software, detalhes procedimentais e caracterização de interfaces. • CODIFICAÇÃO: tradução do projeto para uma linguagem, para ser executado no pc. • MANUTENÇÃO PROTOTIPAÇÃO = modelo do software que irá ser construído, é um mecanismo que serve para identificar os requisitos do software. Usado quando o cliente só definiu alguns objetivos, mas ainda não identificou requisitos com detalhes. Obtenção dos requisitos, Projeto rápido, Construção protótipo, Avaliação, Refinamento dos requisitos, Construção do produto Ciclo de vida em Espiral = engloba as características do ciclo de vida clássico e da prototipação, sendo adicionado o ANÁLISE DE RISCOS • Planejamento: determinação dos objetivos, alternativas e restrições. • Análise de Risco: análise das alternativas e identificação / resolução dos riscos. • Construção: desenvolvimento do produto no nível seguinte. • Avaliação do cliente: avaliação do produto e planejamento das novas fases. Técnicas de 4ªGeração = conjunto de ferramentas que possibilita que o sistema seja especificado em linguagem de alto nível e a partir disso o código fonte é gerado automaticamente. 1. Obtenção dos requisitos 2. Estratégia de Projeto 3. Implementação usando 4GL 4. Teste Vantagens: redução no tempo de desenvolvimento (aumento de produtividade) Desvantagens: Não são fáceis de usar, pode acontecer de o código fonte ser ineficiente, seu uso ainda é questionável. 3 FASES GENÉRICAS do processo de des. de soft. Definição: o que será desenvolvido ➢ Análise do sistema: definição de escopo ➢ Planejamento do Projeto de Software ➢ Análise de requisitos: definição detalhada do seu domínio e função Desenvolvimento: como será desenvolvido ➢ Projeto de Software: tradução dos requisitos em representações ➢ Codificação: Representações convertidas em linguagem ➢ Realização de testes do Software: objetivo de descobrir defeitos. Manutenção: mudanças que ocorrerão depois de liberado ➢ Correção: muda o software para corrigir defeitos ➢ Adaptação: muda o software para acomodar mudanças em seu ambiente ➢ Manutenção Funcional: à medida que for usado será reconhecido que funções adicionais oferecerão mais benefícios. ➢ Manutenção Perfectiva: atualizações adicionando melhorias e funcionalidades. Atividades de Proteção são compostas pelas: revisões (manter qualidade em cada etapa concluída) Documentações (garantir que informações completas sobre o software esteja disponível para uso posterior) Controle das Mudanças (para as mudanças serem aprovadas e acompanhadas).
Compartilhar