Buscar

Processo_Unificado

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

AULA 9- UP (Unified Process)
Modelagem de Sistemas
Importância no desenvolvimento de sistemas
Núcleo ou parte central no desenvolvimento de SW
Primeiras metodologias:
Análises estruturadas como base (metodologias estruturadas)
Procedimentos e funções
Metodologias atuais: 
OO
Crescimento desordenado de metodologias 
Impossibilidade de suprir as necessidades por completo dos usuários (guerra de métodos)
Booch (Grady Booch) – OOSE (Jacobson) – OMT (Rumbaugh) 	 UML
UML (Unified Modeling Language) 
Linguagem de modelagem de sistemas para criar e ler modelos
Uso de diagramas
Não é uma metodologia
Não informa quais modelos devem ser criados e nem quando eles devem ser criados
Responsabilidade: Processo de Desenvolvimento de Sistemas
Necessidade de interação da UML com uma metodologia única
UP (Unified Process)
Mesmos criadores da UML (Jacobson, Booch e Rumbaugh)
Guia para uso da UML
Elementos do Processo Unificado
Processos
Descrevem: 
	quem faz (papel)
	o que faz (artefato)
	como faz (atividade)
	quando (disciplina)
PAPEL
-Feito por um trabalhador (responsabilidades sobre atividades para geração de um artefato)
Ator: usa o sistema, podendo também participar do desenvolvimento , provendo informações sobre o cliente
Trabalhador: participa do desenvolvimento do sistema
ARTEFATO
-Documentos, relatórios, modelos ou códigos gerados ou manipulados 
ATIVIDADE – tarefa executada por um trabalhador (visa produzir ou modificar um artefato)
DISCIPLINA – sequência de atividades (coerentes) que produzem algum resultado 
FASES
CONCEPÇÃO
-Identificação das necessidades dos usuários finais e clientes
-Consenso sobre o produto 
-Estabelecimento do escopo do SW (projeto inicial do sistema)
-Estimativas gerais de prazos e custos (elaboração de estimativas gerais de fases e datas de entrega)
-Ênfase no planejamento e levantamento de requisitos
-Identificação prévia de riscos
-Análise de viabilidade 
-Retorno do investimento
-Maior alocação de analistas envolvidos na modelagem do negócio
-Elaboração de “Business Modeling” ou “Requirements” 
5
FASES
ELABORAÇÃO
-Refinamento do problema anterior
-Exame dos requisitos mais significativos 
-Estabelecimento de uma arquitetura funcional do sistema
-Avaliação mais detalhada visando minimizar os riscos
-Estabelecimento de uma baseline para uma arquitetura mais sólida do projeto
-Foco é a análise e projeto do sistema (captura e modelagem dos requisitos)
-Pode envolver a criação de um protótipo 
Ex.: uma aplicação web, a partir da qual as interações dos atores com cada caso de uso é detalhada, além das classes do sistema. 
6
FASES
CONSTRUÇÃO
-Esclarecer eventuais requisitos da fase anterior e concluir o desenvolvimento do sistema
-Usa como base a arquitetura definida na fase anterior
-Desenvolve o SW completo de forma iterativa e incremental (evolução de protótipo, adicionando valor)
-Implica em testes de SW antes de entrega aos usuários
-Deve se preocupar se o SW, HW, usuários e locais físicos estão prontos para a implementação do aplicativo
-A cada ciclo é necessário rever os requisitos de cada parte da aplicação (envolvimento com usuário pode ser necessário)  essência do desenvolvimento incremental
7
FASES
TRANSIÇÃO
-Marcada pela entrega do produto (versão beta)
-Avaliação do produto (facilidade de uso, documentação etc)
-Pode demandar novas iterações para construção de versões que:
	 ajustem o sistema
	 corrijam o sistema
	 concluam o sistema
-Pode ser simples ou complexa
Simples – correção de erros e pequenos ajustes
Complexas – adição de novas funcionalidades pode tornar a iteração semelhante a uma iteração na fase de construção, podendo exigir novos requisitos, análise , projeto, implementação e testes. 
8
Processo Unificado
Características:
Processo Orientado por Caso de Uso
-Utilização dos casos de uso como principal recurso para especificação do sistema
-Sequência de ações de um sistema 
-Objetiva atender às necessidades de cada usuário que interage com o sistema
-Modelos de análise, projeto e implementação são criados a partir dos casos de uso
-Evolução ou maturação dos casos de uso durante o ciclo de vida
-Casos de uso como base para arquitetura do sistema
-A preferência por casos de uso se dá em razão destes serem escritos sob a perspectiva dos usuários (linguagem natural, intuitivamente mais óbvia para o leitor)
Processo Unificado
Processo Centrado na Arquitetura
-Visão de todos os modelos (macro) do sistema
-Visão abrangente, sem detalhamentos
-Destaque de características mais importantes (abstração)
-O que é significante em um sistema? (sensatez, experiência, ponto de vista etc)
-ARQUITETURA (ligada à forma) // CASOS DE USO (funcionalidade)
Processo Iterativo e Incremental
-Divisão em partes menores (miniprojetos)
-Miniprojeto: iteração que resulta em um incremento
-Iterações sucessivas : criação de artefatos a partir de iterações passadas
 
 PROJETO PRONTO
			
	
Requisito
Entendimento inicial do projeto
Análise
Identificação e especificação de casos de uso relevantes (o que o sistemadeve fazer?)
Projeto
Criação do projeto com base na arquitetura especificada (como os requisitosserão implementados?)
Implementação
Implementação do projeto
Teste
Realização de testes que satisfaçam os casos de uso
11
Processo Unificado
Descrição em duas dimensões
HORIZONTAL 
Ciclos e marcos do projeto 
Eixo temporal do projeto
VERTICAL
Atividades do projeto
Workflow entre as atividades 
Para cada iteração
-Identificação e especificação dos casos de uso relevantes
- Criação de projeto de acordo com a arquitetura escolhida
- Implementação de partes (componentes)
-Componentes satisfazem casos de uso? 
Sim: PRÓXIMA ITERAÇÃO
Não: REVISAR DECISÕES TOMADAS E PROPOR NOVA ABORDAGEM 
Vantagens do desenvolvimento por iterações: 
-Seleção dos elementos necessários para aquela iteração
-Administrar partes menores permite menor desvio de curso (variância de custos)
-Melhor controle de prazos (variância de prazos) 	 
13
Fases do Processo Unificado
Alocação de recursos e pessoas depende da demanda de cada fase do projeto
Exemplos de artefatos
FASES
ARTEFATOS
CRITÉRIOS DE SUCESSO
Concepção
Documento de visão ou declaração de escopo
Casos de uso iniciais
Businesscaseinicial
Avaliaçãoinicial de riscos
Plano preliminar de projeto
Glossário (terminologia-chave do domínio)
Concordância dosstakeholdersdo projeto
Entendimento dos requisitos
Estimativas de custos e prazos
Despesas atuais x planejadas
Elaboração
Casos de uso revisados
Plano de desenvolvimento de SW (gerenciamento, contratação, planejamento das fases , iterações e testes)
Avaliação atualizada dos riscos
Business case revisado
Descrição da arquitetura do SW
Estimativasde custos e cronogramas
Despesas atuais x planejadas
Construção
Planos individuais de iteração
Produto incremental
Plano de entrega do SW
Resultados dos casos de teste
Stakeholderpronto para transição
Despesas atuais x planejadas
Produto estável e pronto para serversionado
Transição
Versão final do produto
Documentação do produto
Análise das lições aprendidas
Aceite do cliente
Satisfação do usuário
Despesasatuais x planejadas
Exemplo
ATIVIDADE R1 – Reunião Inicial com o Cliente
Esta atividade representao primeiro contato com o cliente e visa levantar rapidamente uma noção do escopo inicial do projeto a ser realizado, coletando informações suficientes para planejar as sessões “JAD (JointApplicationDevelopment)PLAN”, as quais efetivamente levantarão os requisitos vagos do sistema. Esta atividade gera um artefato “R1-A1” (designação de responsabilidades) e “R1-A2”(ata da reunião inicial). O artefato R1-A1 identificará os principais papéis e suas respectivas responsabilidades para o andamento do projeto, enquanto o artefato R1-A2 deverá relatar a reunião, anotando as decisões tomadas,
as pendências encontradas e os responsáveis por acompanhá-las ou resolvê-las.
Artefatos necessários para esta atividade
Nenhum
Artefatos gerados por esta atividade
R1-A1 – designação de responsabilidades (atores)
R1-A2 – ata da reunião inicial
Comparação Processo Unificado X Cascata
CASCATA
Fases top-down em sequência
Objetivo: construir um complexo residencial (A1, A2 e A3) em 3 meses
Primeiro mês – estrutura para A1, A2 e A3
Segundo mês– engenharia para A1, A2 e A3
Terceiro mês– fachada para A1, A2 e A3
Comparação Processo Unificado X Cascata
UP
Interativo e incremental – identifica subsistemas e executa fases top down (estrutura, engenharia e fachada)
Objetivo: construir um complexo residencial (A1, A2 e A3) em 3 meses
Subsistemas – A1, A2 e A3
Primeiro mês– estrutura, engenharia e fachada para A1
Segundo mês– estrutura, engenharia e fachada para A2
Terceiro mês - estrutura, engenharia e fachada para A3
Exercício
Tente imaginar o desenvolvimento de um programa que objetive automatizar um sistema de locadora de veículos. A locadora deseja controlar melhor 3 grandes processos: a reserva do veículo, a retirada do veículo e a devolução do veículo. Esboce, de forma simples e objetiva, como você elencaria o desenvolvimento deste sistema com base nas 4 fases do processo unificado (concepção, elaboração, desenvolvimento e transição) ao longo do ciclo de desenvolvimento do projeto. 
Concepção
Elaboração
Desenvolvimento
Transição
Questionamentos sobre o Processo Unificado
-Baseado em ‘melhores práticas’ no desenvolvimento de SW
-Segundo Boehm: boas práticas podem burocratizar o processo de desenvolvimento
-Melhores práticas : dependem do contexto
Baseados em casos de uso
 - Casos de uso podem ser interpretados como sendo elementos completos para implementação de funcionalidades 
-Basear-se na compreensão dos requisitos a partir de canais escritos de comunicação pode ser problemático
Baseados na arquitetura
-Estabelece a arquitetura do SW antes de começar a implementação do mesmo
Foco na geração de artefatos (excesso de documentação gerada)
Questionamentos Gerais sobre o Processo de Desenvolvimento de SW
-Visão tecnicista
-Incapacidade de enxergar o fator humano
-Visão taylorista (trabalhador manual = homo economicus)
-Desenvolvedor  trabalhador do conhecimento
-Do que se origina um bom software? Boas práticas de programação, ferramentas CASE, boa escolha de uma linguagem de programação e BD etc? 
“Bom SW é resultado de pessoas, assim como é o caso de SWs ruins (..) já que SWs são criados por pessoas e usado por pessoas” 
(Larry Constantine: The Peopleware Papers, 2001)

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais