Programação Pragmática Carla Maria Pinheiro. 05/11/2004 Tópicos Avançados Engenharia de Software 3 Agenda O que é Programação Pragmática? Programador.

Slides:



Advertisements
Apresentações semelhantes
Os projetos.
Advertisements

Engenharia de Software
Rational Unified Process
Engenharia de Software
Débora da Silva Orientadora: Maria Inés Castiñeira
Engenharia de Software
Prototipação de Software
Projeto conceitual Mostra ao cliente exatamente o que o sistema fará
Engenharia de Software
Prototipação de Software
> Fases de Engenharia de SW > Gestão de Projectos de SW
Planeamento Temporal e Monitorização do Projecto de SW
Tópicos Motivação para teste Por que algumas empresas não testam
Rational Unified Process(RUP)
Computer Aided Software Engineering
CK 119: Engenharia de Software DC/CC/UFC © Rossana Andrade, Setembro CK119: Engenharia de Software Rossana Andrade Ph.D, SITE, University of Ottawa,
Introdução ao RUP Rational Unified Process
Especificação de Requisitos em PIT-RSL
TSDD Teste de segurança durante o desenvolvimento.
Principios e Conceitos de Projeto
Modelos de Processos de Software
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
RUPinho Qualidade de Software
Planejamento e Gerenciamento de Projetos
Visão Geral PRO.NET.
Visão Geral do RUP.
Cap 2 – Processo de Software
Supporting Use Case Based Requirements Engineering David Marques Filipe Garcês Ricardo Cruz.
O Fluxo de Implementação
Fase de Elaboração: Fluxo de Requisitos
Processos de Engenharia de Requisitos
Engenharia de Software
Test Driven Development por Johann Gomes e Thaís Moura.
Análise e Projeto de Sistemas
Fabíola Guerra Nakamura Vitor Alcântara Batista
Modelos de Processo de Software
Análise e Desenvolvimento de Software
Técnicas e Projeto de Sistemas
TESTES DE SOFTWARE Qualidade de software Professores: Juliano Bedin Juliano Bedin Sara Priscila Dutkwicz Leandro Bovi.
O Processo de desenvolvimento de software
Documentação de Software
Análise e Projeto Orientados a Objetos
Teste de Software Conceitos iniciais.
Bruno Silva Desenvolvido a partir de
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Engenharia de Software
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Gestão de defeitos.
Processo de Desenvolvimento de Software – PDS C Construção - PAS
Desenvolvimento da Aplicação de Gestão de Licenças de Táxi Luís Miguel da Silva Arêde associação de informática da região centro.
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Técnicas e Projeto de Sistemas
Engenharia de Software Aula 02 – Introdução Prof. Adriana M. Martins.
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Processo de Desenvolvimento de Software – PDS
Engenharia de Software
Engenharia de Software
Engenharia de Software
Evitando os Problemas.
Professora: Kelly de Paula Cunha
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Programação Pragmática
Engenharia de Software
QUALIDADE DE SOFTWARE Prof. Carlos Augusto da Costa Carvalho.
Estimativa, Teste e Inspeção de Software
1 Projeto Piloto Conclusão em Agenda Projeto Piloto –Descrição –Execução da aplicação –Implementação de requisitos funcionais e não- funcionais.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
GUTS-RS TESTES EM PROJETO DE IMPLANTAÇÃO ERP.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Transcrição da apresentação:

Programação Pragmática Carla Maria Pinheiro

05/11/2004 Tópicos Avançados Engenharia de Software 3 Agenda O que é Programação Pragmática? Programador Pragmático Antes da Implementação... Tracer Code Boas Práticas de Programação Testes Bibliografia

05/11/2004 Tópicos Avançados Engenharia de Software 3 O que é Programação Pragmática? Criada por Andrew Hunt e David Thomas Boas práticas de programação Voltada para o programador e para a equipe de programação Não tem um processo definido em fases

05/11/2004 Tópicos Avançados Engenharia de Software 3 Programador Pragmático Curioso por técnicas e tecnologias – Investimento no aprendizado (aulas, cursos) Inquisitivo Crítico Realista Assume responsabilidades – Assume seus erros – Provê opções para resolvê-los

05/11/2004 Tópicos Avançados Engenharia de Software 3 Antes da Implementação... Levantamento de Requisitos – Trabalhe com o usuário para pensar como ele – Dicionário de dados em reuniões com usuários – Especificação de mini-linguagem – Use Cases Documentação formal ou informal? Poucos detalhes Template para caso de uso - Cockburn

05/11/2004 Tópicos Avançados Engenharia de Software 3 Template 1. CHARACTERISTIC INFORMATION – Goal in context – Scope – Level – Preconditions – Success end condition – Failed end condition – Primary actor – Trigger

05/11/2004 Tópicos Avançados Engenharia de Software 3 Template 2. MAIN SUCCESS SCENARIO 3. EXTENSIONS 4.VARIATIONS 5. SCHEDULE 6. OPEN ISSUES

05/11/2004 Tópicos Avançados Engenharia de Software 3 Template 8.RELATED INFORMATION – Priority – Performance target – Frequency – Superordinate use case – Subordinate use cases – Channel to primary actor – Secondary actor – Channel to secondary actor

05/11/2004 Tópicos Avançados Engenharia de Software 3 Tracer Code Usado, principalmente, em sistemas novos no mercado Construção de parte do esqueleto do sistema Adição de funcionalidades

05/11/2004 Tópicos Avançados Engenharia de Software 3 Tracer Code Visão do sistema próxima da realidade Não é um protótipo – O tracer code será preenchido e corrigido com o desenrolar do sistema – Protótipos, em geral, são descartáveis

05/11/2004 Tópicos Avançados Engenharia de Software 3 Tracer Code Usuários vêem algo funcionando (demonstrações) Desenvolvedores constroem estrutura Plataforma de integração Melhor sentimento de progresso

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação Janela Quebrada – Projetos ruins, decisões erradas, código “pobre” – Bugs encontrados -> Bugs corrigidos! – Maior facilidade de correção no início do desenvolvimento

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação DRY Principle – Don’t Repeat Yourself – Toda parte do conhecimento deve ter uma simples e não-ambígua representação dentro do sistema! Evite duplicação de Informação – Documentação em código Códigos ruins precisam de comentários!? Desatualização dos comentários

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação Ortogonalidade – Componentes com funcionalidades bem definidas – Mudanças localizadas – Facilita o reuso – Reduz risco do desenvolvimento

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação Scripts – Tarefas Repetitivas Editores de Texto – Uso de editores como IDE!!! Controle de Código Fonte

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação Geração de Código – Geradores Passivos – Geradores Ativos

05/11/2004 Tópicos Avançados Engenharia de Software 3 Boas Práticas de Programação Refactoring – Refactoring automático Ferramentas Wizards – Não use se você não entende o código produzido!!

05/11/2004 Tópicos Avançados Engenharia de Software 3 Testes Unitários – Componentes Integração – Subsistemas Validação e Verificação – Dados – Regressão Teste os testes!!! – Cause bugs

05/11/2004 Tópicos Avançados Engenharia de Software 3 Bibliografia Andrew Hunt, David Thomas, The Pragmatic Programmer, Addison-Wesley,

Programação Pragmática