Engenharia de
Software
Juliana Paschoal Bueno
e-mail:
julianapb@gmail.com
site:
https://sites.google.com/site/engsoft2012/
Tópicos
• RUP • Características • Fases • Iterações • Disciplinas • Vantagens • Desvantagens• O Rational Unified Process (RUP) ou
Processo Unificado Racional é um processo de desenvolvimento de software criado pela Rational Software Corporation e que foi adquirido pela IBM.
• Derivado da UML e do Processo Unificado de
Desenvolvimento de Software.
• Objetivo: Viabilizar que grandes projetos de
software sejam bem sucedidos.
RUP
• Características:
• Desenvolvimento iterativo e incremental
para evitar o impacto de mudanças no projeto.
• Utiliza UML e orientação a objetos.
• É conduzido por casos de uso, cujo objetivo é
manter a ligação desde os requisitos até os testes.
RUP
• Características:
• Gerenciamento de mudanças. • Preocupação com qualidade.
• Abordagem dos pontos de maior risco o mais
cedo possível.
RUP
• Duas dimensões:
• Dinâmica Desenrolar o processo ao longo do tempo (ciclo, fases, iterações e marcos).
• Estática Organização do processo em termos de atividades, artefatos, fluxos de trabalho e mão de obra.
RUP
RUP
D im e n s ã o E s tá ti c a Dimensão Dinâmica• Fases:
• Concepção: nesta fase a preocupação é com
o escopo do sistema.
• Elaboração: nesta fase a preocupação é com
a arquitetura do sistema.
• Construção: nesta fase a preocupação é com
o desenvolvimento do sistema.
• Transição: nesta fase a preocupação é com a
implantação do sistema.
RUP
• Nesta fase a modelagem do negócio e o escopo
do projeto são definidos.
• São desenvolvidas avaliações de risco,
estimativas de recursos necessários e cronograma dos marcos importantes.
• São identificados todos os agentes externos
com que o sistema irá interagir.
RUP - Concepção
• Resumo: “O que será feito?”, “Quanto tempo irá demorar?” e “Quanto custará?”.
• No final desta fase há um marco de avaliação
para decidir continuar ou cancelar o projeto.
RUP - Concepção
• Artefatos de Saída:
• Documento de visão geral dos requisitos do projeto.
• Relatório inicial de avaliação de riscos. • Estimativa de recursos.
• Cronograma inicial. • Protótipos iniciais.
• Nesta fase é desenvolvida a análise de domínio
do problema e o projeto de uma arquitetura para o sistema.
• Artefatos de Saída:
• Modelo de casos de uso: diagrama + documentações.
• Análise e projeto do sistema. • Relatório de riscos.
RUP - Elaboração
• Artefatos de Saída:
• Plano de gerenciamento. • Alocação de equipes.
• Planejamento das fases, mostrando suas
iterações e conteúdos.
RUP - Elaboração
• Nesta fase o projeto é refinado e são realizadas
a construção e testes do sistema.
• O desenvolvimento é iterativo e incremental. • Artefatos de Saída:
• Software funcionando junto com sua
respectiva documentação para ser liberado para o usuário.
• Plano de testes e resultados obtidos.
RUP - Construção
• Nesta fase o sistema é transferido para os
usuários.
• O sistema é colocado no ambiente de produção.
• A execução sequencial das 4 fases constituem
um ciclo.
• Cada fase pode possuir várias iterações.
• Em cada iteração são aplicadas sucessivamente
todas as disciplinas definidas pelo RUP.
Iterações do RUP
Elab. 1 Elab. 2 Desen v. 1 Desen v. 2 Desen v. N Trans . 1 Trans. 2 Inicial
Concepção Elaboração Construção Transição
Iterações do RUP
Em uma iteração você passa por todas as disciplinas do RUP.• Dentro de cada iteração o funcionamento é de
um ciclo de vida mini cascata.
Iterações do RUP
Iteração n-1 Iteração n Iteração n+1
Requisitos
Projeto
Implementação
Testes
Implantação
• Perguntas que precisam ser respondidas do
RUP:
• Quem faz o que, como e quando?
• Workers = quem (projetista)
• Atividades = como (encontrar classes do
projeto ou distribuir comportamento)
• Artefatos = o que (casos de uso)
• Também pode ser chamado de trabalhador. • Define comportamento e responsabilidades de
um elemento ou de uma equipe.
• Exemplos:
• Analista de sistemas • Gerente de projetos
• Projetista de casos de uso • Projetista de testes
RUP - Worker
• Representa um trabalho que um worker deve
executar.
• Duração: de poucas horas a poucos dias.
• Quando necessário pode ser repetido em cada
iteração.
• Exemplo:
• Atividade Encontrar Casos de Uso e Atores
1. Encontrar atores
2. Encontrar casos de uso
3. Descrever as iterações de atores e casos de uso
4. Apresentar os casos de uso e atores em um diagrama de caso de uso
5. Desenvolver a documentação dos csus 6. Avaliar os resultados obtidos
RUP – Atividade
RUP – Fluxos
F lu x o d e p r o c e s s o F lu x o d e s u p o r te• Disciplinas de Processo:
• Modelagem de Negócios: define que o
escopo do problema, do negócio, precisa ser entendido.
• Requisitos: define como levantar e
especificar os requisitos do sistema com o cliente.
• Análise e Projeto: define como serão os
modelos e o projeto do sistema.
Disciplinas do RUP
• Disciplinas de Processo:
• Implementação: define a organização do
código, a codificação e que os componentes do software devem ser testados de maneira
individual.
• Teste: define que a integração entre os
componentes deve ser verificada e se todos os componentes foram implementados de
maneira correta.
• Disciplinas de Suporte:
• Configuração e Gerência de Mudanças:
define quais artefatos e documentos precisam ser controlados por versões. Também controla a dependência entre artefatos, para que todos sejam alterados corretamente.
• Gerência de Projeto: define aspectos do
desenvolvimento iterativo, tais como: gestão de riscos, planejamento de projetos, métricas, etc.
Disciplinas do RUP
• Disciplinas de Suporte:
• Ambiente: define as atividades de apoio a
projetos. Define a organização do
desenvolvimento do software, processos e ferramentas de suporte.
• Riscos reduzidos, pois os elementos são
integrados progressivamente.
• As táticas e os requisitos variáveis são
acomodados.
• A melhoria e o refinamento do produto são
facilitados, resultando em um produto mais robusto.
Vantagens do RUP
• Aumenta a capacidade de reutilização.
• A abordagem iterativa é controlada: número,
duração e objetivo das iterações são bem planejados.
• Com esta abordagem as organizações podem
melhorar seus processos.
Vantagens do RUP
Uma vez, um cliente disse: “Com a
abordagem em Cascata, tudo parece bem até
quase no final do projeto; às vezes, até a
metade da integração. Aí tudo desmorona.
Com a abordagem iterativa, é muito difícil
esconder a verdade durante muito tempo.”
Depoimento sobre o RUP
• O controle do projeto é extremamente difícil
devido as várias iterações que ocorrem em todas as etapas do projeto.
• É um modelo de processo moderno resultado do
trabalho de desenvolvimento da UML e do processo unificado.
• É um modelo adaptável.
• Utiliza UML durante todo seu processo. • O uso da abordagem iterativa facilita o
aproveitamento dos produtos desenvolvidos ou adquiridos.
Conclusões do RUP
Bibliografia
• “Engenharia de Software” Autor: Roger S. Pressman
Editora: Pearson – Makron Books • “Engenharia de Software” Autor: Ian Sommerville
Editora: Pearson – Addison Wesley
• “Engenharia de Software – Os Paradigmas
Bibliografia
• “Introdução ao RUP: Rational Unified Process” Autor: Phillippe Kruchten