Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 9AULA 9AULA 9 Prof. MARCELO VASQUESProf. MARCELO VASQUESProf. MARCELO VASQUES mvasqueso@gmail.commvasqueso@gmail.com 1AULA 1 – Prof. MARCELO VASQUES 1 OBJETIVOS DA AULAOBJETIVOS DA AULAOBJETIVOS DA AULA § Conhecer os processos de § Conhecer os processos de § Conhecer os processos de desenvolvimento:desenvolvimento:desenvolvimento: § Iterativo e Incremental§ Iterativo e Incremental§ Iterativo e Incremental §Prototipação§Prototipação§Prototipação §Espiral§Espiral§Espiral§Espiral CONTEXTOCONTEXTOCONTEXTO nModelo CascatanModelo CascatanModelo Cascata ¨ Os projetos não tem características ¨ Os projetos não tem características ¨ Os projetos não tem características sequenciais à várias iteraçõessequenciais à várias iteraçõessequenciais à várias iterações ¨ Desenvolvimento de todo sistema¨ Desenvolvimento de todo sistema¨ Desenvolvimento de todo sistema nModelo Iterativo-incrementalnModelo Iterativo-incrementalnModelo Iterativo-incremental Os projetos são desenvolvidos em ¨ Os projetos são desenvolvidos em ¨ Os projetos são desenvolvidos em Os projetos são desenvolvidos em porções (incremental), em várias porções (incremental), em várias porções (incremental), em várias iterações.iterações.iterações. ¨Ideia de melhoramento ou ¨Ideia de melhoramento ou ¨Ideia de melhoramento ou refinamentos sucessivos (aos poucos)refinamentos sucessivos (aos poucos)refinamentos sucessivos (aos poucos) PROCESSO ITERATIVOPROCESSO ITERATIVOPROCESSO ITERATIVO • Seleção de uma parte do projeto• Seleção de uma parte do projeto• Seleção de uma parte do projeto – Identifica, especifica, implementa, – Identifica, especifica, implementa, – Identifica, especifica, implementa, testa e implanta a iteraçãotesta e implanta a iteraçãotesta e implanta a iteraçãotesta e implanta a iteração – Se atender as especificações, – Se atender as especificações, – Se atender as especificações, – Se atender as especificações, passa-se a próxima iteração.passa-se a próxima iteração.passa-se a próxima iteração. PROCESSO ITERATIVOPROCESSO ITERATIVOPROCESSO ITERATIVO PROCESSO INCREMENTALPROCESSO INCREMENTALPROCESSO INCREMENTAL • Modelo que se baseia na idéia de• Modelo que se baseia na idéia de• Modelo que se baseia na idéia de aumento do âmbito do sistema.aumento do âmbito do sistema.aumento do âmbito do sistema. • Desenvolvimento em partes• Desenvolvimento em partes• Desenvolvimento em partes –Ou seja, na criação de novas–Ou seja, na criação de novas–Ou seja, na criação de novas versões para o modelo proposto.versões para o modelo proposto.versões para o modelo proposto. • As partes podem ser• As partes podem ser• As partes podem ser• As partes podem ser desenvolvidas em paralelo edesenvolvidas em paralelo edesenvolvidas em paralelo e integradas quando completas.integradas quando completas.integradas quando completas. PROCESSO INCREMENTALPROCESSO INCREMENTALPROCESSO INCREMENTALPROCESSO INCREMENTAL MODELO ITERATIVO E MODELO ITERATIVO E MODELO ITERATIVO E INCREMENTALINCREMENTALINCREMENTALINCREMENTAL • Processo de desenvolvimento de software• Processo de desenvolvimento de software que define: • Processo de desenvolvimento de software que define:que define: – um subconjunto de requisitos e– um subconjunto de requisitos e– um subconjunto de requisitos e – utiliza o modelo em cascata para sua– utiliza o modelo em cascata para sua– utiliza o modelo em cascata para sua realização.realização.realização. • Cada porção do ciclo segue o projeto de • Cada porção do ciclo segue o projeto de • Cada porção do ciclo segue o projeto de arquitetura inicial como guia, mas com uma arquitetura inicial como guia, mas com uma abordagem bem menor. abordagem bem menor. abordagem bem menor. • Uma vez satisfeitos os requisitos e os • Uma vez satisfeitos os requisitos e os • Uma vez satisfeitos os requisitos e os objetivos da iteração forem completos, o objetivos da iteração forem completos, o desenvolvimento segue para a próxima objetivos da iteração forem completos, o desenvolvimento segue para a próxima desenvolvimento segue para a próxima iteração.iteração.iteração. MODELO ITERATIVO E MODELO ITERATIVO E MODELO ITERATIVO E INCREMENTALINCREMENTALINCREMENTALINCREMENTAL MODELO ITERATIVO E MODELO ITERATIVO E MODELO ITERATIVO E INCREMENTALINCREMENTALINCREMENTAL • Os passos fundamentais são: INCREMENTAL • Os passos fundamentais são:• Os passos fundamentais são: – iniciar o desenvolvimento com um – iniciar o desenvolvimento com um – iniciar o desenvolvimento com um subconjunto simples de Requisitos de subconjunto simples de Requisitos de subconjunto simples de Requisitos de Software e Software e Software e – iterativamente alcançar evoluções – iterativamente alcançar evoluções – iterativamente alcançar evoluções subseqüentes das versões até o subseqüentes das versões até o sistema todo estar implementado. subseqüentes das versões até o sistema todo estar implementado. sistema todo estar implementado. sistema todo estar implementado. –A cada iteração, as modificações de –A cada iteração, as modificações de projeto são feitas e novas –A cada iteração, as modificações de projeto são feitas e novas projeto são feitas e novas funcionalidades são adicionadas. projeto são feitas e novas funcionalidades são adicionadas.funcionalidades são adicionadas. MODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃO • Criação de um modelo para ser • Criação de um modelo para ser • Criação de um modelo para ser analisado e desenvolvido a partir do analisado e desenvolvido a partir do protótipo analisado e desenvolvido a partir do protótipoprotótipo • O Analista coletará informações para • O Analista coletará informações para um mini projeto, concentrando-se nas • O Analista coletará informações para um mini projeto, concentrando-se nas um mini projeto, concentrando-se nas entradas e saídas do software.entradas e saídas do software.entradas e saídas do software. • Após a criação e aceitação do • Após a criação e aceitação do • Após a criação e aceitação do protótipo, o produto final será • Após a criação e aceitação do protótipo, o produto final será protótipo, o produto final será desenvolvido.desenvolvido.desenvolvido. • O protótipo serve como mecanismo • O protótipo serve como mecanismo • O protótipo serve como mecanismo para identificar os requisitospara identificar os requisitospara identificar os requisitos MODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃO • Tipos de protótipo:• Tipos de protótipo: – em papel ou sistema: retratam a interface e – em papel ou sistema: retratam a interface e interaçãointeração – em sistema, implementando algumas funções– em sistema, implementando algumas funções • Quando usar?• Quando usar? – O cliente definiu um conjunto de objetivos gerais – O cliente definiu um conjunto de objetivos gerais para o software, mas não identificou requisitos para o software, mas não identificou requisitos de entrada, processamento e saída com de entrada, processamento e saída com de entrada, processamento e saída com detalhes detalhes detalhes – O desenvolvedor não tem certeza da eficiência – O desenvolvedor não tem certeza da eficiência – O desenvolvedor não tem certeza da eficiência de um algoritmo ou forma da interação. de um algoritmo ou forma da interação. MODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃO MODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃO • 1- OBTENÇÃO DOS REQUISITOS • 1- OBTENÇÃO DOS REQUISITOS • 1- OBTENÇÃO DOS REQUISITOS – O desenvolvedor e o cliente definem os – O desenvolvedor e o cliente definem os objetivos gerais do software, identificam quais objetivos gerais do software, identificamquais objetivos gerais do software, identificam quais requisitos são conhecidos e as áreas que requisitos são conhecidos e as áreas que necessitam de definições adicionais. necessitam de definições adicionais. necessitam de definições adicionais. • 2- PROJETO RÁPIDO • 2- PROJETO RÁPIDO – É a representação dos aspectos do software – É a representação dos aspectos do software – É a representação dos aspectos do software que são visíveis ao usuário (entrada e formatos que são visíveis ao usuário (entrada e formatos de saída). de saída). de saída). • 3- CONSTRUÇÃO PROTÓTIPO • 3- CONSTRUÇÃO PROTÓTIPO • 3- CONSTRUÇÃO PROTÓTIPO – É a implementação do projeto rápido. Serve – É a implementação do projeto rápido. Serve como o “primeiro sistema” - recomendado que como o “primeiro sistema” - recomendado que como o “primeiro sistema” - recomendado que não seja usado como produto final.não seja usado como produto final. MODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃOMODELO: PROTOTIPAÇÃO • 4- AVALIAÇÃO DO PROTÓTIPO • 4- AVALIAÇÃO DO PROTÓTIPO – Cliente e desenvolvedor avaliam o protótipo. – Cliente e desenvolvedor avaliam o protótipo. – Cliente e desenvolvedor avaliam o protótipo. • 5- REFINAMENTO DOS REQUISITOS: • 5- REFINAMENTO DOS REQUISITOS: • 5- REFINAMENTO DOS REQUISITOS: – Com base na avaliação, refinam o produto– Com base na avaliação, refinam o produto – Ocorre neste ponto um processo de iteração – Ocorre neste ponto um processo de iteração que pode conduzir à atividade 1 até que as que pode conduzir à atividade 1 até que as necessidades do cliente sejam satisfeitas e o que pode conduzir à atividade 1 até que as necessidades do cliente sejam satisfeitas e o necessidades do cliente sejam satisfeitas e o desenvolvedor compreenda o que precisa ser desenvolvedor compreenda o que precisa ser feito. feito. feito. • 6- CONSTRUÇÃO PRODUTO: • 6- CONSTRUÇÃO PRODUTO: • 6- CONSTRUÇÃO PRODUTO: – A versão de produção deve ser construída – A versão de produção deve ser construída considerando os critérios de qualidade. considerando os critérios de qualidade. considerando os critérios de qualidade. – Protótipo deve ser descartado– Protótipo deve ser descartado MODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRAL • O Modelo espiral se assemelha • O Modelo espiral se assemelha • O Modelo espiral se assemelha com o propotipação, mas inclui um com o propotipação, mas inclui um com o propotipação, mas inclui um com o propotipação, mas inclui um fator: a análise de risco. fator: a análise de risco. fator: a análise de risco. • Funciona de forma iterativa, • Funciona de forma iterativa, • Funciona de forma iterativa, incremental, mas com uma etapa incremental, mas com uma etapa incremental, mas com uma etapa incremental, mas com uma etapa onde pode ser tomada a decisão de onde pode ser tomada a decisão de onde pode ser tomada a decisão de se interromper ou não o processo.se interromper ou não o processo.se interromper ou não o processo.se interromper ou não o processo. MODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRAL MODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRAL • Cada volta da espiral representa uma • Cada volta da espiral representa uma • Cada volta da espiral representa uma fase do processo: fase do processo: fase do processo: • Planejamento: Definição os objetivos, • Planejamento: Definição os objetivos, • Planejamento: Definição os objetivos, alternativas e restriçõesalternativas e restriçõesalternativas e restrições • Análise de Riscos: Análise de alternativas e • Análise de Riscos: Análise de alternativas e identificação dos riscos sob o ponto de vista identificação dos riscos sob o ponto de vista técnico e de gerênciatécnico e de gerência • Engenharia: Desenvolvimento do produto• Engenharia: Desenvolvimento do produto• Engenharia: Desenvolvimento do produto • Avaliação do cliente: • Avaliação do cliente: Avaliação dos • Avaliação do cliente: Avaliação dos • Avaliação do cliente: resultadosresultadosresultados MODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRAL • Não há fases fixas como especificação e • Não há fases fixas como especificação e desenho - as voltas na espiral são • Não há fases fixas como especificação e desenho - as voltas na espiral são desenho - as voltas na espiral são determinadas pelo que é requerido. determinadas pelo que é requerido. determinadas pelo que é requerido. • Riscos são explicitamente avaliados e • Riscos são explicitamente avaliados e resolvidos no processo • Riscos são explicitamente avaliados e resolvidos no processo resolvidos no processo • Engloba as melhores características do ciclo • Engloba as melhores características do ciclo • Engloba as melhores características do ciclo de vida Clássico e da Prototipação, de vida Clássico e da Prototipação, de vida Clássico e da Prototipação, adicionando um novo elemento: a ANÁLISE adicionando um novo elemento: a ANÁLISE DOS RISCOS. adicionando um novo elemento: a ANÁLISE DOS RISCOS. DOS RISCOS. • Usa a Prototipação, em qualquer etapa da • Usa a Prototipação, em qualquer etapa da • Usa a Prototipação, em qualquer etapa da evolução do produto, como mecanismo de evolução do produto, como mecanismo de redução de riscos. evolução do produto, como mecanismo de redução de riscos. redução de riscos. MODELO: ESPIRALMODELO: ESPIRALMODELO: ESPIRAL • Vantagens• Vantagens• Vantagens – Modelo evolutivo, possibilita uma maior – Modelo evolutivo, possibilita uma maior – Modelo evolutivo, possibilita uma maior integração entre as fases e facilita a depuração integração entre as fases e facilita a depuração e a manutenção do sistema.e a manutenção do sistema. – Permite que o projetista e cliente possam – Permite que o projetista e cliente possam entender e reagir aos riscos em cada etapa entender e reagir aos riscos em cada etapa entender e reagir aos riscos em cada etapa evolutiva.evolutiva.evolutiva. • Desvantagens• Desvantagens• Desvantagens – Avaliação dos riscos exige muita experiência.– Avaliação dos riscos exige muita experiência.– Avaliação dos riscos exige muita experiência. – O modelo é relativamente novo e não tem sido – O modelo é relativamente novo e não tem sido – O modelo é relativamente novo e não tem sido amplamente utilizado.amplamente utilizado.amplamente utilizado. COMPARATIVOCOMPARATIVOCOMPARATIVO MODELO VANTAGENS DESVANTAGENSMODELO VANTAGENS DESVANTAGENS CASCATA • MINIMIZA O TEMPO DE • INFLEXÍVELCASCATA • MINIMIZA O TEMPO DE PLANEJAMENTO • INFLEXÍVEL • DOCUMENTAÇÃO É PLANEJAMENTO • FUNCIONA COM EQUIPES • DOCUMENTAÇÃO É FUNDAMENTAL TECNICAMENTE FRACAS • DIFÍCIL VOLTAR ATRAS PARA CORREÇÃO DE ERROSCORREÇÃO DE ERROS ESPIRAL • AS INTERAÇÕES INICIAS DO PROJETO SÃO AS MAIS • É COMPLEXO E REQUER ATENÇÃO E CONHECIMENTO PROJETO SÃO AS MAIS BARATAS, PERMITINDO QUE AS ATENÇÃO E CONHECIMENTO ESPECIAIS PARA SUABARATAS, PERMITINDO QUE AS TAREFAS DE MAIOR RISCO ESPECIAIS PARA SUA IMPLEMENTAÇÃOTAREFAS DE MAIOR RISCO TENHAM CUSTO BAIXO. IMPLEMENTAÇÃO TENHAM CUSTO BAIXO. • CADA ITERAÇÃO DA ESPIRAL • CADA ITERAÇÃO DA ESPIRAL PODE SER CUSTOMIZADA PARA PODE SER CUSTOMIZADA PARA AS NECESSIDADES ESPECÍFICAS AS NECESSIDADES ESPECÍFICAS DE CADA PROJECTO. PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER • É IMPOSSÍVEL DETERMINAR PROTOTIPAÇÃO • OS CLIENTES CONSEGUEM VER OS PROGRESSOS. • É IMPOSSÍVEL DETERMINAR COM EXATIDÃO O TEMPO QUE OS PROGRESSOS. • É ÚTIL QUANDO OS REQUISITOS COM EXATIDÃO O TEMPO QUE O PROJETO VAI DEMORAR.• É ÚTIL QUANDO OS REQUISITOS MUDAM RAPIDAMENTE E O O PROJETO VAI DEMORAR. • NÃO HÁ FORMA DE SABER O MUDAM RAPIDAMENTE E O CLIENTE ESTÁ RELUTANTE EM • NÃO HÁ FORMA DE SABER O NÚMERO DE ITERAÇÕES QUE CLIENTE ESTÁ RELUTANTE EM ACEITAR UM CONJUNTO DE REQUISITOS. NÚMERO DE ITERAÇÕES QUE SERÃO NECESSÁRIAS. REQUISITOS.
Compartilhar