Para ajudar a proteger sua priv acidade, o PowerPoint impediu o automático desta imagem externa. Para baixar e exibir esta imagem, clique em Opções na Barra de Mensagens e clique em Habilitar conteúdo externo.
Orientação a Objetos – Resumo da UML
1) 2) 3) 4) 5) 6) 7)
Tópicos: Introdução e histórico Diagrama de Casos de Uso Diagrama de Classes Diagrama de Seqüência Diagrama Transição de Estados Diagrama de Atividades Di Diagrama d de C Componentes t Diagrama de Implementação
UERJ – CTC/IME – Engenharia de Software 09-1
Objetivo: Fornecer uma int du ã ssobre introdução b a UML – Unified Unifi d Modeling Language, através da apresentação dos diagramas mais importantes dessa linguagem de modelagem. g
© Prof.
A Padua Oliveira
UML
Introdução e histórico
Objetivo: Fornecer uma introdução sobre UML – Unified Modeling Language, através da apresentação dos diagramas mais importantes dessa linguagem de modelagem.
Ivar Jacobson, James Rumbaugh e Grandy Booch foram os autores iniciais que unificaram três “métodos”: a OOSE, a OTM e o método Booch.
Em 1997 a Object Management Group (OMG), definiu a UML como linguagem padrão para a modelagem OO. [site oficial Æ http://www.uml.org/ ]
UML não é um método. Ela não possui um fluxo de trabalho para orientar o engenheiro de software, ela possui somente a definição dos diagramas recomendados. O método associado é denominado Rational Unified Process.
Principais diagramas utilizados pela UML são: Diagrama de Casos de Uso, Diagrama de Classes, Diagrama de Seqüência, Diagrama Transição de Estados, Diagrama de Atividades, Diagrama de Componentes e Diagrama de Implementação. UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
2
UML
Introdução e histórico
Versão mais recente (março/2003) = UML 1.4.1 + Action Semantics
UML 1.5 UML 1.4 14
Versão que utilizaremos (Setembro/2001 – ada pelo OMONDO – www.eclipseuml.com)
UML 1.3
Junho/1999 (UML Guide) Outras empresas se juntam ao Consórcio - 1997 Primeira submissão à OMG – Jan/1997 Consórcio ”Parceiros Parceiros UML UML” Junho/1996
OOPSLA - 1995
Outros métodos
UML 1.1
UML 1.0 UML 0.9
Unified Method 0.8
Método de Booch 1994
OMT (Rumbaugh)
OOSE (Jacobson)
UML Guide
Modelagem - princípios
“ modelagem “A d l é a parte centrall das d atividades i id d do d processo de requisitos de um bom desenvolvimento de software.” Î A principal finalidade da modelagem é comunicar o entendimento di que temos d do sistema i que estamos construindo. i d Î A principal finalidade do software é atender as necessidades dos usuários e do negócio. 1) A escolha de quais modelos criar tem grande influência sobre como um problema é atacado e como a solução é apresentada. apresentada 2) Qualquer modelo pode ser expresso por diferentes níveis de precisão. 3) Os melhores modelos são os conectados a realidade. 4) Um único modelo não é suficiente. Um sistema complexo é pequeno q grupo g p de modelos melhor abordado através de um p independentes. UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
4
UC - Use Cases
1) Diagrama de Casos de Uso
CASO C O DE USO U O Æ Modela M d l uma funcionalidade f i lid d do d sistema, i É descrito sob a forma de interações entre o ator e o sistema. É sempre iniciado por um ator primário e provê algo de valor t n í l para tangível p esse ss ator. t Por ser descrito preferencialmente sob a forma textual, ele pode ser utilizado com a idéia de contrato e para a comunicação entre os “stakeholders”. stakeholders . Um caso de uso é formado por cenários de sucesso e de fracasso. ATOR Æ Abstração do ambiente externo do sistema. Pode representar um papel desempenhado, desempenhado outro sistema, sistema um órgão, órgão que usa o sistema. UC 1
At Ator Especificação do Caso de Uso
UC 2
UC 3
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
5
UC - Use Cases
1) Diagrama de Casos de Uso caso de uso
Fazer matrícula
relacionamento
“estende”
6
ator
Apresentar débitos
Aluno Encerrar matrículas
Consultar horários “inclui” “inclui” Professor
Fornecer notas
Autentica r usuário
Sistema de . Cursos comunicação – a direção indica quem iniciou UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
Secretaria
UC - Use Cases
1) Diagrama de Casos de Uso
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
Objetos - Classes
2) Diagrama de Classes
Mostra classes, interfaces, colaborações e relacionamentos. O diagrama de classes: 1) envolve a modelagem do vocabulário do sistema. 2) faz a modelagem da visão estática do sistema. 3) instâncias de objetos são povoadas na classe desse objeto. 4) um objeto encapsula suas informações e seu comportamento. Aluno d classe l nome da
atributos
nome: Nome endereço: string g telefone: numérico adicionarAluno obterTodosAlunos operações
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
8
Objetos - Classes
2) Diagrama de Classes
9 multiplicidade
agregação
0..1
tem Escola
1..*
1..*
é responsavel tem por
Departamento 1..* promove
é membro b d de
generalização g
é atribuido t ib id a 1..*
*
frequenta q Aluno
* AlunoMatric
*
ministra
*
* AlunoAvulso
0..1
Curso
*
1..* associação
Avaliação
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
Instrutor
Mensagens
3) Diagrama de Seqüência
Diagrama de Seqüência e Diagrama de Colaboração Modelam as interações entre os objetos através das mensagens trocadas entre eles. •
A finalidade fi lid d é proceder d a representação t ã do d funcionamento do sistema e, assim, encontrar alguma omissão cometida nos modelos anteriores.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
10
Introdução
3) Diagrama de Seqüência
11
Objeto 1:
Objeto N:
Nome da classe
Nome da classe
nome do ator Classe do ator 1. evento
2. operação
3. operação lista de parametros
Texto descritivo
4. operação lista de parametros 5. evento
Possui seqüência q temporal; p apresenta p a linha de vida do objeto j e um retângulo estreito que representa a duração da ação desempenhada. UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
3) Diagrama de Seqüência
objeto A
condição
[[se novo]] <
>
mensagem síncrona
objeto B
objeto
mensagem Mensagem barra de ativação
valor de retorno
(auto delegação)
m de destruição ç símbolo
Tempo (top-down)
<<destroy>> linha de vida
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
12
3) Diagrama de Colaboração Faz ênfase à organização do caminho das mensagens e representa a seqüência temporal através da numeração das mensagens .
1. evento
Objeto 1:
3. operação 3 (lista de parâmetros)
2. operação Objeto 2
Nome da classe
nome do ator Classe do ator
4. operação (lista de parâmetros) 5. operação (lista de parâmetros) Objeto 3
fluxo de objeto
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
:Nome da classe
13
StateChart
4) Diagrama Transição de Estados
O DTE é utilizado para modelar o aspecto dinâmico dos casos de uso e para mapear o ciclo de vida de objetos. 1) representa, como uma máquina de estados, o ciclo de vida de um objeto importante para o sistema ou o comportamento de um caso de uso. 2) é utilizado também para construir o software. 3) um estado é uma situação “estática” (do objeto ou do UC) que somente será alterada se alguma condição for ativada (por um evento externo ou por uma necessidade de resposta temporal). 4) um evento dispara di uma transição i ã de d estados. d 5) só inicie seu diagrama após identificar a maioria dos estados e das transições TRANSIÇÃO: Ã é um relacionamento de mudança entre dois estados, provocada por um evento pré-determinado. ESTADO: é uma situação ou condição na vida de um objeto.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
14
DTE
4) Diagrama Transição de Estados Excluiu pilha Excluir pilha / Deletar pilha Mensagem "Pilha excluida"
Criou pilha Criar pilha / Criar nova pilha Mensagem "Pilha criada"
Pilha vazia f:Colocou elemento Incluir / Colocar elemento Mensagem "Operação OK" Retirou elemento Retirar / Retirar elemento Mensagem "Operação OK"
Retirou elemento Retirar / Mensagem "Pilha vazia" Retirou elemento Retirar / Retirar elemento Mensagem "Operação OK"
Pilha carregada f:-
Colocou elemento Incluir / Colocar elemento Mensagem "Operação OK"
Colocou elemento Incluir / Colocar elemento Mensagem "Operação OK" Retirou elemento Retirar / Retirar elemento Mensagem "Operação OK"
Pilha cheia f:f:
Colocou elemento Incluir / Colocar elemento Mensagem "Pilha cheia"
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
15
activities
5) Diagrama de Atividades
O Diagrama de Atividades também é utilizado para modelar aspectos dinâmicos do sistema. O diagrama de atividades: 1) é essencialmente um fluxograma que modela o fluxo de controle seqüencial de atividades, atividades de atividade para atividade atividade. 2) é utilizado para especificar e comunicar o encadeamento das atividades dos usuários quando esses interagem com o sistema. 3) representa s t ramificações ifi õ s através t és d de bif bifurcações õ s e junções j õ s através t és de barras de sincronização. 4) é um tipo de diagrama de transição de estados onde a transição é única e somente ocorre na condição de fim do estado (atividade). (atividade) 5) deve ser elaborado 1 diagrama para cada caso de uso.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
16
5) Diagrama de Atividades
activities
Laboratório
Paciente
Médico
17 raias
início classe l envolvida l id Consulta
Atender paciente Marcar consulta
bifurcação
Caso de Uso: ATENDER PACIENTE
Consulta
Prescrever receita [exames não] [exames sim]
Paciente
Paciente
Pedir exames
atividade Finalizar consulta Fazer exames Atualizar exames
término
barra de sincronização
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
6) Diagrama de Componentes
18
- Retrata os componentes de software e suas dependências. Componente fonte: é tipicamente o arquivo de código fonte de implementação de uma ou mais classes. Componente p binário: é o código g objeto j que é resultado da q compilação de um componente fonte. Ele pode ser um arquivo com o código objeto, uma biblioteca estática ou uma biblioteca dinâmica. Componente executável: é um arquivo de programa executável que é resultado da “link-edição” de componentes binários ( estático, na hora de link, ou dinâmico, na hora de executar). um elevador até té o andar d chamado. h d - Documenta o empacotamento físico das classes. processadores - Identifica a alocação dos processos em processadores. UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
6) Diagrama de Componentes
19
Manuseador de Janelas (ManJanel.p) Manuseador de Janelas (ManJanel.obj) BibliotecaGrafica (BGrafica.dll)
Manuseador Comum (ManComum.p) Manuseador Comum (ManComum.obj)
ProgramaCliente (PCliente.exe) Classe Principal (Principa.p) Classe Principal (Principa.obj)
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
7) Diagrama de Implementação - Mostra a configuração de nós de processamento em tempo de execução e os componentes de software que existem nesses nós.
: caixa
<<10-T Ethernet>>
fechamento.exe pagamento.exe
principal : server
<<10-T Ethernet>> : istração
<<10-T Ethernet>>
vel. 300mHz vel.= mem.=128 megas BD-patins.exe SistPatins.exe
fechamento.exe fechamento exe aluguel.exe
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
: atendimento Reserva.exe aluguel.exe
20
BIBLIOGRAFIA
21
Booch, Grandy; Jacobson, Ivar; Rumbaugh, James; The Unified Modeling Language Guide; The Addison-Wesley Object Technology Series, (1999). Pressman, R. P R S.; S Engenharia E h i d de Software, S ft M G McGraw-Hill, Hill H Hardcover, d 6th edition, diti (2006), ISBN 0-07-28318-2. Sommerville, I.; Engenharia de Software, 8a edição; Pearson Addison-Wesley (2007) ISBN 978 978-85-88639-28-7 85 88639 28 7.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira