Você está na página 1de 42

INTRODUO

Introduo a Anlise e Projeto Orientado


a Objetos

APOO 2014.1
Roteiro
Processo de Desenvolvimento de Software
Definio
Principais Modelos Utilizados (Cascata e Unificado)
Processo Unificado
Fases
Fluxos
Anlise e Projeto de Desenvolvimento de Sistemas
Paradigmas de Programao
Anlise e Projeto Orientado a Objetos

APOO 2014.1
Programa x Produto de
Software
O que um programa?
Como um programa desenvolvido?
O que um produto de software?
Como um produto de software desenvolvido?

Produto de software: um conjunto de sistemas


de software que tm um determinado conjunto de
funcionalidades em comum, e que satisfazem as
necessidades de um determinado segmento de
mercado ou misso

APOO 2014.1
Exemplos de Profissionais
Envolvidos
Analista de Sistema
Lder (Gerente) de Projeto
Programador
Consultor de Negcios

APOO 2014.1
Processo de
Desenvolvimento de
Software

APOO 2014.1
Processo de
Desenvolvimento de
Software
Um processo de desenvolvimento de software um
conjunto de atividades, parcialmente ordenadas,
com a finalidade de obter um produto de software
estudado dentro da rea de Engenharia de
Software, sendo considerado um dos principais
mecanismos para se obter software de
qualidade e cumprir corretamente os
contratos de desenvolvimento

APOO 2014.1
Processo de
Desenvolvimento de
Software

APOO 2014.1
Modelo em cascata

APOO 2014.1
Modelo em Cascata
Modelo mais antigo e mais amplamente usado por
muito tempo
Abordagem sequencial
O resultado de uma fase a entrada da fase
seguinte

APOO 2014.1
Modelo em Cascata

APOO 2014.1
Problemas do Modelo em
Cascata
Projetos reais raramente seguem o fluxo
sequencial que o modelo prope
Logo no incio difcil estabelecer
explicitamente todos os requisitos. No
comeo dos projetos sempre existe uma incerteza
natural por parte do cliente
O cliente deve ter pacincia. Uma verso
executvel do software s fica disponvel
numa etapa avanada do desenvolvimento
(na instalao)
APOO 2014.1
Processo unificado

APOO 2014.1
Processo Unificado
Processo de desenvolvimento de software iterativo,
baseado em refinamentos e incrementos
sucessivos a fim de convergir para um sistema
adequado
Em cada iterao incrementa-se um pouco mais o
produto, baseando-se na experincia obtida nas
iteraes anteriores e no feedback do usurio
Cada iterao pode ser considerada um miniprojeto de
durao fixa, sendo que cada um destes inclui suas
prprias atividades de anlise de requisitos, projeto,
implementao e testes

APOO 2014.1
Iterativo e Incremental

APOO 2014.1
Processo Unificado
Ao invs de combater a inevitvel mudana que
ocorre no desenvolvimento de software
(principalmente nas fases iniciais), o PU prega
uma atitude de aceitar a mudana e a
adaptao como fatores inevitveis e, de
fato, essenciais
No se deve tentar especificar completa e
corretamente o sistema em uma tacada s,
com a ideia de criar um conjunto congelado
de requisitos (cascata)
APOO 2014.1
Processo Unificado
Em cada iterao escolhido um pequeno
subconjunto de requisitos, os quais so
rapidamente projetados, implementados e
testados pelos usurios
Isso leva a uma realimentao rpida - baseada
em dados concretos de usurios, desenvolvedores
e testes que possibilita modificar ou adaptar a
compreenso dos requisitos do projeto

APOO 2014.1
Fases do PU

APOO 2014.1
Fases do Processo Unificado
O processo unificado constitudo por 4 fases
Concepo
Elaborao
Construo
Transio
Cada fase tem um conjunto de objetivos
Essas fases so administradas pelo gerente de
projeto
Cada fase pode possuir vrias iteraes
(repeties)
APOO 2014.1
Fases do Processo Unificado

APOO 2014.1
Fases do Processo Unificado
Uma iterao dentro de uma fase qualquer
corresponde a um fluxo de trabalho (workflow)
composto por:
Requisitos
Anlise
Projeto
Implementao
Teste
Cada parte do fluxo de trabalho ser usada em
maior ou menor grau a depender da fase
Os requisitos e anlise tm mais nfase nas
fases iniciais e tendem a ter menor nfase a
medida que se estabilizam
APOO 2014.1
Concepo
Viso inicial do sistema
Levantar de forma geral o escopo do sistema
(objetivos e requisitos gerais)
Identificar os maiores riscos do projeto
Estimar prazos
Determinar viabilidade

APOO 2014.1
Elaborao
Sero definidos detalhadamente a maior parte
dos requisitos do sistema
Refinando a identificao do escopo do sistema e
estimativas de prazos
Para isso, os requisitos vo sendo desenvolvidos e
implementados de acordo com sua importncia
usando uma Implementao iterativa da
arquitetura central do sistema
Arquitetura central = Partes principais do sistema

APOO 2014.1
Construo
Implementao iterativa dos elementos restantes
de menor risco ou mais simples
Preparao para a implantao do sistema

APOO 2014.1
Transio
Testes finais e implantao

APOO 2014.1
Fluxo de Trabalho

APOO 2014.1
Requisitos
Objetiva o desenvolvimento de um sistema
correto, atravs do levantamento dos requisitos
funcionais e no funcionais, que permite aos
desenvolvedores entenderem o que o sistema
deve fazer e algumas restries que devem
ser obedecidas

APOO 2014.1
Anlise
Os requisitos so descritos e refinados,
consolidando o entendimento do sistema e
permitindo a construo da sua arquitetura

APOO 2014.1
Projeto
A arquitetura do sistema definida para atender a
todos os requisitos no funcionais e permitir que
as funcionalidades possam ser desenvolvidas

APOO 2014.1
Implementao
o resultado concreto da disciplina de projeto em
termos de componentes, scripts, cdigo fonte e
executveis

APOO 2014.1
Teste
Verifica-se o resultado da implementao atravs
de testes tanto das verses intermedirias quanto
as verses finais do sistema

APOO 2014.1
c a s o s d e u s o . N o fin a l d a fa s e , o s iste m a e s ta r n a v e rs o b e ta .

T r a n si o : o s is t e m a s a ir d a v e r s o b e ta p a r a a v e r s o d e p r o d u o . S o r e a li z a d a s a s
a tiv id a d e s d e im p la n ta o d a v e rs o f in a l e d e fin a liz a o d o p ro je to .

Processo Unificado
A F i g u r a 2 .2 m o s t r a a s d i s c i p l i n a s ( w o r k fl o w s ) d o U P : r e q u i s i t o s , a n l i s e , p r o j e t o ,
im p le m e n ta o , e te s te . A c u rv a d e a p ro x im a o a o lo n g o d a s fa s e s re p re s e n ta o e s fo r o d a
d is c ip lin a e m c a d a m o m e n to d o d e s e n v o lv im e n to d o p ro je to . P o r e x e m p lo , o e s fo r o d a
e q u ip e e m re q u is ito s n a I n ic ia o b e m m a io r e m re la o E la b o ra o , p o is , n o in c io d o
p ro je to , a s a tiv id a d e s m a is in te n s a s s o id e n tific a r e e s p e c ific a r re q u is ito s .

F i g u r a 2 .2 : F a s e s e D i s c i p l i n a s d o U S D P ( J A C O B S O N , 1 9 9 9 )

APOO 2014.1
Paradigmas de programao

APOO 2014.1
Paradigmas de Programao
O que um paradigma?
Algo que serve como modelo
Um paradigma de programao est relacionado
forma de pensar do programador
Como o programador busca a soluo para os
problemas
o paradigma que permite ou probe a utilizao de
algumas tcnicas de programao

APOO 2014.1
Paradigmas de Programao
Principais paradigmas de programao
Estruturado
Orientado a objetos

APOO 2014.1
Paradigma Estruturado
caracterizado por:
Execuo sequencial de instrues
Uso de variveis que representam posies de memria
Uso de instrues de atribuio que alteram os valores
dessas variveis
Uso de estruturas condicional e iterativa
Um programa uma hierarquia de
subprogramas
Cada subprograma possui variveis e
funes necessrias soluo do programa
global
APOO 2014.1
Exemplo
Programa para calcular a rea de um
retngulo
Segundo o paradigma estruturado, devemos
detalhar as aes necessrias para chegar
resposta
1. Obter o valor da altura do retngulo
2. Obter o valor da largura do retngulo
3. Calcular a rea
4. Mostrar os resultados encontrados

APOO 2014.1
Paradigma Orientado a
Objetos
Pode ser considerado uma especializao
do paradigma estruturado
Tem base na ideia de que podemos
construir um programa usando
conceitos envolvidos no problema
Um programa visto como um conjunto de
objetos
Elementos que fazem parte da soluo de um
problema
Possuem atributos (caractersticas) e
funcionalidades (responsabilidades)

APOO 2014.1
Voltando ao Exemplo
Programa para calcular a rea de um
retngulo
Segundo o paradigma OO, devemos:
1. Procurar objetos existentes no problema
2. Determinar os atributos e funcionalidades de
cada objeto
3. Estabelecer como ocorrer a interao entre os
objetos

APOO 2014.1
Voltando ao Exemplo
Quais os objetos do problema?
Retngulo
Janela Principal
O objeto retngulo tem que:
Armazenar e manipular o valor da altura e da largura
Calcular a rea
O objeto da janela principal tem que:
Receber os valores iniciais (altura e largura) e envi-los para o
retngulo
Solicitar os valores da rea ao objeto retngulo para mostr-los

APOO 2014.1
Anlise e Projeto Orientada a
Objetos
Durante a anlise orientada a objetos, a nfase
est em achar e descrever os objetos (ou
conceitos) do problema
Por exemplo, num sistema para uma biblioteca,
alguns dos conceitos (objetos) podem ser: Livro,
Biblioteca, Usurio
Tais objetos podem ter atributos e
responsabilidades (funcionalidades)

APOO 2014.1
Anlise e Projeto Orientada a
Objetos
Durante o projeto orientado a objeto, a nfase
est em achar objetos lgicos do sistema
Exemplo: Conexo de banco de dados, Interface
Tais objetos podem ter atributos e
responsabilidades (funcionalidades)

APOO 2014.1
Anlise e Projeto Orientada a
Objetos
A anlise e projeto OO pode ser feita usando um
conjunto de artefatos (documentos e diagramas)
definidos pela linguagem UML (Linguagem de
Modelagem Unificada)

Nem todos os artefatos definidos pela UML


precisam ser usados durante o desenvolvimento
de um software, seu uso vai depender da
complexidade do software que est sendo
produzido

APOO 2014.1

Você também pode gostar