SlideShare ist ein Scribd-Unternehmen logo
1 von 10
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
(Tem como meta entregar um produto de software de maneira eficiente, previsível e que
corresponda às necessidades de negócio (cliente)).
O que é um processo?
o Segundo a WIKIPÉDIA: Processo deriva do latim procedere, verbo que indica a
ação de avançar, ir para frente (pro+cedere) e é um conjunto sequencial e
particular de ações com objetivo comum. Pode ter os mais variados propósitos:
criar, inventar, projetar, transformar, produzir, controlar, manter e usar
produtos ou sistemas. Ou seja, “processo” faz, produz alguma coisa.
Quais são os processos, ou as ações necessárias para se criar um produto de “Software”:
Análise de requisitos
o (levanta os requisitos do software, ou seja, o que o sistema DEVE fazer).
Projeto
o (Desenho do sistema, ou seja, COMO deve ser feito).
Implementação
o Construção do sistema.
Teste
o Valida o sistema, ou seja, verifica se o que foi construído está atendendo aos
requisitos do cliente.
Implantação
o Instalação do sistema no cliente.
Agora vou detalhar cada um desses processos.
Análise de Requisitos ou Levantamento de Requisitos ou ainda Engenharia de
Requisitos
o O que é:
 Conversa com o cliente/usuário para entender quais são as suas
necessidades, os seus problemas, ou seja o que o sistema precisa
fazer para atender as suas necessidades. Atenção aqui nós só
levantamos, verificamos o que o sistema precisa fazer e não como vai
ser feito. Essa parte nós não estamos pensando em tecnologia.
o Exemplo:
 O cliente tem uma farmácia de bairro, essa farmácia não tem sistema,
tudo é feito de forma manual.
 O cliente te chama para vc criar um sofware para a farmácia dele.
 Vc vai la na farmácia dele conversar com o cliente.
 Vc vai perguntar para ele porque ele precisa do software, vc vai
entender o problema dele.
 Vc vai verificar, levantar, que ele precisa de um sistema que seja
possível, gerenciar o estoque de produtos, gerenciar os fornecedores,
gerenciar as vendas, enfim....
o Quem faz essa atividade:
 Analistas de requisitos (Quando falamos Analista, já está implícito o
Analista de sistemas, porem quando falamos Analista de Requisitos,
Analista x, Analista y, nós estamos falando que é um Analista de
sistemas, porem mais focado em requisitos.... mais focado em X...
mais focado em Y..... e etc)
Projeto (Desenho do projeto ou ainda Desenho da solução)
o O que é:
 Com base nos requisitos que vc levantou do cliente, ou seja, o que o
sistema DEVE fazer, agora vc vai criar uma solução, vai criar um
projeto, ou seja, agora sim vc vai definir o COMO, COMO o sistema vai
fazer para atender os requisitos do cliente.
 É nessa fase que vc vai definir:
Quais funcionalidades o sistema vai ter, Para atender os
requisitos...
Quais usuários vão usar o sistema? Quais perfis?
Administrador? Usuário limitado? Visitante?
Qual vai ser a linguagem de programação a ser usada? JAVA,
PHP, C#, C, ASP, COBOL, HTML....
Qual vai ser o servidor de aplicação? Vai ser da IBM,
MICROSOFT, ORACLE....
Vai guardar os dados em Banco de dados? Arquivo de texto?
Memória?
Caso seja banco de dados, Qual? SQL Server, Oracle, Mysql,
Access…
Vai ter log? Ou seja, vai deixar um histórico de quem acessou
o sistema, quando acessou, o que fez o que deixou de fazer...
Ocorreu algum erro? Quando? Onde?
Vai guardar o log aonde? Banco de dados.. arquivo... enfim..
Vai ter servidor de backup? Qual? Quantos?
Quantos usuários vai acessar o sistema simultaneamente? O
que vai ser feito para o sistema não cair? Vai ter cluster?
Balanceamento de carga?
Vai ter segurança? Que tipo?
Onde vai ficar os servidores? Brasil? E.U.A? Japão? Paraguai?
Vai conversar com sistemas externos? Mastercard? Visa?
Bradesco? Santander? Spc? Serasa?
Qual vai ser o dispositivo que vai acessar o sistema? PC? WEB?
CECLULAR? PONTO DE ATENDIMENTO (supermercados)?
O sistema vai ter documentação? Manual de usuário?
Diagramas?
As telas dos sistemas vai ser Desktop? Web? Celular?
Quantas telas?
Nessa fase também vai ser gerado alguns documentos, que vai ser
utilizados nas próximas fases do projeto.
Se for um sistema estruturado, ou seja, um sistema que a linguagem
de programação é estrutural vai ser utilizado N documentos, se for
uma linguagem orientada a objetos vai ser utilizados N documentos....
o Exemplo:
 Exemplo foi levantado que o sistema vai ter um requisito chamado
“gerenciamento de estoque”
Então vamos criar algumas funcionalidades para atender esse
requisito: Cadastrar produto, Colocar produto no estoque,
Retirar o produto do estoque.
O usuário que vai ter permissão para acessar essas
funcionalidades vai ser o Estoquista, só ele vai poder ter
acesso a essas funcionalidades.
Vai ter um menu no sistema com as funcionalidades listadas
sequencialmente.
Quando o usuário clicar na funcionalidade X vai abrir a tela Y...
com os campos de entrada A,B,C,D,E.... com o botão de
cadastrar...
Quando o usuário preencher os dados... e cadastrar.. vai ser
gravado em uma Base de Dados Sql Server ....
Vai apresentar uma mensagem de sucesso para o usuário...
o Quem faz essa atividade:
 Projetistas, Analistas funcionais, Arquitetos
Implementação (Constrói o que foi projetado na fase anterior)
o O que é:
 Com base no que foi projetado na fase anterior, vamos construir o
software.
 Agora vamos criar as telas, criar os códigos, criar os bancos de dados,
criar as tabelas dos bancos de dados, criar as integrações com outros
sistemas, enfim.. Agora vamos colocar a mão na massa.., porém
quando chegar nessa fase, aqui nós só vamos executar o que já foi
definido nas fases anteriores
o Exemplo:
Foi definido que o sistema vai ter um requisito chamado
“gerenciamento de estoque”, para atender esse requisito vai
ter uma funcionalidade chamada: Cadastrar produto
o Então agora vamos construir a tela dessa
funcionalidade, vamos construir o HTML, css,
javascript, a código Java, o código SQL, vamos fazer a
integração com os sistemas externos... Ou seja, vamos
a partir dos documentos gerados na fase anterior
gerar o código fonte.
o Quem faz essa atividade:
 Programadores (Desenvolvedores), Analistas programadores, Dba’s,
Designes...
Teste (Verifica, Valida se o que foi construído atende o que foi projetado
(especificado))
o O que é:
 Com base no que foi projetado na fase do Projeto, vai validar o que foi
construído na fase de Implementação.
o Exemplo:
 Foi definido que o sistema vai ter um requisito chamado
“gerenciamento de estoque”, para atender esse requisito vai ter uma
funcionalidade chamada: Cadastrar produto.
Também foi definido que a tela dessa funcionalidade vai ter um campo
de entrada chamado “quantidade” esse campo só vai aceitar números
positivos igual ou maior que 1. (REGRA DE NEGÓCIO)
O analista de teste ele vai entrar nessa tela, e vai digitar nesse campo
números negativos, numero 0, letras, e vai tentar cadastro o produto.
Caso o sistema aceite aqueles valores e cadastre o produto mesmo
com os valores errados, o analista de teste encontra um erro. Caso o
sistema não aceite o analista de teste vai validar que o sistema
realmente está fazendo o que ele deve fazer.
o Quem faz essa atividade:
 Analista de Teste (É o profissional especializado em testar o sistema,
ou seja, o validar, verificar se o que foi construído está atendendo os
requisitos do sistema)
Implantação (Instala o sistema no cliente, no ambiente de produção do cliente)
o O que é:
 Depois de falar com o cliente, levantar as necessidades dele, projetar
uma solução, construir essa solução, testar a solução que foi
construída, agora vamos implantar o sistema no ambiente do cliente,
ou seja, instalar o sistema na empresa do Cliente.
o Exemplo:
 Agora estamos com o sistema pronto e funcionando no nosso
ambiente de desenvolvimento, ou ambiente de teste, exemplo: na
IBM, agora vamos pegar esse sistema e vamos até o nosso cliente,
exemplo: Farmácia XYZ instalar o sistema nos servidores deles, nas
máquinas deles enfim.
Não necessariamente tem que ser na empresa do cliente, pode ser em
uma empresa terceira que já tem um ambiente pronto, por exemplo,
LOCAWEB, UOL HOST... enfim... Vamos disponibilizar o sistema em
algum lugar, ambiente de produção (onde as coisas acontecem pra
valer), para o nosso cliente poder usar.
Aqui nessa fase também entra a parte de treinamento, palestras,
enfim temos que ensinar o nosso cliente a usar o sistema.
o Quem faz essa atividade:
 Analista de Sistemas, Instalador (É o profissional especializado em
instalar, implantar o sistema no cliente, no ambiente do cliente)
Além dos processos de criação, tem os processos responsáveis por manter o software ao longo
do tempo:
Manutenção
o O que é:
 Mesmo depois do nosso sistema, passar por todos aqueles processos,
testes, muitos testes, alguns erros provavelmente vão aparecer, não
foi só uma pessoa que criou o sistema, geralmente é uma equipe de TI,
mais outra equipe do cliente (usuários do sistema), enfim muita gente
colocou a mão, muito tempo se passou e provavelmente no meio do
caminho uma coisa ou outra escapou... foi esquecida.... foi omitida...
Enfim...
.... e provavelmente alguns erros de negócios vão aparecer... um
calculo errado... uma regra equivocada...
Enfim é nessa fase que vamos corrigir esse erro.
Enquanto o software existir vai usar esse processo.
Quem faz essa atividade:
o Analistas (os mais diversos depende da necessidade), Programador,
Dba’s, Design...
Evolução ou Melhoria
o O que é:
 Tudo o que foi citado na fase anterior, porem ao invés de
corrigir algo, aqui nós construímos algo novo, por exemplo,
uma nova funcionalidade, colocamos mais um servidor para
suportar a quantidade de acessos simultâneos no nosso
sistema, enfim é aqui que nós vamos dar uma melhorada no
nosso sistema, vamos dar um UPDATE nele, uma turbinada
nele.
o Quem faz essa atividade:
 Analistas (os mais diversos depende da necessidade),
Programador, Dba’s, Design...
Um pouco mais sobre o processo de Implementação:
Todos os sistemas, rodam em um determinado ambiente.
O ambiente é onde o software roda, geralmente um ambiente é composto de servidor de
aplicação, banco de dados.
Ambiente de Desenvolvimento
o Onde o desenvolvedor implementa ou seja desenvolve o sistema
Ambiente de Homologação ou Teste ou ainda QA (Qualidade)
o Ambiente de teste onde os Analistas de Teste testam o sistema.
Ambiente de Produção
o Ambiente onde o sistema funciona plenamente, ou seja, para valer.
o É nesse ambiente que o cliente usa de fato o sistema.

Weitere ähnliche Inhalte

Andere mochten auch

Informatika 1
Informatika 1Informatika 1
Informatika 1Jakobow
 
נקודות אפס בפונק'
נקודות אפס בפונק'נקודות אפס בפונק'
נקודות אפס בפונק'oritzeichner
 
מדריך למורה ליחידה הממוחשבת
מדריך למורה ליחידה הממוחשבתמדריך למורה ליחידה הממוחשבת
מדריך למורה ליחידה הממוחשבתoritzeichner
 
הוכחות למשפט
הוכחות למשפטהוכחות למשפט
הוכחות למשפטoritzeichner
 
Open Mortgage - Where Better is Possible
Open Mortgage - Where Better is PossibleOpen Mortgage - Where Better is Possible
Open Mortgage - Where Better is PossibleArthurGreen12
 
שלשות פיתגוריות
שלשות פיתגוריותשלשות פיתגוריות
שלשות פיתגוריותoritzeichner
 
התאמות יחידה ממוחשבת
התאמות  יחידה ממוחשבתהתאמות  יחידה ממוחשבת
התאמות יחידה ממוחשבתoritzeichner
 
Edtech2010 Technology-enhanced Learning Puzzle
Edtech2010 Technology-enhanced Learning PuzzleEdtech2010 Technology-enhanced Learning Puzzle
Edtech2010 Technology-enhanced Learning PuzzleSabine Moebs
 
מבוא לפונקציות יחידה ממוחשבת
מבוא לפונקציות יחידה ממוחשבתמבוא לפונקציות יחידה ממוחשבת
מבוא לפונקציות יחידה ממוחשבתoritzeichner
 
BlAH Workshop 2008
BlAH Workshop 2008BlAH Workshop 2008
BlAH Workshop 2008Sabine Moebs
 
מצגת לאפליקציה עד 10
מצגת לאפליקציה עד 10מצגת לאפליקציה עד 10
מצגת לאפליקציה עד 10orbarziv
 
First nations fire protection strategy
First nations fire protection strategyFirst nations fire protection strategy
First nations fire protection strategyBill Layton
 

Andere mochten auch (20)

Informatika 1
Informatika 1Informatika 1
Informatika 1
 
נקודות אפס בפונק'
נקודות אפס בפונק'נקודות אפס בפונק'
נקודות אפס בפונק'
 
מדריך למורה ליחידה הממוחשבת
מדריך למורה ליחידה הממוחשבתמדריך למורה ליחידה הממוחשבת
מדריך למורה ליחידה הממוחשבת
 
הוכחות למשפט
הוכחות למשפטהוכחות למשפט
הוכחות למשפט
 
Teclado en español
Teclado en españolTeclado en español
Teclado en español
 
Open Mortgage - Where Better is Possible
Open Mortgage - Where Better is PossibleOpen Mortgage - Where Better is Possible
Open Mortgage - Where Better is Possible
 
Juan Carlos Briquet Marmol - Venecia
Juan Carlos Briquet Marmol - VeneciaJuan Carlos Briquet Marmol - Venecia
Juan Carlos Briquet Marmol - Venecia
 
שלשות פיתגוריות
שלשות פיתגוריותשלשות פיתגוריות
שלשות פיתגוריות
 
התאמות יחידה ממוחשבת
התאמות  יחידה ממוחשבתהתאמות  יחידה ממוחשבת
התאמות יחידה ממוחשבת
 
BISHNU JAISHI
BISHNU JAISHIBISHNU JAISHI
BISHNU JAISHI
 
Edtech2010 Technology-enhanced Learning Puzzle
Edtech2010 Technology-enhanced Learning PuzzleEdtech2010 Technology-enhanced Learning Puzzle
Edtech2010 Technology-enhanced Learning Puzzle
 
מבוא לפונקציות יחידה ממוחשבת
מבוא לפונקציות יחידה ממוחשבתמבוא לפונקציות יחידה ממוחשבת
מבוא לפונקציות יחידה ממוחשבת
 
BlAH Workshop 2008
BlAH Workshop 2008BlAH Workshop 2008
BlAH Workshop 2008
 
מצגת לאפליקציה עד 10
מצגת לאפליקציה עד 10מצגת לאפליקציה עד 10
מצגת לאפליקציה עד 10
 
Exam preparation
Exam preparationExam preparation
Exam preparation
 
Blood
BloodBlood
Blood
 
Aria Financial HOA
Aria Financial HOAAria Financial HOA
Aria Financial HOA
 
First nations fire protection strategy
First nations fire protection strategyFirst nations fire protection strategy
First nations fire protection strategy
 
Best practise and environmental effect
Best practise and environmental effect Best practise and environmental effect
Best practise and environmental effect
 
שינויים באבחנת Adhd דר ליטנר
שינויים באבחנת Adhd דר ליטנר  שינויים באבחנת Adhd דר ליטנר
שינויים באבחנת Adhd דר ליטנר
 

Ähnlich wie Processo de desenvolvimento de software

Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de softwareJoyce Bastos
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de SoftwareWellington Oliveira
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo RealLeandro Silva
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Camilla Gomes
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerAlan Carlos
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informaçãoFernando Gomes Chaves
 
Realizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitosRealizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitosVIVIANE RANGEL
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?Kamilla Queiroz Xavier
 
Es 02 desenvolvimento de software dirigido por casos de uso - parte i
Es 02   desenvolvimento de software dirigido por casos de uso - parte iEs 02   desenvolvimento de software dirigido por casos de uso - parte i
Es 02 desenvolvimento de software dirigido por casos de uso - parte iRodrigo Gomes da Silva
 
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxanalise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxMoysesOliveira3
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo RealDeep Tech Brasil
 

Ähnlich wie Processo de desenvolvimento de software (20)

Qualidade e Testes de Software
Qualidade e Testes de SoftwareQualidade e Testes de Software
Qualidade e Testes de Software
 
Principais conceitos em testes de software
Principais conceitos em testes de softwarePrincipais conceitos em testes de software
Principais conceitos em testes de software
 
Teste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e AplicandoTeste de software - Conhecendo e Aplicando
Teste de software - Conhecendo e Aplicando
 
Introdução Qualidade de Software
Introdução Qualidade de SoftwareIntrodução Qualidade de Software
Introdução Qualidade de Software
 
Aula02.pptx
Aula02.pptxAula02.pptx
Aula02.pptx
 
ava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdfava facul uva unijorge (146).pdf
ava facul uva unijorge (146).pdf
 
Rumos do teste de software
Rumos do teste de softwareRumos do teste de software
Rumos do teste de software
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9Procura-se: DevOps #cpbr9
Procura-se: DevOps #cpbr9
 
ALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test ManagerALM - Testes Manuais no Microsoft Test Manager
ALM - Testes Manuais no Microsoft Test Manager
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
ava facul uva unijorge (81).pdf
ava facul uva unijorge (81).pdfava facul uva unijorge (81).pdf
ava facul uva unijorge (81).pdf
 
Trabalho qualidade de software sistemas de informação
Trabalho qualidade de software   sistemas de informaçãoTrabalho qualidade de software   sistemas de informação
Trabalho qualidade de software sistemas de informação
 
Realizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitosRealizando a gestão de testes e o controle de defeitos
Realizando a gestão de testes e o controle de defeitos
 
DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?DevQA: Como medir qualidade de código ?
DevQA: Como medir qualidade de código ?
 
Es 02 desenvolvimento de software dirigido por casos de uso - parte i
Es 02   desenvolvimento de software dirigido por casos de uso - parte iEs 02   desenvolvimento de software dirigido por casos de uso - parte i
Es 02 desenvolvimento de software dirigido por casos de uso - parte i
 
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptxanalise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
analise-de-sistemas-aula-01-bcc-noturno-ema908915a.pptx
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real[DTC21] Thiago Henrique - Microsserviços do Mundo Real
[DTC21] Thiago Henrique - Microsserviços do Mundo Real
 

Processo de desenvolvimento de software

  • 1. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE (Tem como meta entregar um produto de software de maneira eficiente, previsível e que corresponda às necessidades de negócio (cliente)). O que é um processo? o Segundo a WIKIPÉDIA: Processo deriva do latim procedere, verbo que indica a ação de avançar, ir para frente (pro+cedere) e é um conjunto sequencial e particular de ações com objetivo comum. Pode ter os mais variados propósitos: criar, inventar, projetar, transformar, produzir, controlar, manter e usar produtos ou sistemas. Ou seja, “processo” faz, produz alguma coisa. Quais são os processos, ou as ações necessárias para se criar um produto de “Software”: Análise de requisitos o (levanta os requisitos do software, ou seja, o que o sistema DEVE fazer). Projeto o (Desenho do sistema, ou seja, COMO deve ser feito). Implementação o Construção do sistema. Teste o Valida o sistema, ou seja, verifica se o que foi construído está atendendo aos requisitos do cliente. Implantação o Instalação do sistema no cliente.
  • 2. Agora vou detalhar cada um desses processos. Análise de Requisitos ou Levantamento de Requisitos ou ainda Engenharia de Requisitos o O que é:  Conversa com o cliente/usuário para entender quais são as suas necessidades, os seus problemas, ou seja o que o sistema precisa fazer para atender as suas necessidades. Atenção aqui nós só levantamos, verificamos o que o sistema precisa fazer e não como vai ser feito. Essa parte nós não estamos pensando em tecnologia. o Exemplo:  O cliente tem uma farmácia de bairro, essa farmácia não tem sistema, tudo é feito de forma manual.  O cliente te chama para vc criar um sofware para a farmácia dele.  Vc vai la na farmácia dele conversar com o cliente.  Vc vai perguntar para ele porque ele precisa do software, vc vai entender o problema dele.  Vc vai verificar, levantar, que ele precisa de um sistema que seja possível, gerenciar o estoque de produtos, gerenciar os fornecedores, gerenciar as vendas, enfim.... o Quem faz essa atividade:  Analistas de requisitos (Quando falamos Analista, já está implícito o Analista de sistemas, porem quando falamos Analista de Requisitos, Analista x, Analista y, nós estamos falando que é um Analista de
  • 3. sistemas, porem mais focado em requisitos.... mais focado em X... mais focado em Y..... e etc) Projeto (Desenho do projeto ou ainda Desenho da solução) o O que é:  Com base nos requisitos que vc levantou do cliente, ou seja, o que o sistema DEVE fazer, agora vc vai criar uma solução, vai criar um projeto, ou seja, agora sim vc vai definir o COMO, COMO o sistema vai fazer para atender os requisitos do cliente.  É nessa fase que vc vai definir: Quais funcionalidades o sistema vai ter, Para atender os requisitos... Quais usuários vão usar o sistema? Quais perfis? Administrador? Usuário limitado? Visitante? Qual vai ser a linguagem de programação a ser usada? JAVA, PHP, C#, C, ASP, COBOL, HTML.... Qual vai ser o servidor de aplicação? Vai ser da IBM, MICROSOFT, ORACLE.... Vai guardar os dados em Banco de dados? Arquivo de texto? Memória?
  • 4. Caso seja banco de dados, Qual? SQL Server, Oracle, Mysql, Access… Vai ter log? Ou seja, vai deixar um histórico de quem acessou o sistema, quando acessou, o que fez o que deixou de fazer... Ocorreu algum erro? Quando? Onde? Vai guardar o log aonde? Banco de dados.. arquivo... enfim.. Vai ter servidor de backup? Qual? Quantos? Quantos usuários vai acessar o sistema simultaneamente? O que vai ser feito para o sistema não cair? Vai ter cluster? Balanceamento de carga? Vai ter segurança? Que tipo? Onde vai ficar os servidores? Brasil? E.U.A? Japão? Paraguai? Vai conversar com sistemas externos? Mastercard? Visa? Bradesco? Santander? Spc? Serasa? Qual vai ser o dispositivo que vai acessar o sistema? PC? WEB? CECLULAR? PONTO DE ATENDIMENTO (supermercados)? O sistema vai ter documentação? Manual de usuário? Diagramas? As telas dos sistemas vai ser Desktop? Web? Celular? Quantas telas? Nessa fase também vai ser gerado alguns documentos, que vai ser utilizados nas próximas fases do projeto. Se for um sistema estruturado, ou seja, um sistema que a linguagem de programação é estrutural vai ser utilizado N documentos, se for uma linguagem orientada a objetos vai ser utilizados N documentos.... o Exemplo:  Exemplo foi levantado que o sistema vai ter um requisito chamado “gerenciamento de estoque” Então vamos criar algumas funcionalidades para atender esse requisito: Cadastrar produto, Colocar produto no estoque, Retirar o produto do estoque. O usuário que vai ter permissão para acessar essas funcionalidades vai ser o Estoquista, só ele vai poder ter acesso a essas funcionalidades. Vai ter um menu no sistema com as funcionalidades listadas sequencialmente. Quando o usuário clicar na funcionalidade X vai abrir a tela Y... com os campos de entrada A,B,C,D,E.... com o botão de cadastrar... Quando o usuário preencher os dados... e cadastrar.. vai ser gravado em uma Base de Dados Sql Server ....
  • 5. Vai apresentar uma mensagem de sucesso para o usuário... o Quem faz essa atividade:  Projetistas, Analistas funcionais, Arquitetos Implementação (Constrói o que foi projetado na fase anterior) o O que é:  Com base no que foi projetado na fase anterior, vamos construir o software.  Agora vamos criar as telas, criar os códigos, criar os bancos de dados, criar as tabelas dos bancos de dados, criar as integrações com outros sistemas, enfim.. Agora vamos colocar a mão na massa.., porém quando chegar nessa fase, aqui nós só vamos executar o que já foi definido nas fases anteriores
  • 6. o Exemplo: Foi definido que o sistema vai ter um requisito chamado “gerenciamento de estoque”, para atender esse requisito vai ter uma funcionalidade chamada: Cadastrar produto o Então agora vamos construir a tela dessa funcionalidade, vamos construir o HTML, css, javascript, a código Java, o código SQL, vamos fazer a integração com os sistemas externos... Ou seja, vamos a partir dos documentos gerados na fase anterior gerar o código fonte. o Quem faz essa atividade:  Programadores (Desenvolvedores), Analistas programadores, Dba’s, Designes... Teste (Verifica, Valida se o que foi construído atende o que foi projetado (especificado)) o O que é:  Com base no que foi projetado na fase do Projeto, vai validar o que foi construído na fase de Implementação. o Exemplo:  Foi definido que o sistema vai ter um requisito chamado “gerenciamento de estoque”, para atender esse requisito vai ter uma funcionalidade chamada: Cadastrar produto. Também foi definido que a tela dessa funcionalidade vai ter um campo de entrada chamado “quantidade” esse campo só vai aceitar números positivos igual ou maior que 1. (REGRA DE NEGÓCIO) O analista de teste ele vai entrar nessa tela, e vai digitar nesse campo números negativos, numero 0, letras, e vai tentar cadastro o produto. Caso o sistema aceite aqueles valores e cadastre o produto mesmo com os valores errados, o analista de teste encontra um erro. Caso o sistema não aceite o analista de teste vai validar que o sistema realmente está fazendo o que ele deve fazer. o Quem faz essa atividade:
  • 7.  Analista de Teste (É o profissional especializado em testar o sistema, ou seja, o validar, verificar se o que foi construído está atendendo os requisitos do sistema) Implantação (Instala o sistema no cliente, no ambiente de produção do cliente) o O que é:  Depois de falar com o cliente, levantar as necessidades dele, projetar uma solução, construir essa solução, testar a solução que foi construída, agora vamos implantar o sistema no ambiente do cliente, ou seja, instalar o sistema na empresa do Cliente. o Exemplo:  Agora estamos com o sistema pronto e funcionando no nosso ambiente de desenvolvimento, ou ambiente de teste, exemplo: na IBM, agora vamos pegar esse sistema e vamos até o nosso cliente, exemplo: Farmácia XYZ instalar o sistema nos servidores deles, nas máquinas deles enfim. Não necessariamente tem que ser na empresa do cliente, pode ser em uma empresa terceira que já tem um ambiente pronto, por exemplo, LOCAWEB, UOL HOST... enfim... Vamos disponibilizar o sistema em algum lugar, ambiente de produção (onde as coisas acontecem pra valer), para o nosso cliente poder usar. Aqui nessa fase também entra a parte de treinamento, palestras, enfim temos que ensinar o nosso cliente a usar o sistema. o Quem faz essa atividade:  Analista de Sistemas, Instalador (É o profissional especializado em instalar, implantar o sistema no cliente, no ambiente do cliente)
  • 8. Além dos processos de criação, tem os processos responsáveis por manter o software ao longo do tempo: Manutenção o O que é:  Mesmo depois do nosso sistema, passar por todos aqueles processos, testes, muitos testes, alguns erros provavelmente vão aparecer, não foi só uma pessoa que criou o sistema, geralmente é uma equipe de TI, mais outra equipe do cliente (usuários do sistema), enfim muita gente colocou a mão, muito tempo se passou e provavelmente no meio do caminho uma coisa ou outra escapou... foi esquecida.... foi omitida... Enfim... .... e provavelmente alguns erros de negócios vão aparecer... um calculo errado... uma regra equivocada... Enfim é nessa fase que vamos corrigir esse erro. Enquanto o software existir vai usar esse processo. Quem faz essa atividade: o Analistas (os mais diversos depende da necessidade), Programador, Dba’s, Design...
  • 9. Evolução ou Melhoria o O que é:  Tudo o que foi citado na fase anterior, porem ao invés de corrigir algo, aqui nós construímos algo novo, por exemplo, uma nova funcionalidade, colocamos mais um servidor para suportar a quantidade de acessos simultâneos no nosso sistema, enfim é aqui que nós vamos dar uma melhorada no nosso sistema, vamos dar um UPDATE nele, uma turbinada nele. o Quem faz essa atividade:  Analistas (os mais diversos depende da necessidade), Programador, Dba’s, Design...
  • 10. Um pouco mais sobre o processo de Implementação: Todos os sistemas, rodam em um determinado ambiente. O ambiente é onde o software roda, geralmente um ambiente é composto de servidor de aplicação, banco de dados. Ambiente de Desenvolvimento o Onde o desenvolvedor implementa ou seja desenvolve o sistema Ambiente de Homologação ou Teste ou ainda QA (Qualidade) o Ambiente de teste onde os Analistas de Teste testam o sistema. Ambiente de Produção o Ambiente onde o sistema funciona plenamente, ou seja, para valer. o É nesse ambiente que o cliente usa de fato o sistema.