Aula 03
-
Upload
robson-silva-espig -
Category
Technology
-
view
1.476 -
download
3
description
Transcript of 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
http://br.groups.yahoo.com/group/ES-2008
1. Visão Geral
________________________________________________________________________
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
________________________________________________________________________
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.
________________________________________________________________________
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
________________________________________________________________________
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.
________________________________________________________________________
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
________________________________________________________________________
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.