engenharia de software
DESCRIPTION
Introdução Engenharia de Software - baseado no livro Engenharia de Software by SommervilleTRANSCRIPT
![Page 1: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/1.jpg)
Introdução
Engenharia de software
João Johanes
![Page 2: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/2.jpg)
Introdução
Engenharia de Software é ramo da engenharia cujo o foco é desenvolvimento dentro de custos adequados de sistemas de software de alta qualidade...
... Sommerville
![Page 3: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/3.jpg)
Introdução
Software é abstrato e intagível
Não é limitado por materiais ou controlado por leis da física ou por processo de manufatura. De certo modo já simplifica a engenharia de software.
![Page 4: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/4.jpg)
O que é Software?
Software não é apenas um programa, mas também todos os dados de documentação e configuração associados, necessários para que o programa opere corretamente.
![Page 5: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/5.jpg)
O que é Software?
Um sistema de software consiste, geralmente, de conjunto de programas separados; arquivos de configuração, que são utilizados para configurar esses programas; documentação do sistema, que descreve a estrutura do sistema; a documentação do usuário, que explica como usuário deve usar software;
![Page 6: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/6.jpg)
Tipos de software
Existem dois tipos de software:
• Produtos genéricos
• Produtos sob encomenda
![Page 7: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/7.jpg)
Tipos de software
Produtos genéricos
São sistemas stand-alone, produzidos por uma organização de desenvolvimento e vendidos no mercado para qualquer cliente disposto a comprá-los.
![Page 8: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/8.jpg)
Tipos de software
Produtos sob encomenda
São sistemas encomendados por um determinado cliente. O Software é desenvolvido especialmente para aquele cliente por uma empresa de software.
![Page 9: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/9.jpg)
O que é Engenharia de Software?
Engenharia de software é uma disciplina de engenharia relacionada com todos os aspectos da produção de software, desde os estagios iniciais de especificação até manutenção, depois que entrar em operação;
![Page 10: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/10.jpg)
O que é Engenharia de Software?
Disciplinas de engenharia: Os engenheiros fazem as coisas funcionarem. Eles aplicam teorias, métodos e ferramentas onde for apropriado mas eles usam de forma seletiva e sempre procuram descobrir soluções para os problemas.
![Page 11: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/11.jpg)
O que é Engenharia de Software?
Todos os apectos da produção de software: A engenharia de software não esta relacionada apenas com os processos técnicos de desenvolvimento de software, mas também com atividades como o gerenciamento de projeto de software e o desenvolvimento de ferramentas , métodos e teorias que apóiem a produção de software;
![Page 12: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/12.jpg)
O que é Processo de Software?
Um processo de software é conjunto de atividades e resultados associados que produz um produto de software.
![Page 13: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/13.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Especificação de software: clientes e engenheiros definem o software a ser produzido e as restrições para a sua operação.
![Page 14: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/14.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Especificação de software:
![Page 15: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/15.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Desevolvimento de software: O software é projeto e programado.
![Page 16: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/16.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Desevolvimento de software:
![Page 17: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/17.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Validação de software: Na qual o software é verificado para garantir que é o que o cliente deseja.
![Page 18: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/18.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Validação de software:
![Page 19: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/19.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Evolução de software: Na qual o software é verificado para garantir que é o que o cliente deseja.
![Page 20: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/20.jpg)
O que é Processo de Software?
Existem quatros atividades fundamentais de processo:
• Evolução de software: Na qual o software é verificado para garantir que é o que o cliente deseja.
![Page 21: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/21.jpg)
O que é um Modelo de Processo de Software?
Um modelo de processo de software é uma descrição simplificada desse processo de software que apresenta uma visão dele.
![Page 22: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/22.jpg)
O que é um Modelo de Processo de Software?
Modelo de processo incluem atividades, que fazem parte do processo de software, os produtos de software, os papéis das pessoas envolvidas na engenharia de software.
![Page 23: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/23.jpg)
Tipos de Modelo de Processo de Software
Um modelo de workflow: mostra a sequência de atividades ao longo do processo, com suas atividades , com suas entradas, saídas e depedência entre elas.
![Page 24: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/24.jpg)
Tipos de Modelo de Processo de Software
modelo de workflow:
![Page 25: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/25.jpg)
Tipos de Modelo de Processo de Software
Um modelo de fluxo de dados: representa o processo como um conjunto de atividades, no qual cada atividade realiza alguma transformação de dados.
![Page 26: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/26.jpg)
Tipos de Modelo de Processo de Software
modelo de fluxo de dados:
![Page 27: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/27.jpg)
Tipos de Modelo de Processo de Software
Um modelo de papel: representa os papéis das pessoas envolvidas no processo de software e as atividades pelas quais são responsáveis.
![Page 28: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/28.jpg)
Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software
O modelo em cascata: considera as atividades apresentadas anteriormente e as representa como fases separadas de processo, como especificação de requisitos, projeto de software, implementação, teste e assim por diante;
![Page 29: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/29.jpg)
Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software
Desenvolvimento iterativo: esta abordagem intercala as atividades de especificação, desenvolvimento e validação;
![Page 30: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/30.jpg)
Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software
Desenvolvimento iterativo:
![Page 31: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/31.jpg)
Três tipos de Modelos gerais ou paradigmas de desenvolvimento de software
Baseado em componentes (CBSE – Component Based Software Engineering): esta técnica supõe que as partes do sistema já existam. O processo de desenvolvimento concentra-se em integrar essas partes.
![Page 32: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/32.jpg)
O que é CASE?
Computer-Aided Software Engineering – CASE é conjunto de ferramentas para apoiar atividades do processo de software, tais como análise de requisitos, modelagem de sistema, depuração e teste.
![Page 33: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/33.jpg)
O que é CASE?
Computer-Aided Software Engineering – CASE
![Page 34: Engenharia de software](https://reader035.vdocuments.net/reader035/viewer/2022062303/5575f77bd8b42a81158b46fc/html5/thumbnails/34.jpg)
Engenharia de Software
Introdução
FIM@