Introdução à modelagem
orientada a objetos
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
RELEMBRANDO...
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Objetos
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Classes
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Atributos
Identificam
características
da classe
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Métodos
Determinam o
comportamento
dos objetos de
uma classe.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Instância
• Representa cada ocorrência de um objeto formados a
partir de uma classe.
• É o mesmo que criar o objeto a partir da classe
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Abstração
• Habilidade mental que permite
os seres humanos visualizarem
os problemas do mundo real
com vários graus de detalhes,
dependendo do contexto
corrente do problema.
•
Nós aprendemos a abstrair
desde pequenos, criamos
conceitos, assumimos
verdades, entendemos o
mundo de acordo com a nossa
capacidade intelectual.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Visão geral da UML
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Profª. Ana Paula Lima
Técnico Subsequente
Objetivo
• Apresentar de forma sumária a linguagem UML
 O que é?
 Histórico
 Conjunto de diagramas
 Classificação do diagramas
 Comparação entre as versões 1 e 2 da linguagem
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
O QUE É?
• É uma linguagem
gráfica, para
visualização,
especificação,
construção e
documentação de
artefatos de sistemas
complexos de software
(BOOCH,2000)
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
UML – Linguagem de Modelagem
Unificada
• Principais autores do processo: Grady Booch, James
Rumbaugh (OMT), Ivar Jacobson (OOSE)
• Chamados os 3 amigos
• Aproveitar o melhor das características das notações
preexistentes
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
12
Histórico de UML
• 1995 → Método Unificado (Unified Method), versão
0.8
 Um rascunho, rumo à versão 1.0
 Rumbaug e Booch
• 1996 → Linguagem de Modelagem Unificada (Unified
Modelling Language), versão 0.9
 Troca de nome da proposta (UML)
 Rumbaug, Booch e Jacobson
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Histórico de UML
• 1996 → Linguagem de Modelagem Unificada (Unified
Modelling Language), versão 0.91
 Substituía a versão
 Propunha o seguinte conjunto de diagramas para UML:
•
•
•
•
•
•
•
•
•
Diagrama de classes
Diagrama de objetos
Modelo de casos de uso
Diagrama de sequência (diagrama de trilha de mensagens na versão 0.8)
Diagrama de colaboração (diagrama de mensagem de objeto na versão 0.8)
Diagrama de estado
Diagrama de componentes (diagrama de módulo na versão 0.8)
Diagrama de utilização (diagrama de plataforma na versão 0.8)
Diagrama de atividades (inexistente na versão 0.8)
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Histórico de UML
• 1997 (janeiro) → UML, versão 1.0
 Submetida ao OMG (Organização internacional) como proposta de
padrão de notação
• 1997 (novembro) → UML, versão 1.1
 Padrão de notação do OMG
• Outras versões, com o mesmo conjunto de modelos
da proposta original (versão 0.8/0.91):




versão 1.2 – março de 1998
versão 1.3 – junho de 1999
versão 1.4 – janeiro de 2002
versão 1.5 – março de 2003
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Histórico de UML
• UML, Versão 2
 Iniciativa do OMG (não dos autores originais)
 Desenvolvida durante anos
 Novo conjunto de diagramas estabelecido em agosto de
2005 (documento superestrutura)
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
UML – Linguagem de Modelagem
Unificada
• Diagramas:
 Os documentos gerados em um processo de
desenvolvimento são chamados de artefatos na UML
 Os artefatos compõe as visões do sistema
 A UML define 14 diagramas
 Esta quantidade de diagramas é justificada pela
necessidade de analisar o sistema por meio de diferentes
perspectivas
 Cada diagrama fornece uma perspectiva parcial do sistema.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
17
Comparação entre as
versões de UML
UML 2
Diagrama de casos de uso
Modelagem Diagrama de sequência
dinâmica
Diagrama de comunicação
Diagrama de máquina de estados
Diagrama de atividades
Diagrama de visão geral de interação
Diagrama de temporização
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
UML 1
Possui
Possui
Possui, mas chamado de
diagrama de colaboração
Possui, mas chamado de
diagrama statechart
Possui
Não possui
Não possui
UML
Diagramas
da UML
Diagramas
estruturais
Diagramas
comportamentais
Diagramas de
Implementação
Diagramas de
Interação
Diagramas
de perfil
Diagramas
de objetos
Diagramas
de classes
Diagramas
de pacotes
Diagramas
de estrutura
composta
UML 2.0
Diagramas de
Componentes
Diagramas de
Seqüência
Diagramas de
Casos de Uso
Diagramas de
Implantação
Diagramas de
Colaboração
Diagramas de
Transições
de estados
Diagramas de
Visão geral
Da Interação
UML 2.0
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Diagramas de
Atividades
Engenharia de software orientada a
objetos
Diagramas de
Temporização
UML 2.0
19
1º Modelo:
Diagrama de Casos de Uso
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Introdução
 Modelos de Casos de Uso - MCU
 Exibe um conjunto de atores e casos de uso e seus
relacionamentos que expressam a funcionalidade do sistema.
 É um modelo de análise que representa um refinamento dos
requisitos funcionais.
 Idealizado por Ivar Jacobson em 1970 e inserida na UML na
década de 90.
 É o modelo mais popular para a documentação de requisitos
funcionais
 O MCU representa os possíveis usos de um sistema.
 Componentes: Casos de Usos, Atores e Relacionamentos
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
21
COMPONENTES
• Composto por:
Ator
Caso de Uso
Associação
(Relacionamento)
Funcionário
• CENÁRIOS
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Controlar
Clientes
Notação da UML
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
23
Ator
• Qualquer pessoa, departamento, sistema
computacional e dispositivos que utilizam
funcionalidades do sistema. Pode ser usuário
humano ou um outro sistema.
• Notação utilizada para representar um ator:
Funcionário
Cliente
Acervo Biblioteca
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
Ator
• Não representar para o mesmo ATOR mais do
que uma missão
Funcionário e
Cliente
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Funcionário
Engenharia de software orientada a
objetos
Cliente
Cenário 1: Procure quem são os atores
• Quem está pressionando a tecla (interagindo
com o sistema)?
Estudante
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Operador
Engenharia de software orientada a
objetos
Sistema de
Registro
Cenário 2: Procure quem são os atores
• Se o sistema for online?
Estudante
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Sistema online de
Registro
Engenharia de software orientada a
objetos
Casos de Uso
 Um caso de uso é representado por uma elipse e um
rótulo com o nome do caso de uso.
 A nomeação de um caso de uso inicia-se por um verbo
no infinitivo.
 Modela um diálogo entre um ator e o sistema.
 Define uma funcionalidade do sistema.
05/11/2015
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
28
Casos de Uso
Não representar para o Caso de Uso mais do que uma
funcionalidade.
Controlar
Clientes e
Fornecedores
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Controlar
Clientes
Técnico Subsequente
Controlar
Fornecedores
Casos de Uso
 Cenários
 É a descrição de uma das maneiras pelas quais o caso de uso
pode ser utilizada.
 É um episódio de utilização de uma funcionalidade.
 Pode ser utilizada posteriormente na fase de testes
1.
2.
3.
4.
5.
6.
7.
8.
Cliente insere seu cartão no caixa eletrônico.
O sistema apresenta a tela de requisição de senha do Cliente.
Cliente digita sua senha
Sistema valida a senha e exibe o menu com as opções de saque,
pagamento ou transferência.
O Cliente seleciona a opção saque.
Sistema apresenta tela com a requisição do valor a ser sacado.
O Cliente digita o valor da quantidade que deseja sacar.
...
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
30
Outros modelos de
Casos de Uso
 Formato: estrutura utilizada para organizar a sua
narrativa textual:
 Contínuo, numerado, tabular
 Formato contínuo
Este caso de uso inicia quando o Cliente chega ao caixa eletrônico e insere
seu cartão. O sistema requisita a senha do Cliente. Após o Cliente fornecer
sua senha e esta ser validada, o Sistema exibe as opções de operações
possíveis. O Cliente opta por realizar um saque. Então o Sistema requisita o
total a ser sacado. O Cliente fornece o valor da quantidade que deseja sacar.
O sistema fornece a quantia desejada e imprime o recibo para o Cliente. O
Cliente retira a quantia e o recibo , e o caso de uso termina.
05/11/2015
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
31
Casos de Uso
 Formato numerado
1)
2)
3)
4)
5)
6)
7)
8)
9)
Cliente insere seu cartão no caixa eletrônico.
O sistema requisita a senha do Cliente.
Cliente fornecer sua senha
Sistema valida a senha e exibe as opções de operações possíveis.
O Cliente opta por realizar um saque.
Sistema requisita o total a ser sacado.
O Cliente fornece o valor da quantidade que deseja sacar.
O sistema fornece a quantia desejada e imprime o recibo para o Cliente.
O Cliente retira a quantia e o recibo , e o caso de uso termina.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
32
Casos de Uso
 Formato Tabular
Cliente
Sistema
Insere seu cartão no caixa eletrônico.
Requisita a senha do Cliente.
Fornecer sua senha
Valida a senha e exibe as opções de operações
possíveis.
Solicita realização de um saque.
Requisita o total a ser sacado.
Fornece o valor da quantidade que deseja
sacar.
Fornece a quantia desejada e imprime o
recibo para o Cliente.
Retira a quantia e o recibo
Tenta prover alguma estrutura à descrição
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
33
Vamos praticar... Exercício 01
• Leia o texto abaixo:
 A Computer & CIA é uma pequena empresa prestadora de
serviços em manutenção de computador. Possui 6
colaboradores, sendo:
• 3 técnicos, 1 atendente, 1 gerente e 1 entregador.
Atualmente, possui um sistema de controle de OS.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Vamos praticar... Exercício 01
• Identifique apenas os atores:
 O cliente chega no balcão e o Atendente faz a
abertura da Ordem de Serviço (OS).
 O técnico acessa o sistema do laboratório para
verificar as OS’s abertas.
 O Gerente tem acesso total ao sistema.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Relacionamentos
 Componente responsável por representar a
interação entre os atores e casos de usos. (Ator <-> Caso de Uso)
 Também representa ligações entre casos de uso
ou entre atores. (Ator <--> Ator; Caso de Uso <-->Caso de
Uso)
 Tipos de Relacionamentos :




Comunicação
Inclusão
Extensão
Generalização
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Ator
Caso de Uso
Associação
(Relacionamento)
Controlar
Clientes
Funcionário
Engenharia de software orientada a
objetos
36
Relacionamentos
 Comunicação:
 Informa a que caso de uso o ator está associado
 Representa as trocas de informação entre os atores e casos de
uso
 É o mais utilizado nos MCU
 Um ator pode estar associado a vários casos de uso
 Unidirecional: seta indica onde iniciou a comunicação.
 Bidirecional: falta-se a seta
indica comunicação nos dois
sentidos.
Caso de Uso A
Caso de Uso B
Ator
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
37
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Engenharia de software orientada a
objetos
Relacionamentos - Include
• Relacionamento de um caso de uso base para um
caso de uso de inclusão.
• O caso de uso incluído é sempre abstrato.
• A execução do caso de uso incluído é obrigatória.
• O caso de uso base depende do resultado retornado
pelo caso de uso incluído.
Inclusão
Ator
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Base
seria a relação de um
<<include>> caso de uso que para te
sua funcionalidade
executada precisa
chamar outro caso de
uso.
Relacionamentos - Include
• Exemplo:
• Include: Quando um caso de uso “A” inclui (include)
outro caso de uso “B”. Isto implica que ao executar o
caso de uso “A” executa-se também o caso de uso
“B”.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Relacionamentos - Extend
• O caso de uso de extensão é geralmente abstrato.
• A execução do caso de uso de extensão é opcional.
Base
<<extend>>
Extensão
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Relacionamentos - Extend
• Exemplo:
• Extends: Quando um caso de uso “A” tem um
relacionamento do tipo extends com outro caso de
uso “B”. Implica que ao executar o caso de uso “A”
não necessariamente “B” será executado.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
RelacionamentosGeneralização
• É um relacionamento de um caso de uso filho para o
caso de uso pai (Herança).
• Compartilha objetivos comuns.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
RelacionamentosGeneralização
• Exemplos:
• O ator pode herdar as funcionalidades (casos de uso)
de outro ator.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Diagrama de Caso de Uso
• Ex.:
• O ator cliente executará os casos de uso “realizar
saque” e “consultar saldo”, enquanto o gerente
poderá interagir com os casos de uso “abrir conta” e
“vender seguro”.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Aspectos a Considerar
• Um dos aspectos mais perigosos é o abuso de <<inclui>>
<<estende>>
e
• Um diagrama de caso de uso deve ser o mais simples possível.
Detalhes devem ser deixados para outros diagramas, pois eles foram
idealizados justamente com este objetivo.
• A fronteira do negócio ou sistema é muito importante, pois ajuda a
diminuir a complexidade do contexto global.
• Conclusão: diagramas de caso de uso são ferramentas que nos ajudam
a enxergar o todo por intermédio da constatação das responsabilidades
que os usuários diretos têm.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Sol, Mar e UML
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Vamos praticar... Exercício 02
• Preencha as palavras cruzadas conforme o
enunciado:
1. Qualquer pessoa, departamento, sistema computacional e
dispositivos que utilizam funcionalidades do Sistema.
2. A execução do caso de uso ________ é obrigatória.
3. A execução do caso de uso ________ é opcional.
4. O ator pode herdar as funcionalidades (casos de uso) de
outro ator.
5. O relacionamento de ____________ representa a
informação de quais atores estão associados a que casos
de usos.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Vamos praticar... Exercício 02
1
2
3
4
5
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Vamos praticar... Exercício 03
• Deseja-se modelar um sistema para
um pequeno hotel que atenda aos
seguintes requisitos:
 Quando o cliente chega no hotel para
fazer o check-in, o funcionário verifica se
existe um quarto reservado para o
cliente, caso contrário, verifica a
disponibilidade do quarto e, existindo
quarto disponível, efetua o registro de
hospedagem, e faz o registro do
cliente.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Vamos praticar... Exercício 03
 Quando o cliente deixar o hotel e
solicitar que providencie sua saída, será
encerrada a conta e o quarto tornará
disponível para a limpeza.
 Quais os atores e os casos de uso?
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Revisando...
• Observe o diagrama abaixo e responda algumas
perguntas:
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Perguntas...
1.
2.
3.
4.
O Ator 1 consegue enxergar o caso de uso UC3?
O Ator 2 tem acesso ao caso de uso UC1 e UC2?
Os casos de usos UC1, UC2, UC3 são abstratos?
Os casos de usos UC4, UC5, UC6, UC7 são
concretos?
5. Se você colocar um ator se comunicando com o
caso de uso UC7, ele deixa de ser abstrato?
6. Os casos de usos UC6, UC7 são casos
generalizados do UC3?
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Vamos praticar... Exercício 04
• Construa um modelo de casos de uso para a seguinte
situação fictícia: "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".
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Resposta...
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
REFERÊNCIA BIBLIOGRÁFICA
• SILVA, Ricardo P. e. UML 2
em modelagem orientada
a objetos. Florianópolis,
SC: Visual Books, 2007.
232p.
INSTITUTO FEDERAL DE
EDUCAÇÃO, CIÊNCIA E TECNOLOGIA
TOCANTINS
Campus Araguaína
Técnico Subsequente
Download

Casos de Uso