21-implementacao

Propaganda
Implementação de
Projetos de Software
Prof. Leandro Buss Becker
Email: [email protected]
Copyright Leandro Becker
Tópicos




Visão geral da implementação
Conceitos Fundamentais
Elementos Envolvidos na Implementação
Fluxo de Trabalho
Copyright Leandro Becker
1. Visão geral da implementação




Organizar o código em subsistemas e camadas
Implementar classes e objetos em termos de
componentes (fonte, binário, executável, etc)
Testar componentes como unidades (units)
Integrar sub-partes em único executável
Copyright Leandro Becker
2. Conceitos Fundamentais
1. Builds
2. Integration
3. Prototypes
Copyright Leandro Becker
2.1. Builds

Representa uma versão operacional do sistema
ou sua sub-parte
 Durante a impl. são gerados vários builds
 Devem ser devidamente documentados,
permitindo o regresso para versões anteriores
 Projetos (devem) produzir builds em intervalos
regulares (max. 1 / semana)
 Auxiliado pelo controle de versões (e.g.
programa CVS)
Copyright Leandro Becker
2.2 Integration

Integração de componentes de sw distintos em
unidade única:
 Integra sub-partes de um mesmo subsistema
 Integra subsistemas distintos

Incremental integration: código é escrito em

pequenas partes e depois integrado
Phased integration: integração de múltiplas
partes simultaneamente
Copyright Leandro Becker
2.2.1. Incremental Integration




Facilita localização de falhas
Componentes são testados exaustivamente
Permite a execução de sub-parte do sistema
Plano de integração: define as classes e
objetos definidos no projeto que devem ser
implementadas em cada fase
Copyright Leandro Becker
2.3 Prototypes

Usados como alternativa para reduzir os riscos
do projeto





Viabilidade de negócio do produto
Estabilidade ou performance de tecnologia
Financiamento ou acertos sobre projeto
Entendimento dos requisitos
Teste de usabilidade (“look and feel”)
Copyright Leandro Becker
2.3.1 Behavioral Prototype




Propósito explicativo
NÃO reproduz a arquitetura real do sistema
Foca no que o sistema deverá fazer sob a visão
do usuário
Chamado de “skin”
Copyright Leandro Becker
2.3.2 Structural Prototype



Voltados para a utilização da infraestrutura do
sistema final (“bones”)
Útil para evoluir na versão final
Pode ser gerado a partir de ambientes
integrados de desenvolvimento (IDEs) ou
ferramentas CASE:

Rational Rose, RealTime Studio, etc
Copyright Leandro Becker
2.3.3 Exploratory Prototype


Serve para testar hipóteses relacionada com
funcionalidade e tecnologia (ou ambos)
Caracteriza-se por ter poucas linhas de código


É do tipo “descartável”
Criado com o mínimo de esforço
Copyright Leandro Becker
2.3.4 Evolutionary Prototype



Usado como base para o sistema final
Evolui a cada interação da implementação
Para tornarem-se “gerenciáveis”, necessitam de
formalidades de desenvolvimento e testes
Copyright Leandro Becker
3. Elementos Envolvidos na
Implementação




Implementador: desenvolve os comp.
Integrador do sistema: gera os ‘build’
Arquiteto do sw: define a estruturação e o
modelo de implementação (camadas)
Revisor do código: inspeciona o código para
qualidade e conformidade com padrões
adotados
Copyright Leandro Becker
4. Fluxo de Trabalho
Estruturar modelo
de implementação
Implementar
componentes
Planejar
integração
[mais componentes
a implementar
nesta iteração]
Integrar cada
subsistema
[mais
subsistemas a
integrar nesta
iteração]
Acabado
Acabado
[mais
builds
nesta
iteração]
Integrar
sistema
Acabado
Copyright Leandro Becker
Bibliografia

Kruchten, P. The Rational Unified Process: An
Introduction. Addison Wesley, 2003 – cap. 11:
Implementation Discipline
Copyright Leandro Becker
Download