1. Qualidade, Processos e Gestão de Software RUP, OpenUP e EPF Daniele Santos 02/10/2008 2.
-
Upload
adelino-clementino-deluca -
Category
Documents
-
view
217 -
download
2
Transcript of 1. Qualidade, Processos e Gestão de Software RUP, OpenUP e EPF Daniele Santos 02/10/2008 2.
1
Qualidade, Processos e Gestão de Software
RUP, OpenUP e EPF
Daniele Santos
02/10/2008
2
RUPRational Unified Process
Daniele Santos
02/10/2008
3
Agenda - RUP
1. Visão Geral
2. Arquitetura
3. Fases
4. Disciplinas
4
• Desenvolvido pela Rational Software Corporation;
• Atribui tarefas e responsabilidades dentro de uma equipe de desenvolvimento;
• Sua meta é produzir software de alta qualidade dentro de um cronograma e um orçamento previsíveis;
• Pode ser adaptado para uma grande variedade de projetos e organizações.
RUP – Visão Geral
5
RUP - Arquitetura
6
Tempo
Disciplinas
• Primeira Dimensão• Representa o aspecto dinâmico do processo
• É expressa em termos de fases, iterações e marcos.
• Segunda Dimensão• Representa o aspecto estático do processo
• Descrito em termos de componentes, disciplinas, atividades, fluxos de trabalho, artefatos e papéis.
RUP - Arquitetura
7
RUP – Fases (1/3)
8
• IniciaçãoTem como meta atingir o consenso entre os envolvidos sobre os objetivos do ciclo de vida do projeto. Estabelece o escopo do software, estima custos e riscos, além de preparar ambiente de suporte.
• ElaboraçãoDefine a arquitetura do sistema a partir dos requisitos mais significativos e de uma avaliação dos riscos.
RUP – Fases (2/3)
9
• ConstruçãoEsclarece os requisitos restantes e conclui o desenvolvimento do sistema com base na arquitetura definida.
• TransiçãoTem como objetivo assegurar que o software esteja disponível aos seus usuários finais.
RUP – Fases (3/3)
10
• Primeira Dimensão• Representa o aspecto dinâmico do processo
• É expressa em termos de fases, iterações e marcos.
• Segunda Dimensão• Representa o aspecto estático do processo
• Descrito em termos de componentes, disciplinas, atividades, fluxos de trabalho, artefatos e papéis.
RUP - Arquitetura
11
RUP - Arquitetura
12
Conjunto de atividades relacionadas a uma área de interesse. Estão organizadas da seguinte forma:
• Fluxo de TrabalhoSeqüência semi-ordenada das atividades que são realizadas para alcançar um determinado objetivo.
• Visão geral das atividadesApresenta todas as atividades na disciplina juntamente com o papéis que as realizam.
• Visão geral dos artefatosMostra todos os artefatos e papéis definidos na disciplina.
RUP - Disciplinas
13
RUP - Disciplinas
14
RUP - Disciplinas
15
• Modelagem de NegóciosSua finalidade é entender a estrutura e dinâmica da organização onde o sistema será implantado.
• RequisitosTem como meta o estabelecimento e concordância das funcionalidades do sistema, assim como sua delimitação, fornecendo uma base para planejar o conteúdo técnico das iterações, estimar custo e tempo de desenvolvimento do sistema.
• Análise e ProjetoTransforma os requisitos em um design do sistema a ser criado, desenvolvendo uma arquitetura para o sistema.
RUP - Disciplinas
16
• ImplementaçãoImplementa o sistema em termos de arquivos-fonte, binários, executáveis e outros, testa os componentes desenvolvidos como unidades e os integra.
• TesteVerifica se a implementação está de acordo com o que foi
acordado com o cliente.
• ImplantaçãoDescreve as atividades necessárias para garantir que o produto de software será disponibilizado a seus usuários finais.
RUP - Disciplinas
17
• Gerência de Configuração e MudançaControla as atualizações dos artefatos produzidos.
• Gerenciamento de ProjetoFornece um framework para gerenciar projetos de software, apresentando diretrizes práticas para planejar, montar a equipe, executar e monitorar os projetos.
• AmbienteOferece à organização o ambiente de desenvolvimento desoftware (processos e ferramentas) que dará suporte à equipede desenvolvimento.
RUP - Disciplinas
18
OpenUP
Daniele Santos
02/10/2008
19
Agenda - OpenUP
1. OpenUP2. Princípios3. Princípios X Manifesto Ágil4. Ciclo de Vida5. Ciclo de Vida do Projeto6. Ciclo de Vida da Iteração7. Micro-Increments8. Papéis9. Tarefas e Artefatos
20
• Processo iterativo de desenvolvimento de software que é mínimo, completo e extensível
• Mínimo: Contém papéis, tarefas e guias essenciais;
• Completo: Completo para equipes pequenas e co-localizadas;
• Extensível: Serve como base para ser estendido ou adaptado.
OpenUP
21
• Colaborar para alinhar interesses e compartilhar entendimento;
• Balancear as prioridades (necessidades e custos técnicos) para maximizar o valor dos interessados;
• Focar na articulação da arquitetura;
• Envolver continuamente para obter feedback e melhorias.
OpenUP - Princípios
22
OpenUP- Princípios X Manifesto Ágil
23
OpenUP Manifesto Ágil
Colaborar para alinhar interesses e entendimento
Indivídios e interações a processos e ferramentas
Evoluir continuamente para ganhar feedback do cliente
Responder à mudança em vez de seguir um plano
Balancear as prioridades para maximizar o valor dos interessados
Colaboração do cliente à negociação de contratos
Foco cedo na arquitetura para minimizar riscos e organizar o desenvolvimento
Software funcionando à documentação compreensível
OpenUP – Ciclo de Vida
24
• Iterativo e incremental;
• Dividido em 4 fases:
• Inception: Entender o problema;
• Elaboration: Validar a arquitetura proposta;
• Construction: Construir e verificar a solução incrementalmente;
• Transition: Disponibilizar a solução para o ambiente operacional e validá-la.
OpenUP – Ciclo de Vida do Projeto
25
• Fases são decompostas em iterações;
• Ao fim de cada iteração, um build do sistema está disponível;
• Uma iteração começa com seu planejamento e termina com um incremento estável do sistema, Revisão da Iteração e uma Retrospectiva.
OpenUP – Ciclo de Vida da Iteração
26
• Pequenos passos em direção aos objetivos da iteração;
• Devem ser pequenos suficiente para serem realizados em um dia ou dois;
• São definidos e monitorados através de Work Item Lists;• Repositório único para registrar todas as tarefas necessárias
e acompanhá-las.
OpenUP – Micro – Increments
27
OpenUP - Disciplinas
28
OpenUP - Papéis
29
• Possui 18 tarefas
• Executores primários e secundários;
• Possui 17 artefatos
• Essenciais;• Não há obrigação pelo uso de artefatos formais.
OpenUP – Tarefas e Artefatos
30
EPFEclipse Process Framework
Daniele Santos
02/10/2008
31
Agenda - EPF
1. Visão Geral
2. Duas Visões
3. Ecossistema
4. EPF Composer
5. Site Publicado
32
Atual realidade das equipes de desenvolvimento
• Não há uma linguagem comum ou terminologia entre processos – redundâncias e inconsistências;
• Conhecimento não pode ser facilmente customizados para diferentes projetos;
• Não há uma comunidade central ou framework para facilitar a convergência entre boas práticas .
EPF – Visão Geral (1/3)
33
Project plantemplates
Book on J2EE
JUnit user guide
Wiki on agile development
Knowledge base onmanaging iterative development
Website with Configuration mgmtguidelines
Article on serialized java beans
Lessons learnt from previous project and iteration
Latest research on effectiveness of pair programming
Uma melhor abordagem
EPF – Visão Geral (2/3)
34
Padronizar representação e gerenciar bibliotecas reusavéis
Metodologia
Content on agile development
Content onmanaging
iterative development
Guidance on serialized java beans
JUnit user guidance
Content on J2EE
Configuration mgmtguidelines
Lessons learnt from previous project and
iteration
Corporate guidelines
on compliance
Process assetspatterns
Standard or reference processes
Project plantemplates
Desenvolver e gerenciar Processospara realizar projetos
Configurar um processo coeso customizado de acordo com as necessidades do projeto
Criar templates de plano de projeto para casar as definições do processo com as necessidades do projeto
• Projeto Open Source com o Eclipse Foundation;
• Objetivos:
• Um framework extensível e ferramentas para criação, edição e configuração de processos;
• Processo exemplo: OpenUP;
• Iniciando em Janeiro de 2006;
• Não é:• Apenas aplicável para desenvolvimento Eclipse Java;• Destinado a criar um processo perfeito.
EPF – Visão Geral (3/3)
35
• Autores de Processo e Gerentes (Equipe de Gerenciamento de Processos)• Ferramentas para criação e edição de processos;• Processo para ponto de partida;• Bibliotecas que podem ser adicionadas.
• Equipe de Desenvolvimento
• Site do processo;• Guias na forma de conceitos, checklists, entre outros;• Browse com conteúdo adaptável ao seu nível de experiência.
EPF – Duas visões
36
EPF – Ecossistema
37 37
OpenUP/DSDM
37
TOOLING (Authoring, Publishing) TOOLING (Authoring, Publishing)
Free ProcessContentPlug-ins
Free ProcessContentPlug-ins
META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)
ECLIPSEECLIPSE
Commercial ProcessContentPlug-ins
Commercial ProcessContentPlug-ins
Tool Extensions
Tool Extensions
Extensible, Customizable, FlexibleExtensible, Customizable, Flexible
Common Language & VocabularyCommon Language & Vocabulary
Open Source DevelopmentOpen Source Development
InhouseContentPlug-ins
InhouseContentPlug-ins
Basic Unified Process
Adapted from RUP
Basic Unified Process
Adapted from RUP
TOOLING (Authoring, Publishing) TOOLING (Authoring, Publishing)
Free ProcessContentPlug-ins
Free ProcessContentPlug-ins
META MODEL (Unified Method Architecture)META MODEL (Unified Method Architecture)
ECLIPSEECLIPSE
Commercial ProcessContentPlug-ins
Commercial ProcessContentPlug-ins
Tool Extensions
Tool Extensions
Extensible, Customizable, FlexibleExtensible, Customizable, Flexible
Common Language & VocabularyCommon Language & Vocabulary
Open Source DevelopmentOpen Source Development
EXTENSIONS• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.
EXTENSIONS• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.
EXTENSIONS• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.
EXTENSIONS• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.
InhouseContentPlug-ins
InhouseContentPlug-ins
OpenUP
OpenUP/DSDM
OpenUP/Business Rules
Open Unified Process (OpenUP)
• XP• Scrum
Other agile processes• DSDM• AMDD
• Construído em cima da plataforma Eclipse;
• Suporta vários plugins Eclipse;
• Diferentes Visões apresentam informações específicas• Library View apresenta mostra plugins e seu conteúdo;
• Perspectivas padrão:• Authoring: para editar conteúdo;• Browsing: visão da publicação dos elementos.
EPF Composer
38
EPF Composer – Authoring Perspective
39
Library View
Task Editor (form
based)
Configuration View
Authoring Perspective
EPF Composer – Browsing Perspective
40
Configuration View
Preview View
Browsing Perspective
EPF – Site Publicado
41
• Site do RUP - http://www-01.ibm.com/software/awdtools/rup/
• Eclipse Process Framework Process Project - http://www-01.ibm.com/software/awdtools/rup/
• OpenUP - http://epf.eclipse.org/wikis/openuppt/
Referências
42
43