Buscar

aula07

Prévia do material em texto

7ºAula
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de: 
entender os conceitos da Rational Unified Process
saber os principais papéis e os principais artefatos do RUP
entender o ciclo de vida do RUP
Olá pessoal, como vão indo seus estudos? 
Prosseguindo nossos estudos sobre as metodologias de desenvolvimento 
de software, vamos ver um dos processos mais consagrados da Engenharia de 
Software, a Rational Unified Process – RUP. Essa metodologia possui mais de vinte 
anos de existência, mas mesmo com todo esse tempo e consolidada na indústria de 
software, é um processo de constante evolução, sendo que, em 2006, passou por 
uma revisão que adequava essa metodologia ao Manifesto ágil. Veremos aqui uma 
introdução sobre essa metodologia.
Se tiverem qualquer dúvida, entrem em contato via quadro de avisos, certo?
Vamos lá?
Bons estudos!
191
48Met. para de Desenvolvimento de Software
Seções de estudo
1 - Introdução
1. Introdução
2. Disciplinas do RUP
3. Papéis
4. Artefatos
5. Ciclo de Vida do RUP
A Rational Unified Process, também denominado de RUP 
ou apenas de UP, é um processo consolidado da Engenharia 
de Software, criado pela Rational Corporation. Ele oferece 
uma série de práticas de desenvolvimento de software, onde 
pode ser adaptado de acordo com a necessidade das empresa.
O RUP, além de ser um processo, é tratado pela Rational 
Corporation como um produto. Ele é associado a diversos 
produtos da companhia, como o Rational Method Composer e 
o Rational Rose UML. Porém, o RUP pode ser usado sem o 
emprego dessas ferramentas. A base do processo no RUP é o 
iterativo/incremental, como é visto nos Métodos Ágeis.
O RUP surgiu como uma fusão de diversos processos 
e práticas criadas pela Rational e por outras empresas que a 
Rational comprou nas décadas de 1980 e 1990. Porém, apenas 
dois processos formaram a base para a criação do RUP: a 
Rational Approach e a Objectory Process (criado pela Objectory 
AB, adquirida pela Rational em 1995). Além disso, o RUP 
prega o uso dos diagramas UML, que como você viu na aula 
3, foram criados por funcionários da própria Rational. 
Em 1998, foi criada a primeira versão do processo sob 
o atual nome de Rational Unified Process. Em 2003, a IBM 
comprou a Rational Corporation, tornando-a uma divisão da 
sua empresa.
1.1 - RUP e o Manifesto Ágil
Apesar de o RUP ter sido criado bem antes do Manifesto 
Ágil, o RUP tem algumas semelhanças com as metodologias 
ágeis. A primeira delas, como já falamos, é que o processo se 
estrutura em iterações, onde em cada iteração é seguida uma 
fase do ciclo de vida dessa metodologia.
Podemos também citar como semelhança a racionalização 
do uso da documentação, como descreve Booch, Rumbaugh 
e Jacobson (2012):
As atividades do Rational Unified Process dão ênfase à 
criação e manutenção de modelos no lugar de documentos 
impressos. Os modelos - principalmente aqueles especificados 
com a utilização da UML - proporcionam representações 
semanticamente ricas de software em desenvolvimento. 
Essas representações podem ser visualizadas de várias 
maneiras e as informações representadas podem ser 
capturadas instantaneamente e controladas eletronicamente. 
O caráter racional subjacente ao foco em modelos no lugar 
de documentos impressos, empregado pelo Rational Unified 
Process, consiste em minimizar a sobrecarga associada à geração 
e manutenção de documentos e maximizar o conteúdo 
das informações relevantes (BOOCH, RUMBAUGH, 
Além disso, na versão 7.0, lançada em 2006, foram 
realizadas várias mudanças no processo para se adaptar 
ao Manifesto Ágil. A principal revisão foi a troca da seção 
“Melhores Práticas do RUP” pela seção “Princípios Chave para 
Desenvolvimento Orientado para Negócios”, que abordam os 
seguintes pontos:
Adaptar o processo: Afirma que deve ser feito 
um dimensionamento correto do processo de 
desenvolvimento e seus aspectos relacionados, como 
Equilibrar as prioridades dos investidores: Prega 
um gerenciamento de requisitos de uma forma 
efetiva, priorizando de forma efetiva as necessidades 
de negócios e investidores. A priorização é uma 
Colaborar através de equipes: Assim como diz 
o primeiro valor do Manifesto Ágil, prega uma 
comunicação efetiva das equipes de desenvolvimento, 
através de uma adequada organização das equipes 
e do processo, criando um ambiente de sinergia e 
Demonstrar valor iterativamente: Informa da 
necessidade do uso do desenvolvimento iterativo, 
para que o processo sempre receba o feedback dos 
clientes e que as mudanças sejam sempre bem-vindas 
Elevar o nível de abstração: Esse princípio prega 
a elevação do nível de abstração, conseguido por 
meio da redução da complexidade e da quantidade 
de documentação necessária ao projeto através da 
Focalizar continuamente na qualidade: Prega que 
a qualidade deve ser sempre alcançada e acompanhada 
durante todo o ciclo de vida do processo, sempre 
aproveitando as oportunidades de feedback que o ciclo 
incremental oferece.
Vamos ver agora, as disciplinas que o RUP utiliza durante 
o seu processo.
2 - Disciplinas do RUP
O RUP estrutura suas atividades em disciplinas, que são 
relacionadas a uma grande área de responsabilidade do projeto. 
O RUP estrutura suas atividades em nove disciplinas, que são:
 Se encarrega em 
2. Requisitos: Agrupa as atividades relacionados à 
3. Análise e Design: Tem como objetivo transformar os 
requisitos em um design de operação do sistema, descrevendo 
4. Implementação: Agrupa as atividades relacionadas 
à codificação dos requisitos, criação dos testes de aceitação e 
5. Teste: Encarrega-se de todos os testes do sistema, 
da detecção de falhas na documentação do sistema e da 
verificação se as funções do software correspondem aos 
192
49
6. Implantação (chamado também de Entrega): 
Tem como foco a entrega do software para o cliente, através da 
7. Gerência da Configuração e Mudanças: Cuida 
do versionamento do sistema e as modificações, mantendo 
a integridade dos artefatos do projeto e das atividades de 
8. Gerenciamento de Projetos: Gerencia todo o 
projeto, através do planejamento, monitoramento, execução e 
9. Ambiente: Cuida das ferramentas que serão 
utilizadas para implementar o software, ou seja, cuida de toda a 
infraestrutura necessária.
3 - Papéis
O RUP específica diversos papéis. Cada papel, especifica 
diversas responsabilidades, podendo ser representado por uma 
ou mais pessoas, e cada pessoa pode acumular um ou mais 
papéis, dependendo da situação do projeto. 
Cada papel está ligado a uma disciplina da metodologia, de 
acordo com a sua responsabilidade. Assim, o RUP tem como 
papéis:
 Descobre todos os casos de uso do 
Detalha um conjunto de casos de uso de 
Analista de Sistemas (Requisitos): Descobre todos 
Especificador de Requisitos (Requisitos): Detalha 
Arquiteto de Software (Análise e Design): Decide 
Designer (Análise e Design): Detalha a análise e o 
Integrador (Implementação): Cria o plano de 
build, onde mostra quais classes serão integradas no 
Implementador (Implementação): Codifica o 
sistema, podendo ser um conjunto de classes ou um 
Gerente de Testes (Testes): Gerencia a qualidade 
de um processo de testes, para que o procedimento 
Analista de Testes (Testes): Decide quais aspectos 
Designer de Testes (Testes): Decide quais 
testes serão feitos de forma manual e quais serão 
Testador (Testes):
Gerente de Implantação (Implantação): 
Escritor Técnico, Desenvolvedor de Cursos, 
Artista Gráfico (Implantação): Criam materiais 
diversos para o processo de implantação, por exemplo: 
Gerente de Projetos (Gerenciamento de Projetos): 
Ele é encarregado de criar o caso de negócios, decide 
os rumos do projeto, planeja e gerencia os riscos de 
Engenheiro de Processos (Ambiente): Especifica 
Especialista de Ferramentas (Ambiente): Cria 
Gerente de Configuração (Gerência de 
Configuração e Mudança): Configura o 
gerenciamento de mudanças, políticas e plano, cria 
uma unidade de implantação, reporta o statusda 
Gerente de Controle de Mudanças (Gerência de 
Configuração e Mudança): Estabelece o processo 
de controle de mudanças e gerencia pedidos de 
mudanças do sistema.
Não se assuste pela variedade de papéis que a metodologia 
RUP especifica, pois você não é obrigado a usar todos os 
papéis, pois o processo prega a adaptação como um princípio 
chave. A seguir, você estudará os artefatos que a metodologia 
RUP utiliza.
4 - Artefatos
São os produtos de trabalho que são gerados durante 
o processo, podendo servir de entradas para determinadas 
atividades do processo. Podem servir de referência para 
consultas futuras ou para entregar ao cliente como parte do 
acordo de desenvolvimento de software.
O principal tipo de artefato existente na metodologia 
RUP são os modelos, que consistem em uma simplificação 
da realidade, para auxiliar na compreensão do sistema que está 
sendo desenvolvido. Segundo Booch, Rumbaugh e Jacobson 
(2012), o conjunto desses modelos especifica todas as decisões 
importantes para visualização, especificação, construção e 
documentação de um sistema complexo de software.
Os artefatos que a Rational Unified Process utilizam, 
segundo Booch, Rumbaugh e Jacobson (2012), são:
 Estabelece 
: Estabelece o 
Modelo de caso de uso: Estabelece os requisitos 
Modelo de análise: Estabelece um projeto 
Modelo de projeto: Estabelece o vocabulário do 
Modelo de dados: Indica a representação dos 
dados que serão armazenados em um banco de 
dados comum ou em outros repositórios, ele é um 
Modelo de implantação: Especifica qual é a 
Modelo de implementação: Indica as partes 
utilizadas para montar o sistema físico.
Para finalizarmos nossos estudos, na próxima seção 
falaremos sobre o ciclo de vida do RUP.
193
50Met. para de Desenvolvimento de Software
5 - Ciclo de Vida do RUP
O ciclo de vida do RUP tem três divisões de tempo: 
Iterações, Fases e Ciclos de Desenvolvimento. Estudaremos 
sobre eles agora.
5.1 - Iterações
É a menor unidade de tempo em que o ciclo de vida é 
desenvolvido. Envolve atividades em algumas disciplinas, tem 
um tempo curto e predefinido (normalmente, de uma a duas 
semanas). Kruchten (2003) elenca as características para que 
uma iteração seja considerada exitosa:
2. Uma iteração tem uma capacidade planejada 
3. Uma iteração é concluída dentro de um marco 
menor, onde o resultado dessa iteração é avaliado de acordo 
5. Durante as iterações, o sistema é integrado e testado 
como um todo.
Em cada iteração é executado um ciclo completo de 
desenvolvimento, que terminará com uma parte do produto a 
ser desenvolvido, que progredirá iteração após iteração.
5.2 - Fases
A unidade intermediária do ciclo de vida do RUP são as 
fases, que “é um período de tempo entre dois importantes 
marcos de progresso do processo em que um conjunto bem 
definido de objetivos é alcançado, artefatos são concluídos 
e decisões são tomadas em relação à passagem para a fase 
489).
O RUP estrutura o projeto em quatro fases, que são:
1. Concepção (Inception): Nessa fase é estabelecida 
a visão para o sistema e o escopo do projeto é delimitado, 
através dos casos de negócio, requisitos de alto nível (ou seja, 
não possuem detalhes) e o plano de projeto inicial (artefato 
que descreve os critérios de sucesso, a avaliação de riscos, 
a estimativa dos recursos necessários e um plano para as 
iterações). Esses artefatos são usados para avaliar qual seria 
a utilidade do sistema, para que seja definido se o projeto é 
viável ou não. Se for definido que sim, o projeto avança para 
2. Elaboração (Elaboration): Nessa fase, o problema 
do sistema é compreendido, a maioria dos requisitos são 
determinados e é criada a arquitetura do sistema que será 
desenvolvido. No final, é decidido se o projeto é viável para 
3. Construção (Construction): Nessa etapa, o sistema 
é construído e testado em uma série de iterações. Para isso, 
o restante dos requisitos são entendidos e os critérios de 
aceitação são especificados. Ao final, é decidido se o software 
4. Transição (Transition): É feita a entrega do 
sistema aos usuários. Nessa etapa, podem ser ministrados 
treinamentos e workshops para a apresentação do sistema e 
a resolução de dúvidas com os clientes e usuários. Esta etapa 
é chamada de transição, pois ao final da entrega do sistema, 
é avaliado se os objetivos do projeto foram alcançados, quais 
foram às lições aprendidas para serem seguidas nos próximos 
projetos e é decidido se é necessário iniciar um novo ciclo de 
desenvolvimento (veremos a seguir sobre isso).
No RUP, cada fase trabalha mais fortemente com uma ou mais 
disciplinas, de acordo com os seus objetivos. Por exemplo, a fase 
de construção, cujo objetivo é o desenvolvimento, lida muito com 
as atividades relacionadas à disciplina de implementação. Para 
os momentos em que uma disciplina é mais exigida. Por causa das 
5.3 - Ciclos de Desenvolvimento 
 É o período de tempo em que o projeto passa pelas 
quatro fases do ciclo de vida do RUP, e é encerrado com um 
software pronto, funcionando e disponibilizado aos clientes. 
Na metodologia RUP, um software evolui para a sua próxima 
geração através de uma iteração completa nas quatro fases.
Encerramos aqui a nossa introdução sobre a Rational 
Unified Process. Na próxima (e última) aula, estudaremos uma 
das metodologias ágeis mais populares: O framework Scrum.
Retomando a aula
194
51
1. Introdução
 A Rational Unified Process (RUP) é um processo 
mantido pela Rational Corporation, uma divisão da IBM. Ela se 
originou de diversos outros processos. Possui semelhanças com 
vários métodos ágeis, como o desenvolvimento incremental e 
a racionalização da documentação. Em 2006, passou por uma 
revisão, para que se torne mais alinhada ao Manifesto Ágil.
3. Disciplinas do RUP
 A RUP estrutura suas atividades em nove disciplinas, 
que são: Modelagem de Negócios, Requisitos, Análise e 
Design, Implementação, Teste, Implantação (chamado 
também de Entrega), Gerência da Configuração e Mudanças, 
Gerenciamento de Projetos e Ambiente.
3. Papéis
 A RUP especifica uma variedade de papéis, onde cada 
papel possui suas atribuições e sua disciplina que corresponde a 
esse papel. Vale lembrar que o gerente pode escolher os papéis 
que o projeto mais necessitar.
4. Artefatos
 Assim como nos papéis, a RUP especifica uma série 
de artefatos. O principal tipo desses artefatos são os modelos, 
que consistem em uma simplificação da realidade, para auxiliar 
na compreensão do sistema que está sendo desenvolvido.
5. Ciclo de Vida do RUP
 O ciclo de vida da RUP se estrutura em iterações. Em 
cada iteração há uma série de atividades que são feitas. Cada 
iteração faz parte de uma fase, e em cada fase são estabelecidos 
marcos no projeto. As fases do RUP são Iniciação, Elaboração, 
Construção e Transição. A evolução de um software consiste 
em ciclos que passam nessas quatro fases.
ANICHE, Mauricio. Test-Driven Development: Teste e Design no 
Mundo Real. São Paulo: Casa do Código, 2014a.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São 
Paulo: Pearson Addison Wesley, 2014.
PRESSMAN, Roger S. Engenharia de software : uma 
BASSI, Dairton. Programação Extrema (XP). In: 
Métodos 
Ágeis para Desenvolvimento de Software. Porto Alegre: Bookman, 
2014. p. 37–57. Cap. 4
TELES, Vinícius Manhães. Extreme Programming: Aprenda 
como encantar seus usuários desenvolvendo software com agilidade e alta 
qualidade. São Paulo: Novatec Editora, 2014.
WILDT, Daniel et. al. eXtreme Programming: Práticas para o dia 
Vale a pena
Vale a pena ler
ANICHE, Maurício. TDD. [S.l.:] Caelum, 2014b. 
Disponível em: <http://tdd.caelum.com.br/>. Acesso em: 06 
out. 2017.
GOMES, André Faria. Programação em Par. [S.l.:] André 
Faria Gomes, 2008. Disponível em: <http://blog.andrefaria.
com/programacao-em-par>. Acesso em: 06 out. 2017.
MEDEIROS, Higor. Introdução ao Extreme Programming 
(XP). [S.l.:] Devmedia, 2013. Disponível em: <http://www.
devmedia.com.br/introducao-ao-extreme-programming-
xp/29249>. Acessoem 06 out. 2017.
FONSECA, Daniel. Conceitos básicos sobre Metodologias Ágeis 
para Desenvolvimento de Software (Metodologias Clássicas x Extreme 
Programming) [S.l.:]. DevMedia, s.d. Disponível em: <http://www.
devmedia.com.br/conceitos-basicos-sobre-metodologias-ageis-
para-desenvolvimento-de-software-metodologias-classicas-x-
extreme-programming/10596>. Acesso em: 06 out. 2017.
TELES, Vinícius Manhães. Programação em Par | XP. [S.l.:] 
DesenvolvimentoAgil.com.br, 2006. Disponível em: <http://
www.desenvolvimentoagil.com.br/xp/praticas/programacao_
par>. Acesso em: 06 out. 2017.
Vale a pena acessar
a dia no desenvolvimento ágil de software. São Paulo: Casa do Código, 
s.d..
RUP 7.0 aos valores do movimento ágil. Revista E-Tech: Tecnologias 
para Competitividade Industrial-ISSN-1983-1838, v. 1, n. 1, p. 4-17, 
2008.
Minhas anotações
195

Continue navegando

Outros materiais