SlideShare uma empresa Scribd logo
1 de 34
CICLO DE VIDA DO
SOFTWARE
Prof Alexandre Lisbôa da Silva
CICLO DE VIDA DO SOFTWARE
É o termo utilizado para definir o conjunto de etapas
que ocorrem entre a concepção de um sistema e o
instante em que ele é descontinuado pelo
desenvolvedor.
Ele ajuda a orientar a equipe de desenvolvedores,
assim como o direcionamento de recursos. Desse
modo, os times podem sempre focar no que for mais
importante, evitando problemas e garantindo
o máximo de satisfação do usuário.
CICLO DE VIDA DO SOFTWARE
A gestão do ciclo de vida do sistema é importante por
permitir ao negócio ter um planejamento inteligente e
capaz de identificar quando é a melhor hora de executar
cada tarefa que envolve a criação e a manutenção de um
sistema. Ou seja, torna o processo de gestão do aplicativo
mais robusto e organizado.
Assim, o time pode ter maior controle sobre a aplicação e
evitar cenários de risco.
1. Processo de desenvolvimento de software
2. Especificação de software
3. Projeto e implementação
4. Métodos do projeto
5. Programação e depuração
6. Validação de Software
6 ETAPAS - CICLO DE VIDA
É um conjunto de atividades e
resultados associados que levam a
produção de um produto de
software. Esse processo pode
envolver o desenvolvimento de
software desde o inicio, embora,
cada vez mais, ocorra o caso de
um software novo ser desenvolvido
mediante a expansão e a
modificação de sistemas já
existentes, isso é o tão famoso
reuso.
1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Os processos de software são
complexos e, como todos os
processos intelectuais,
dependem de julgamento
humano. Por causa da
necessidade de utilizar o
julgamento e a criatividade,
tentativas de automatizar
processos de software têm tido
sucesso limitado.
1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Uma razão pela qual existe uma abordagem limitada para a
automação de processos é a imensa diversidade dos processos de
software. Não há um processo ideal, e diferentes organizações
desenvolveram abordagens inteiramente diferentes para o
desenvolvimento de software. Os processos evoluíram para
explorara capacidade das pessoas em uma organização, assim
como as características específicas dos sistemas que estão sendo
desenvolvidos.
Dentro da mesma empresa pode haver muitos processos diferentes
utilizados.
1-PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Uma razão pela qual existe uma abordagem limitada para a
automação de processos é a imensa diversidade dos processos de
software. Não há um processo ideal, e diferentes organizações
desenvolveram abordagens inteiramente diferentes para o
desenvolvimento de software. Os processos evoluíram para
explorara capacidade das pessoas em uma organização, assim
como as características específicas dos sistemas que estão sendo
desenvolvidos.
Dentro da mesma empresa pode haver muitos processos diferentes
utilizados.
1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
Embora existam muitos processos de software diferentes, há atividades
fundamentais comuns a todos eles, como:
• Especificação: é preciso definir a funcionalidade do software e as
restrições em sua operação.
• Projeto e implementação: deve ser produzido o software de modo
que cumpra sua especificação.
• Validação: o software precisa ser validado para garantir que ele faz o
que o cliente deseja.
• Evolução: o software precisa evoluir para atender as necessidades
mutáveis do cliente.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
http://criarenet.com/fabrica-de-software/
ANALOGIA
PARQUINHO
2- ESPECIFICAÇÃO DE SOFTWARE
Destina-se a estabelecer quais funções são requeridas
pelo sistema e as restrições sobre operação e o
desenvolvimento do sistema.
Essa atividade, atualmente, é frequentemente chamada
de engenharia de requisitos;
Ela é um estágio particularmente importante do
processo de software, uma vez que erros nesse estágio
inevitavelmente produzem problemas posteriores no
projeto e na implementação do sistema.
2- ESPECIFICAÇÃO DE SOFTWARE
Esse processo leva a produção de uma documentação
de requisitos, que é a especificação para o sistema.
Os requisitos geralmente são apresentados em dois
níveis de detalhes nesse documento.
1. Os usuários finais e os clientes necessitam de uma
declaração de alto nível dos requisitos;
2. Os desenvolvedores de sistema precisam de uma
especificação mais detalhada do sistema.
2 -ESPECIFICAÇÃO DE SOFTWARE
Requisitos de um sistema, segundo Sommerville
(2011), são descrições do que o Sistema DEVE fazer, os
serviços que oferece e as restrições a seu
funcionamento.
Esses requisitos refletem a necessidade dos clientes e
para um sistema que serve a uma finalidade
determinada, como controlar um dispositivo, colocar um
pedido ou encontrar informações.
2 -ESPECIFICAÇÃO DE SOFTWARE
Processo de Engenharia de Requisitos
Gráficos
sobre
Assunto
2- ESPECIFICAÇÃO DE SOFTWARE
Naturalmente, as atividades no processo de
requisitos não são realizadas simplesmente em
uma sequência rigorosa.
A análise de requisitos continua durante a
definição e a especificação, e novos requisitos
surgem ao longo do processo.
Portanto, as atividades de análise, definição e
especificação são intercaladas.
3- PROJETO E IMPLEMENTAÇÃO
É o processo de conversão de uma especificação de
sistema em um sistema executável.
Esse estágio sempre envolve processos de projeto e
programação de software, mas, se uma abordagem
evolucionária de desenvolvimento for utilizada, ele
poderá também envolver o aperfeiçoamento da
especificação de software.
3- PROJETO E IMPLEMENTAÇÃO
Um projeto de software é uma descrição de estrutura de software a ser
implementada, dos dados que são parte do sistema, das interfaces entre
os componentes do sistema e, algumas vezes, dos algoritmos utilizados.
Os projetistas não conseguem que um projeto seja concluído
imediatamente, mas desenvolvem o projeto interativamente por meio
de uma série de diferentes versões.
O processo de projeto envolve acrescentar formas e detalhes, a medida
que o projeto é desenvolvido, com 'retornos' constantes, a fim de
corrigir projetos anteriores.
3- PROJETO E IMPLEMENTAÇÃO
Uma especificação para o próximo estágio é a saída de
cada atividade do projeto. Essa especificação pode ser
uma especificação de como parte do sistema é
implementada.
À medida que o processo de projeto continua, essas
especificações se tornam mais detalhadas. Os resultados
finais de processo são especificações precisas de
algoritmos e estruturas de dados a serem
implementadas.
3- PROJETO E IMPLEMENTAÇÃO
As atividades de processo de projeto são:
• Projeto de arquitetura;
• Especificação abstrata;
• Projeto de interface;
• Projeto de componentes;
• Projeto de estrutura de dados;
• Projeto de algoritmos.
3- PROJETO E IMPLEMENTAÇÃO
https://coggle.it/diagram/XhnVryTykD4D4-DF/t/pressman-engenharia-de-software-cap-conceitos-de-projeto
4- MÉTODOS DO PROJETO
• Partindo de um conjunto de requisitos, geralmente em
linguagem natural, é preparado um projeto informal. A
codificação se inicia, e o projeto é modificado à medida que
o sistema é implementado.
• Em muitos casos existe pouco ou nenhum controle formal
dessas modificações ou do gerenciamento de projeto.
• Quando o estágio de implementação se completa, o projeto
normalmente foi tão modificado, depois de sua
especificação inicial, que o documento original de projeto é
uma descrição incoerente e incompleta do sistema.
4- MÉTODOS DO PROJETO
• Uma abordagem mais metódica do projeto é proposta pelos
"métodos estruturados", que são conjuntos de notações e
diretrizes para o projeto de software.
• O uso de métodos estruturados normalmente envolve a
produção de modelos gráficos de sistema e resulta em grandes
quantidades de documentação de projeto. Não se pode
demonstrar que um método é melhor ou pior do que outros.
• O sucesso ou fracasso dos métodos depende, com frequência,
de sua adequação ao domínio de uma aplicação.
4- MÉTODOS DO PROJETO
• Um método estruturado inclui um modelo de processo
de projeto, notações para representar o projeto,
formulários de relatórios, regras e diretrizes do projeto.
• Embora haja um grande número de métodos, eles têm
muito em comum.
4- MÉTODOS DO PROJETO
• Os métodos estruturados podem aceitar alguns ou
todos os seguintes modelos de sistema:
• Um modelo de fluxo de dados;
• Um modelo de relacionamento de entidades;
• Um modelo estrutural;
• Métodos orientados a objetos.
DIAGRAMA DE FLUXO DE DADOS
MODELOS DE ENTIDADES DE RELACIONAMENTO
UM MODELO ESTRUTURAL;
MÉTODOS ORIENTADOS A OBJETOS;
4- MÉTODOS DO PROJETO
• Métodos específicos complementam esses com outros
modelos de sistemas, como os diagramas de transição
de estado.
• Na prática, a orientação dada pelos métodos é informal
e, assim, diferentes projetistas desenvolverão diferentes
projetos. Esses métodos nada mais são que boas
práticas a serem seguidas.
5- PROGRAMAÇÃO E DEPURAÇÃO
• O desenvolvimento de um programa para implementar o
sistema parte naturalmente dos processos de projeto de
sistemas.
• Embora algumas classes de programas, como os sistemas em
que a segurança é fundamental, sejam projetadas
detalhadamente, antes que qualquer implementação tenha
início, é mais comum que os estágios posteriores de
desenvolvimento de projeto e de programa sejam intercalados.
5- PROGRAMAÇÃO E DEPURAÇÃO
• A programação é uma atividade pessoal, e não existe um
processo geral que seja normalmente seguido. Alguns
programadores começarão com os componentes que eles
compreendem bem e então prosseguirão com os componentes
não tão fáceis.
• Normalmente, programadores realizam alguns testes do código
que eles mesmos desenvolveram. Isso, muitas vezes revela
defeitos dos programas que devem ser removidos. Esse
processo é chamado depuração.
• O depurador deve gerar hipóteses sobre o comportamento
observável do programa e, então testá-las, na esperança de
encontrar o defeito que causou a anomalia.
6- VALIDAÇÃO DE SOFTWARE
• A validação, ou de modo mais geral, verificação e validação
(V&V), destina-se a mostrar que um sistema está de acordo
com suas especificações e que ele atende às expectativas
do cliente comprador do sistema.
• Esse processo envolve verificar processos, como por meio
de inspeções e revisões, em cada estágio do processo de
software. Desde a definição dos requisitos até o
desenvolvimento do programa. A maior parte dos custos de
validação, contudo, é observada depois da implementação,
quando o sistema é testado.
Prof. Alexandre.lisboa@fmpsc.edu.br
48- 991620209

Mais conteúdo relacionado

Semelhante a Aula 7 - Ciclo de vida do software.pptx

2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
Pedro Alcantara
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
miroslayer
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
wilsonguns
 

Semelhante a Aula 7 - Ciclo de vida do software.pptx (20)

Analise sistemas 05
Analise sistemas 05Analise sistemas 05
Analise sistemas 05
 
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
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
Modelos de processos de software
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
 
Os aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de RequisitosOs aspectos mais relevantes da Engenharia de Requisitos
Os aspectos mais relevantes da Engenharia de Requisitos
 
2 engenharia de software
2   engenharia de software2   engenharia de software
2 engenharia de software
 
O Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de SoftwareO Processo de Desenvolvimento de Software
O Processo de Desenvolvimento de Software
 
Aula 2 - Processos de Software
Aula 2 - Processos de SoftwareAula 2 - Processos de Software
Aula 2 - Processos de Software
 
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
2. FUNDAMENTOS DE SISTEMAS DE INFORMAÇÃO - 22.06.22.pdf
 
Engenharia de software i 3 - processos de engenharia de requisitos
Engenharia de software i   3 - processos de engenharia de requisitosEngenharia de software i   3 - processos de engenharia de requisitos
Engenharia de software i 3 - processos de engenharia de requisitos
 
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
 
Engenharia de Software introdução
Engenharia de Software    introduçãoEngenharia de Software    introdução
Engenharia de Software introdução
 
Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)Eng de soft. ciclo de vida PARTE(2)
Eng de soft. ciclo de vida PARTE(2)
 
Trabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de SistemasTrabalho individual 5 semestre Analise de Sistemas
Trabalho individual 5 semestre Analise de Sistemas
 
T1 g13.modelo cascata
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 
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
 
Processos de software
Processos de softwareProcessos de software
Processos de software
 
ES4.ppt
ES4.pptES4.ppt
ES4.ppt
 

Mais de AlexandreLisboadaSil (11)

Aula 6.2 - CRM.ppt
Aula 6.2 - CRM.pptAula 6.2 - CRM.ppt
Aula 6.2 - CRM.ppt
 
QR code 08.pptx
QR code 08.pptxQR code 08.pptx
QR code 08.pptx
 
AULA 5 - COSTA RICA.pptx
AULA 5 - COSTA RICA.pptxAULA 5 - COSTA RICA.pptx
AULA 5 - COSTA RICA.pptx
 
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptxQUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
QUALIDADE DE SOFTWARE - AULA 10 - Gest+úo de Defeitos.pptx
 
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
QUALIDADE DE SOFTWARE - AULA 3 - Parte 1 - Conceitos de Qualidade de Software...
 
Aula 01.ppt
Aula 01.pptAula 01.ppt
Aula 01.ppt
 
Aula 6 - Gestão do Conhecimento.pptx
Aula 6 - Gestão do Conhecimento.pptxAula 6 - Gestão do Conhecimento.pptx
Aula 6 - Gestão do Conhecimento.pptx
 
Aula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptxAula 8 - Plano de Teste.pptx
Aula 8 - Plano de Teste.pptx
 
Aula 4 -Qualidade do Processo.pptx
Aula 4 -Qualidade do Processo.pptxAula 4 -Qualidade do Processo.pptx
Aula 4 -Qualidade do Processo.pptx
 
Aula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptxAula 1 - Qualidade de Software - Introdução e História.pptx
Aula 1 - Qualidade de Software - Introdução e História.pptx
 
Aula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptxAula 5 - Introdução ao Teste.pptx
Aula 5 - Introdução ao Teste.pptx
 

Aula 7 - Ciclo de vida do software.pptx

  • 1. CICLO DE VIDA DO SOFTWARE Prof Alexandre Lisbôa da Silva
  • 2. CICLO DE VIDA DO SOFTWARE É o termo utilizado para definir o conjunto de etapas que ocorrem entre a concepção de um sistema e o instante em que ele é descontinuado pelo desenvolvedor. Ele ajuda a orientar a equipe de desenvolvedores, assim como o direcionamento de recursos. Desse modo, os times podem sempre focar no que for mais importante, evitando problemas e garantindo o máximo de satisfação do usuário.
  • 3. CICLO DE VIDA DO SOFTWARE A gestão do ciclo de vida do sistema é importante por permitir ao negócio ter um planejamento inteligente e capaz de identificar quando é a melhor hora de executar cada tarefa que envolve a criação e a manutenção de um sistema. Ou seja, torna o processo de gestão do aplicativo mais robusto e organizado. Assim, o time pode ter maior controle sobre a aplicação e evitar cenários de risco.
  • 4. 1. Processo de desenvolvimento de software 2. Especificação de software 3. Projeto e implementação 4. Métodos do projeto 5. Programação e depuração 6. Validação de Software 6 ETAPAS - CICLO DE VIDA
  • 5. É um conjunto de atividades e resultados associados que levam a produção de um produto de software. Esse processo pode envolver o desenvolvimento de software desde o inicio, embora, cada vez mais, ocorra o caso de um software novo ser desenvolvido mediante a expansão e a modificação de sistemas já existentes, isso é o tão famoso reuso. 1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE
  • 6. 1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Os processos de software são complexos e, como todos os processos intelectuais, dependem de julgamento humano. Por causa da necessidade de utilizar o julgamento e a criatividade, tentativas de automatizar processos de software têm tido sucesso limitado.
  • 7. 1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Uma razão pela qual existe uma abordagem limitada para a automação de processos é a imensa diversidade dos processos de software. Não há um processo ideal, e diferentes organizações desenvolveram abordagens inteiramente diferentes para o desenvolvimento de software. Os processos evoluíram para explorara capacidade das pessoas em uma organização, assim como as características específicas dos sistemas que estão sendo desenvolvidos. Dentro da mesma empresa pode haver muitos processos diferentes utilizados.
  • 8. 1-PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Uma razão pela qual existe uma abordagem limitada para a automação de processos é a imensa diversidade dos processos de software. Não há um processo ideal, e diferentes organizações desenvolveram abordagens inteiramente diferentes para o desenvolvimento de software. Os processos evoluíram para explorara capacidade das pessoas em uma organização, assim como as características específicas dos sistemas que estão sendo desenvolvidos. Dentro da mesma empresa pode haver muitos processos diferentes utilizados.
  • 9. 1- PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Embora existam muitos processos de software diferentes, há atividades fundamentais comuns a todos eles, como: • Especificação: é preciso definir a funcionalidade do software e as restrições em sua operação. • Projeto e implementação: deve ser produzido o software de modo que cumpra sua especificação. • Validação: o software precisa ser validado para garantir que ele faz o que o cliente deseja. • Evolução: o software precisa evoluir para atender as necessidades mutáveis do cliente.
  • 10. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE http://criarenet.com/fabrica-de-software/
  • 12. 2- ESPECIFICAÇÃO DE SOFTWARE Destina-se a estabelecer quais funções são requeridas pelo sistema e as restrições sobre operação e o desenvolvimento do sistema. Essa atividade, atualmente, é frequentemente chamada de engenharia de requisitos; Ela é um estágio particularmente importante do processo de software, uma vez que erros nesse estágio inevitavelmente produzem problemas posteriores no projeto e na implementação do sistema.
  • 13. 2- ESPECIFICAÇÃO DE SOFTWARE Esse processo leva a produção de uma documentação de requisitos, que é a especificação para o sistema. Os requisitos geralmente são apresentados em dois níveis de detalhes nesse documento. 1. Os usuários finais e os clientes necessitam de uma declaração de alto nível dos requisitos; 2. Os desenvolvedores de sistema precisam de uma especificação mais detalhada do sistema.
  • 14. 2 -ESPECIFICAÇÃO DE SOFTWARE Requisitos de um sistema, segundo Sommerville (2011), são descrições do que o Sistema DEVE fazer, os serviços que oferece e as restrições a seu funcionamento. Esses requisitos refletem a necessidade dos clientes e para um sistema que serve a uma finalidade determinada, como controlar um dispositivo, colocar um pedido ou encontrar informações.
  • 15. 2 -ESPECIFICAÇÃO DE SOFTWARE Processo de Engenharia de Requisitos Gráficos sobre Assunto
  • 16. 2- ESPECIFICAÇÃO DE SOFTWARE Naturalmente, as atividades no processo de requisitos não são realizadas simplesmente em uma sequência rigorosa. A análise de requisitos continua durante a definição e a especificação, e novos requisitos surgem ao longo do processo. Portanto, as atividades de análise, definição e especificação são intercaladas.
  • 17. 3- PROJETO E IMPLEMENTAÇÃO É o processo de conversão de uma especificação de sistema em um sistema executável. Esse estágio sempre envolve processos de projeto e programação de software, mas, se uma abordagem evolucionária de desenvolvimento for utilizada, ele poderá também envolver o aperfeiçoamento da especificação de software.
  • 18. 3- PROJETO E IMPLEMENTAÇÃO Um projeto de software é uma descrição de estrutura de software a ser implementada, dos dados que são parte do sistema, das interfaces entre os componentes do sistema e, algumas vezes, dos algoritmos utilizados. Os projetistas não conseguem que um projeto seja concluído imediatamente, mas desenvolvem o projeto interativamente por meio de uma série de diferentes versões. O processo de projeto envolve acrescentar formas e detalhes, a medida que o projeto é desenvolvido, com 'retornos' constantes, a fim de corrigir projetos anteriores.
  • 19. 3- PROJETO E IMPLEMENTAÇÃO Uma especificação para o próximo estágio é a saída de cada atividade do projeto. Essa especificação pode ser uma especificação de como parte do sistema é implementada. À medida que o processo de projeto continua, essas especificações se tornam mais detalhadas. Os resultados finais de processo são especificações precisas de algoritmos e estruturas de dados a serem implementadas.
  • 20. 3- PROJETO E IMPLEMENTAÇÃO As atividades de processo de projeto são: • Projeto de arquitetura; • Especificação abstrata; • Projeto de interface; • Projeto de componentes; • Projeto de estrutura de dados; • Projeto de algoritmos.
  • 21. 3- PROJETO E IMPLEMENTAÇÃO https://coggle.it/diagram/XhnVryTykD4D4-DF/t/pressman-engenharia-de-software-cap-conceitos-de-projeto
  • 22. 4- MÉTODOS DO PROJETO • Partindo de um conjunto de requisitos, geralmente em linguagem natural, é preparado um projeto informal. A codificação se inicia, e o projeto é modificado à medida que o sistema é implementado. • Em muitos casos existe pouco ou nenhum controle formal dessas modificações ou do gerenciamento de projeto. • Quando o estágio de implementação se completa, o projeto normalmente foi tão modificado, depois de sua especificação inicial, que o documento original de projeto é uma descrição incoerente e incompleta do sistema.
  • 23. 4- MÉTODOS DO PROJETO • Uma abordagem mais metódica do projeto é proposta pelos "métodos estruturados", que são conjuntos de notações e diretrizes para o projeto de software. • O uso de métodos estruturados normalmente envolve a produção de modelos gráficos de sistema e resulta em grandes quantidades de documentação de projeto. Não se pode demonstrar que um método é melhor ou pior do que outros. • O sucesso ou fracasso dos métodos depende, com frequência, de sua adequação ao domínio de uma aplicação.
  • 24. 4- MÉTODOS DO PROJETO • Um método estruturado inclui um modelo de processo de projeto, notações para representar o projeto, formulários de relatórios, regras e diretrizes do projeto. • Embora haja um grande número de métodos, eles têm muito em comum.
  • 25. 4- MÉTODOS DO PROJETO • Os métodos estruturados podem aceitar alguns ou todos os seguintes modelos de sistema: • Um modelo de fluxo de dados; • Um modelo de relacionamento de entidades; • Um modelo estrutural; • Métodos orientados a objetos.
  • 26. DIAGRAMA DE FLUXO DE DADOS
  • 27. MODELOS DE ENTIDADES DE RELACIONAMENTO
  • 30. 4- MÉTODOS DO PROJETO • Métodos específicos complementam esses com outros modelos de sistemas, como os diagramas de transição de estado. • Na prática, a orientação dada pelos métodos é informal e, assim, diferentes projetistas desenvolverão diferentes projetos. Esses métodos nada mais são que boas práticas a serem seguidas.
  • 31. 5- PROGRAMAÇÃO E DEPURAÇÃO • O desenvolvimento de um programa para implementar o sistema parte naturalmente dos processos de projeto de sistemas. • Embora algumas classes de programas, como os sistemas em que a segurança é fundamental, sejam projetadas detalhadamente, antes que qualquer implementação tenha início, é mais comum que os estágios posteriores de desenvolvimento de projeto e de programa sejam intercalados.
  • 32. 5- PROGRAMAÇÃO E DEPURAÇÃO • A programação é uma atividade pessoal, e não existe um processo geral que seja normalmente seguido. Alguns programadores começarão com os componentes que eles compreendem bem e então prosseguirão com os componentes não tão fáceis. • Normalmente, programadores realizam alguns testes do código que eles mesmos desenvolveram. Isso, muitas vezes revela defeitos dos programas que devem ser removidos. Esse processo é chamado depuração. • O depurador deve gerar hipóteses sobre o comportamento observável do programa e, então testá-las, na esperança de encontrar o defeito que causou a anomalia.
  • 33. 6- VALIDAÇÃO DE SOFTWARE • A validação, ou de modo mais geral, verificação e validação (V&V), destina-se a mostrar que um sistema está de acordo com suas especificações e que ele atende às expectativas do cliente comprador do sistema. • Esse processo envolve verificar processos, como por meio de inspeções e revisões, em cada estágio do processo de software. Desde a definição dos requisitos até o desenvolvimento do programa. A maior parte dos custos de validação, contudo, é observada depois da implementação, quando o sistema é testado.