SlideShare uma empresa Scribd logo
1 de 41
Engenharia do Software I Manuel Menezes de Sequeira DCTI, ISCTE-IUL Manuel.Sequeira@iscte.pt, D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.
Na aula anterior Processos de software Modelos de processos de software Iteração de processos Actividades de processo RUP (RationalUnifiedProcess) CASE (Computer-Aided Software Engineering) 2009/2010 2 Engenharia do Software I
Desenvolvimento Rápido de Software 2009/2010 3 Engenharia do Software I
Sumário Desenvolvimento rápido de software Métodos ágeis XP (Extreme Programming) Desenvolvimento rápido de aplicações (RAD) Prototipagem de software 2009/2010 Engenharia do Software I 4
Objectivos Explicar como processo de desenvolvimento iterativo e incremental leva a entregas mais rápidas do software e a software mais útil Discutir essência de métodos ágeis de desenvolvimento Explicar princípios e práticas do Extreme Programming Explicar papéis da prototipagem no processo de software 2009/2010 5 Engenharia do Software I
Desenvolvimento rápido de software Alterações rápidas do contexto dos negócios obrigam empresas a responder a novas oportunidades e à competição Necessário software e seu rápido desenvolvimento Empresas podem estar dispostas a aceitar software de menor qualidade se isso tornar possível a entrega rápida de funcionalidades essenciais 2009/2010 6 Engenharia do Software I
Requisitos Contexto em alteração impossibilita conjunto estável e consistente de requisitos de sistema Modelo de desenvolvimento em cascata impraticável Entrega rápida de software possível apenas com desenvolvimento baseado em especificação e entrega iterativas 2009/2010 7 Engenharia do Software I
Características de processos RAD Especificação, desenho e implementação são processos concorrentes Sem especificação pormenorizada Documentação mínima 2009/2010 8 Engenharia do Software I
Características de processos RAD Sistema desenvolvido numa série de incrementos Utilizadores finais avaliam cada incremento e fazem propostas para incrementos posteriores Interfaces de utilização usualmente desenvolvidas usando sistema de desenvolvimento iterativo 2009/2010 9 Engenharia do Software I
Um processo de desenvolvimento iterativo Definir entregáveis Desenhar arquitectura Especificar incremento Construir incremento Validar incremento não Completo? Integrar incremento Validar Entregar sistema final sim 2009/2010 10 Engenharia do Software I
Vantagens do desenvolvimento incremental 2009/2010 11 Engenharia do Software I
Problemas do desenvolvimento incremental 2009/2010 12 Engenharia do Software I
Prototipagem 2009/2010 13 Engenharia do Software I
Desenvolvimento incremental e prototipagem Sistema entregue Desenvolvimento incremental Visão geral dos requisitos Protótipo executável e especificação do sistema Prototipagem descartável 2009/2010 14 Engenharia do Software I
Diferentes objectivos 2009/2010 15 Engenharia do Software I
Métodos ágeis Insatisfação com custos fixos associados a métodos de desenho levou a métodos ágeis Foco no código e não no desenho Com abordagem iterativa ao desenvolvimento Com objectivo de entregar e fazer evoluir rapidamente o software Provavelmente melhor adequados  a sistemas empresariais de pequena e média dimensão ou a produtos para computador pessoal 2009/2010 Engenharia do Software I 16
Princípios dos métodos ágeis  2009/2010 Engenharia do Software I 17
Problemas dos métodos ágeis Pode ser difícil manter interesse dos clientes envolvidos Membros da equipa podem não ser adequados a envolvimento intenso de métodos ágeis Prioritização de mudanças pode ser difícil com múltiplas partes interessadas Manter simplicidade requer trabalho adicional Contratos podem ser problemáticos, tal como noutras abordagens a desenvolvimento iterativo 2009/2010 Engenharia do Software I 18
XP (Extreme Programming) Método ágil mais conhecido e usado? Abordagem “extrema” a desenvolvimento iterativo Novas versões podem ser construídas múltiplas vezes por dia Entrega de incrementos a clientes cada duas semanas Todos os testes executados em todas as construções; construções aceites se testes executarem com sucesso 2009/2010 Engenharia do Software I 19
Ciclo de entregas do XP 2009/2010 20 Engenharia do Software I Seleccionar estórias do utilizador para esta entrega Dividir estórias em tarefas Planear entrega Entregar sistema Avaliar sistema Desenvolver, integrar e testar software
Práticas do XP 2009/2010 Engenharia do Software I 21
Práticas do XP 2009/2010 Engenharia do Software I 22
Princípios XP e ágeis Entregas pequenas e frequentes suportam desenvolvimento incremental Cliente a tempo inteiro com equipa Ênfase em pessoas e não processos Programação em pares Propriedade colectiva Processo que evita tempo excessivo de trabalho Entregas regulares suportam mudança Refactorização contínua sustenta simplicidade 2009/2010 Engenharia do Software I 23
Cenários de requisitos em XP Requisitos do utilizador expressos como cenários ou estórias de utilizador Estórias escritas em cartões e divididas em tarefas de implementação por equipa de desenvolvimento Estórias usadas para estimar custos e esforço Cliente escolhe estórias para entrega seguinte de acordo com prioridades e esforços estimados 2009/2010 Engenharia do Software I 24
Cartão de estória para descarregamento de documento 2009/2010 Engenharia do Software I 25
XP e mudança “Desenhar para a mudança” é senso comum: investir tempo e esforço antecipando alterações é proveitoso, pois reduzirá custos futuros no ciclo de vida do sistema XP acha que não vale a pena: alterações não são antecipáveis com confiança XP propõe melhoria contínua do código (refactorização): alterações mais fáceis quando implementadas 2009/2010 Engenharia do Software I 26
Testes em XP Desenvolvimento com testes primeiro Desenvolvimento incremental de testes partindo de cenários Envolvimento do utilizador no desenvolvimento e validação de testes Sistemas de teste automático para executar todos testes de componentes sempre que nova entrega é construída 2009/2010 Engenharia do Software I 27
Cartões de tarefa para descarregamento de documento 2009/2010 Engenharia do Software I 28
Descrição de caso de teste 2009/2010 Engenharia do Software I 29 Hmmmm….
Desenvolvimento com testes primeiro Escrever testes antes do código clarifica os requisitos a implementar Testes escritos de forma a se poderem executar automaticamente e não na forma de dados Testes reportam seu resultado Testes passados e novos testes executados quando se adiciona nova funcionalidade, verificando-se se se introduziu algum erro 2009/2010 Engenharia do Software I 30
Programação em pares Programadores aos pares, sentando-se juntos durante desenvolvimento Favorece sentimento de posse comum do código e dissemina conhecimento Processo de revisão informal: código visto por mais que uma pessoa Encoraja refactorização: equipa toda beneficia Experiências sugerem que produtividade de desenvolvimento é semelhante a trabalho individual 2009/2010 Engenharia do Software I 31
Desenvolvimento rápido de aplicações Métodos ágeis têm recebido muita atenção, mas há outras abordagens ao RAD em uso há muitos anos Essas abordagens foram desenhadas para desenvolver aplicações empresariais data-intensive Baseiam-se em programação e apresentação de informação a partir de uma base de dados 2009/2010 Engenharia do Software I 32
Ferramentas RAD Linguagens de programação de bases de dados Geradores de interfaces Ligações a aplicações de escritório Geradores de relatórios 2009/2010 Engenharia do Software I 33
Prototipagem de software Protótipo: versão inicial do sistema para demonstrar conceitos e experimentar opções de desenho Pode usar-se Processo de engenharia de requisitos: ajuda eliciação e validação de requisitos Processos de desenho: ajuda explorar opções e desenvolver design da interface com utilizador Processo de testes: executar testes comparativos (back-to-back) 2009/2010 34 Engenharia do Software I
Benefícios da prototipagem Melhor usabilidade do sistema Melhor correspondência com necessidades reais dos utilizadores Melhor qualidade do desenho Melhor manutenibilidade Menor esforço de desenvolvimento 2009/2010 35 Engenharia do Software I
Testes comparativos Dados de teste Protótipo do sistema Sistema Relatório das diferenças 2009/2010 36 Engenharia do Software I Comparador de resultados
Processo de prototipagem 2009/2010 37 Engenharia do Software I Estabelecer objectivos Definir funcionalidade Desenvolver Avaliar Plano de prototipagem Definição da estrutura geral Protótipo executável Relatório de avaliação
Protótipos descartáveis Protótipos descartados depois de desenvolvidos: não são boa base para sistema de produção Pode ser impossível ajustar sistema para cumprir requisitos não funcionais Protótipos normalmente não documentados Estrutura de protótipos usualmente degradada devido a alterações rápidas Protótipo provavelmente não cumpre normas de qualidade da organização 2009/2010 Engenharia do Software I 38
A reter Abordagem iterativa a desenvolvimento de software leva a entregas mais rápidas Métodos ágeis são métodos de desenvolvimento iterativo destinados a reduzir custos fixos de desenvolvimento e assim a produzir software mais rapidamente XP inclui práticas como testes sistemáticos, melhoria contínua e envolvimento do cliente A abordagem aos testes no XP é uma das suas forças; testes executáveis desenvolvidos antes da escrita do código 2009/2010 Engenharia do Software I 39
A reter Protótipos descartáveis usados para explorar requisitos e opções de desenho Ao implementar protótipo descartável, começar com requisitos menos compreendidos No desenvolvimento incremental, começar com requisitos mais compreendidos 2009/2010 Engenharia do Software I 40
A ler IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006 Capítulo 17 2009/2010 41 Engenharia do Software I

Mais conteúdo relacionado

Mais procurados

Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosTamires Guedes
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9wilsonguns
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentesigordsm
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - WikipediaRobson Silva Espig
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEduardo Mendes
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Rosanete Grassiani dos Santos
 
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 requisitosWillian Moreira Figueiredo de Souza
 

Mais procurados (20)

Eng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de softwareEng.ª do Software - 4. Processos de software
Eng.ª do Software - 4. Processos de software
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Aula 8 Modelagem de Dados
Aula 8 Modelagem de DadosAula 8 Modelagem de Dados
Aula 8 Modelagem de Dados
 
3 uml
3 uml3 uml
3 uml
 
Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9Engenharia de-software-1217199594686494-9
Engenharia de-software-1217199594686494-9
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Apostila uml
Apostila umlApostila uml
Apostila uml
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Engenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em ComponentesEngenharia De Software Baseada Em Componentes
Engenharia De Software Baseada Em Componentes
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Engenharia de Software - Wikipedia
Engenharia de Software - WikipediaEngenharia de Software - Wikipedia
Engenharia de Software - Wikipedia
 
Engenharia de requisitos
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitos
 
Estimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de SoftwareEstimativas de Esforço - Engenharia de Software
Estimativas de Esforço - Engenharia de Software
 
Es 09
Es 09Es 09
Es 09
 
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
 
Requisitos de software
Requisitos de softwareRequisitos de software
Requisitos de software
 
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
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 

Destaque

Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de softwareYuri Garcia
 
Scrum - Um Método Ágil de Desenvolvimento de Sistemas
Scrum - Um Método Ágil de Desenvolvimento de SistemasScrum - Um Método Ágil de Desenvolvimento de Sistemas
Scrum - Um Método Ágil de Desenvolvimento de SistemasWomen Techmakers Sorocaba
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalRobson Silva Espig
 
Desenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentDesenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentLeonardo de Aguiar
 
Scrum apresentação
Scrum apresentaçãoScrum apresentação
Scrum apresentaçãoArmando Couto
 
Introdução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de softwareIntrodução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de softwareJaime Schettini
 
Modelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareModelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareDaniela Franciosi
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágilFelipe Oliveira
 
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e IncrementalEngenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e IncrementalGustavo Neves
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)elliando dias
 
Gerência de Projetos de Software - Aula 3 [SCRUM]
Gerência de Projetos de Software - Aula 3 [SCRUM]Gerência de Projetos de Software - Aula 3 [SCRUM]
Gerência de Projetos de Software - Aula 3 [SCRUM]Adson Cunha, MSc, PMP®
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalRuan Carvalho
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de softwareWaldemar Roberti
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaRalph Rassweiler
 

Destaque (20)

Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Modelos de ciclo de vida de software
Modelos de ciclo de vida de softwareModelos de ciclo de vida de software
Modelos de ciclo de vida de software
 
RAD
RADRAD
RAD
 
Scrum - Um Método Ágil de Desenvolvimento de Sistemas
Scrum - Um Método Ágil de Desenvolvimento de SistemasScrum - Um Método Ágil de Desenvolvimento de Sistemas
Scrum - Um Método Ágil de Desenvolvimento de Sistemas
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Desenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven DevelopmentDesenvolvimento Incremental com Test Driven Development
Desenvolvimento Incremental com Test Driven Development
 
Scrum apresentação
Scrum apresentaçãoScrum apresentação
Scrum apresentação
 
Introdução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de softwareIntrodução às metodologias ágeis de desenvolvimento de software
Introdução às metodologias ágeis de desenvolvimento de software
 
Modelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de SoftwareModelo Incremental - Engenharia de Software
Modelo Incremental - Engenharia de Software
 
Es capítulo 3 - desenvolvimento ágil
Es   capítulo 3  -  desenvolvimento ágilEs   capítulo 3  -  desenvolvimento ágil
Es capítulo 3 - desenvolvimento ágil
 
Engenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e IncrementalEngenharia de Software - Desenvolvimento Iterativo e Incremental
Engenharia de Software - Desenvolvimento Iterativo e Incremental
 
Modelo V
Modelo VModelo V
Modelo V
 
Processo Unificado(RUP)
Processo Unificado(RUP)Processo Unificado(RUP)
Processo Unificado(RUP)
 
Desenvolvimento incremental e iterativo
Desenvolvimento incremental e iterativoDesenvolvimento incremental e iterativo
Desenvolvimento incremental e iterativo
 
Gerência de Projetos de Software - Aula 3 [SCRUM]
Gerência de Projetos de Software - Aula 3 [SCRUM]Gerência de Projetos de Software - Aula 3 [SCRUM]
Gerência de Projetos de Software - Aula 3 [SCRUM]
 
Desenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-IncrementalDesenvolvimento Iterativo-Incremental
Desenvolvimento Iterativo-Incremental
 
03 Modelo de processo de software
03 Modelo de processo de software03 Modelo de processo de software
03 Modelo de processo de software
 
Aula2 paradigmas
Aula2 paradigmasAula2 paradigmas
Aula2 paradigmas
 
8 system models (1)
8 system models (1)8 system models (1)
8 system models (1)
 
Processos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e práticaProcessos de Desenvolvimento de Software - teoria e prática
Processos de Desenvolvimento de Software - teoria e prática
 

Semelhante a Eng.ª do Software - 5. Desenvolvimento rápido de software

Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01Franklin Matos Correia
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioAdriano Bertucci
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareEmerson Henrique
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareLuciano Almeida
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelAlan Braz
 
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...Case estágio - Proposta de interface para um módulo de estratégia do sistema ...
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...Guilherme Ponce
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de softwareluacal
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)Renato Groff
 
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorEng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorManuel Menezes de Sequeira
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Adriano Bertucci
 
Memória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwareMemória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwarerenatocinttra
 
Gerenciamento PDS
Gerenciamento PDSGerenciamento PDS
Gerenciamento PDSFatec Jales
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareCamilo Almendra
 

Semelhante a Eng.ª do Software - 5. Desenvolvimento rápido de software (20)

Introdução a engenharia de software aula 01
Introdução a engenharia de software   aula 01Introdução a engenharia de software   aula 01
Introdução a engenharia de software aula 01
 
Qualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual StudioQualidade de Software com Microsoft Visual Studio
Qualidade de Software com Microsoft Visual Studio
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
Metodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de SoftwareMetodologias Ágeis de Desenvolvimento de Software
Metodologias Ágeis de Desenvolvimento de Software
 
WBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiávelWBMA2013 - Método Ágil para desenvolvimento de software confiável
WBMA2013 - Método Ágil para desenvolvimento de software confiável
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...Case estágio - Proposta de interface para um módulo de estratégia do sistema ...
Case estágio - Proposta de interface para um módulo de estratégia do sistema ...
 
Es2 modelo de processo de software
Es2 modelo de processo de softwareEs2 modelo de processo de software
Es2 modelo de processo de software
 
Analise aula2
Analise aula2Analise aula2
Analise aula2
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
152191 11993
152191 11993152191 11993
152191 11993
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
TDD (Test-Driven Development)
TDD (Test-Driven Development)TDD (Test-Driven Development)
TDD (Test-Driven Development)
 
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizadorEng.ª do Software - 8. Desenho de interfaces com o utilizador
Eng.ª do Software - 8. Desenho de interfaces com o utilizador
 
Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?Qualidade - Porque testar seu software?
Qualidade - Porque testar seu software?
 
Subm_SamuelPereira_FINAL
Subm_SamuelPereira_FINALSubm_SamuelPereira_FINAL
Subm_SamuelPereira_FINAL
 
Memória de aula_aula04_eng_software
Memória de aula_aula04_eng_softwareMemória de aula_aula04_eng_software
Memória de aula_aula04_eng_software
 
Gerenciamento PDS
Gerenciamento PDSGerenciamento PDS
Gerenciamento PDS
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Verificação, Validação e Teste de Software
Verificação, Validação e Teste de SoftwareVerificação, Validação e Teste de Software
Verificação, Validação e Teste de Software
 

Mais de Manuel Menezes de Sequeira

14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...Manuel Menezes de Sequeira
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...Manuel Menezes de Sequeira
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...Manuel Menezes de Sequeira
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...Manuel Menezes de Sequeira
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...Manuel Menezes de Sequeira
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...Manuel Menezes de Sequeira
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...Manuel Menezes de Sequeira
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de ProgramaçãoManuel Menezes de Sequeira
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...Manuel Menezes de Sequeira
 
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...Manuel Menezes de Sequeira
 
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...Manuel Menezes de Sequeira
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...Manuel Menezes de Sequeira
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasManuel Menezes de Sequeira
 
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, ScannerManuel Menezes de Sequeira
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteresManuel Menezes de Sequeira
 
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemasManuel Menezes de Sequeira
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaManuel Menezes de Sequeira
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacoteManuel Menezes de Sequeira
 

Mais de Manuel Menezes de Sequeira (20)

14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
14. Interfaces; Listas e cadeias ligadas; Iteradores – Fundamentos de Program...
 
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
 
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
11. Enumerações; Instrução switch; Limitações dos inteiros – Fundamentos de P...
 
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
12. Paradigmas da programação; Programação orientada por objectos; Pacotes – ...
 
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
10. Encapsulação; Cópia de instâncias; Igualdade de instâncias – Fundamentos ...
 
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
9. Operação toString(); Classes, instâncias e objectos; Scanner – Fundamentos...
 
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
8. Classes e instâncias; Cadeias de caracteres – Fundamentos de Programação
 
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
7. Arrays multidimensionais; Estratégias de resolução de problemas – Fundamen...
 
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...
 
4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação4. Introdução à linguagem de programação Java – Fundamentos de Programação
4. Introdução à linguagem de programação Java – Fundamentos de Programação
 
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
3. Funções/repórteres e listas em Snap!; Utilização de variáveis – Fundamento...
 
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
2. Programação e resolução de problemas; Algoritmos; Snap! – Fundamentos de P...
 
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
1. Computador; Línguas naturais; Linguagens de Programação; Algoritmo e progr...
 
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
6. Caracteres; Tipos char e int; Tipos de valor e de referência – Fundamentos...
 
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instânciasSemana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
Semana 10: Encapsulação, cópia de instâncias, igualdade de instâncias
 
Semana 9: toString, classes, instâncias e objectos, Scanner
Semana  9: toString, classes, instâncias e objectos, ScannerSemana  9: toString, classes, instâncias e objectos, Scanner
Semana 9: toString, classes, instâncias e objectos, Scanner
 
Semana 8: Classes e instâncias, cadeias de caracteres
Semana  8: Classes e instâncias, cadeias de caracteresSemana  8: Classes e instâncias, cadeias de caracteres
Semana 8: Classes e instâncias, cadeias de caracteres
 
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana  6: Matrizes multidimensionais, estratégias de resolução de problemasSemana  6: Matrizes multidimensionais, estratégias de resolução de problemas
Semana 6: Matrizes multidimensionais, estratégias de resolução de problemas
 
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referênciaSemana  5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
Semana 5: Caracteres, tipos char e int, tipos de valor vs. tipos de referência
 
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana  4: Atribuições especiais, matrizes, ciclos, classes pacoteSemana  4: Atribuições especiais, matrizes, ciclos, classes pacote
Semana 4: Atribuições especiais, matrizes, ciclos, classes pacote
 

Último

HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoMary Alvarenga
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfIedaGoethe
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...LizanSantos1
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfIedaGoethe
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 anoandrealeitetorres
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 

Último (20)

HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Atividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu AbrigoAtividade com a letra da música Meu Abrigo
Atividade com a letra da música Meu Abrigo
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Currículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdfCurrículo escolar na perspectiva da educação inclusiva.pdf
Currículo escolar na perspectiva da educação inclusiva.pdf
 
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
Intolerância religiosa. Trata-se de uma apresentação sobre o respeito a diver...
 
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdfDIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
DIA DO INDIO - FLIPBOOK PARA IMPRIMIR.pdf
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 ano
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 

Eng.ª do Software - 5. Desenvolvimento rápido de software

  • 1. Engenharia do Software I Manuel Menezes de Sequeira DCTI, ISCTE-IUL Manuel.Sequeira@iscte.pt, D6.02 As apresentações desta série baseiam-se nas apresentações disponibilizadas por IanSommerville, tendo sido alteradas e adaptadas primeiro por  Anders Lyhne Christensen e finalmente por Manuel Menezes de Sequeira.
  • 2. Na aula anterior Processos de software Modelos de processos de software Iteração de processos Actividades de processo RUP (RationalUnifiedProcess) CASE (Computer-Aided Software Engineering) 2009/2010 2 Engenharia do Software I
  • 3. Desenvolvimento Rápido de Software 2009/2010 3 Engenharia do Software I
  • 4. Sumário Desenvolvimento rápido de software Métodos ágeis XP (Extreme Programming) Desenvolvimento rápido de aplicações (RAD) Prototipagem de software 2009/2010 Engenharia do Software I 4
  • 5. Objectivos Explicar como processo de desenvolvimento iterativo e incremental leva a entregas mais rápidas do software e a software mais útil Discutir essência de métodos ágeis de desenvolvimento Explicar princípios e práticas do Extreme Programming Explicar papéis da prototipagem no processo de software 2009/2010 5 Engenharia do Software I
  • 6. Desenvolvimento rápido de software Alterações rápidas do contexto dos negócios obrigam empresas a responder a novas oportunidades e à competição Necessário software e seu rápido desenvolvimento Empresas podem estar dispostas a aceitar software de menor qualidade se isso tornar possível a entrega rápida de funcionalidades essenciais 2009/2010 6 Engenharia do Software I
  • 7. Requisitos Contexto em alteração impossibilita conjunto estável e consistente de requisitos de sistema Modelo de desenvolvimento em cascata impraticável Entrega rápida de software possível apenas com desenvolvimento baseado em especificação e entrega iterativas 2009/2010 7 Engenharia do Software I
  • 8. Características de processos RAD Especificação, desenho e implementação são processos concorrentes Sem especificação pormenorizada Documentação mínima 2009/2010 8 Engenharia do Software I
  • 9. Características de processos RAD Sistema desenvolvido numa série de incrementos Utilizadores finais avaliam cada incremento e fazem propostas para incrementos posteriores Interfaces de utilização usualmente desenvolvidas usando sistema de desenvolvimento iterativo 2009/2010 9 Engenharia do Software I
  • 10. Um processo de desenvolvimento iterativo Definir entregáveis Desenhar arquitectura Especificar incremento Construir incremento Validar incremento não Completo? Integrar incremento Validar Entregar sistema final sim 2009/2010 10 Engenharia do Software I
  • 11. Vantagens do desenvolvimento incremental 2009/2010 11 Engenharia do Software I
  • 12. Problemas do desenvolvimento incremental 2009/2010 12 Engenharia do Software I
  • 13. Prototipagem 2009/2010 13 Engenharia do Software I
  • 14. Desenvolvimento incremental e prototipagem Sistema entregue Desenvolvimento incremental Visão geral dos requisitos Protótipo executável e especificação do sistema Prototipagem descartável 2009/2010 14 Engenharia do Software I
  • 15. Diferentes objectivos 2009/2010 15 Engenharia do Software I
  • 16. Métodos ágeis Insatisfação com custos fixos associados a métodos de desenho levou a métodos ágeis Foco no código e não no desenho Com abordagem iterativa ao desenvolvimento Com objectivo de entregar e fazer evoluir rapidamente o software Provavelmente melhor adequados a sistemas empresariais de pequena e média dimensão ou a produtos para computador pessoal 2009/2010 Engenharia do Software I 16
  • 17. Princípios dos métodos ágeis 2009/2010 Engenharia do Software I 17
  • 18. Problemas dos métodos ágeis Pode ser difícil manter interesse dos clientes envolvidos Membros da equipa podem não ser adequados a envolvimento intenso de métodos ágeis Prioritização de mudanças pode ser difícil com múltiplas partes interessadas Manter simplicidade requer trabalho adicional Contratos podem ser problemáticos, tal como noutras abordagens a desenvolvimento iterativo 2009/2010 Engenharia do Software I 18
  • 19. XP (Extreme Programming) Método ágil mais conhecido e usado? Abordagem “extrema” a desenvolvimento iterativo Novas versões podem ser construídas múltiplas vezes por dia Entrega de incrementos a clientes cada duas semanas Todos os testes executados em todas as construções; construções aceites se testes executarem com sucesso 2009/2010 Engenharia do Software I 19
  • 20. Ciclo de entregas do XP 2009/2010 20 Engenharia do Software I Seleccionar estórias do utilizador para esta entrega Dividir estórias em tarefas Planear entrega Entregar sistema Avaliar sistema Desenvolver, integrar e testar software
  • 21. Práticas do XP 2009/2010 Engenharia do Software I 21
  • 22. Práticas do XP 2009/2010 Engenharia do Software I 22
  • 23. Princípios XP e ágeis Entregas pequenas e frequentes suportam desenvolvimento incremental Cliente a tempo inteiro com equipa Ênfase em pessoas e não processos Programação em pares Propriedade colectiva Processo que evita tempo excessivo de trabalho Entregas regulares suportam mudança Refactorização contínua sustenta simplicidade 2009/2010 Engenharia do Software I 23
  • 24. Cenários de requisitos em XP Requisitos do utilizador expressos como cenários ou estórias de utilizador Estórias escritas em cartões e divididas em tarefas de implementação por equipa de desenvolvimento Estórias usadas para estimar custos e esforço Cliente escolhe estórias para entrega seguinte de acordo com prioridades e esforços estimados 2009/2010 Engenharia do Software I 24
  • 25. Cartão de estória para descarregamento de documento 2009/2010 Engenharia do Software I 25
  • 26. XP e mudança “Desenhar para a mudança” é senso comum: investir tempo e esforço antecipando alterações é proveitoso, pois reduzirá custos futuros no ciclo de vida do sistema XP acha que não vale a pena: alterações não são antecipáveis com confiança XP propõe melhoria contínua do código (refactorização): alterações mais fáceis quando implementadas 2009/2010 Engenharia do Software I 26
  • 27. Testes em XP Desenvolvimento com testes primeiro Desenvolvimento incremental de testes partindo de cenários Envolvimento do utilizador no desenvolvimento e validação de testes Sistemas de teste automático para executar todos testes de componentes sempre que nova entrega é construída 2009/2010 Engenharia do Software I 27
  • 28. Cartões de tarefa para descarregamento de documento 2009/2010 Engenharia do Software I 28
  • 29. Descrição de caso de teste 2009/2010 Engenharia do Software I 29 Hmmmm….
  • 30. Desenvolvimento com testes primeiro Escrever testes antes do código clarifica os requisitos a implementar Testes escritos de forma a se poderem executar automaticamente e não na forma de dados Testes reportam seu resultado Testes passados e novos testes executados quando se adiciona nova funcionalidade, verificando-se se se introduziu algum erro 2009/2010 Engenharia do Software I 30
  • 31. Programação em pares Programadores aos pares, sentando-se juntos durante desenvolvimento Favorece sentimento de posse comum do código e dissemina conhecimento Processo de revisão informal: código visto por mais que uma pessoa Encoraja refactorização: equipa toda beneficia Experiências sugerem que produtividade de desenvolvimento é semelhante a trabalho individual 2009/2010 Engenharia do Software I 31
  • 32. Desenvolvimento rápido de aplicações Métodos ágeis têm recebido muita atenção, mas há outras abordagens ao RAD em uso há muitos anos Essas abordagens foram desenhadas para desenvolver aplicações empresariais data-intensive Baseiam-se em programação e apresentação de informação a partir de uma base de dados 2009/2010 Engenharia do Software I 32
  • 33. Ferramentas RAD Linguagens de programação de bases de dados Geradores de interfaces Ligações a aplicações de escritório Geradores de relatórios 2009/2010 Engenharia do Software I 33
  • 34. Prototipagem de software Protótipo: versão inicial do sistema para demonstrar conceitos e experimentar opções de desenho Pode usar-se Processo de engenharia de requisitos: ajuda eliciação e validação de requisitos Processos de desenho: ajuda explorar opções e desenvolver design da interface com utilizador Processo de testes: executar testes comparativos (back-to-back) 2009/2010 34 Engenharia do Software I
  • 35. Benefícios da prototipagem Melhor usabilidade do sistema Melhor correspondência com necessidades reais dos utilizadores Melhor qualidade do desenho Melhor manutenibilidade Menor esforço de desenvolvimento 2009/2010 35 Engenharia do Software I
  • 36. Testes comparativos Dados de teste Protótipo do sistema Sistema Relatório das diferenças 2009/2010 36 Engenharia do Software I Comparador de resultados
  • 37. Processo de prototipagem 2009/2010 37 Engenharia do Software I Estabelecer objectivos Definir funcionalidade Desenvolver Avaliar Plano de prototipagem Definição da estrutura geral Protótipo executável Relatório de avaliação
  • 38. Protótipos descartáveis Protótipos descartados depois de desenvolvidos: não são boa base para sistema de produção Pode ser impossível ajustar sistema para cumprir requisitos não funcionais Protótipos normalmente não documentados Estrutura de protótipos usualmente degradada devido a alterações rápidas Protótipo provavelmente não cumpre normas de qualidade da organização 2009/2010 Engenharia do Software I 38
  • 39. A reter Abordagem iterativa a desenvolvimento de software leva a entregas mais rápidas Métodos ágeis são métodos de desenvolvimento iterativo destinados a reduzir custos fixos de desenvolvimento e assim a produzir software mais rapidamente XP inclui práticas como testes sistemáticos, melhoria contínua e envolvimento do cliente A abordagem aos testes no XP é uma das suas forças; testes executáveis desenvolvidos antes da escrita do código 2009/2010 Engenharia do Software I 39
  • 40. A reter Protótipos descartáveis usados para explorar requisitos e opções de desenho Ao implementar protótipo descartável, começar com requisitos menos compreendidos No desenvolvimento incremental, começar com requisitos mais compreendidos 2009/2010 Engenharia do Software I 40
  • 41. A ler IanSommerville, Software Engineering, 8.ª edição, Addison-Wesley, 2006 Capítulo 17 2009/2010 41 Engenharia do Software I