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

Aula 7 - Ciclo de vida do software.pptx

  • 1.
    CICLO DE VIDADO SOFTWARE Prof Alexandre Lisbôa da Silva
  • 2.
    CICLO DE VIDADO 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 VIDADO 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 dedesenvolvimento 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 conjuntode 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 DEDESENVOLVIMENTO 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 DEDESENVOLVIMENTO 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 DESENVOLVIMENTODE 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 DEDESENVOLVIMENTO 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 DESENVOLVIMENTODE SOFTWARE http://criarenet.com/fabrica-de-software/
  • 11.
  • 12.
    2- ESPECIFICAÇÃO DESOFTWARE 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 DESOFTWARE 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 DESOFTWARE 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 DESOFTWARE Processo de Engenharia de Requisitos Gráficos sobre Assunto
  • 16.
    2- ESPECIFICAÇÃO DESOFTWARE 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 EIMPLEMENTAÇÃ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 EIMPLEMENTAÇÃ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 EIMPLEMENTAÇÃ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 EIMPLEMENTAÇÃ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 EIMPLEMENTAÇÃO https://coggle.it/diagram/XhnVryTykD4D4-DF/t/pressman-engenharia-de-software-cap-conceitos-de-projeto
  • 22.
    4- MÉTODOS DOPROJETO • 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 DOPROJETO • 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 DOPROJETO • 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 DOPROJETO • 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.
  • 27.
    MODELOS DE ENTIDADESDE RELACIONAMENTO
  • 28.
  • 29.
  • 30.
    4- MÉTODOS DOPROJETO • 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 EDEPURAÇÃ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 EDEPURAÇÃ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 DESOFTWARE • 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.
  • 34.