1. Qualidade, Processos e Gestão de Software RUP, OpenUP e EPF Daniele Santos 02/10/2008 2

Preview:

Citation preview

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

43