aula 1 introduÇÃo -engenhariade software€¦ · simulação de problemas científicos ou...
TRANSCRIPT
![Page 1: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/1.jpg)
AULA 1 INTRODUÇÃO - ENGENHARIA DE
SOFTWAREProf. Msc. Hélio Esperidião
![Page 2: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/2.jpg)
O QUE É UM ALGORITMO?
� É qualquer procedimento computacional bem definido que informa algum valor ou conjunto de valores como entrada e produz algum valor ou conjunto de valores como saída.
![Page 3: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/3.jpg)
O QUE É SOFTWARE DE COMPUTADOR?
� É um produto que profissionais de informática constroem e depois mantém ao longo do tempo que abrangem quais quer tamanho ou arquitetura.
� Todo o seu conteúdo e documentos impressos e virtuais.
� O software é um transformador de Informações � Age produzindo, armazenando, gerindo, adquirindo,
modificando, exibindo ou transmitindo informações.
![Page 4: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/4.jpg)
QUEM FAZ?
� Profissionais de informática, estudantes, pesquisadores, curiosos.
![Page 5: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/5.jpg)
POR QUE É IMPORTANTE?
� Software transformou o comportamento e cultura da sociedade, está presente em todos os seguimentos profissionais e faz parte do cotidiano.
![Page 6: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/6.jpg)
QUAIS SÃO OS PASSOS?
� Construir um software requer a aplicação de um processo ágil que seja adaptável as suas necessidades de forma a levar a um resultado de alta qualidade e que irá satisfazer as necessidades de seus usuários. necessidades de seus usuários.
![Page 7: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/7.jpg)
O PRODUTO DO TRABALHO
� Para o desenvolvedor:� Programas, dados� Documentos
� Para o usuário:� Informação que de alguma forma torna melhor o seu � Informação que de alguma forma torna melhor o seu
cotidiano.
![Page 8: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/8.jpg)
O NOVO PROGRAMADOR
� O programados solitário de antigamente foi substituído por uma equipe de desenvolvedores que muitas vezes contam com profissionais de diversas áreas do conhecimento multidisciplinares. multidisciplinares.
![Page 9: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/9.jpg)
QUALIDADE DO SOFTWARE
� Definir qualidade de software pode parecer uma tarefa bastante complicada e subjetiva.
� De forma geral um software possui qualidade quando satisfaz os propósitos para os quais foi quando satisfaz os propósitos para os quais foi desenvolvido
![Page 10: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/10.jpg)
TIPOS DE SOFTWARE.
� Software de Sistemas:� São aqueles escritos para servir outros programas,
temos como exemplo os compiladores, editores e utilitários para gestão de arquivos.
� Software de aplicação:� Software de aplicação:� São programas isolados que resolvem uma
necessidade especifica do negócio, por exemplo temos processamento de informações num ponto de venda, controle de fabricação em tempo real.
![Page 11: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/11.jpg)
TIPOS DE SOFTWARE.
� Software cientifico e de engenharia.� Antigamente caracterizado como algoritmo numérico para
simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação.
� Software Embutido� Software Embutido� Aquele que reside dentro de um produto, realiza funções
muito limitadas e particulares como por exemplo os sistemas de frenagem em automóveis, painéis de medição de combustível, etc.
![Page 12: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/12.jpg)
TIPOS DE SOFTWARE.
� Softwares para linha de produtos.� É projetado com capacidade especifica e que atenda muitos
usuários diferentes.� Sistema de controle de estoque, processamento de textos,
gráficos ,etc.
� Aplicações para web.� Aplicações para web.� Aqueles que rodam na internet
� e-commerce.
![Page 13: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/13.jpg)
TIPOS DE SOFTWARE.
� Softwares para inteligência artificial.� Faz uso de algoritmos não numéricos para resolver
problemas complexos que não são passiveis de análise direta.
� Aplicações em robótica, reconhecimento de padrões em voz e imagem, redes neurais, etc.voz e imagem, redes neurais, etc.
� Computação ubíqua.� Caracteriza-se pela computação distribuída.
![Page 14: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/14.jpg)
SOFTWARE LEGADO
� Dayani-Fard define software legado como:� Foram desenvolvidos a muito tempo mas continuam
sendo modificados para atender a novas necessidades.
� Estes geralmente estão em grandes organizações � Estes geralmente estão em grandes organizações e desempenham funções criticas e estratégicas, são mantidos devido ao risco de perdas num processo de evolução.
![Page 15: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/15.jpg)
EVOLUÇÃO DE SOFTWARE
� Softwares evoluem com o tempo comumente devido as modificações denominadas manutenção de software.� Correções de erros, adicionar novas funcionalidades
![Page 16: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/16.jpg)
O PROCESSO
� O que é?� Um roteiro que ajuda a criar a tempo um resultado
de alta qualidade, isso é chamado processo de software.
� Quem faz?� Os engenheiros de softwares
� Porque é importante?� Fornece controle e organização para uma atividade.
![Page 17: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/17.jpg)
PROCESSO
� Quais são os passos?� Variam de acordo com a aplicação. Exemplo: Um
software médico possui processo distinto de um software aeronáutico.
![Page 18: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/18.jpg)
A ENGENHARIA DE SOFTWARE
� Integra o processo, os métodos e as ferramentas necessárias para o desenvolvimento de software.
![Page 19: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/19.jpg)
MODELOS PRESCRITIVOS DE PROCESSO
� Propostos para colocar ordem no caos do desenvolvimento de software.
� Fornece um roteiro efetivos para as equipes de software.software.� Estabilidade� Controle� Define um fluxo de trabalho
� Linear� Incremental
![Page 20: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/20.jpg)
LINEAR - O MODELO EM CASCATA
� O processo flui do início ao fim de forma linear
� O processo é dividido em etapas claras e seqüenciais.
� Uma etapa posterior jamais deve ser desenvolvida antes de uma anterior.
� Etapa 1Etapa 1
Etapa 2
Etapa n
![Page 21: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/21.jpg)
O MODELO EM CASCATA
� É chamado de modelo clássico� Abordagem sistemática e seqüencial.
� É utilizado quando o desenvolvimento do software começa pelos requisitos do cliente e progride ao longo do planejamento, progride ao longo do planejamento, modelagem, construção e implantação.
![Page 22: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/22.jpg)
O MODELO EM CASCATA
� É o paradigma mais antigo da engenharia de software.
� Foi e é amplamente utilizado.
� Vem sofrendo criticas a respeito
� Quais problemas podemos visualizar claramente?
![Page 23: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/23.jpg)
![Page 24: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/24.jpg)
PROBLEMAS DO MODELO EM CASCATA
� Projetos reais raramente seguem o fluxo seqüencial que o modelo propõem.
� É possível acomodar iterações de forma indireta.� Gera confusão a medida que a equipe continua o � Gera confusão a medida que a equipe continua o
desenvolvimento.
� É difícil para o cliente estabelecer todos os requisitos explicitamente.� O modelo não prevê ocorrência de alterações nos
requisitos
![Page 25: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/25.jpg)
PROBLEMAS DO MODELO EM CASCATA
� O cliente terá que esperar até o final do projeto, ou seja, na etapa de implantação.� Erros grosseiros podem aparecer se não detectados
em etapas anteriores do processo.
![Page 26: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/26.jpg)
OS “ESTADOS DE BLOQUEIO”
� Ocorrem em modelos lineares.
� Ocorre quando uma equipe tem que esperar pelo termino do trabalho de uma outra equipe.
� Muitas vezes este tempo é maior que o tempo produtivo.
![Page 27: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/27.jpg)
MODELOS INCREMENTAIS DE PROCESSO
� Pode ser utilizado quando há necessidade de disponibilizar rapidamente um conjunto limitado de funcionalidades.
� Estas funcionalidades são aprimoradas em novas � Estas funcionalidades são aprimoradas em novas versões subseqüentes do software.
![Page 28: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/28.jpg)
MODELOS INCREMENTAIS
� Aplica seqüência lineares a medida que o tempo passa.
� Cada seqüência linear apresenta incrementos de software passiveis de serem entregues.software passiveis de serem entregues.
![Page 29: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/29.jpg)
MODELOS INCREMENTAIS
![Page 30: AULA 1 INTRODUÇÃO -ENGENHARIADE SOFTWARE€¦ · simulação de problemas científicos ou matemáticos,mas, atualmente vem adquirindo características de sistemas de aplicação](https://reader030.vdocuments.net/reader030/viewer/2022011912/5f9a0fa6ec21ca345205f69d/html5/thumbnails/30.jpg)
EXEMPLO
� Imagine um software editor de textos.� A versão básica que funciona como o bloco de novas é
o primeiro incremento a ser entregue.
� Os próximos incrementos acrescentam � Os próximos incrementos acrescentam funcionalidades mais complexas ao sistema,
� Cada incremento entrega uma versão para os usuários.
� O primeiro incremento é chamado núcleo do
produto.