Aula 03

7
________________________________________________________________________ Prof. M.Sc. Cleuber Moreira Fernandes 1 Engenharia de Software Aula 03 Prof. Cleuber Moreira Fernandes Mestre em Ciência da Computação - UnB [email protected] http://br.groups.yahoo.com/group/ES-2008 1. Visão Geral

description

 

Transcript of Aula 03

Page 1: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 1

Engenharia de Software

Aula 03

Prof. Cleuber Moreira FernandesMestre em Ciência da Computação - UnB

[email protected]

http://br.groups.yahoo.com/group/ES-2008

1. Visão Geral

Page 2: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 2

O Rational Unified Process®, conhecido por RUP, é um processo de engenharia de

software que adota uma abordagem baseada em disciplinas para atribuir tarefas e

responsabilidades em projetos de desenvolvimento de software. Visa garantir a produção

de software de alta qualidade que atenda as necessidades dos usuários dentro de um

cronograma e orçamento estimado.

Aspecto Estático

Tempo – Ciclo de Vida � Aspecto Dinâmico

Figura 1 – Arquitetura do RUP

A Figura 1 mostra a arquitetura geral do RUP em duas dimensões Disciplinas e

Fases. O eixo horizontal representa o tempo (aspecto dinâmico) e mostra os aspectos do

ciclo de vida do processo à medida que se desenvolve. O eixo vertical representa as

disciplinas (aspecto estático), que agrupam as atividades de maneira lógica, por

natureza.

Ainda na Figura 1, as disciplinas de Modelagem de Negócios, Requisitos, Análise e

Design, Implementação, Teste e Implantação são essencialmente voltadas para a

engenharia de software, construção do produto. Já as disciplinas de Gerenciamento de

Configuração e Mudança, Gerenciamento de Projeto e Ambiente são direcionadas a

suportar o trabalho de engenharia com atividades que controlam a versão dos artefatos

produzidos, gerenciam mudanças, prazos e prepara o ambiente lógico (processos) e físico

(ferramentas) do projeto de desenvolvimento. Estas também são conhecidas como áreas de

processo guarda-chuva, pois cobrem o projeto do início ao fim.

Engenharia

Suporte

Page 3: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 3

Por ser um processo iterativo (ciclo), a cada iteração todas as fases e disciplinas

são executadas. Porém, algumas atividades possuem maior ênfase nas primeiras iterações,

enquanto que outras têm maior intensidade nas iterações finais. Esta dinâmica é

compreensível, uma vez que na fase de iniciação é necessário compreender e modelar o

negócio (gastando mais tempo nessas disciplinas) para, posteriormente, na fase de

construção, dedicar mais tempo na disciplina de implementação.

2. Fases do Ciclo de Vida

O ciclo de vida de software do RUP adota uma perspectiva de gerenciamento, sendo

assim dividida em quatro fases seqüenciais (Figura 2), cada uma concluída por um marco

(milestone). Cada fase é um intervalo de tempo entre dois marcos. Ao final de cada fase é

realizada uma avaliação para determinar se os objetivos da fase foram alcançados,

aprovando a execução da próxima fase.

Figura 2 – Ciclo de vida composto por quatro fases

Uma passagem pelas quatro fases é um ciclo de desenvolvimento ou evolução.

Cada passagem pelas quatro fases produz uma geração do software.

Figura 3 – Ciclo de desenvolvimento e evolução

Os ciclos de evolução têm fases de Iniciação e Elaboração bem menores, pois a

definição e a arquitetura básicas do produto foram determinadas por ciclos de

desenvolvimento anteriores, salvo quando ocorrer redefinição significativa do produto

ou arquitetura.

Page 4: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 4

Figura 4 - Distribuição de esforço e programação para um ciclo de desenvolvimento

inicial típico para um projeto de tamanho médio

3. Disciplinas

Uma disciplina mostra todas as atividades que devem ser realizadas para produzir

um determinado conjunto de artefatos. Essas disciplinas são descritas em nível geral — um

resumo de todos os papéis, atividades e artefatos envolvidos. Também é mostrado, em um

nível mais detalhado, como ocorre a colaboração entre papéis e de que forma eles usam e

produzem artefatos. Os passos nesse nível detalhado são chamados de "detalhamentos do

fluxo de trabalho".

Cada disciplina tem, associada a ela, um ou mais modelos que, por sua vez, são

compostos por artefatos associados. Os artefatos mais importantes são os modelos que cada

disciplina produz: modelo de casos de uso, modelo de design, modelo de implementação e

conjunto de testes. A Figura 5 exibe algumas disciplinas e os respectivos modelos

produzidos por elas.

Figura 5 – Disciplinas e Modelos Produzidos

Page 5: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 5

Cada disciplina possui definição de um fluxo de trabalho, uma visão geral da

atividade e uma visão geral de artefatos, que conduzem as atividades, artefatos de entrada

e artefatos de saída. A Figura 6 mostra o fluxo de trabalho da disciplina Requisitos.

Figura 6 – Fluxo de Trabalho da disciplina Requisitos

A visão geral da atividade mostra todas as atividades na disciplina juntamente com

o papel que realiza a atividade. A Figura 7 apresenta uma visão geral da atividade

desempenha na disciplina Requisitos.

Page 6: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 6

Figura 7 – Visão geral de atividade na disciplina Requisitos

A visão geral de artefatos mostra todos os artefatos e papéis envolvidos na

disciplina. A Figura 6 mostra a visão geral de artefatos produzidos na disciplina Requisitos.

Figura 6 – Visão geral de artefatos produzidos na disciplina Requisitos

4. Adaptação do Processo

Page 7: Aula 03

________________________________________________________________________

Prof. M.Sc. Cleuber Moreira Fernandes 7

O RUP é um processo extenso e complexo de se aplicar. Foi desenvolvido de

forma parametrizável, possibilitando assim a sua adaptação para atender tanto a projetos

grandes quanto pequenos. Sabe-se que atividades e artefatos custam tempo e dinheiro,

dessa forma, gerente de projetos e engenheiro de processos devem distinguir as principais

necessidades do processo e determinar se as vantagens compensam o custo.

O RUP incentiva a adaptação. Contudo, não se deve ignorar o processo como um

todo. Os fundamentos do RUP estão embutidos nas melhores práticas. Essas melhores

práticas devem ser consideradas ao adaptar as atividades e os artefatos para atender as

necessidades do projeto.

Um Caso de Desenvolvimento é uma especificação da adaptação do RUP, que deve

ser produzido pelo engenheiro de processos, descrevendo o processo de desenvolvimento

escolhido para ser seguido no projeto. Pode ser bastante conciso e abranger apenas as

disciplinas, fluxos de trabalho, atividades e artefatos estritamente necessários para o projeto

em questão. Os templates de documento devem ser personalizados de acordo com as

necessidades específicas do projeto.