Introdução à
Engenharia de
Software
Engenharia de software é a disciplina que engloba o desenvolvimento,
operação e manutenção de softwares. O objetivo principal é criar
softwares eficientes, confiáveis e que atendam às necessidades dos
usuários.
IR
by Izildo Rafael
Ciclo de vida do software
1 Planejamento
A primeira etapa define os objetivos, recursos e escopo do projeto.
2 Análise e especificação
Compreensão profunda das necessidades do usuário e documentação detalhada dos requisitos.
3 Projeto e arquitetura
Definição da estrutura do software, organização dos componentes e interfaces.
4 Implementação e codificação
Escrita do código fonte de acordo com as especificações de design.
5 Testes e garantia da qualidade
Verificação da funcionalidade, desempenho e segurança do software.
6 Implantação e entrega
Colocação do software em produção para uso final.
7 Manutenção e evolução
Correções de erros, melhorias de desempenho e adaptações a novos requisitos.
Metodologias ágeis
Scrum
Metodologia ágil focada em sprints
curtas e iterativas, com reuniões
diárias e revisões regulares.
Kanban
Sistema visual para gerenciar tarefas,
priorizar fluxos de trabalho e otimizar
o processo de desenvolvimento.
Lean
Enfoque em minimizar desperdícios,
otimizar o valor entregue e eliminar
atividades que não agregam valor.
Requisitos e análise de
sistemas
1 Elicitação de
requisitos
Coleta de informações
sobre as necessidades do
usuário, funcionalidades
desejadas e restrições.
2 Análise de requisitos
Validação, organização e
priorização dos requisitos,
assegurando coerência e
completude.
3 Modelagem de
requisitos
Representação gráfica dos
requisitos utilizando
diagramas e modelos,
como UML.
4 Documentação de
requisitos
Registro formal dos
requisitos, garantindo
clareza, precisão e
rastreabilidade.
Projeto e design de software
Arquitetura de software
Definição da estrutura geral do
software, incluindo os
componentes principais, suas
interações e a organização do
código.
Design de interfaces
Criação de interfaces de usuário
intuitivas, usáveis e acessíveis,
que facilitam a interação do
usuário com o software.
Design de banco de
dados
Modelagem e organização dos
dados, definindo tabelas,
relacionamentos e mecanismos
de acesso.
Design de testes
Planejamento de casos de teste
para verificar o funcionamento
do software e garantir a
qualidade.
Implementação e codificação
Escolha da linguagem de programação
Seleção da linguagem de programação mais adequada para o projeto,
considerando os requisitos, a plataforma e as habilidades da equipe.
Escrita do código
Implementação do software de acordo com as especificações de design,
utilizando a linguagem de programação escolhida.
Testes unitários
Verificação individual de cada componente do software para garantir que
funciona corretamente de acordo com as expectativas.
Integração de código
Combinação dos componentes individuais em um sistema completo,
garantindo a interoperabilidade entre eles.
Testes e garantia de qualidade
Teste de unidade Verificação do funcionamento
correto de cada componente
individual do software.
Teste de integração Verificação do funcionamento
correto da interação entre os
diferentes componentes do
software.
Teste de sistema Verificação do funcionamento
correto do software como um todo,
em um ambiente similar ao
ambiente de produção.
Teste de aceitação Verificação da aprovação do
software pelos usuários finais,
garantindo que atenda às
necessidades e expectativas.
Manutenção e evolução do
software
Correção de erros
Identificação e resolução de bugs,
falhas ou defeitos no software.
Melhoria de desempenho
Otimização do software para maior
velocidade, eficiência e melhor
utilização de recursos.
Adição de novas
funcionalidades
Incorporação de novas
funcionalidades ou recursos ao
software, atendendo a novos
requisitos.
Adaptação a novos ambientes
Modificações no software para que
funcione em diferentes plataformas,
sistemas operacionais ou
navegadores.

Introdução a Engenharia de Software.pptx

  • 1.
    Introdução à Engenharia de Software Engenhariade software é a disciplina que engloba o desenvolvimento, operação e manutenção de softwares. O objetivo principal é criar softwares eficientes, confiáveis e que atendam às necessidades dos usuários. IR by Izildo Rafael
  • 2.
    Ciclo de vidado software 1 Planejamento A primeira etapa define os objetivos, recursos e escopo do projeto. 2 Análise e especificação Compreensão profunda das necessidades do usuário e documentação detalhada dos requisitos. 3 Projeto e arquitetura Definição da estrutura do software, organização dos componentes e interfaces. 4 Implementação e codificação Escrita do código fonte de acordo com as especificações de design. 5 Testes e garantia da qualidade Verificação da funcionalidade, desempenho e segurança do software. 6 Implantação e entrega Colocação do software em produção para uso final. 7 Manutenção e evolução Correções de erros, melhorias de desempenho e adaptações a novos requisitos.
  • 3.
    Metodologias ágeis Scrum Metodologia ágilfocada em sprints curtas e iterativas, com reuniões diárias e revisões regulares. Kanban Sistema visual para gerenciar tarefas, priorizar fluxos de trabalho e otimizar o processo de desenvolvimento. Lean Enfoque em minimizar desperdícios, otimizar o valor entregue e eliminar atividades que não agregam valor.
  • 4.
    Requisitos e análisede sistemas 1 Elicitação de requisitos Coleta de informações sobre as necessidades do usuário, funcionalidades desejadas e restrições. 2 Análise de requisitos Validação, organização e priorização dos requisitos, assegurando coerência e completude. 3 Modelagem de requisitos Representação gráfica dos requisitos utilizando diagramas e modelos, como UML. 4 Documentação de requisitos Registro formal dos requisitos, garantindo clareza, precisão e rastreabilidade.
  • 5.
    Projeto e designde software Arquitetura de software Definição da estrutura geral do software, incluindo os componentes principais, suas interações e a organização do código. Design de interfaces Criação de interfaces de usuário intuitivas, usáveis e acessíveis, que facilitam a interação do usuário com o software. Design de banco de dados Modelagem e organização dos dados, definindo tabelas, relacionamentos e mecanismos de acesso. Design de testes Planejamento de casos de teste para verificar o funcionamento do software e garantir a qualidade.
  • 6.
    Implementação e codificação Escolhada linguagem de programação Seleção da linguagem de programação mais adequada para o projeto, considerando os requisitos, a plataforma e as habilidades da equipe. Escrita do código Implementação do software de acordo com as especificações de design, utilizando a linguagem de programação escolhida. Testes unitários Verificação individual de cada componente do software para garantir que funciona corretamente de acordo com as expectativas. Integração de código Combinação dos componentes individuais em um sistema completo, garantindo a interoperabilidade entre eles.
  • 7.
    Testes e garantiade qualidade Teste de unidade Verificação do funcionamento correto de cada componente individual do software. Teste de integração Verificação do funcionamento correto da interação entre os diferentes componentes do software. Teste de sistema Verificação do funcionamento correto do software como um todo, em um ambiente similar ao ambiente de produção. Teste de aceitação Verificação da aprovação do software pelos usuários finais, garantindo que atenda às necessidades e expectativas.
  • 8.
    Manutenção e evoluçãodo software Correção de erros Identificação e resolução de bugs, falhas ou defeitos no software. Melhoria de desempenho Otimização do software para maior velocidade, eficiência e melhor utilização de recursos. Adição de novas funcionalidades Incorporação de novas funcionalidades ou recursos ao software, atendendo a novos requisitos. Adaptação a novos ambientes Modificações no software para que funcione em diferentes plataformas, sistemas operacionais ou navegadores.