SlideShare ist ein Scribd-Unternehmen logo
1 von 37
#AnaliseDeSistem
as

Prof. Natanael Simões

Projeto de Sistemas com UML
Parte 2: Representação gráfica dos principais diagramas e
exercícios práticos de diagramação

natanaelsimoes
Diagrama de Caso de Uso
• Representa as funções globais de um sistema
• Notações gráficas:
–
–
–
–

Ator
Caso de uso
Relacionamento
Limite

2
Ator
• Representa um agente externo ao sistema
–
–
–
–
–

Pessoa
Dispositivo (Impressora, leitor)
Organização (IFRO, Prefeitura)
Departamento (Recursos Humanos, Financeiro)
Outro sistema (Webservice, DLL)

Ator

3
Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar os Registros
Acadêmicos do sistema administrativo, desde que
informe o seu login e senha…”
4
Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.

5
Ator
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem
como retirar ou depositar uma quantia financeira na
sua conta…”
c) “… a secretária pode importar os Registros
Acadêmicos do sistema administrativo, desde que
informe o seu login e senha…”
6
Ator
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.

7
Caso de Uso
• Representa uma grande função do sistema

Gerar
relatório

8
Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
9
Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.

10
Caso de Uso
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem
como retirar ou depositar uma quantia financeira na
sua conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
11
Caso de Uso
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega
de volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.

12
Relacionamentos
• Definem como atores e casos de uso se
relacionam entre si
• Entre ator e caso de uso
– Associação: O que o ator usa

Gerar
relatório
Ator

13
Relacionamentos
• Entre atores
– Generalização ou Especialização: herança de usos

Ator C

Ator A

Ator B
14
Relacionamentos
• Entre ator e casos de uso
– Generalização ou Especialização: herança de
funções

Gerar
relatório

Imprimir

15
Relacionamentos
• Entre ator e casos de uso
– Include: processamento obrigatório

Marcar
consulta
<<include>>

Procurar
registro do
paciente
16
Relacionamentos
• Entre ator e casos de uso
– Extend: processamento condicional

Verificar nível
do
compartimento

<<extend>>
Reabastecer
compartimento
17
Limite
• Conhecido como System Boundary
• Delimita o sistema computacional

18
Diagramas !
a) “… o sistema possibilita ao cliente atualizar seus
dados cadastrais acessando o site na internet…”
b) “… o caixa eletrônico permitirá ao associado da
cooperativa emitir um extrato da sua conta, bem como
retirar ou depositar uma quantia financeira na sua
conta…”
c) “… a secretária pode importar o Registro
Acadêmico dados dos alunos do sistema
administrativo, desde que informe o seu login e
senha…”
19
Diagramas !
d) Estamos criando um serviço de entregas.
Nossos clientes podem nos requisitar a entrega de
volumes. Alguns volumes são considerados de
maior valor por nossos clientes, e, portanto, eles
querem ter tais volumes segurados durante o
transporte. Contratamos uma companhia de
seguro para segurar volumes de valor.

20
Diagrama de Classes
• Conjunto de representações de estruturas de objetos do
mundo real e suas relações
• Pré-requisito para os diagramas de:
– Comunicação
– Sequência
– Estados

21
Classe
• Representação das características e comportamentos
abstraídos de objetos em comum do mundo real
• Possui atributos, métodos e relacionamentos
Identificação da classe
Atributos
Métodos

<<class>>
Cachorro
- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string
- Nome:string
+ EmitirSom():void
+ Correr(int velocidade):void
+ Comer(Comida c):void
+ Comer(Objeto o):void

22
Identificação da Classe
Estereótipo
Nome

•
•
•
•
•
•

<<class>>
Cachorro

<<class>>
<<entity>>
<<control>>
<<boundary>>
<<interface>>
<<abstract>>
23
Interface x Abstrata
Herança múltipla
Interface

Abstrata

Uma classe pode Uma classe pode
implementar
herdar somente
diversas interfaces uma classe

24
Interface x Abstrata
Implementação padrão
Interface

Abstrata

Uma interface não pode
conter qualquer tipo de
código, muito menos
código padrão.

Uma classe abstrata pode
fornecer código completo,
código padrão ou ter apenas
a declaração de seu
esqueleto para ser
posteriormente sobrescrita.

25
Interface x Abstrata
Homogeneidade
Interface

Abstrata

Se todas as diversas
implementações
compartilham a
assinatura do método
então a interface
funciona melhor.

Se as várias
implementações são
todas do tipo e
compartilham um
comportamento e status
comum , então a classe
abstrata funciona melhor.
26
Interface x Abstrata
Funcionalidades adicionais
Interface

Abstrata

Se você incluir um novo
Se você incluir um
novo método em uma método em uma classe
abstrata você tem a
interface você precisa
opção de fornecer uma
ajustar todas as
implementação padrão
implementações da
para ele.
interface.
27
Atributos
[visibilidade] [nome] : [tipo]
• Visibilidade
– Pública (+)
– Protegida (#)
– Privada (-)

• Nome do atributo
• Tipo de dado

- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string
- Nome:string
28
Métodos
[visibilidade] [nome] ([tipo p1] [nome p1], [tipo p2] [nome p2]): [tipo]

• Visibilidade
– Pública (+)
– Protegida (#)
– Privada (-)

+ EmitirSom():void
+ Correr(int velocidade):void
+ Comer(Comida c):void
+ Comer(Objeto o):void

• Nome do Método
• Tipo e Nome de cada parâmetro
• Tipo de retorno do método
29
Relacionamentos entre classes
• Herança
Mamifero
- Cor:string
- Altura:double
- Tamanho:double
- Peso:double
- Raça:string
- Nome:string

Cachorro

+ Pegar(Bolinha b):boolean
+ Pegar(Graveto g): boolean
+ EmitirSom():void
+ Correr(int velocidade):void

+ EmitirSom():void
+ Correr(int velocidade):void
+ Comer(Comida c):void
30
Relacionamentos entre classes
• Associação
Empresa

Funcionário

31
Relacionamentos entre classes
• Multiplicidade
Empresa

Funcionário
1

0 .. *

32
Relacionamentos entre classes
• Agregação
A

B

- b: B
1

1

33
Relacionamentos entre classes
• Agregação

public class B {
public B( ){
}
}

public class A {
private B b;
public A( ){
}
public void setB( B b ){
this.b = b;
}
public B getB( ) {
return b;
}
}

34
Relacionamentos entre classes
• Composição
A

B

- b: B
1

1

35
Relacionamentos entre classes
• Composição
public class A {
private B b;
public A( ){
b = new B();
}
}

public class B {
public B( ){
}
}

36
Relacionamentos entre classes
• Realização
<<interface>>

DB
+ AbrirConexao(string host, string usuario, string senha, string porta, string banco):boolean
+ Executar(string query): boolean
+ Selecionar(string query): Collection
+ FecharConexao:void

MySQL

PostgreSQL

SQLServer
37

Weitere ähnliche Inhalte

Andere mochten auch

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classesErica Fabri
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UMLVinícius Barros
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoMaria Alice Jovinski
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaCursoSENAC
 

Andere mochten auch (6)

Diagrama de classes
Diagrama de classesDiagrama de classes
Diagrama de classes
 
Banco de Dados
Banco de DadosBanco de Dados
Banco de Dados
 
Diagrama de Atividades - UML
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
 
Aula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniaoAula diagrama de atividade 3º periodo uniao
Aula diagrama de atividade 3º periodo uniao
 
Aula diagrama de classes
Aula diagrama de classesAula diagrama de classes
Aula diagrama de classes
 
Análise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de SequenciaAnálise Orientada a Objetos - Diagrama de Sequencia
Análise Orientada a Objetos - Diagrama de Sequencia
 

Ähnlich wie Projeto de sistemas com UML - Parte 2

Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLNatanael Simões
 
P2 gestao infraestrutura_de_ti
P2 gestao infraestrutura_de_tiP2 gestao infraestrutura_de_ti
P2 gestao infraestrutura_de_tiCleber Oliveira
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafisJonathas Silva
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Amazon Web Services LATAM
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoCursoSENAC
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataformaAlessandro Almeida
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software SeguroAugusto Lüdtke
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesRodrigo Cascarrolho
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1marcosdcmartinsss
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageCloves da Rocha
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosEverton Souza
 

Ähnlich wie Projeto de sistemas com UML - Parte 2 (20)

Introdução à Engenharia de Software e UML
Introdução à Engenharia de Software e UMLIntrodução à Engenharia de Software e UML
Introdução à Engenharia de Software e UML
 
Ns tutorial so
Ns tutorial soNs tutorial so
Ns tutorial so
 
P2 gestao infraestrutura_de_ti
P2 gestao infraestrutura_de_tiP2 gestao infraestrutura_de_ti
P2 gestao infraestrutura_de_ti
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Aps caso uso
Aps caso usoAps caso uso
Aps caso uso
 
Plano de projeto cafis
Plano de projeto cafisPlano de projeto cafis
Plano de projeto cafis
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
 
4 casos-de-uso
4 casos-de-uso4 casos-de-uso
4 casos-de-uso
 
Aula1
Aula1Aula1
Aula1
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Análise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de UsoAnálise Orientada a Objetos - Casos de Uso
Análise Orientada a Objetos - Casos de Uso
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma
 
Desenvolvimento de Software Seguro
Desenvolvimento de Software SeguroDesenvolvimento de Software Seguro
Desenvolvimento de Software Seguro
 
AULA 27-09 DIAGRAMAS.ppt
AULA 27-09 DIAGRAMAS.pptAULA 27-09 DIAGRAMAS.ppt
AULA 27-09 DIAGRAMAS.ppt
 
UML - Criando Diagramas Eficientes
UML - Criando Diagramas EficientesUML - Criando Diagramas Eficientes
UML - Criando Diagramas Eficientes
 
Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1Palestra introdução a uml e casos de uso final_parte1
Palestra introdução a uml e casos de uso final_parte1
 
Aula UML - Unified Modeling Language
Aula UML - Unified Modeling LanguageAula UML - Unified Modeling Language
Aula UML - Unified Modeling Language
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetosCapítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
Capítulo 11 - Como desenvolver sistemas de informação e gerenciar projetos
 

Mehr von Natanael Simões

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialNatanael Simões
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoNatanael Simões
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaNatanael Simões
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoNatanael Simões
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreNatanael Simões
 
Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicosNatanael Simões
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de ProgramaçãoNatanael Simões
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasNatanael Simões
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasNatanael Simões
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Natanael Simões
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoNatanael Simões
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoNatanael Simões
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosNatanael Simões
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosNatanael Simões
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Natanael Simões
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoNatanael Simões
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraNatanael Simões
 

Mehr von Natanael Simões (20)

Criação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino PresencialCriação de Material Didático EAD como Ferramenta no Ensino Presencial
Criação de Material Didático EAD como Ferramenta no Ensino Presencial
 
Eletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomoEletroeletrônica Básica - A estrutura do átomo
Eletroeletrônica Básica - A estrutura do átomo
 
Apresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica BásicaApresentação da Disciplina de Eletroeletrônica Básica
Apresentação da Disciplina de Eletroeletrônica Básica
 
Apresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da InformaçãoApresentação da Disciplina de Segurança da Informação
Apresentação da Disciplina de Segurança da Informação
 
Apresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software LivreApresentação da Disciplina de Software Livre
Apresentação da Disciplina de Software Livre
 
O que são resistores
O que são resistoresO que são resistores
O que são resistores
 
Componentes passivos e eletromecânicos
Componentes passivos e eletromecânicosComponentes passivos e eletromecânicos
Componentes passivos e eletromecânicos
 
Paradigmas de Programação
Paradigmas de ProgramaçãoParadigmas de Programação
Paradigmas de Programação
 
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de softwareAplicando conceitos gerais de gerenciamento de projetos à engenharia de software
Aplicando conceitos gerais de gerenciamento de projetos à engenharia de software
 
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x DeclarativasProcesso de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
Processo de Desenvolvimento de Software - Linguagens Imperativas x Declarativas
 
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x InterpretadasProcesso de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas
 
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
Processo de Desenvolvimento de Software - Programação e Linguagens Fortemente...
 
Processo de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - ProgramaçãoProcesso de Desenvolvimento de Software - Programação
Processo de Desenvolvimento de Software - Programação
 
Processo de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - PrototipaçãoProcesso de Desenvolvimento de Software - Prototipação
Processo de Desenvolvimento de Software - Prototipação
 
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de DadosBanco de Dados - Sistemas de Gerenciamento de Banco de Dados
Banco de Dados - Sistemas de Gerenciamento de Banco de Dados
 
Banco de Dados - Tipos de Dados
Banco de Dados - Tipos de DadosBanco de Dados - Tipos de Dados
Banco de Dados - Tipos de Dados
 
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
Processo de Desenvolvimento de Software - Design de Software, Interface, Arqu...
 
Processo de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de DefiniçãoProcesso de Desenvolvimento de Software - Fase de Definição
Processo de Desenvolvimento de Software - Fase de Definição
 
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeiraBanco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
Banco de Dados - Modelo Lógico, Chave primária e Chave estrangeira
 
Banco de Dados - Entidade
Banco de Dados - EntidadeBanco de Dados - Entidade
Banco de Dados - Entidade
 

Projeto de sistemas com UML - Parte 2

  • 1. #AnaliseDeSistem as Prof. Natanael Simões Projeto de Sistemas com UML Parte 2: Representação gráfica dos principais diagramas e exercícios práticos de diagramação natanaelsimoes
  • 2. Diagrama de Caso de Uso • Representa as funções globais de um sistema • Notações gráficas: – – – – Ator Caso de uso Relacionamento Limite 2
  • 3. Ator • Representa um agente externo ao sistema – – – – – Pessoa Dispositivo (Impressora, leitor) Organização (IFRO, Prefeitura) Departamento (Recursos Humanos, Financeiro) Outro sistema (Webservice, DLL) Ator 3
  • 4. Ator a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais acessando o site na internet…” b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta…” c) “… a secretária pode importar os Registros Acadêmicos do sistema administrativo, desde que informe o seu login e senha…” 4
  • 5. Ator d) Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor. 5
  • 6. Ator a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais acessando o site na internet…” b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta…” c) “… a secretária pode importar os Registros Acadêmicos do sistema administrativo, desde que informe o seu login e senha…” 6
  • 7. Ator d) Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor. 7
  • 8. Caso de Uso • Representa uma grande função do sistema Gerar relatório 8
  • 9. Caso de Uso a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais acessando o site na internet…” b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta…” c) “… a secretária pode importar o Registro Acadêmico dados dos alunos do sistema administrativo, desde que informe o seu login e senha…” 9
  • 10. Caso de Uso d) Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor. 10
  • 11. Caso de Uso a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais acessando o site na internet…” b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta…” c) “… a secretária pode importar o Registro Acadêmico dados dos alunos do sistema administrativo, desde que informe o seu login e senha…” 11
  • 12. Caso de Uso d) Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor. 12
  • 13. Relacionamentos • Definem como atores e casos de uso se relacionam entre si • Entre ator e caso de uso – Associação: O que o ator usa Gerar relatório Ator 13
  • 14. Relacionamentos • Entre atores – Generalização ou Especialização: herança de usos Ator C Ator A Ator B 14
  • 15. Relacionamentos • Entre ator e casos de uso – Generalização ou Especialização: herança de funções Gerar relatório Imprimir 15
  • 16. Relacionamentos • Entre ator e casos de uso – Include: processamento obrigatório Marcar consulta <<include>> Procurar registro do paciente 16
  • 17. Relacionamentos • Entre ator e casos de uso – Extend: processamento condicional Verificar nível do compartimento <<extend>> Reabastecer compartimento 17
  • 18. Limite • Conhecido como System Boundary • Delimita o sistema computacional 18
  • 19. Diagramas ! a) “… o sistema possibilita ao cliente atualizar seus dados cadastrais acessando o site na internet…” b) “… o caixa eletrônico permitirá ao associado da cooperativa emitir um extrato da sua conta, bem como retirar ou depositar uma quantia financeira na sua conta…” c) “… a secretária pode importar o Registro Acadêmico dados dos alunos do sistema administrativo, desde que informe o seu login e senha…” 19
  • 20. Diagramas ! d) Estamos criando um serviço de entregas. Nossos clientes podem nos requisitar a entrega de volumes. Alguns volumes são considerados de maior valor por nossos clientes, e, portanto, eles querem ter tais volumes segurados durante o transporte. Contratamos uma companhia de seguro para segurar volumes de valor. 20
  • 21. Diagrama de Classes • Conjunto de representações de estruturas de objetos do mundo real e suas relações • Pré-requisito para os diagramas de: – Comunicação – Sequência – Estados 21
  • 22. Classe • Representação das características e comportamentos abstraídos de objetos em comum do mundo real • Possui atributos, métodos e relacionamentos Identificação da classe Atributos Métodos <<class>> Cachorro - Cor:string - Altura:double - Tamanho:double - Peso:double - Raça:string - Nome:string + EmitirSom():void + Correr(int velocidade):void + Comer(Comida c):void + Comer(Objeto o):void 22
  • 24. Interface x Abstrata Herança múltipla Interface Abstrata Uma classe pode Uma classe pode implementar herdar somente diversas interfaces uma classe 24
  • 25. Interface x Abstrata Implementação padrão Interface Abstrata Uma interface não pode conter qualquer tipo de código, muito menos código padrão. Uma classe abstrata pode fornecer código completo, código padrão ou ter apenas a declaração de seu esqueleto para ser posteriormente sobrescrita. 25
  • 26. Interface x Abstrata Homogeneidade Interface Abstrata Se todas as diversas implementações compartilham a assinatura do método então a interface funciona melhor. Se as várias implementações são todas do tipo e compartilham um comportamento e status comum , então a classe abstrata funciona melhor. 26
  • 27. Interface x Abstrata Funcionalidades adicionais Interface Abstrata Se você incluir um novo Se você incluir um novo método em uma método em uma classe abstrata você tem a interface você precisa opção de fornecer uma ajustar todas as implementação padrão implementações da para ele. interface. 27
  • 28. Atributos [visibilidade] [nome] : [tipo] • Visibilidade – Pública (+) – Protegida (#) – Privada (-) • Nome do atributo • Tipo de dado - Cor:string - Altura:double - Tamanho:double - Peso:double - Raça:string - Nome:string 28
  • 29. Métodos [visibilidade] [nome] ([tipo p1] [nome p1], [tipo p2] [nome p2]): [tipo] • Visibilidade – Pública (+) – Protegida (#) – Privada (-) + EmitirSom():void + Correr(int velocidade):void + Comer(Comida c):void + Comer(Objeto o):void • Nome do Método • Tipo e Nome de cada parâmetro • Tipo de retorno do método 29
  • 30. Relacionamentos entre classes • Herança Mamifero - Cor:string - Altura:double - Tamanho:double - Peso:double - Raça:string - Nome:string Cachorro + Pegar(Bolinha b):boolean + Pegar(Graveto g): boolean + EmitirSom():void + Correr(int velocidade):void + EmitirSom():void + Correr(int velocidade):void + Comer(Comida c):void 30
  • 31. Relacionamentos entre classes • Associação Empresa Funcionário 31
  • 32. Relacionamentos entre classes • Multiplicidade Empresa Funcionário 1 0 .. * 32
  • 33. Relacionamentos entre classes • Agregação A B - b: B 1 1 33
  • 34. Relacionamentos entre classes • Agregação public class B { public B( ){ } } public class A { private B b; public A( ){ } public void setB( B b ){ this.b = b; } public B getB( ) { return b; } } 34
  • 35. Relacionamentos entre classes • Composição A B - b: B 1 1 35
  • 36. Relacionamentos entre classes • Composição public class A { private B b; public A( ){ b = new B(); } } public class B { public B( ){ } } 36
  • 37. Relacionamentos entre classes • Realização <<interface>> DB + AbrirConexao(string host, string usuario, string senha, string porta, string banco):boolean + Executar(string query): boolean + Selecionar(string query): Collection + FecharConexao:void MySQL PostgreSQL SQLServer 37