Upload
pedro-quintairos
View
1.631
Download
1
Embed Size (px)
Citation preview
Para ajudar a proteger sua privacidade, o PowerPoint impediu o download 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
Tópicos:Introdução e histórico
1) Diagrama de Casos de Uso2) Diagrama de Classes3) Diagrama de Seqüência Objetivo: Fornecer uma
int du ã s b UML Unifi d 3) Diagrama de Seqüência4) Diagrama Transição de Estados5) Diagrama de Atividades6) Di d C t
introdução sobre a UML – Unified Modeling Language, através da apresentação dos diagramas mais importantes dessa linguagem de modelagem.
6) Diagrama de Componentes7) Diagrama de Implementação
g
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
2Introdução e históricoUML
Objetivo: Fornecer uma introdução sobre UML – Unified ModelingLanguage, através da apresentação dos diagramas maisimportantes dessa linguagem de modelagem.
Ivar Jacobson, James Rumbaugh e Grandy Booch foram os autoresiniciais 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 comolinguagem 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 oengenheiro de software, ela possui somente a definição dos diagramasrecomendados. 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 deEstados, Diagrama de Atividades, Diagrama de Componentes e Diagrama deImplementação.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
Implementação.
Introdução e históricoUML
Versão que utilizaremos (Setembro/2001 – suportada pelo UML 1 4
UML 1.5 Versão mais recente (março/2003) = UML 1.4.1 + Action Semantics
Versão que utilizaremos (Setembro/2001 suportada pelo OMONDO – www.eclipseuml.com)
UML 1.4
UML 1.3 Junho/1999 (UML User Guide)
UML 1.0 Primeira submissão à OMG – Jan/1997Consórcio ”Parceiros UML”
Outras empresas se juntam ao Consórcio - 1997 UML 1.1
Consórcio Parceiros UML
Junho/1996 UML 0.9
Método de Booch OMT (Rumbaugh) OOSE (Jacobson) Outros métodos
Unified Method 0.8 OOPSLA - 1995
1994
Método de Booch OMT (Rumbaugh) OOSE (Jacobson) Outros métodos
4UML User Guide
Modelagem - princípios
“ d l é l d i id d d “A modelagem é a parte central das atividades do processo de requisitos de um bom desenvolvimento de software.”
A principal finalidade da modelagem é comunicar o di d i i dentendimento que temos do sistema que estamos construindo.
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 é apresentadaapresentada.
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 é
melhor abordado através de um pequeno grupo de modelos
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
p q g pindependentes.
5
C O DE U O M d l f i lid d d i
UC - Use Cases 1) Diagrama de Casos de Uso
CASO DE USO Modela uma funcionalidade do sistema,É descrito sob a forma de interações entre o ator e o sistema.É sempre iniciado por um ator primário e provê algo de valort n í l p ss ttangível para esse ator.Por ser descrito preferencialmente sob a forma textual, ele podeser 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 outro sistema um órgãoPode representar um papel desempenhado, outro sistema, um órgão,que usa o sistema.
At
UC 1
Especificação do Caso de Uso
AtorUC 2
UC 3
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
UC 3
61) Diagrama de Casos de UsoUC - Use Cases
atorcaso de uso relacionamento
Fazer matrícula Apresentar
débitos“estende”
Aluno
Consultar horários
Encerrar matrículas
“inclui”
“inclui”horários
Autenticar
usuário
Secretaria
Fornecer notasProfessor
Sistema de Adm. Cursos
usuário
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
comunicação – a direção indica quem iniciou
UC - Use Cases 1) Diagrama de Casos de Uso
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
82) Diagrama de ClassesObjetos - Classes
O 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.
atributosAlunonome: Nomeendereço: string
d lg
telefone: numériconome da classe
operações
adicionarAlunoobterTodosAlunos
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
operações
92) Diagrama de ClassesObjetos - Classes
multiplicidade
DepartamentoEscolatem temé responsavel por0..1
*
agregaçãomultiplicidade
é b d
1..*1..*
é t ib id
1..*
promoveé membro de
frequenta ministra
0..11..**
é atribuido a
generalizaçãoAluno Curso Instrutor
q
1..****
* *
g
AlunoMatric AlunoAvulso Avaliação
associação
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
10Mensagens 3) Diagrama de Seqüência
Diagrama de Seqüência eDiagrama de Seqüência eDiagrama de Colaboração
Modelam as interações entre os objetos Modelam as interações entre os objetos através das mensagens trocadas entre eles.
A fi lid d é d t ã d • A finalidade é proceder a representação do 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
11Introdução 3) Diagrama de Seqüência
nome do ator
Objeto 1:
Nome da classe
Objeto N:
Nome da classe
nome do atorClasse do ator
1. evento 2. operação
3. operaçãolista de parametros
Texto
4. operaçãolista de parametros
Textodescritivo
lista de parametros5. evento
Possui seqüência temporal; apresenta a linha de vida do objeto e um
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
q p p jretângulo estreito que representa a duração da ação desempenhada.
3) Diagrama de Seqüência12
objeto Acondição
mensagem síncrona
[ ]
objeto B
mensagem
objeto
[se novo]<<create>>
Mensagem(auto delegação)
mensagem
(auto delegação)valor de retornobarra de ativação
símbolo de destruição Tempo(top-down)
<<destroy>>m ç
linha de vida
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
133) Diagrama de Colaboração
3 operação
Faz ênfase à organização do caminho das mensagens e representa a seqüência
3. operação (lista de parâmetros)temporal através da numeração das
mensagens .
Objeto 1:
Nome da classeObjeto 2
1. evento 2. operação
4. operação (lista de parâmetros)
nome do atorClasse do ator
Objeto 3 :Nome da classe
5. operação (lista de parâmetros)
fluxo de objeto
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
14StateChart 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) di i ã d d4) um evento dispara uma transição de estados.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
15DTE 4) Diagrama Transição de Estados
Pilha
Criou pilhaCriar pilha /
Criar nova pilhaMensagem "Pilha criada"
Excluiu pilhaExcluir pilha /Deletar pilha
Mensagem "Pilha excluida"
Retirou elementovazia
f:-
Retirou elementoRetirar /
Colocou elementoIncluir /
Retirar /Mensagem "Pilha vazia"
Pilha carregada
Retirar elementoMensagem "Operação OK"
Retirou elementoRetirar /
Colocou elementoIncluir /
Colocar elementoMensagem "Operação OK"
f:-
Colocou elementoIncluir /
Colocar elemento
Retirar elementoMensagem "Operação OK"
Retirou elementoRetirar /
Retirar elemento
Colocar elementoMensagem "Operação OK"
Pilha cheia
f:-
Colocou elementoIncluir /
Colocar elemento
Colocar elementoMensagem "Operação OK"
Retirar elementoMensagem "Operação OK"
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
f: Colocar elementoMensagem "Pilha cheia"
165) Diagrama de Atividadesactivities
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 de atividade para atividadeseqüencial de atividades, de atividade para atividade.2) é utilizado para especificar e comunicar o encadeamento das
atividades dos usuários quando esses interagem com o sistema.3) s t ifi õ s t és d bif õ s j õ s t és 3) representa ramificações através de bifurcações e junções atravé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)única e somente ocorre na condição de fim do estado (atividade).5) deve ser elaborado 1 diagrama para cada caso de uso.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
175) Diagrama de Atividadesactivities
Atender paciente
Paciente MédicoLaboratório
Consultainício
l l id
raias
Marcar consultaAtender paciente
Prescrever receitaConsulta
Consultaclasse envolvida
bifurcação
[exames sim]
[exames não]
Pedir examesPacientePaciente
Caso de Uso:
ATENDER
Finalizar consulta
atividadePACIENTE
Fazer examesAtualizar exames
Finalizar consulta
barra de sincronizaçãotérmino
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
186) Diagrama de Componentes
- Retrata os componentes de software e suas dependências.
Componente fonte: é tipicamente o arquivo de código fonte deimplementação de uma ou mais classes.
Componente binário: é o código objeto que é resultado dap g j qcompilação de um componente fonte. Ele pode ser um arquivocom o código objeto, uma biblioteca estática ou uma bibliotecadinâ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 té d h daté o andar chamado.
- Documenta o empacotamento físico das classes.- Identifica a alocação dos processos em processadores
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
Identifica a alocação dos processos em processadores.
196) Diagrama de Componentes
Manuseador de Janelas(ManJanel.cpp)
BibliotecaGrafica (BGrafica.dll)
Manuseador de Janelas
(ManJanel.obj)
(ManJanel.cpp)
Manuseador
Manuseador Comum
(ManComum.cpp)
ProgramaCliente (PCliente.exe)
Manuseador Comum
(ManComum.obj)
Classe Principal (Principa.obj)
Classe Principal (Principa.cpp)
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
207) 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>>
: atendimento<<10-T Ethernet>>principal : server
vel.= 300mHz
fechamento.exepagamento.exe
Reserva.exealuguel.exe
vel. 300mHzmem.=128 megas
BD-patins.exeSistPatins.exe
: administração
fechamento exe
<<10-T Ethernet>>
fechamento.exealuguel.exe
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira
21BIBLIOGRAFIA
Booch, Grandy; Jacobson, Ivar; Rumbaugh, James; The Unified Modeling Language User Guide; The Addison-Wesley Object Technology Series, (1999).
P R S E h i d S ft M G Hill H d 6th diti Pressman, R. S.; Engenharia de Software, McGraw-Hill, Hardcover, 6th edition, (2006), ISBN 0-07-28318-2.
Sommerville, I.; Engenharia de Software, 8a edição; Pearson Addison-Wesley(2007) ISBN 978-85-88639-28-7(2007) ISBN 978 85 88639 28 7.
UERJ – CTC/IME – Engenharia de Software 09-1 © Prof. A Padua Oliveira