Beruflich Dokumente
Kultur Dokumente
Anlise OO / UML
Renata Araujo
Ricardo Storino
Documentos so gerados
a cada fase e servem de
entrada para a fase seguinte
Projeto
Implementao
Teste/Avaliao
Implantao
Manuteno
Transformaes
Requisitos
do
Software
Anlise
Especifica
o do
Software
Projeto
Projeto
do
Software
Documentos gerados
durante o ciclo de vida
Implementao
Cdigo
do
Software
Teste
Sistema
pronto
para operar
Definio de Requisitos
Desejos
Intenes
Procedimentos
Dados
Identificar
Requisitos
do
Software
Anlise do Software
Entendimento e Representao
Requisitos
do
Software
Especificao
do
Software
Domnio do problema
Conceitos
Funcionalidades
Casos de uso
Objetivos
Produtos
Modelo/representao do software
Modelo de Anlise do Sistema
Documentao
Diagramas da UML
Viso Externa
Viso de Interao
Diagrama de Classes
Viso Comportamental
(Dinmica)
Diagrama de Sequncia
Diagrama de Colaborao
Diagrama de Estado
Diagrama de Atividade
Viso da Arquitetura
(Implementao)
Diagrama de Componentes
Diagrama de Implantao
Diagrama de Pacotes
Solicitao de
extrato
Ator
9
Interaes
Diagramas de Classe
Apresentam
Classes (objetos)
Atributos
Relacionamentos
10
Herana
Agregao
Associao
Servios
Diagramas de Estado
Apresentam as sequncias
de estados que um objeto
assume em sua existncia
em resposta a estmulos
recebidos
Complemento das descries
estticas de classes
Classe Pedido
Pedido enviado
Pedido Registrado
Pedido para anlise requisitado
Pedido em Anlise
Pedido para aprovao
Pedido em Aprovao
11
Relacionam os possveis
estados que os objetos de
uma classe podem ter e quais
os eventos que causam
mudanas em seu estado.
Aprovao emitida
Pedido Aprovado
Pedido ser atendido
Diagramas de Sequncia
Vendedor
1: situao
financeira do
cliente
Pedido
Mostra a sequncia de
mensagens entre objetos
Nota Fiscal
2: obter pedidos
(cliente)
3: obter notas fiscais (pedido)
4: obter faturas vencidas (nota fiscal)
5: obter faturas a vencer (nota fiscal)
6: obter limite de crdito (cliente)
12
Fatura
Cliente
Diagrama de Classes
13
Identificao de Classes
Identificao de
relacionamentos
Definio de atributos
Definio de servios
Identificao de Classes
O domnio do problema
Os requisitos da aplicao
14
Identificao de Classes
No mundo real
Cliente
15
Em uma dada
aplicao/sistema
Nome
Endereo
Altura
Peso
Idade
Sexo
Renda Mensal
Cor dos Cabelos
Nmero de Dependentes
...
Cliente
Nome
Endereo
Idade
Sexo
Renda Mensal
Nmero de Dependentes
Identificao de Classes
No mundo real
Numa aplicao/sistema
Cliente
Cliente
Nome
Time
Nome
Endereo
Carro
Endereo
16
Dependentes
Identificao de Classes
O que procurar?
Objetos
Agentes
Unidades organizacionais
Eventos
17
Identificao de Classes
O que Considerar?
Armazenamento necessrio
18
Identificao de Classes
Notao de classe
Nome da Classe
<lista de atributos>
<Lista de servios/operaes>
19
Identificao de Classes
Recomendaes
Nomenclatura de classes
Prtica
20
Definio de Atributos
Objetivo
O que considerar?
21
Definio de Atributos
Representao grfica
Nome da Classe
<lista de atributos>
<Lista de servios/operaes>
22
Definio de Atributos
Notao de atributos
Visibilidade:
# visibilidade protegida
Atributo acessado apenas pelos servios da prpria classe ou por servios de classes
dentro de um mesmo pacote
- visibilidade privada
23
Atributo pode ser acessado por todos, inclusive por servios de outras classes
Definio de Atributos
Notao de atributos
Visibilidade:
Aluno
+ Nome
# Endereo
- Crditos
24
Definio de Atributos
Notao de atributos
Nome do atributo
Obrigatrio!!!!
Necessidade de padronizao
Clareza de significado
Evitar abreviaturas
Aluno
+ Nome
# EndereoDoAluno
- CrditosObtidos
25
Definio de Atributos
Notao de atributos
Tipo de Expresso
Opcional
Tipo de implementao do atributo
Inteiro
String
Real
...
Aluno
+ Nome: string
# EndereoDoAluno: string
- CrditosObtidos: int
26
Definio de Atributos
Notao de atributos
Valor Inicial
Aluno
+ Nome: string
# EndereoDoAluno: string
- CrditosObtidos: int = 0
27
Definio de Atributos
Notao de atributos
Propriedade
Opcional
Maior detalhamento do atributo
Descrio
Tipo
28
Esttico
Constante
Varivel
Domnio de Valores
Aluno
+ Nome: string
# EndereoDoAluno: string
-CrditosObtidos: int = 0
-NumMximoDeCrditos: int = 70 {constant}
Definio de Atributos
Notao de atributos
Nome da Classe
Atributo
Atributo:tipo do dado
Atributo:tipo do dado = valor inicial
29
Exemplo
Aluno
Nome
Endereo:string
Crditos:inteiro = 0
Prtica
Definio de Servios
Objetivo
O que considerar?
30
Definio de Servios
Representao Grfica
Nome da Classe
<lista de atributos>
<Lista de servios/operaes>
31
Definio de Servios
Notao de servios
Visibilidade:
# visibilidade protegida
Servio acessado apenas pelos servios da prpria classe ou por servios de classes
dentro de um mesmo pacote
- visibilidade privada
32
Servio pode ser acessado por todos, inclusive por servios de outras classes
Definio de Servios
Notao de servios
Visibilidade:
Aluno
Nome
Endereo
Crditos
+ InformarNome( ):string
# InformarEndereo( ):string
- CancelarCrditos( cdigoCadeira )
33
Definio de Servios
Notao de servios
Nome do servio
Obrigatrio!!!!
Necessidade de padronizao
Clareza de significado
Evitar abreviaturas
Aluno
Nome
Endereo
Crditos
+ InformarNome( ):string
# InformarEndereo( ):string
- CancelarCrditos( cdigoCadeira )
34
Definio de Servios
Notao de Servios
Parmetros
Aluno
Nome
Endereo
Crditos
35
+ InformarNome( ):string
# InformarEndereo( ):string
-CancelarCrditos( cdigoCadeira )
-AtualizarCrditos( cdigoCadeira, ano, nmero de Crditos )
Definio de Servios
Notao de servios
Aluno
Nome
Endereo
Crditos
36
+ InformarNome( ):string
# InformarEndereo( ):string
-CancelarCrditos( cdigoCadeira )
-AtualizarCrditos( cdigoCadeira, ano, nmero de Crditos )
Definio de Atributos
Notao de servios
Propriedade
37
Prs e ps condies
Excees
Propriedades dependentes da
linguagem de programao
Opcional
Maior detalhamento do servio
Classificao
Construtor:
incializam/constroem
instncias da classe
Destrutor: destrem
instncias da classe
Modificador de atributos:
modificam valores de
atributos
Seletor de atributos: utilizam
mas no modificam valores
de atributos
Aluno
Nome
Endereo
Crditos
Definio de Servios
Persistncia
Construtores e Destrutores
38
Prtica
Identificao de Relacionamentos
Objetivo
O que considerar?
O que procurar?
39
Identificao de Relacionamentos
40
Associao
Identificao de Relacionamentos
Associao - Representao
Unria
Pessoa
0..*
pai de
1..2
Binria
Aluno
0..*
Cadeira
Cursa
0..*
41
Identificao de Relacionamentos
Associao - Representao
N-ria
Avaliao
*
Funcionrio
42
*
Projeto
*
Quesito
Identificao de Relacionamentos
Agregao
43
Ex. Vo e passageiros
Ex. Turma e alunos
Identificao de Relacionamentos
Agregao - notao
Departamento
Empresa
1..*
Parte
44
Todo
Identificao de Relacionamentos
Herana
O que procurar?
Notao
Veculo
Ano
Cor
Carro
Ano
Cor
No de Portas
45
nibus
Ano
Cor
No de Assentos
Caminho
Ano
Cor
Capacidade
Generalizao / Especializao
Gerente
Projeto
46
Funcionrio_Maria
Funcionrio_Joo
Nome = Maria
Nome = Joo
Nasc = 16/02/70
Nasc = 10/05/65
Salrio = 2500
Salrio = 3000
Projeto =
Projeto = Call Center
Identificao de Relacionamentos
Nome/Semntica do relacionamento
Multiplicidade
1
somente um
* muitos (zero ou mais)
0..*
muitos (zero ou mais)
0..1
opcional (zero ou um)
1..*
maior ou igual a um
M..N
sequncia especfica
47
Papis
Navegabilidade
Restries
Prtica
Diagramas de Estado
48
So gerados
Assumem posies (estados)
Do origem a outros objetos
Deixam de existir (so destrudos)
Diagramas de Estado
Notao
Estado:
<nome do estado>
Incio
Fim
49
Diagramas de Estado
Notao
Evento:
evento
Estado 1
Estado 2
50
Diagramas de Estado
Prtica
Pedido Registrado
Pedido Atendido
Requisio de
anlise de
pedido
Pedido
aprovado
Pedido em Anlise
Pedido no pode ser
atendido neste
momento
51
Pedido Aprovado
Pedido
cancelado
Pedido Pendente
Pedido cancelado
Atendimento a
Pedido
Pedido cancelado
Pedido cancelado
Diagramas de Sequncia
52
Objetivo
Diagrama de Sequncia
Tempo
(top-down)
ator
um objeto
(evento)
criar
outro objeto
mensagem
retorno
ativao
excluir
Linha de vida
53
Smbolo de
excluso
Diagrama de Sequncia
Prtica
Janela
Pedido
Nota Fiscal
Vendedor
1: situao
financeira do
cliente
2: obter pedidos
(cliente)
54
Fatura