uml – visão geral - web.fe.up.ptjpf/talks/guarda28mai03/uml overview.pdf · uml – visão geral...
TRANSCRIPT
1UML – Visão geral – v.1.1, Novembro de 2001
UML – Visão Geral
2UML – Visão geral – v.1.1, Novembro de 2001
Índice
n Introdução• O que é a UML?
• Valor da UML
• Origens da UML• Parceiros da UML
n Modelos e diagramas
n Elementos de modelação
n Diagramas• Diagrama de casos de utilização
• Diagrama de classes
• Diagrama de objectos• Diagrama de componentes
• Diagrama de distribuição
• Diagrama de sequência• Diagrama de colaboração
• Diagrama de estados
• Diagrama de actividades
n Referências
3UML – Visão geral – v.1.1, Novembro de 2001
O que é a UML?
n UML = Unified Modeling Language
n UML é uma linguagem (notação com semântica associada) para• visualizar
• especificar• construir
• documentar
os artefactos de um sistema com uma componente intensiva de software (software intensive system)
n UML não é uma metodologia• não diz quem deve fazer o quê, quando e como
• UML pode ser usado segundo diferentes metodologias, tais como RUP (RationalUnified Process), FDD (Feature Driven Development), etc.
n UML não é uma linguagem de programação
4UML – Visão geral – v.1.1, Novembro de 2001
Valor da UML
n É um standard aberto• versão 1.1 aprovada pelo OMG (Object Management Group) em
Novembro de 1997• versão 1.3 aprovada em Junho de 1999
n Suporta todo o ciclo de vida do software• modelação do negócio (processos e objectos do negócio)• modelação de requisitos alocados ao software• modelação da solução de software
n Suporta diversas áreas de aplicação
n É baseado na experiência e necessidades da comunidade de utilizadores
n É suportado por muitas ferramentas
5UML – Visão geral – v.1.1, Novembro de 2001
Booch
Booch method
Meyer
Before and after conditions
Harel
StatechartsGamma, et al
Frameworks and patterns,
HP Fusion
Operation descriptions and message numbering
Embley
Singleton classes andhigh-level view
Wirfs -Brock
Responsibilities
Odell
Classification
Shlaer - Mellor
Object lifecycles
Rumbaugh
OMT
Jacobson
OOSE
Origens da UML
6UML – Visão geral – v.1.1, Novembro de 2001
Parceiros da UML
n Rational Software Corporation
n Hewlett-Packard
n I-Logix
n IBM
n ICON Computing
n Intellicorp
n MCI Systemhouse
n Microsoft
n ObjecTime
n Oracle
n Platinum Technology
n Taskon
n Texas Instruments/Sterling Software
n Unisys
7UML – Visão geral – v.1.1, Novembro de 2001
Modelos e Diagramasn Um modelo é uma representação em pequena escala, numa perspectiva
particular, de um sistema existente ou a criar• Atitude de abstracção (omissão de detalhes) fundamental na construção de um modelo• Modelos são a linguagem por excelência do projectista (designer)
• Modelos são veículos para comunicação com vários interessados (stakeholders )• Modelos permitem raciocinar acerca do sistema real, sem o chegar a construir
n Ao longo do ciclo de vida de um sistema são construídos vários modelos, sucessivamente refinados e enriquecidos
n Um modelo é constituído por um conjunto de diagramas (desenhos) consistentes entre si, acompanhados de descrições textuais dos elementos que aparecem nos vários diagramas
• Um diagrama é uma vista sobre um modelo• O mesmo elemento (exemplo: classe) pode aparecer em vários diagramas de um modelo
n No UML, há nove diagramas standard• Diagramas de visão estática: casos de utilização (use case), classes, objectos,
componentes, distribuição (deployment)
• Diagramas de visão dinâmica: sequência, colaboração, estados (statechart), actividades
8UML – Visão geral – v.1.1, Novembro de 2001
Modelos e Diagramas
Use CaseDiagramsUse Case
DiagramsDiagramas de Casos de Utilização
ScenarioDiagramsScenario
DiagramsDiagramas deColaboração
StateDiagramsState
DiagramsDiagramas de Componentes
ComponentDiagramsComponent
DiagramsDiagramas de Distribuição
StateDiagramsState
DiagramsDiagramasde Objectos
ScenarioDiagramsScenario
DiagramsDiagramas deEstados
Use CaseDiagramsUse Case
DiagramsDiagramas deSequência
StateDiagramsState
DiagramsDiagramas deClasses
Diagramas deActividades
Modelos
9UML – Visão geral – v.1.1, Novembro de 2001
Elementos de Modelação (1)
n Elementos estruturais• classe, interface,
colaboração, caso de utilização, classe activa, componente, nó
Fonte: Grady Boochn Elementos de comportamento
• interacção, máquina de estados
n Elementos de agrupamento• pacote (package), subsistema
n Outros elementos• nota
10UML – Visão geral – v.1.1, Novembro de 2001
Elementos de Modelação (2)
n Relações• Dependência
• Associação
• Generalização
• Concretização (realization)
n Mecanismos de extensibilidade • Estereótipos
• Propriedades (tagged values)
• Restrições (constraints)
Fonte: Grady Booch
Fonte: Grady Booch
11UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Casos de Utilização (Use Case Diagram)n Captura a funcionalidade do sistema tal como é visto pelos
utilizadores
n Construído nos primeiros estágios do desenvolvimento
n Objectivo• Especificar o contexto de um sistema
• Capturar os requisitos funcionais de um sistema
• Validar a arquitectura de um sistema• Dirigir a implementação e gerar casos de teste
n Desenvolvido por analistas e especialistas de domínio
12UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Casos de Utilização(Use Case Diagram)
Fonte: Grady Booch
13UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Classes
n Captura o vocabulário de um sistema
n Construído e refinado ao longo do desenvolvimento
n Objectivo• Nomear e modelar conceitos no sistema• Especificar colaborações
• Especificar esquemas lógicos de bases de dados
n Desenvolvido por analistas, designers e implementadores
14UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Classes
Fonte: Grady Booch
composition
15UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Objectos
n Mostra objectos (instâncias de classes) e ligações (instâncias de associações)
n Construído durante a análise e design
n Objectivo• Ilustrar estruturas de dados/objectos
• Especificar instantâneos (snapshots)
n Desenvolvido por analistas, designers e implementadores
16UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Objectos
Fonte: Grady Booch
17UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Componentes
n Captura a estrutura física da implementação (tipicamente ficheiros)
n Construído como parte da especificação da arquitectura
n Objectivo• Organizar o código fonte
• Construir uma release executável
• Especificar uma base de dados física
n Desenvolvido por arquitectos e programadores
18UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Componentes
Fonte: Grady Booch
19UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Distribuição (Deployment Diagram)n Captura a topologia do hardware de um sistema
n Construído como parte da especificação da arquitectura
n Objectivo• Especificar a distribuição de componentes• Identificar estrangulamentos de desempenho
n Desenvolvido por arquitectos, engenheiros de redes, e engenheiros de sistemas
20UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Distribuição (Deployment Diagram)
Fonte: Grady Booch
21UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Sequência
n Captura comportamento dinâmico (orientado ao tempo)
n Objectivo• Modelar fluxos de controlo
• Ilustrar cenários típicos
22UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Sequência
Fonte: Grady Booch
23UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Colaboração
n Captura comportamento dinâmico (orientado a mensagens)
n Objectivo• Modelar fluxo de controlo
• Ilustrar a coordenação entre estrutura de objectos e controlo
24UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Colaboração
Fonte: Grady Booch
25UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Estados (Statechart Diagram)n Captura comportamento dinâmico (orientado a eventos)
n Objectivo• Modelar ciclo de vida de objectos
• Modelar objectos reactivos (interfaces com o utilizador, dispositivos, etc.)
26UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Estados (Statechart Diagram)
Fonte: Grady Booch
27UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Actividades
n Captura comportamento dinâmico (orientado a actividades)
n Objectivo• Modelar processos de negócio e workflows
• Modelar operações (algoritmos)
28UML – Visão geral – v.1.1, Novembro de 2001
Diagrama de Actividades
Fonte: Grady Booch
29UML – Visão geral – v.1.1, Novembro de 2001
Referências
n Ferramentas de modelação visual • Rational Rose (www.rational.com)• Together (www.togethersoft.com) – disponível nos computadores da FEUP• Platinum Paradigm Plus (www.platinum.com)• Microsoft Visio – disponível no DEEC ao abrigo de protocolo com Microsoft
n Livros• The Unified Modeling Language User Guide, Grady Booch et al, Addison-
Wesley, October, 1998 • UML, Metodologias e Ferramentas CASE, Alberto SIlva e Carlos Videira, Centro
Atlântico, 2001
n Especificações• www.omg.org