Buscar

Engenharia de Software - introducao

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 31 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Profa. Fabrícia Damando Santos
fabriciadamando@gmail.com
Engenharia de Sofwtare
Aula 1 - Introdução
O que é um Software?
 Aurélio:
 Um sistema computacional, o conjunto dos componentes 
informacionais, que não fazem parte do equipamento físico e 
inclui os programas e os dados associados a eles
 Didática:
 Estruturas de dados que possibilitam manipular os dados que 
estão sendo tratados
 Instruções que executam funções e ações desejadas
 Documentos que descrevem a operação de programas
 Linguagens computacionais desenvolvidas para que um 
conjunto de dados gera informações e funções necessárias para 
executar determinadas ações.
É muito mais 
que código!!!! 
Para desenvolver um SW
• Conhecer as funções 
do computador
• Teorias 
Computacionais quais 
estão descritas nos 
fundamentos da 
ciência da computação
• Problema do cliente
• Necessidade do 
cliente
Técnicas e 
Ferramentas de 
Engenharia de 
Software
Características do SW
 O Software é desenvolvido ou projetado por 
engenharia, não manufaturado no sentido 
clássico:
Custos são concentrados no trabalho de 
engenharia.
Projetos não podem ser geridos como projetos 
de manufatura.
“Fábrica de Software!”
Características do SW
 Software não “se desgasta” , mas sofrem atualizações! 
 Software não é sensível aos problemas ambientais que 
fazem com que o hardware se desgaste.
 Falhas para HW e SW (deterioração com 
modificações)
 Manutenção do SW é mais complexa
Características do SW
 Maior parte do SW continua a ser construída sob 
demanda
 Diferentemente do HW
 Componentes de software reutilizáveis podem 
encapsular estruturas de dados ou processamento 
sobre dados
 Permitem a criação de novas aplicações a partir de 
partes “reusáveis”
 Orientação a Objetos
 Open Source
Evolução do SW
Os primeiros anos (1950 – 1960)
Orientação batch
Distribuição limitada
Software customizado
Não havia documentação
Segunda geração (1960-1980)
Multiusuário
Tempo real
Banco de dados
Produto de software
Terceira geração (1980 – 1990)
Sistemas distribuídos
Inteligência “embutida”
Hardware de baixo custo
Quarta geração (1990 – 2000)
Sistema de desktop poderosos
Orientação a objetos
Sistemas especialistas
Redes neurais artificiais
Desenvolver SW?
 Automatizar processos
 Otimizar informações
 Gerenciamento e tomada de decisões
Engenharia de Software?
O conceito de Engenharia de Software:
“Uma disciplina que reúne metodologias, métodos e ferramentas a 
ser utilizados, desde a percepção do problema até o momento em 
que o sistema desenvolvido deixa de ser operacional, visando 
resolver problemas inerentes ao processo de desenvolvimento e ao 
produto de software”
Métodos
 Proporcionam os detalhes de “como fazer” para construir 
o software.
 Envolvem um conjunto de tarefas:
- Planejamento e estimativa de projeto.
- Análise de requisitos de software e de sistemas.
- Projeto de estrutura de dados.
- Programas e algoritmos de processamento.
- Codificação.
-Teste.
- Manutenção.
Ferramentas
 Proporciona apoio automatizado ou semi-automatizado aos 
métodos.
 Engenharia de software auxiliada por computador. CASE 
(Computer - Aided Software Engeneering). São ferramentas 
integradas de forma que a informação criada por uma 
ferramenta possa ser utilizada por outra ferramenta.
 brModelo
 DBdesigner
 Jude
 Workbanch
 Git hub
Procedimentos
 Constituem o elo de ligação que mantém juntos os métodos e as 
ferramentas.
 Definem :
- A seqüência em que os métodos serão aplicados.
- Os produtos que ajudam a assegurar a qualidade e 
coordenar as mudanças.
- Marcos de referência que possibilitam os gerentes de 
software avaliar o progresso.
Engenharia de Software
 Engenharia de Software compreende um conjunto de 
etapas que envolve : Métodos, Ferramentas e Procedimentos.
 Essas etapas são conhecidas como componentes do Ciclo de 
Vida do Software.
 Ciclos de Vida mais conhecidos :
 Ciclo de Vida Clássico;
 Prototipação;
 Modelo Espiral;
 Técnicas de quarta geração
 Métodos ágeis
Fases de Desenvolvimento de 
Sistemas
Mitos do SW – Gerência
 Um manual oferece tudo que se precisa saber.
 Computadores de última geração solucionam 
problemas de desenvolvimento.
 Se estamos atrasados, basta adicionar 
programadores e tirar o atraso
Mitos do SW – Cliente
 Uma declaração geral é suficiente para começar a 
escrever programas.
 Mudanças podem ser facilmente acomodadas em 
um projeto
Mitos do SW – Programador
 Um programa está terminado ao funcionar.
 Quanto mais cedo escrever o código, mais rápido 
terminarei o programa.
 Só posso avaliar a qualidade de um programa em 
funcionamento.
 A única coisa a ser entregue em um projeto é o 
programa funcionando
Problemas... desenvolvimento de SW
 Estimativas de custo e prazos imprecisas
 Produtividade das pessoas não acompanham as demandas por serviços
 Qualidade do software inadequada
 Não é dedicado tempo suficiente para coletar dados
 Poucos dados históricos para guiar estimativas
 Comunicação entre a equipe e entre equipe-cliente ineficaz
 Falta de metodologias de desenvolvimento
 Deficiência em técnicas de teste
 Manutenção exaustiva
Desenvolvimento de Software
Desenvolver software é uma tarefa complexa e 
sujeita a erros:
 Não cumprimento dos prazos
 Módulos que quando integrados não operam corretamente.
 Dificuldade de operação do software pelo usuário.
 Programas que param de funcionar
Problemas desde a década de 70
Dificuldades
 Começam nas etapas iniciais:
Delimitar o escopo de um sistema
Volatilidade dos requisitos
Mudanças das necessidades do usuário
 Pode repercutir em vários elementos da estrutura do 
programa
Métodos e Ferramentas
 Métodos e Ferramentas de Engenharia de 
Software servem:
Garantir ou facilitar a obtenção do objetivo de 
ter a qualidade nos programas
 É preciso definir:
O alvo a ser atingido
Discutir como aplicar requisitos de qualidade 
eficazes
Qualidade do Software
 Para Pressman:
“ Satisfação de requisitos funcionais e de desempenho 
explicitamente declarados,
normas de desenvolvimento explicitamente documentadas
e 
as características implícitas que são esperadas de todo 
software desenvolvido profissionalmente.”
Objetivos da Engenharia de Software
 Desenvolvimento sistemático de SW
 Gerenciamento do processo de desenvolvimento, 
aplicando métodos, técnicas e ferramentas
 Produção da documentação formal para comunicação 
entre membros da equipe e aos usuários
Porque engenharia de SW?
 Software mal construído pode causar danos irreparáveis!
 Metodologias, procedimentos, técnicas e ferramentas 
tem ganhado espaço nas empresas
 “Programadores” estão sendo substituídos pelos 
Engenheiros de Software
Etapas da Eng. SW?
1. Construção de um produto: o software
2. Utilização de algum processo para construir esse 
produto
3. O processo usado envolve o projeto e verificação das 
qualidades desejáveis do produto
4. Utilização de mecanismo para gerenciamento do 
processo de construção do software
5. Utilização de ferramentas de apoio ao 
desenvolvimento do processo e do produto
Etapas da Eng. SW  Métodos
 Proporcionam os 
detalhes de “como fazer”
para construir o SW
 Ferramentas
 Fornecem suporte
automatizado ou semi-
automatizado aos 
métodos
 Processos
 É a fundação - promove 
a sustentação Qualidade
 Foco na qualidade do 
SW gerado 
Processo de Software
 Determina ações práticas a serem realizadas pela equipe, com 
prazos definidos
 Abrange atividades fundamentais, como especificação, projeto, 
implementação, validação e evolução de software 
 Atividades podem utilizar ferramentas de apoio diversas –
ferramentas CASE
 Existem vários Modelos de Processo ou Paradigmas para 
representar genericamente um processo sob uma perspectiva
Modelos de Processo
 Descrevem a estrutura de um Processo de forma abstrata, mas não 
os detalhes
 Existem dezenas de Paradigmas diferentes:
 Modelo em Cascata ou Ciclo de Vida Clássico ou Modelo Sequencial Linear
 Modelo de Prototipagem
 Modelo Espiral
 Modelo Concorrente
 Modelo Incremental
 Modelo RAD
 Desenvolvimento Baseado em Componentes
 Modelo de Métodos Formais
 Téçnicas de Quarta Geração (4GT)
 outros
Atividades 
1. Pesquisar as diferentes aplicações de Sw:
 SW de tempo real
 SW comercial
 Sw embarcado
 SW inteligente
2. Diferencie linguagem compilada de interpretada

Continue navegando