Escolar Documentos
Profissional Documentos
Cultura Documentos
Programa do Módulo 2
Orientação a Objetos
SEL3113 – Engenharia de Software
– Conceitos Básicos
– Análise Orientada a Objetos (UML)
•Diagramas UML
•Diagrama de Caso de Uso
JCFJ
3.2
JCFJ
Métodos Orientados a Objetos 3.3
JCFJ
Porquê UML ?
● Necessidade de uma Linguagem ● Para Documentar
de Modelagem – As necessidades
– Diagramas com notação clara – A arquitetura
SEL3113 – Engenharia de Software
● Em diferentes Ambientes de
● Necessidade de um Processo de Sistemas de Informação:
Modelagem (dirigido pelos casos – SI de empresas
de uso) – Sistemas bancários, financeiros
– Modelos e visões integrando a – Telecomunicações, transportes
arquitetura – Aeroespacial, científico
– Interativo e incremental – Eletrônica, médico
– Pode ser adaptado... – Serviços Web
JCFJ e JP mP
Métodos Orientados a Objetos 3.5
Revisão
UML 1.4 2000
SEL3113 – Engenharia de Software
Menor
Novembro: Aceitação
1997
UML 1.1
Setembro: submissão final UML 1.0
1997
Janeiro: submissão OMG
Especificação Método
Unificado 0.8 1995
na Internet
UML – Contribuições
Rumbaugh Booch Jacobson
Meyer Fusion
SEL3113 – Engenharia de Software
Harel Embley
State charts Classes Singleton,
vista de alto nível
JCFJ
Métodos Orientados a Objetos - UML 3.7
Conceitos de Base
● Mecanismos Comuns: UML define um pequeno número de
mecanismos comuns que garantem a integridade conceitual da
notação:
SEL3113 – Engenharia de Software
– Notas
– Mecanismos de Extensão: Estereótipos, Restrições e Etiquetas
– Relações de Dependência
JCFJ
● Mecanismos de Extensão:
– Estereótipo: é um mecanismo de extensibilidade de UML, permitindo uma
meta-classificação de um elemento de UML. <<Comprador>>
Cliente
• Possibilita aos usuários adicionar novos tipos de elementos de modelagem,
permitindo uma extensão controlada, pelos usuários, dos elementos de UML.
• Um elemento do modelo associado a um estereótipo herda as definições do
SEL3113 – Engenharia de Software
estereótipo
• Pode-se definir estereótipos para classes, associações, operações, estados, pacotes,
etc. Objetivo: classificar estes elementos e reutilizar as descrições
• O nome do estereótipo é colocado entre guillemets antes do nome do elemento ao
qual é aplicado o estereótipo.
– Restrições: é uma relação semântica qualquer entre elementos de modelagem
Informação
definindo proposições que devem ser mantidas verdadeiras para garantir a
validade do sistema modelado.
• Pode-se usar linguagem natural, pseudo-código ou OCL (linguagem formal)
• UML não especifica nenhuma sintaxe particular para as restrições. {ou-exclusivo}
• Uma restrição é definida por uma expressão booleana entre parênteses aplicada E-mail
CEP
a um elemento
JCFJ
Métodos Orientados a Objetos - UML - Conceitos de Base – Mecanismos Comuns 3.9
JCFJ
Pacotes
● Oferecem um mecanismo geral para a partição de modelos e para
o reagrupamento de elementos de modelagem, assim como para o
encapsulamento destes.
Nome do
SEL3113 – Engenharia de Software
JCFJ
3.12
Conteúdo de Pacotes
● Um Pacote, University Artifacts, contém outro pacote e cinco
classes.
SEL3113 – Engenharia de Software
Student Professor
Artifacts
University
Artifacts Course Schedule
Student CourseOffering
JCFJ
Métodos Orientados a Objetos - UML - Pacotes 3.13
Pacotes - Exemplos
SEL3113 – Engenharia de Software
JCFJ
Diagramas
Visão Geral
Temporização Caso de Uso Estado Componentes Instalação
da Interação
JCFJ e JP mP
Diagramas
Visão Geral
Temporização Caso de Uso Estado Componentes Instalação
da Interação
JCFJ e JP mP
Métodos Orientados a Objetos - UML 3.17
Diagramas
JCFJ e JP mP
Diagramas
Diagramas UML 1.5.
SEL3113 – Engenharia de Software
JCFJ e JP mP
Métodos Orientados a Objetos – UML – Diagramas UML 3.19
Diagramas
SEL3113 – Engenharia de Software
Aspectos dinâmicos:
Diagrama de Seqüência: visão temporal das interações.
Diagrama de Comunicação (colaboração): visão espacial das interações.
Diagrama de Estados: comportamento dos objetos.
Diagrama de Atividades: fluxo de controle interno das operações, descrição dos
casos de uso.
JCFJ e JP mP
Diagramas
SEL3113 – Engenharia de Software
Aspectos implantação:
Diagrama de Componentes: codificação.
Diagrama de Instalação: implantação, distribuição.
JCFJ e JP mP
SEL3113 – Engenharia de Software Métodos Orientados a Objetos – UML – Diagramas UML 3.21
JCFJ
Comportamento do Sistema
● Todo sistema interage com pessoas ou outros sistemas Esta interação
resulta em um resultado previsível Seu Comportamento.
SEL3113 – Engenharia de Software
JCFJ
Métodos Orientados a Objetos – UML 3.23
Student
Login
JCFJ e JP mP
● Comunicação
● Identificação
SEL3113 – Engenharia de Software
Caso de Uso
● Verificação
Identificação
Comunicação Verificação
Usuário Especialista do
Final Domínio Usuários
JCFJ
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.27
O que é um Ator?
● Atores representam papéis que os usuários do sistema podem
desempenhar Podem representar uma pessoa, uma
máquina, ou outro sistema.
SEL3113 – Engenharia de Software
JCFJ
Caso de Uso
JCFJ
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.29
Caso de Uso
Associação
Ator
JCFJ
Maintain Professor
Information
SEL3113 – Engenharia de Software
Maintain Student
Student Information
Login
Registrar
Close Registration
Select Courses to
Teach
● O cliente interroga o sistema, seja passando em uma agência, seja via internet, para
garantir que ele pode fazer a reserva desejada.
SEL3113 – Engenharia de Software
● A reserva pode ser feita para um transporte de passageiros (um ou diversos) ou para o
transporte de carga.
● Uma solução sendo encontrada, o sistema registra a reserva (nome do(s) passageiro(s)
e/ou característica da(s) carga(s)) e realiza o pagamento através do meio que convier
ao cliente (dinheiro, cheque, cartão de crédito).
● O ou os bilhetes correspondentes são entregues, diretamente na agência, pelo correio,
ou disponibilizados na aeroporto.
Informação é atachada
a todo UC, para definir
Seu papel e conteúdo
Reservar
Cliente
JCFJ e JP mP
Exemplo 1 – Requisitos
(Sistema) RESERVAR
SEL3113 – Engenharia de Software
Interrogar no guichê
Interrogar possibilidade-vôo
Interrogar via internet
Cliente
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Interrogar via internet
Registrar reserva
Cliente
JCFJ e JP mP
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Interrogar via internet
Registrar passageiros
JCFJ e JP mP
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.35
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Interrogar via internet
Registrar reserva
Registrar carga
Cliente
JCFJ e JP mP
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Interrogar via internet
Registrar reserva
Registrar carga
Cliente
Caso de Uso em
diversos níveis
Pagar Registrar passageiros O Caso de Uso é
representado como
um Pacote
Obter bilhetes
Visão Análise de Requisitos
Ativação do sistema
JCFJ e JP mP
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.37
Exemplo 1 – Análise
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Gestor dos vôos
Interrogar via internet
Gestor interface
Sub-sistemas externos
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
Gestor dos vôos
Interrogar via internet
Registrar carga
Registrar reserva
Gestor interface
Registrar passageiros
Pagar
Gestor financeiro
Cliente Visão Análise
JCFJ e JP mP
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.39
(Sistema) RESERVAR
Interrogar no guichê
SEL3113 – Engenharia de Software
Interrogar possibilidade-vôo
atores Gestor dos vôos
Interrogar via internet
secundário
Gestor interface
Registrar passageiros
principal Pagar
JCFJ e JP mP
JCFJ e JP mP
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.41
JCFJ
JCFJ
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.43
Exemplo 1 – Projeto
Sistema de Reserva
Tele-sistema
Agência
<<include>>
Validar pedido
<<include>>
Reservar Adiciona-se os
componentes
Agente de reserva descobertos no
Registrar
<<include>> processo de projeto
<<include>> pedido
Cliente
JCFJ e JP mP
funcionalidades.
3. O pontos de inserção, que definem o que pode ser
estendido, são declarados no caso de uso base e na
associação entre os casos de uso.
4. Um caso de uso pode ter vários pontos de extensão e um
Pontos de extensão caso de uso de extensão pode aumentar um ou mais
. Pacotes destes pontos de extensão.
. Viagens Nacionais Fonte: [FK02]
<<extend>>
(Pacotes, Viagens Nacionais)
Consultar as promoções
JCFJ e JP mP
Métodos Orientados a Objetos - UML – Diagramas de Casos de Uso 3.45
Diagrama de Atividades
● Um Diagrama de Atividades pode ser utilizado para capturar as atividades e ações
realizadas em um caso de uso Descrição gráfica do fluxo de eventos.
● É essencialmente um diagrama de fluxo que mostra o fluxo de controle de uma
atividade ou ação para outra.
SEL3113 – Engenharia de Software
JCFJ &
Métodos Orientados a Objetos – UML – Diagramas de Atividades 3.47
● Ações constituem atividades primitivas que podem ser compreendidas como a menor
unidade computacional que pode ser apresentada.
● Atividades e Ações podem conter expressões com restrições booleanas que restringem
seu início e término Atividades: <<Precondition>> e <<Postcondition>> e Ações:
<<localPrecondition>> e <<localPostcondition>>.
Atividade p
<<Precondition>> Atividade n
Restrição Booleana
<<Postconditon>>
Atividade m Restrição Booleana
JCFJ
[ delete course ]
Delete Course
[ add course ]
Barra de
Sincronização (Fork)
Check Check
Schedule Pre-requisites
Sentinela
Barra de
[ checks completed ] [ checks failed ] Sincronização (Join)
Assign to Resolve
Course Conflicts
Transição
Update
Schedule
JCFJ
Métodos Orientados a Objetos – UML 3.49
Revisão
● O que é Comportamento do Sistema?
● O que é um Diagrama de Caso de Uso? Quais são seus
benefícios?
SEL3113 – Engenharia de Software
JCFJ
JCFJ
Métodos Orientados a Objetos – UML - Exercício: Sistema de Controle de Pedidos 3.51
JCFJ
Diagrama de Atividades
Caso de Uso
Inserir Cliente
SEL3113 – Engenharia de Software
JCFJ
Bibliografia
● [FK02] Martin Fowler e Kendall Scott, UML Essencial – 2 ª Edição, Bookman, 2002.
● [FOO04] Martin Fowler, UML Essencial – 3 ª Edição, Bookman, 2004.
SEL3113 – Engenharia de Software
JCFJ