SlideShare a Scribd company logo
1 of 57
Análise e
Desenvolvimento
de Software
Aula 01
CURSO: TÉCNICO EM INFORMÁTICA
DOCENTE: TALIANE LIMA
Início
• A partir de 1961 o mundo presenciou o surgimento
de novos computadores, mais modernos e com mais
poder computacional.
• A partir dessa data o software ganhou notoriedade
e, por conta disso, uma série de problemas
relacionados ao “amadorismo” utilizado para sua
construção ficou evidente.
• Em 1968 aconteceu a NATO(Software
Engineering Conference), um evento criado
com o objetivo de discutir alternativas para
contornar a Crise do Software.
“O Pobre Programador”
“A maior causa da crise do software é que as máquinas
tornaram-se várias ordens de magnitude mais
poderosas! Para esclarecer melhor: quando não havia
máquinas, a programação não era um problema;
quando tínhamos poucos computadores, a
programação tornou-se um problema razoável, e
agora, que nós temos computadores gigantes, a
programação tornou-se um problema igualmente
grande.”
Edsger Dijkstra.
Podemos resumir a crise à imaturidade no
desenvolvimento de software, causando diversos
problemas, como por exemplo:
• Projetos estourando o orçamento.
• Projetos estourando o prazo.
• Software de baixa qualidade.
• Software muitas vezes não atendendo os
requisitos.
• Projetos não gerenciáveis e código difícil de
manter.
Será que a crise
acabou?
• Embora problemas durante o desenvolvimento de
software aconteçam, e com certa frequência, os
processos, métodos e ferramentas existentes
auxiliam muito o desenvolvimento. Uma vez
aplicados por pessoas com os conhecimentos
adequados, podemos ter certeza do sucesso em
um projeto.
Requisitos
Projetos e Simulações
• Com a identificação dos requisitos é possível
iniciar a montagem de um protótipo, para se
avaliar diversos pontos que necessitam de
esclarecimento antes da construção efetiva do
carro.
• Essa prototipação pode ser feita via ferramentas
de simulação partes que irão compor o
automóvel. Essas partes são chamadas de
unidades , como por exemplo, a barra de
direção, a porta, o motor, as rodas,etc
• O modelo criado, seja qual for, normalmente
é utilizado para responder diversas questões,
para em seguida dar-se início ao
desenvolvimento das partes que irão compor
o automóvel.
• Se o item não passar nessa verificação, não
podemos continuar com a construção do
produto.
• Caso os componentes sejam aprovados na
verificação, podemos iniciar a combinação
desses componentes, integrando-os
(Integração)
Engenharia de Software poderia ser resumida
à utilização de princípios de engenharia para o
desenvolvimento de software:
•levantar os requisitos associados,
•construir modelos para representar a solução a ser
desenvolvida
•implementar as diversas unidades que irão compor o
produto
•verificando se tais unidades atendem aos requisitos
identificados
•realizar a integração entre as unidades, também
verificando seu funcionamento, até que tenhamos o
produto por completo
• De modo mais objetivo, pode-se dizer que a
Engenharia de Software busca prover a
tecnologia necessária para produzir software
de alta qualidade a um baixo custo. Os dois
fatores motivadores são essencialmente a
qualidade e o custo.
Problemas no desenvolvimento de
software
• Embora a Engenharia de Software seja uma área
consolidada e existam várias empresas que a utilizam
com muito sucesso em projetos de desenvolvimento
de software, isso não é verdade na maioria dos
casos.
• A crise continua em muitos locais, não mais por
ausência de métodos, técnicas e ferramentas, mas
pela falta do seu uso!
Tripé da Engenharia de Software.
Componentes de um sistema
• Um sistema é bem mais que o software. Embora o
software seja uma parte importante de um sistema,
ele não é a única. Se não existir o hardware para
execução do software, de nada servirá. Da mesma
forma, é necessário existir bases de dados, uma vez
que praticamente todos os sistemas com algum tipo
de utilidade devem armazenar dados.
• Atualmente, com o advento da Internet, dificilmente
um sistema seja útil se não tiver certos mecanismos
de comunicação associados. Tudo isso junto, forma o
sistema. Por diversas vezes tendemos a utilizar
software e sistema como algo similar, mas é
importante ressaltarmos suas diferenças, de forma a
deixar claro o que representa cada um desses
termos.
• Um produto de software, por outro lado, é
sistematicamente destinado ao uso por pessoas
diferentes dos seus programadores.
• Os eventuais usuários podem ter formações e
experiências diferentes, o que significa que uma
grande preocupação no que diz respeito ao
desenvolvimento do produto deve ser a sua
interface,
• Um programa desenvolvido para resolver um
dado problema e um produto de software
destinado à resolução do mesmo problema
são duas coisas totalmente diferentes.
• Os produtos de software desenvolvidos utilizando a
Engenharia de Software sempre estão envolvidos em
algum processo de negócio, seja ele simples ou
complexo. Assim, é fundamental entender esse
processo de negócio para que seja possível
informatizá-lo.
• Exemplo : casa
Processos de Software
• Engenharia de Software nada mais é que o
tratamento do software como um produto,
empregando dentro do processo de
desenvolvimento todos os princípios da
engenharia.
• Como todo produto, o software também
possui um ciclo de vida, que pode ser definido
como o conjunto de todas as etapas
relacionadas à sua existência, desde a sua
concepção, até o seu desaparecimento.
ETAPAS DO PROCESSO DE SOFTWARE:
concepção
 desenvolvimento
 operação
 retirada
Qual a relação do processo de
software com o ciclo de vida?
CONCEITO:
• Um processo é um conjunto de passos
parcialmente ordenados, constituídos por
atividades, métodos, práticas e
transformações, utilizados para se atingir uma
meta.
• Importante: enquanto o processo é um guia
para se construir um produto, um projeto é o
uso de um processo para desenvolvimento de
um produto específico.
• Um processo deve ter uma documentação
que o descreve, apresentando detalhes sobre
o que é feito (produto), quando (passos), por
quem (agentes), o que usa como entrada
(insumo) e o que é produzido (resultado).
• PROCESSOS X SUBPROCESSOS
Para detalhamento dos modelos de ciclo de
vida, necessitaremos entender melhor cada um
dos subprocessos (fluxos ou disciplinas) :
oRequisitos
oAnálise
oDesenho
oImplementação
oTeste
Codifica-Remenda
• O modelo de ciclo de vida mais utilizado é o
modelo codifica-remenda.
• Apartir de uma especificação incompleta, ou
mesmo ausente, inicia-se a codificação do
software, que por sua vez tende a gerar
“algo”.
• A grande utilização desse modelo se dá em
virtude de boa parte dos “profissionais”
responsáveis pelo desenvolvimento de
software não terem qualquer conhecimento
sobre a Engenharia de Software.
ASPECTO POSITIVO ASPECTO NEGATIVO
• Não exige nenhum
conhecimento técnico ou
gerencial. Basta iniciar, sem
muito preparo sobre o tema
a ser abordado, e trabalhar
para gerar algo como
resultado.
• É um modelo de alto risco,
praticamente impossível de
se gerenciar, tornando-se
impossível estabelecer
qualquer estimativa de
custo e prazo.
Cascata
• Esse modelo de ciclo de vida (ou paradigma)
foi muito utilizado no passado. No entanto,
devido a falhas durante sua execução, ele vem
sendo preterido por outros modelos.
FALHAS ENCONTRADAS:
• Surgimento de grandes problemas
quando temos mudanças em um projeto
em andamento;
• é difícil para os clientes identificarem
todos os requisitos explicitamente;
• O cliente precisa ter paciência;
• Erros grosseiros desastrosos.
Espiral
• A ideia básica é desenvolver um produto a
partir de pequenas versões incrementais,
que podem iniciar com um modelo em
papel e evoluir até versões do sistema
completamente funcionais.
• A ideia básica por trás do modelo em espiral
é: dividir para conquistar!
• Ao invés de querer resolver todos os
problemas de uma vez, é interessante resolver
parte dele e então partir para o restante.
VANTAGENS DESVANTAGENS
• É utilizada apenas para a
redução dos riscos e para o
enfoque maior naquilo que é
mais importante/ complexo/
crítico no sistema.
• A não entrega das partes
para ao cliente.
• Tomada de decisões é feita
apenas com o
conhecimento do produto
que existe até o momento.
• O fato de dividir um sistema para tratá-lo por
partes favorece o entendimento e facilita a
própria vida dos clientes, que podem emitir
opiniões e identificar requisitos com mais
propriedade. Isso facilita o uso desse tipo de
modelo de ciclo de vida.
Incremental
• O modelo incremental, também denominado
de prototipagem evolutiva, é baseado no
modelo em espiral.
• O modelo incremental não é utilizado apenas
para construir o produto por completo, mas
uma série de versões provisórias,
denominadas protótipos.
• Esses processos são conhecidos como
Processos (ou Métodos ou Metodologias)
Ágeis, em virtude de darem mais importância
ao software funcionando do que qualquer
outro artefato gerado durante o
desenvolvimento.
• O termo “metodologias ágeis” tornou-se popular em
2001 quando diversos especialistas em processos de
desenvolvimento de software representando as
metodologias Extreme Programming (XP), SCRUM,
DSDM (Dynamic Systems Development
Methodology), Crystal e outros, estabeleceram
princípios comuns compartilhados por todos esses
métodos. O resultado foi a criação da Aliança Ágil, e
o estabelecimento do “Manifesto Ágil” (Agile
Manifesto).
Os conceitos chaves do Manifesto Ágil são:
 Indivíduos e interações ao invés de processos e
ferramentas;
Software executável ao invés de documentação;
 Colaboração do cliente ao invés de negociação
de contratos;
 Respostas rápidas a mudanças ao invés de
seguir planos.
Entrega Evolutiva
• O levantamento de requisitos é feito como um
todo, para que seja possível entender todo as
questões que envolvem o produto a ser
construído
• E em pontos bem definidos os usuários podem
avaliar as partes do produto já desenvolvidas,
fornecendo realimentação
• De forma geral o bom senso é o melhor
termômetro para definição do que é mais
apropriado em uma situação, mas um
conselho a todos que possam se deparar com
essa situação é: nunca acredite em pessoas
que defendem cegamente esse ou aquele
processo; como tudo na vida, o contexto da
situação pode determinar o que é o mais
apropriado.

More Related Content

What's hot

Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de softwarediha36
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Claudia Melo
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software PressmanSimoneinfo
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareFelipe Goulart
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareDaniel Cukier
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixCris Fidelix
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalhoRuan Pozzebon
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilRebecca Betwel
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Henrique Bueno
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 

What's hot (20)

Ciclo de vida de software
Ciclo de vida de softwareCiclo de vida de software
Ciclo de vida de software
 
Aula - Metodologias Ágeis
Aula - Metodologias ÁgeisAula - Metodologias Ágeis
Aula - Metodologias Ágeis
 
Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)Introdução à Programação Extrema (Extreme Programming - XP)
Introdução à Programação Extrema (Extreme Programming - XP)
 
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
 
Engenharia de Software Pressman
Engenharia de Software PressmanEngenharia de Software Pressman
Engenharia de Software Pressman
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Introdução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de SoftwareIntrodução a Métodos Ágeis de Desenvolvimento de Software
Introdução a Métodos Ágeis de Desenvolvimento de Software
 
Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
 
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
 
Metodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de SoftwareMetodologias Ágeis para o Desenvolvimento de Software
Metodologias Ágeis para o Desenvolvimento de Software
 
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
 
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
 
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 

Similar to Desenvolvimento de Software

LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASOs Fantasmas !
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxRoberto Nunes
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANFernando Palma
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)Tiago Vizoto
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascatawilsonguns
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e ProjetoSergio Silva
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Desenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasDesenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasGeraldo Munguambe
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxALEXANDRELISBADASILV
 
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLImplantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLAnnkatlover
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Elaine Cecília Gatto
 

Similar to Desenvolvimento de Software (20)

LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMASLIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
LIVRO PROPRIETÁRIO - METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
 
Fundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptxFundamentos Engenharia de Software.pptx
Fundamentos Engenharia de Software.pptx
 
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBANDesenvolvimento ágil de software: análise sintética a partir de KANBAN
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008Tudo são Dados - PHP Conference 2008
Tudo são Dados - PHP Conference 2008
 
Aula 1 introdução à engenharia de software1 (1)
Aula 1   introdução à engenharia de software1 (1)Aula 1   introdução à engenharia de software1 (1)
Aula 1 introdução à engenharia de software1 (1)
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
Aula 3 - Engenharia de Software
Aula 3 - Engenharia de SoftwareAula 3 - Engenharia de Software
Aula 3 - Engenharia de Software
 
Aula 1 Analise e Projeto
Aula 1   Analise e ProjetoAula 1   Analise e Projeto
Aula 1 Analise e Projeto
 
Aula 1 analise e projeto
Aula 1   analise e projetoAula 1   analise e projeto
Aula 1 analise e projeto
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Desenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemasDesenvolvimento de softwares/sistemas
Desenvolvimento de softwares/sistemas
 
Crise de software2
Crise de software2Crise de software2
Crise de software2
 
Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Aula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptxAula 7 - Modelos de Ciclo de Vida.pptx
Aula 7 - Modelos de Ciclo de Vida.pptx
 
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLImplantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SL
 
Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1Modelos de Processo de Software Parte 1
Modelos de Processo de Software Parte 1
 

More from Gabriel Moura

Seminário de biologia
Seminário de biologiaSeminário de biologia
Seminário de biologiaGabriel Moura
 
Modelo comportamental
Modelo comportamentalModelo comportamental
Modelo comportamentalGabriel Moura
 
Detalhando elementos do delphi
Detalhando elementos do delphiDetalhando elementos do delphi
Detalhando elementos do delphiGabriel Moura
 
Seminário de geografia 1
Seminário de geografia 1Seminário de geografia 1
Seminário de geografia 1Gabriel Moura
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaGabriel Moura
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dadosGabriel Moura
 
1º seminário de empreendedorismo
1º seminário de empreendedorismo1º seminário de empreendedorismo
1º seminário de empreendedorismoGabriel Moura
 

More from Gabriel Moura (9)

Seminário de biologia
Seminário de biologiaSeminário de biologia
Seminário de biologia
 
Modelo essencial
Modelo essencialModelo essencial
Modelo essencial
 
Modelo comportamental
Modelo comportamentalModelo comportamental
Modelo comportamental
 
Detalhando elementos do delphi
Detalhando elementos do delphiDetalhando elementos do delphi
Detalhando elementos do delphi
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Seminário de geografia 1
Seminário de geografia 1Seminário de geografia 1
Seminário de geografia 1
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semana
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
1º seminário de empreendedorismo
1º seminário de empreendedorismo1º seminário de empreendedorismo
1º seminário de empreendedorismo
 

Recently uploaded

Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaFernanda Ledesma
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundonialb
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxacaciocarmo1
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAlexandreFrana33
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESpatriciasofiacunha18
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 anoAdelmaTorres2
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOVALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOBiatrizGomes1
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 

Recently uploaded (20)

Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
A Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão LinguísticaA Inteligência Artificial na Educação e a Inclusão Linguística
A Inteligência Artificial na Educação e a Inclusão Linguística
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
geografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundogeografia 7 ano - relevo, altitude, topos do mundo
geografia 7 ano - relevo, altitude, topos do mundo
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Baladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptxBaladão sobre Variação Linguistica para o spaece.pptx
Baladão sobre Variação Linguistica para o spaece.pptx
 
As Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptxAs Viagens Missionária do Apostolo Paulo.pptx
As Viagens Missionária do Apostolo Paulo.pptx
 
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕESPRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
PRÉ-MODERNISMO - GUERRA DE CANUDOS E OS SERTÕES
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
637743470-Mapa-Mental-Portugue-s-1.pdf 4 ano
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOVALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 

Desenvolvimento de Software

  • 1. Análise e Desenvolvimento de Software Aula 01 CURSO: TÉCNICO EM INFORMÁTICA DOCENTE: TALIANE LIMA
  • 2. Início • A partir de 1961 o mundo presenciou o surgimento de novos computadores, mais modernos e com mais poder computacional. • A partir dessa data o software ganhou notoriedade e, por conta disso, uma série de problemas relacionados ao “amadorismo” utilizado para sua construção ficou evidente.
  • 3. • Em 1968 aconteceu a NATO(Software Engineering Conference), um evento criado com o objetivo de discutir alternativas para contornar a Crise do Software.
  • 4.
  • 5. “O Pobre Programador” “A maior causa da crise do software é que as máquinas tornaram-se várias ordens de magnitude mais poderosas! Para esclarecer melhor: quando não havia máquinas, a programação não era um problema; quando tínhamos poucos computadores, a programação tornou-se um problema razoável, e agora, que nós temos computadores gigantes, a programação tornou-se um problema igualmente grande.” Edsger Dijkstra.
  • 6. Podemos resumir a crise à imaturidade no desenvolvimento de software, causando diversos problemas, como por exemplo: • Projetos estourando o orçamento. • Projetos estourando o prazo. • Software de baixa qualidade. • Software muitas vezes não atendendo os requisitos. • Projetos não gerenciáveis e código difícil de manter.
  • 7.
  • 8.
  • 9. Será que a crise acabou?
  • 10.
  • 11. • Embora problemas durante o desenvolvimento de software aconteçam, e com certa frequência, os processos, métodos e ferramentas existentes auxiliam muito o desenvolvimento. Uma vez aplicados por pessoas com os conhecimentos adequados, podemos ter certeza do sucesso em um projeto.
  • 13.
  • 14. • Com a identificação dos requisitos é possível iniciar a montagem de um protótipo, para se avaliar diversos pontos que necessitam de esclarecimento antes da construção efetiva do carro. • Essa prototipação pode ser feita via ferramentas de simulação partes que irão compor o automóvel. Essas partes são chamadas de unidades , como por exemplo, a barra de direção, a porta, o motor, as rodas,etc
  • 15. • O modelo criado, seja qual for, normalmente é utilizado para responder diversas questões, para em seguida dar-se início ao desenvolvimento das partes que irão compor o automóvel.
  • 16. • Se o item não passar nessa verificação, não podemos continuar com a construção do produto. • Caso os componentes sejam aprovados na verificação, podemos iniciar a combinação desses componentes, integrando-os (Integração)
  • 17. Engenharia de Software poderia ser resumida à utilização de princípios de engenharia para o desenvolvimento de software: •levantar os requisitos associados, •construir modelos para representar a solução a ser desenvolvida •implementar as diversas unidades que irão compor o produto •verificando se tais unidades atendem aos requisitos identificados •realizar a integração entre as unidades, também verificando seu funcionamento, até que tenhamos o produto por completo
  • 18. • De modo mais objetivo, pode-se dizer que a Engenharia de Software busca prover a tecnologia necessária para produzir software de alta qualidade a um baixo custo. Os dois fatores motivadores são essencialmente a qualidade e o custo.
  • 19. Problemas no desenvolvimento de software • Embora a Engenharia de Software seja uma área consolidada e existam várias empresas que a utilizam com muito sucesso em projetos de desenvolvimento de software, isso não é verdade na maioria dos casos. • A crise continua em muitos locais, não mais por ausência de métodos, técnicas e ferramentas, mas pela falta do seu uso!
  • 20. Tripé da Engenharia de Software.
  • 21. Componentes de um sistema
  • 22. • Um sistema é bem mais que o software. Embora o software seja uma parte importante de um sistema, ele não é a única. Se não existir o hardware para execução do software, de nada servirá. Da mesma forma, é necessário existir bases de dados, uma vez que praticamente todos os sistemas com algum tipo de utilidade devem armazenar dados.
  • 23. • Atualmente, com o advento da Internet, dificilmente um sistema seja útil se não tiver certos mecanismos de comunicação associados. Tudo isso junto, forma o sistema. Por diversas vezes tendemos a utilizar software e sistema como algo similar, mas é importante ressaltarmos suas diferenças, de forma a deixar claro o que representa cada um desses termos.
  • 24. • Um produto de software, por outro lado, é sistematicamente destinado ao uso por pessoas diferentes dos seus programadores. • Os eventuais usuários podem ter formações e experiências diferentes, o que significa que uma grande preocupação no que diz respeito ao desenvolvimento do produto deve ser a sua interface,
  • 25. • Um programa desenvolvido para resolver um dado problema e um produto de software destinado à resolução do mesmo problema são duas coisas totalmente diferentes.
  • 26. • Os produtos de software desenvolvidos utilizando a Engenharia de Software sempre estão envolvidos em algum processo de negócio, seja ele simples ou complexo. Assim, é fundamental entender esse processo de negócio para que seja possível informatizá-lo. • Exemplo : casa
  • 27. Processos de Software • Engenharia de Software nada mais é que o tratamento do software como um produto, empregando dentro do processo de desenvolvimento todos os princípios da engenharia.
  • 28. • Como todo produto, o software também possui um ciclo de vida, que pode ser definido como o conjunto de todas as etapas relacionadas à sua existência, desde a sua concepção, até o seu desaparecimento.
  • 29. ETAPAS DO PROCESSO DE SOFTWARE: concepção  desenvolvimento  operação  retirada
  • 30. Qual a relação do processo de software com o ciclo de vida?
  • 31. CONCEITO: • Um processo é um conjunto de passos parcialmente ordenados, constituídos por atividades, métodos, práticas e transformações, utilizados para se atingir uma meta.
  • 32. • Importante: enquanto o processo é um guia para se construir um produto, um projeto é o uso de um processo para desenvolvimento de um produto específico.
  • 33. • Um processo deve ter uma documentação que o descreve, apresentando detalhes sobre o que é feito (produto), quando (passos), por quem (agentes), o que usa como entrada (insumo) e o que é produzido (resultado).
  • 34. • PROCESSOS X SUBPROCESSOS
  • 35. Para detalhamento dos modelos de ciclo de vida, necessitaremos entender melhor cada um dos subprocessos (fluxos ou disciplinas) : oRequisitos oAnálise oDesenho oImplementação oTeste
  • 36. Codifica-Remenda • O modelo de ciclo de vida mais utilizado é o modelo codifica-remenda. • Apartir de uma especificação incompleta, ou mesmo ausente, inicia-se a codificação do software, que por sua vez tende a gerar “algo”.
  • 37.
  • 38. • A grande utilização desse modelo se dá em virtude de boa parte dos “profissionais” responsáveis pelo desenvolvimento de software não terem qualquer conhecimento sobre a Engenharia de Software.
  • 39. ASPECTO POSITIVO ASPECTO NEGATIVO • Não exige nenhum conhecimento técnico ou gerencial. Basta iniciar, sem muito preparo sobre o tema a ser abordado, e trabalhar para gerar algo como resultado. • É um modelo de alto risco, praticamente impossível de se gerenciar, tornando-se impossível estabelecer qualquer estimativa de custo e prazo.
  • 41. • Esse modelo de ciclo de vida (ou paradigma) foi muito utilizado no passado. No entanto, devido a falhas durante sua execução, ele vem sendo preterido por outros modelos.
  • 42. FALHAS ENCONTRADAS: • Surgimento de grandes problemas quando temos mudanças em um projeto em andamento; • é difícil para os clientes identificarem todos os requisitos explicitamente; • O cliente precisa ter paciência; • Erros grosseiros desastrosos.
  • 43. Espiral • A ideia básica é desenvolver um produto a partir de pequenas versões incrementais, que podem iniciar com um modelo em papel e evoluir até versões do sistema completamente funcionais.
  • 44.
  • 45. • A ideia básica por trás do modelo em espiral é: dividir para conquistar! • Ao invés de querer resolver todos os problemas de uma vez, é interessante resolver parte dele e então partir para o restante.
  • 46. VANTAGENS DESVANTAGENS • É utilizada apenas para a redução dos riscos e para o enfoque maior naquilo que é mais importante/ complexo/ crítico no sistema. • A não entrega das partes para ao cliente. • Tomada de decisões é feita apenas com o conhecimento do produto que existe até o momento.
  • 47. • O fato de dividir um sistema para tratá-lo por partes favorece o entendimento e facilita a própria vida dos clientes, que podem emitir opiniões e identificar requisitos com mais propriedade. Isso facilita o uso desse tipo de modelo de ciclo de vida.
  • 48. Incremental • O modelo incremental, também denominado de prototipagem evolutiva, é baseado no modelo em espiral. • O modelo incremental não é utilizado apenas para construir o produto por completo, mas uma série de versões provisórias, denominadas protótipos.
  • 49.
  • 50. • Esses processos são conhecidos como Processos (ou Métodos ou Metodologias) Ágeis, em virtude de darem mais importância ao software funcionando do que qualquer outro artefato gerado durante o desenvolvimento.
  • 51.
  • 52.
  • 53. • O termo “metodologias ágeis” tornou-se popular em 2001 quando diversos especialistas em processos de desenvolvimento de software representando as metodologias Extreme Programming (XP), SCRUM, DSDM (Dynamic Systems Development Methodology), Crystal e outros, estabeleceram princípios comuns compartilhados por todos esses métodos. O resultado foi a criação da Aliança Ágil, e o estabelecimento do “Manifesto Ágil” (Agile Manifesto).
  • 54. Os conceitos chaves do Manifesto Ágil são:  Indivíduos e interações ao invés de processos e ferramentas; Software executável ao invés de documentação;  Colaboração do cliente ao invés de negociação de contratos;  Respostas rápidas a mudanças ao invés de seguir planos.
  • 55. Entrega Evolutiva • O levantamento de requisitos é feito como um todo, para que seja possível entender todo as questões que envolvem o produto a ser construído • E em pontos bem definidos os usuários podem avaliar as partes do produto já desenvolvidas, fornecendo realimentação
  • 56.
  • 57. • De forma geral o bom senso é o melhor termômetro para definição do que é mais apropriado em uma situação, mas um conselho a todos que possam se deparar com essa situação é: nunca acredite em pessoas que defendem cegamente esse ou aquele processo; como tudo na vida, o contexto da situação pode determinar o que é o mais apropriado.