Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso: Análise e Desenvolvimento de Sistemas Disciplina: Qualidade de Software Aula 02: Engenharia de Software Prof. Hemir da C. Santiago hemircsantiago@fac.pe.senac.br Objetivos da aula: Revisar os aspectos que levaram ao surgimento da engenharia de software e apresentar a definição de alguns conceitos da área. Revisar o que é um processo de software e conhecer os seus principais modelos. Agenda Engenharia de Software Elementos Fundamentais da ESW Processo de Software Modelos de Processo de Software Engenharia de Software Objetivo Melhorar a qualidade do software e aumentar a produtividade e satisfação profissional de engenheiros de software. Etapas Levantamento de Requisitos / Planejamento Modelagem / Desenho / Projeto Implementação / Codificação / Construção Validação / Testes Entrega / Manutenção Engenharia de Software É a aplicação dos princípios científicos, métodos, modelos, padrões e teorias que possibilitem: ...um sistema de software Resulta numa produção econômica de software de qualidade Gerenciar Planejar Modelar Projetar Implementar Analisar Manter Aprimorar Medir Elementos Fundamentais Proporcionam os detalhes de “como fazer” para construir o software. Fornecem as técnicas (DER, normalização, POO, UML) para realizar um conjunto de tarefas, como: Planejamento e estimativa de projeto Análise de requisitos de software Arquitetura de software Codificação Teste Manutenção Métodos Ferramentas Procedimentos Elementos Fundamentais Fonte: Adaptado de (PRESSMAN, 1995). Proporcionam apoio aos métodos. Podem ser ferramentas isoladas para cada método ou ferramentas integradas, que fornecem um suporte a um conjunto de métodos. CASE – Computer-Aided Software Engineering Engenharia de Software Auxiliada por Computador Métodos Ferramentas Procedimentos São o elo entre os métodos e as ferramentas e possibilitam o desenvolvimento racional do software. Podem definir: A sequência em que os métodos serão aplicados Os produtos a serem entregues Os controles que ajudam a assegurar a qualidade e a coordenação de mudanças Os marcos de referências que possibilitam avaliar o progresso Os papéis que refletem as responsabilidades das pessoas envolvidas no processo. Métodos Ferramentas Procedimentos Elementos Fundamentais Modelos de Processo O conjunto de etapas que envolvem métodos, ferramentas e procedimentos são conhecidos como modelo de processo de software. É uma representação abstrata simplificada de um processo de software. Modelo em Cascata Implementação e teste unitário Integração e teste de sistema Operação e Manutenção Definição dos Requisitos Projeto de sistema e de software Ciclo de Vida Clássico Baseado no ciclo de vida da engenharia convencional. As etapas são executadas de forma sistemática e sequencial. Modelo Baseado em Componentes O software desenvolvido é baseado em componentes padronizados, reutilizáveis e na integração de componentes em sistemas complexos. Desenvolvimento e integração Validação de sistema Especificação de requisitos Análise de Componentes Alterações nos requisitos Projeto de sistema com reuso Componente: Unidade de software independente capaz de ser utilizada com outros componentes para formar um sistema mais complexo. Lidando com Mudanças Mudanças em projetos de software são inevitáveis: Mudam requisitos conforme as mudanças do negócio Mudam as prioridades conforme a gestão Mudam as tecnologias conforme a evolução Em grandes projetos os requisitos não são totalmente conhecidos na fase inicial do projeto. Mudanças aumentam os custos de desenvolvimento do software devido o retrabalho. Lidando com Mudanças Abordagens para lidar com mudanças (modelos evolucionários): Prototipação Entrega Incremental (Iterativo e Incremental) Espiral Prototipação Trabalha-se com o usuário na experimentação para compreender os requisitos e desenvolver uma melhor definição desses requisitos. Ideal para validar partes do sistema. O protótipo é descartado e um novo esforço de desenvolvimento é realizado. Prototipação B F A E D C A – INÍCIO Coleta e refinamento dos requisitos B – Projeto Rápido C – Construção do Protótipo D – Avaliação do Protótipo pelo Cliente E – Refinamento do Protótipo F – FIM Engenharia do Produto Entrega Incremental Diferentes versões são desenvolvidas em paralelo. Surgiu para superar as fraquezas do modelo Cascata. O desenvolvimento e a entrega é realizada a partir de incrementos onde cada incremento corresponde à adição de novas funcionalidades do sistema. Muito usado pelas metodologias de desenvolvimento ágeis. Entrega Incremental Espiral Considerado uma melhoria do modelo Incremental. Riscos são avaliados explicitamente e resolvidos ao longo do processo. Cada volta na espiral representa uma versão do software. Diferente do Modelo Incremental, que entrega partes prontas uma de cada vez, o Modelo Espiral é mais iterativo e tenta fazer sucessivos refinamentos. Espiral Dúvidas? Plano de Aulas DATA AULA 1 15/02/2023 Apresentação da disciplina | Revisão: Engenharia de Software 2 01/03/2023 Engenharia de Software 3 08/03/2023 Introdução à Qualidade de Software 4 15/03/2023 Modelos de Maturidade para Processos de Software 5 18/03/2023 Sábado Letivo (Atividade no Google Classroom) 6 22/03/2023 Métricas para Avaliação de Qualidade 7 29/03/2023 Ferramentas de Qualidade 8 05/04/2023 Revisão da 1ª Unidade 9 12/04/2023 Atividade Avaliativa 10 19/04/2023 1ª Devolutiva Plano de Aulas DATA AULA 11 26/04/2023 Introdução a Testes de Software 12 29/04/2023 Sábado Letivo (Atividade no Google Classroom) 13 03/05/2023 Técnicas e Níveis de Teste 14 10/05/2023 Testes Automatizados 15 17/05/2023 Seminário: Apresentações 16 24/05/2023 Seminário: Apresentações 17 31/05/2023 Atividade Avaliativa 18 07/06/2023 2ª Devolutiva 19 14/06/2023 Recuperação 20 21/06/2023 Devolutiva da recuperação
Compartilhar