Você está na página 1de 51

Modelagem de Negócios I

Parte 03
Processo de
desenvolvimento:
RUP – Rational Unified
Process
Processo de desenvolvimento
de software

Processo: É a sequência que pode ser seguida no


desenvolvimento de sistemas.

A construção de um software é um empreendimento


complexo, particularmente se envolvem muitas pessoas
trabalhando durante um período de tempo relativamente
longo. Essa é a razão pela qual projetos de software
precisam ser gerenciados.
Elementos Envolvidos em um Projeto
de Software:

• PESSOAS: precisam ser organizadas para


realizar o trabalho. A comunicação com o cliente
precisa ocorrer para que o alvo e os requisitos
do produto sejam atendidos
• PRODUTO: É o que será desenvolvido, neste
caso o software.

• PROCESSO: Precisa ser selecionado a fim de


se adequar ao pessoal e ao produto. É o
método adotado para o desenvolvimento do
software.
• PROJETO: precisa ser planejado, estimado
o esforço e o tempo para executar as
tarefas:

Definição de produtos de trabalho;


Estabelecimento de marcos de qualidade;
Estabelecimento de mecanismos para
monitorar e controlar o trabalho definido
no planejamento.
Que PROCESSO será adotado?

• O problema é:

definir o processo mais adequado ao tipo de


software e a equipe que executará o projeto.
O responsável pelo projeto deve decidir
qual o modelo de processo mais
apropriado para:
para:

O cliente que solicitou e as pessoas que executarão o


trabalho;

Características do produto;

Ambiente de projeto no qual a equipe de software trabalhará.


Processo de Desenvolvimento RUP

O RUP pode ser usado por vários tipos de


sistemas de software, para diferentes áreas
de aplicação, diferentes tipos de
organizações, diferentes níveis de
competência e diferentes tamanhos de
projeto.
Processo de Desenvolvimento RUP

Desenvolvido pela Rational Software Corporation,


suas principais características são:

desenvolvimento iterativo e incremental.

orientação a objetos, foco da criação de uma


arquitetura robusta, análise de riscos e utilização de
casos de uso para o desenvolvimento.
Processo de Desenvolvimento RUP

O RUP possibilita o gerenciamento de atividades


e responsabilidades em uma organização de
desenvolvimento de software.

O objetivo deste processo é produzir, dentro do


prazo e custos estimados, um software de alta
qualidade que atenda as necessidades dos
usuários finais.
Processo de Desenvolvimento RUP

O Processo Unificado da Rational, é um processo de


desenvolvimento de software com um ciclo de vida
adequado a UML (Unified Modeling Language). Seu
objetivo é melhorar a qualidade do desenvolvimento do
software e a satisfação do cliente usuário, respeitando
planejamento e orçamento previsíveis. Seu
gerenciamento proporciona um procedimento
disciplinado de atribuição de tarefas e responsabilidades
da equipe ou empresas de desenvolvimento de
software.
Processo de Desenvolvimento RUP

A utilização de ferramentas da Rational traz


ganhos pelo fato de elas estarem
intrinsecamente alinhadas aos conceitos do
RUP, e principalmente, por trabalharem de
forma integrada.
Processo de Desenvolvimento RUP
Sugere uma metodologia de desenvolvimento de software,
ferramentas e processos cobrindo as principais fases de
desenvolvimento:concepção, elaboração,
construção e implantação.

Essa metodologia de desenvolvimento de software é um conjunto


de fases que guiam a equipe no desenvolvimento do projeto,
constituindo uma coleção de regras de como conceber e estruturar
o mesmo.
Fases - RUP
Visão Geral do
Processo Unificado Rational (RUP)

Concepção

Elaboração

Construção

Transição
Disciplinas (tarefas)
desenvolvidas no Processo

• Modelagem de Negócios: define os processos de negócios


da organização-alvo (com o que seu cliente trabalha, como
ele trabalha).
• Requerimentos: a partir da análise do negócio, é possível
identificar os requisitos do que vão atender as necessidades
do cliente.
• Análise e Projeto: a análise como nome já diz, analisa o
estado do cliente perante suas necessidades e o projeto
propõe uma solução.
• Implementação: o sistema é codificado.
Disciplinas (tarefas)
desenvolvidas no Processo
• Testes: são realizados testes unitários, de integração, de
performance, etc...

• Implantação: o sistema é implantado no cliente

• Gerência de Configuração e Mudança: gerencia os


requisitos, as ferramentas e demais mudanças que possam
ocorrer no projeto

• Gerência de Projeto: compreende o gerenciamento do


projeto

• Ambiente: esta disciplina define como foi realizado o


desenvolvimento do sistema
Processo Unificado Rational –
RUP

Este processo é um processo de desenvolvimento


iterativo e incremental, no qual o software não é
implementado em um instante no fim do projeto, mas, é
ao contrário, desenvolvido e implementado em partes.
RUP – Fase Concepção
• Tem por objetivo estabelecer a lógica do domínio da aplicação
ou as regras de negócio, definindo o escopo do projeto.

• É definido um plano de negócios, que inclui critérios de sucesso,


avaliação de risco, estimativa de recursos necessários ao
desenvolvimento do projeto.O objetivo da fase de concepção é
ter uma visão geral dos requisitos principais

• Resulta em uma quantidade suficiente de artefatos para obter o


comprometimento do patrocinador do projeto para seguir
adiante.
RUP – Fase Elaboração
• Tem por objetivo coletar os requisitos mais detalhados,
faz-se uma análise e um projeto de alto nível para
estabelecer uma arquitetura básica, e cria-se um plano
para a construção do sistema. A esta altura , deve-se ter
uma melhor compreensão do problema.
O que será realmente construído?
Como será construído?

Nesta fase, um protótipo de arquitetura executável é


construído em uma ou mais iterações – dependendo do
escopo, tamanho e risco do projeto.
RUP – Fase Elaboração

Depois de definir o que será examinado nesta fase, é


preciso levar em consideração, acima de tudo os riscos
do seu projeto. Que coisas poderiam descarrilhá-lo.
Quanto maior o risco maior atenção deve ser dada a ele.

Os riscos podem ser utilmente classificados em 4


categorias:
RUP – Fase Elaboração

Riscos de Requisitos: Quais são os requisitos do


sistema? O grande perigo é construir um sistema
que não faz o que o cliente necessita.

Riscos Tecnológicos: Quais são os riscos


tecnológicos que devem ser enfrentados? Está
sendo selecionada a tecnologia que realmente fará o
serviço? As várias partes se encaixarão?
RUP – Fase Elaboração

Riscos de habilidades: Será que o pessoal e


especialistas de que necessita serão encontrados?

Riscos Políticos: Existem forças políticas que podem


interferir e afetar seriamente o seu projeto?
RUP- Fase Construção

É formada por várias iterações, nas quais cada iteração


constrói um software de qualidade de produção, testado
e integrado, que satisfaz um subconjunto de requisitos
de projeto.

É interessante que a fase de Construção conte com um


planejamento antecipado, o qual facilitará o
gerenciamento da mesma.
RUP- Fase Construção

Resultados desta fase:


Produto de Software
Manuais de Usuário;
Descrição da Versão Corrente.
RUP – Transição (implantação)

Mesmo que o Processo Unificado seja iterativo, algum


trabalho tem que ser deixado para ser feito no fim, na
fase de Transição. Este trabalho pode incluir teste
finais, ajustes de performace e treinamento de usuários.

Instalação e Suporte.
Fase de Concepção/ Elaboração

Concepção/ Construção Implantação


Elaboração

1. Definir Plano 2. Criar Rel. Prel. 3. Definir Requisitos


Inicial de Investigação

4. Reg. Termos 5. Implementar 6. Definir Casos


no Glossário a Protótipo de Uso
b, d

7. Definir Mod. 8. Definir Arquit. 9. Refinar Plano


Conc. Inicial c
Inicial a, c, d
Fase de Concepção/ Elaboração

• Atividades:

1. Definir plano inicial


• Prazos, recursos, orçamento
2. Criar relatório preliminar de investigação
• Motivação, alternativas, necessidades de negócio
3. Definir requisitos
• Especificação declarativa dos requisitos
4. Registrar termos no glossário
• Dicionário de termos, regras, restrições
5. Implementar protótipo
• Protótipo do sistema para ajudar na definição dos
requisitos
Fase de Concepção/ Elaboração
• Atividades:

6. Definir casos de uso


• Descrição em prosa estruturada dos processos de negócio
7. Definir modelo conceitual inicial
• Objetos de domínio e seus relacionamentos
8. Definir arquitetura inicial
• Principais subsistemas e suas dependências
9. Refinar plano
Ciclos de Desenvolvimento
• Cada ciclo implementa um conjunto reduzido de
requisitos, adicionando novas funções ao sistema
– Crescimento incremental

• Vantagens:
– Evita complexidade excessiva
– Antecipa feedback dos usuários
Aspectos da Engenharia de
Software

A Motivação para o Modelo Iterativo


e a Tecnologia de Objetos
Instabilidade dos Requisitos

O mercado muda — constantemente

As tecnologias mudam — inevitavelmente

A vontade e objetivos dos usuários mudam —


imprevisivelmente
Adoção do Modelo Iterativo...
• Passos curtos, feedback e refinamento
• Iterativo, incremental, com intervalos de tempo (ciclos) pré-
estabelecidos

Iteração Iteração
...
1 2

Codificação, Teste, Codificação, Teste,


Análise Projeto Análise Projeto
Integração Integração
O Custo da Mudança
• Estudo com projetos de software do governo Americano

Usado depois Usado tal como


de alterações entregue
3% 2%

Usado mas
bastante
alterado ou Entregue
em seguida mas nunca
abandonado usado
19% satisfatoriamente
47%

Pago mas
não entregue
29%

Fonte: US Government Accounting Office, Report FGMSD-80-4

Você também pode gostar