O documento apresenta uma introdução à análise orientada a objetos e à evolução das metodologias de desenvolvimento de software. Resume a evolução das linguagens de programação orientadas a objetos ao longo dos anos e explica os principais conceitos e benefícios da abordagem orientada a objetos. Também descreve brevemente as principais metodologias de análise e projeto orientados a objetos como OMT, OOSE, Booch e introduz os conceitos básicos da linguagem UML.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
Processo Unificado de Desenvolvimento de Softwareelliando dias
1) O documento descreve o Processo Unificado de Desenvolvimento de Software (PU), que integra técnicas de modelagem de objetos, casos de uso e engenharia de software.
2) O PU é iterativo e incremental, com fases de concepção, construção, elaboração e transição, visando reduzir riscos e obter aprendizado mais rápido.
3) O método é centrado em casos de uso e arquitetura, com modelos de requisitos, análise, projeto, implementação e teste guiados pelos casos de uso ao longo do
O documento apresenta uma introdução sobre UML (Unified Modeling Language) e modelagem de dados com UML. Discute os tipos de diagramas UML, incluindo diagrama de casos de uso, diagrama de classes e diagrama de objetos. Também aborda conceitos como atores, casos de uso, associações, generalização/especialização, inclusão e extensão.
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
O documento discute o padrão de projeto MVC, descrevendo sua origem e aplicação. Apresenta como o MVC separa a lógica de negócio da interface com o usuário usando um controlador como mediador. Também explica como o cadastro de empresas será remodelado aplicando este padrão para tornar o software mais flexível e reutilizável.
O documento discute metodologias integradas de desenvolvimento de software, abordando:
1) As fases do RUP - Concepção, Elaboração, Construção e Transição;
2) O framework Scrum, com ênfase nas cerimônias como Sprints e Daily Meetings;
3) A importância de seguir as melhores práticas do CMMI para melhoria contínua.
O documento discute metodologias integradas de desenvolvimento de software, abordando:
1) As fases do RUP - Concepção, Elaboração, Construção e Transição;
2) A metodologia ágil SCRUM, incluindo papéis, Sprints e Backlogs;
3) A integração do RUP e SCRUM visando entregas contínuas com qualidade.
Este documento resume os principais conceitos da metodologia Objectory desenvolvida por Ivar Jacobson. Em 1-2 frases:
Objectory é uma metodologia orientada a objetos que descreve todo o ciclo de vida de desenvolvimento de software, dividido em fases de Análise, Projeto, Construção e Teste, com foco nos casos de uso para especificar requisitos.
O documento discute padrões de projeto e anti-padrões. Apresenta padrões arquiteturais, de projeto e comportamentais com exemplos. Também descreve anti-padrões de arquitetura, desenvolvimento e gerência, indicando problemas comuns e soluções. O conhecimento de padrões e anti-padrões permite projetar sistemas de melhor qualidade e evitar surpresas.
A UML é uma linguagem padrão para modelagem de sistemas orientados a objetos. Ela unificou os principais métodos de análise e projeto da época como OMT, Booch e Jacobson. A UML permite visualizar, especificar, construir e documentar sistemas através de diagramas como o diagrama de classes que mostra as classes, atributos, operações e relacionamentos entre classes.
Processo Unificado de Desenvolvimento de Softwareelliando dias
1) O documento descreve o Processo Unificado de Desenvolvimento de Software (PU), que integra técnicas de modelagem de objetos, casos de uso e engenharia de software.
2) O PU é iterativo e incremental, com fases de concepção, construção, elaboração e transição, visando reduzir riscos e obter aprendizado mais rápido.
3) O método é centrado em casos de uso e arquitetura, com modelos de requisitos, análise, projeto, implementação e teste guiados pelos casos de uso ao longo do
O documento apresenta uma introdução sobre UML (Unified Modeling Language) e modelagem de dados com UML. Discute os tipos de diagramas UML, incluindo diagrama de casos de uso, diagrama de classes e diagrama de objetos. Também aborda conceitos como atores, casos de uso, associações, generalização/especialização, inclusão e extensão.
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
O documento discute o padrão de projeto MVC, descrevendo sua origem e aplicação. Apresenta como o MVC separa a lógica de negócio da interface com o usuário usando um controlador como mediador. Também explica como o cadastro de empresas será remodelado aplicando este padrão para tornar o software mais flexível e reutilizável.
O documento discute metodologias integradas de desenvolvimento de software, abordando:
1) As fases do RUP - Concepção, Elaboração, Construção e Transição;
2) O framework Scrum, com ênfase nas cerimônias como Sprints e Daily Meetings;
3) A importância de seguir as melhores práticas do CMMI para melhoria contínua.
O documento discute metodologias integradas de desenvolvimento de software, abordando:
1) As fases do RUP - Concepção, Elaboração, Construção e Transição;
2) A metodologia ágil SCRUM, incluindo papéis, Sprints e Backlogs;
3) A integração do RUP e SCRUM visando entregas contínuas com qualidade.
Este documento resume os principais conceitos da metodologia Objectory desenvolvida por Ivar Jacobson. Em 1-2 frases:
Objectory é uma metodologia orientada a objetos que descreve todo o ciclo de vida de desenvolvimento de software, dividido em fases de Análise, Projeto, Construção e Teste, com foco nos casos de uso para especificar requisitos.
O documento discute padrões de projeto e anti-padrões. Apresenta padrões arquiteturais, de projeto e comportamentais com exemplos. Também descreve anti-padrões de arquitetura, desenvolvimento e gerência, indicando problemas comuns e soluções. O conhecimento de padrões e anti-padrões permite projetar sistemas de melhor qualidade e evitar surpresas.
Este documento discute métricas, estimativas e planejamento para projetos de software orientado a objetos. Ele apresenta métricas comuns como número de classes, casos de uso e subsistemas que podem ser usadas para estimar o esforço de desenvolvimento. Também fornece diretrizes como classificar o tipo de interface do produto e multiplicar o número de classes-chave por um fator para estimar classes de suporte.
Padrões de Projeto de Software Orientado a ObjetosCloves da Rocha
O documento apresenta o tema Padrões de Projeto de Software Orientados a Objetos. Discute a inspiração dos padrões de projeto, o catálogo de soluções conhecido como Gang of Four e o formato de descrição dos padrões. Apresenta o padrão Abstract Factory como exemplo, descrevendo seu objetivo, estrutura, participantes e implementação.
Modelagem Ágil - UML ainda serve para alguma coisa?Jean Hauck
1. O documento discute modelagem ágil (Agile Modeling) e como a abordagem ainda é útil, apesar da percepção de que modelagem não é ágil.
2. Ele apresenta os valores, princípios e práticas da modelagem ágil, incluindo comunicação, simplicidade, feedback, coragem e humildade.
3. O documento mostra como incorporar as práticas da modelagem ágil em um projeto, como visão inicial de arquitetura, modelagem por iteracao e modelagem em tempestades.
O documento descreve o padrão de projeto Abstract Factory. O padrão fornece uma interface para criação de famílias de objetos relacionados sem especificar suas classes concretas, permitindo que sistemas sejam independentes de como seus produtos são criados e representados. O padrão isola classes concretas dos clientes e facilita a troca de famílias de produtos.
O documento descreve o Processo Unificado (PU) de desenvolvimento de software, que é iterativo e adaptativo. O PU divide o desenvolvimento em quatro fases (Concepção, Elaboração, Construção e Transição) e cinco fluxos de trabalho visando produzir sistemas complexos de forma incremental. Cada fase se concentra em aspectos diferentes como requisitos, análise, projeto, implementação e testes.
O documento discute a análise e modelagem de software como parte do desenvolvimento de software. Apresenta os conceitos de análise, projeto, modelagem e tipos de modelos utilizados durante a análise, incluindo modelos de contexto, interação, estrutural e comportamental. Exemplos de diagramas UML são fornecidos para cada tipo de modelo.
O documento descreve a linguagem UML (Linguagem de Modelagem Unificada), incluindo sua origem a partir da união de três métodos de modelagem orientada a objetos e seus principais diagramas. A UML é uma notação gráfica para modelar sistemas orientados a objetos e define diagramas padronizados para visualizar estruturas e comportamentos de sistemas.
O documento apresenta uma introdução aos padrões de projeto de software orientado a objetos. Discute a inspiração dos padrões de Christopher Alexander, o livro "Gang of Four" que catalogou 23 padrões comumente usados e o formato de descrição de cada padrão. Como exemplo, detalha o padrão Abstract Factory, explicando sua motivação, estrutura, participantes e implementação.
Padrões de Projeto de Software Orientado a ObjetosFabio Kon
O documento apresenta uma introdução aos padrões de projeto de software orientado a objetos. Discute a inspiração dos padrões de Christopher Alexander, o livro "Gang of Four" que catalogou 23 padrões comumente usados e o formato de descrição de cada padrão. Apresenta o padrão Abstract Factory como exemplo, descrevendo seu objetivo, estrutura, participantes e implementação.
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Edson Oliveira Junior
A proposta discute uma abordagem formal para o gerenciamento de variabilidades em modelos UML usando a Object Constraint Language (OCL). O trabalho revisa conceitos como linhas de produto de software, diagrama de interação, package merge e OCL e propõe objetivos como estender a abordagem SMarty e aplicar OCL para validar modelos UML no gerenciamento de variabilidade.
Este documento apresenta SQLAlchemy, uma biblioteca Python para mapeamento objeto-relacional. Ele discute bancos de dados relacionais, SQL e como SQLAlchemy fornece uma camada de abstração sobre bancos de dados, permitindo manipulação de dados em Python com objetos. Um exemplo simples ilustra como modelar entidades e relacionamentos em uma aplicação usando SQLAlchemy.
Este documento descreve as principais diferenças filosóficas e práticas entre as metodologias SCRUM e RUP para desenvolvimento de software. SCRUM prioriza o fator humano e a auto-organização em pequenos times, enquanto RUP é mais prescritiva e burocrática. Também discute como cada uma se aplica melhor em diferentes tipos de projetos e contextos organizacionais.
1. O documento descreve os modelos COCOMO e COCOMO II para estimar o esforço e custo de desenvolvimento de software.
2. COCOMO divide-se em três modelos (básico, intermediário e detalhado) que usam equações diferentes para calcular o esforço, tempo e número de desenvolvedores necessários.
3. COCOMO II atualiza o modelo original para lidar com novos padrões de projeto e fatores como reutilização de software existente.
O documento discute a Linguagem de Modelagem Unificada (UML) e seu uso no desenvolvimento de sistemas orientados a objetos. A UML unificou diversas metodologias de modelagem preexistentes e define diagramas e notações padronizadas para modelar requisitos, classes, objetos, comportamentos e outros aspectos de um sistema ao longo das fases de desenvolvimento.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). Apresenta as fases do desenvolvimento de um sistema em UML, incluindo análise de requisitos, análise, design, programação e testes. Também descreve os principais diagramas e elementos da UML como classes, objetos, relacionamentos e diagramas de casos de uso, classes, sequência e atividade.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). A UML foi criada para padronizar a modelagem orientada a objetos, unificando as melhores partes de metodologias existentes como Booch, OMT e OOSE/Objectory. A UML pode ser usada em todas as fases do desenvolvimento de software, desde a análise de requisitos até os testes, e serve para modelar diferentes tipos de sistemas.
O documento apresenta conceitos básicos de lógica de programação. Aborda temas como algoritmos, variáveis, processos, operadores lógicos e linguagem de descrição de algoritmos. Também discute testes de software e estruturas de dados como listas lineares.
Este documento discute métricas, estimativas e planejamento para projetos de software orientado a objetos. Ele apresenta métricas comuns como número de classes, casos de uso e subsistemas que podem ser usadas para estimar o esforço de desenvolvimento. Também fornece diretrizes como classificar o tipo de interface do produto e multiplicar o número de classes-chave por um fator para estimar classes de suporte.
Padrões de Projeto de Software Orientado a ObjetosCloves da Rocha
O documento apresenta o tema Padrões de Projeto de Software Orientados a Objetos. Discute a inspiração dos padrões de projeto, o catálogo de soluções conhecido como Gang of Four e o formato de descrição dos padrões. Apresenta o padrão Abstract Factory como exemplo, descrevendo seu objetivo, estrutura, participantes e implementação.
Modelagem Ágil - UML ainda serve para alguma coisa?Jean Hauck
1. O documento discute modelagem ágil (Agile Modeling) e como a abordagem ainda é útil, apesar da percepção de que modelagem não é ágil.
2. Ele apresenta os valores, princípios e práticas da modelagem ágil, incluindo comunicação, simplicidade, feedback, coragem e humildade.
3. O documento mostra como incorporar as práticas da modelagem ágil em um projeto, como visão inicial de arquitetura, modelagem por iteracao e modelagem em tempestades.
O documento descreve o padrão de projeto Abstract Factory. O padrão fornece uma interface para criação de famílias de objetos relacionados sem especificar suas classes concretas, permitindo que sistemas sejam independentes de como seus produtos são criados e representados. O padrão isola classes concretas dos clientes e facilita a troca de famílias de produtos.
O documento descreve o Processo Unificado (PU) de desenvolvimento de software, que é iterativo e adaptativo. O PU divide o desenvolvimento em quatro fases (Concepção, Elaboração, Construção e Transição) e cinco fluxos de trabalho visando produzir sistemas complexos de forma incremental. Cada fase se concentra em aspectos diferentes como requisitos, análise, projeto, implementação e testes.
O documento discute a análise e modelagem de software como parte do desenvolvimento de software. Apresenta os conceitos de análise, projeto, modelagem e tipos de modelos utilizados durante a análise, incluindo modelos de contexto, interação, estrutural e comportamental. Exemplos de diagramas UML são fornecidos para cada tipo de modelo.
O documento descreve a linguagem UML (Linguagem de Modelagem Unificada), incluindo sua origem a partir da união de três métodos de modelagem orientada a objetos e seus principais diagramas. A UML é uma notação gráfica para modelar sistemas orientados a objetos e define diagramas padronizados para visualizar estruturas e comportamentos de sistemas.
O documento apresenta uma introdução aos padrões de projeto de software orientado a objetos. Discute a inspiração dos padrões de Christopher Alexander, o livro "Gang of Four" que catalogou 23 padrões comumente usados e o formato de descrição de cada padrão. Como exemplo, detalha o padrão Abstract Factory, explicando sua motivação, estrutura, participantes e implementação.
Padrões de Projeto de Software Orientado a ObjetosFabio Kon
O documento apresenta uma introdução aos padrões de projeto de software orientado a objetos. Discute a inspiração dos padrões de Christopher Alexander, o livro "Gang of Four" que catalogou 23 padrões comumente usados e o formato de descrição de cada padrão. Apresenta o padrão Abstract Factory como exemplo, descrevendo seu objetivo, estrutura, participantes e implementação.
Proposta de uma Abordagem Formal para o Gerenciamento de Variabilidades em Mo...Edson Oliveira Junior
A proposta discute uma abordagem formal para o gerenciamento de variabilidades em modelos UML usando a Object Constraint Language (OCL). O trabalho revisa conceitos como linhas de produto de software, diagrama de interação, package merge e OCL e propõe objetivos como estender a abordagem SMarty e aplicar OCL para validar modelos UML no gerenciamento de variabilidade.
Este documento apresenta SQLAlchemy, uma biblioteca Python para mapeamento objeto-relacional. Ele discute bancos de dados relacionais, SQL e como SQLAlchemy fornece uma camada de abstração sobre bancos de dados, permitindo manipulação de dados em Python com objetos. Um exemplo simples ilustra como modelar entidades e relacionamentos em uma aplicação usando SQLAlchemy.
Este documento descreve as principais diferenças filosóficas e práticas entre as metodologias SCRUM e RUP para desenvolvimento de software. SCRUM prioriza o fator humano e a auto-organização em pequenos times, enquanto RUP é mais prescritiva e burocrática. Também discute como cada uma se aplica melhor em diferentes tipos de projetos e contextos organizacionais.
1. O documento descreve os modelos COCOMO e COCOMO II para estimar o esforço e custo de desenvolvimento de software.
2. COCOMO divide-se em três modelos (básico, intermediário e detalhado) que usam equações diferentes para calcular o esforço, tempo e número de desenvolvedores necessários.
3. COCOMO II atualiza o modelo original para lidar com novos padrões de projeto e fatores como reutilização de software existente.
O documento discute a Linguagem de Modelagem Unificada (UML) e seu uso no desenvolvimento de sistemas orientados a objetos. A UML unificou diversas metodologias de modelagem preexistentes e define diagramas e notações padronizadas para modelar requisitos, classes, objetos, comportamentos e outros aspectos de um sistema ao longo das fases de desenvolvimento.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). Apresenta as fases do desenvolvimento de um sistema em UML, incluindo análise de requisitos, análise, design, programação e testes. Também descreve os principais diagramas e elementos da UML como classes, objetos, relacionamentos e diagramas de casos de uso, classes, sequência e atividade.
O documento descreve a Linguagem de Modelagem Unificada (UML), incluindo uma introdução à orientação a objetos, os principais elementos da UML como classes, objetos, atributos, métodos, relacionamentos e herança, e exemplos de como modelar sistemas usando a UML.
O documento discute o desenvolvimento de sistemas utilizando a Linguagem de Modelagem Unificada (UML). A UML foi criada para padronizar a modelagem orientada a objetos, unificando as melhores partes de metodologias existentes como Booch, OMT e OOSE/Objectory. A UML pode ser usada em todas as fases do desenvolvimento de software, desde a análise de requisitos até os testes, e serve para modelar diferentes tipos de sistemas.
O documento apresenta conceitos básicos de lógica de programação. Aborda temas como algoritmos, variáveis, processos, operadores lógicos e linguagem de descrição de algoritmos. Também discute testes de software e estruturas de dados como listas lineares.
3. Prof. Glauco C. M. de Castro
Introdução :
Evolução das Metodologias
Início dos anos 70 : Programação Estruturada
Final dos anos 70 : Análise Estruturada (Tom deMarco,
Gaine) & Projeto Estruturado (Constantine, Meyers...)
Início dos anos 80 : Linguagens Não Procedimentais
Meados dos anos 80 : CASE, Prototipação
1984 : Análise Essencial (McMennamim & Palmer)
1990 : OOA
1991 : OOD
4. Prof. Glauco C. M. de Castro
FORTRAN
ALGOL 60
PASCAL
ADA
MÓDULO 2
OBERON
OBJECT
OBERON
OBJECT
PASCAL
QUICK TURBO
PASCAL
C
C WITH
CLASSES
C++ 1.XX
C++ 2.XX
SIMULA 67
SMALLTALK 72/74/
76/78/80
OBJECTIVE
C
EIFFEL
COBOL
PLI
LISP
FLAVORS
LOOPS
COMMOM
LISP
1960
1970
1980
1990
PROLOG
NEW
FLAVORS
CLOS
Evolução das Linguagens
5. Prof. Glauco C. M. de Castro
Orientação a Objetos
Conceitos básicos de programação são antigos
• SIMULA – 1967/69
• Smalltalk – 1974/80
• C++ - 1985/93
• Java
Análise e Projeto – anos 90
• OMT, UML, RUP, padrões, componentes...
• MDA
Encapsulamento
Classes
Tipo abstrato de dados
Herança
Polimorfismo
- Janelas
Tipos parametrizados
Eficiência
Portabilidade
Padronização
Ferramentas
Metodologia
Uniformização de representação da
análise até a implementa,cão
6. Prof. Glauco C. M. de Castro
Introdução :
Análise Estruturada X Essencial X OOA
Top-Down
3 componentes
Criação de uma
Notação
Lógico x Físico
Particionamento
Eventos
Evolução da Ana.
Estruturada
Utilização da Notação
anterior
Verdadeiro X Falso
Elemento agregador :
Objetos
7. Prof. Glauco C. M. de Castro
Ataca complexidade elegantemente e gera fácil adaptabilidade
. . .
Produtividade
Reuso
“O valor da TO (APOO, POO) está fundamentalmente na sua
capacidade de lidar com problemas complexos e criar sistemas
compreensíveis e gerenciáveis, que podem acompanhar uma
complexidade crescente e ser facilmente adaptáveis—se
habilidosamente projetados.” (Craig Larman)
Por que a Tecnologia de Objetos?
A produtividade se sobressai nas fases de
manutenção ou modificação do sistema —
freqüentemente com mudanças
profundamente mais rápidas, se o sistema
foi habilidosamente projetado.
8. Prof. Glauco C. M. de Castro
Introdução :
Benefícios da utilização da OO
•Maior compreensão do domínio do problema
•Auxilia na interação entre o Analista e o
especialista do domínio do negócio
•Reduz a distância entre as fases de Análise,
Projeto e Implementação
•Reutilização dos resultados da Análise
9. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Metodologias OO
Booch
OMT
OOSE
Fusion
Coad/Yourdon
10. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Booch
Várias versões
Sistema analisado por visões
Vários diagramas por visão
Notação extensa e complicada
Macro e Micro visões do sistema
11. Prof. Glauco C. M. de Castro
UML - Visão Geral:
OMT
General Electric - James Rumbaugh
Processo e notação simples
Metodologia mais utilizada para S.I.
Dicas de projeto, como modelagem de
concorrência em sistemas e arquitetura
12. Prof. Glauco C. M. de Castro
UML - Visão Geral:
OOSE/Objectory
Ivar Jacobson
Baseadas em Use-Cases (Casos de Uso)
Use-Cases acompanham todo o ciclo de
desenvolvimento
Também usado para Reengenharia de
Processos de Negócio
13. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Fusion
Hewlett-Packard
Considerado um método da segunda geração
Melhorou várias idéias das metodologias da 1a
Geração
Utiliza um grande número de modelos
14. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Coad/Yourdon - OOA/OOD
Pioneiro
Simples e fácil de aprender
Bom para introdução da OO
Muito limitado, só suportando o desenvolvimento
de sistemas simples e pequenos
15. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Unified Modeling Language - UML
30
Creating the UML
Booch method OMT
Unified Method 0.8
OOSE
Other methods
UML 0.9
public
feedback
Finalsubmission toOMG, Sep ‘97
First submissionto OMG,Jan ´97
UML 1.1
OMG Acceptance, Nov 1997
UML 1.3
UML 1.0
UML partners
UML 1.5
UML 2.0
16. Prof. Glauco C. M. de Castro
Linguagem
“A linguagem é o veículo pelo qual expressamos o
nosso pensamento” [WULF 77]
A notação matemática levou mais de três mil anos
para chegar ao que é hoje:
• Antigo Egito
– “Ah, o seu inteiro, sua terça parte, perfazem 16”
• Hoje
– x + x/3 = 16
17. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Linguagem de Modelagem
Booch, Rumbaugh e Jacobson
Linguagem, não método
Baseada principalmente na OMT, Booch e OOSE
Inclui conceitos de diversas metodologias, inclusive
Padrões de Projeto (Design Patterns - Gang of four)
Padrão OMG (Nov. 1997)
Atualmente na versão 2.0
18. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Linguagem de Modelagem
UML uma linguagem destinada a :
Visualizar
Especificar
Construir
Documentar
Comunicação
Criar modelos
precisos
Migração para
uma LP
Toda a arquitetura
do sistemas
19. Prof. Glauco C. M. de Castro
Sistema de Computação
Processo do Negócio
Order
Item
Ship via
“A Modelagem captura o essencial
para o sistema.”
Dr. James Rumbaugh
Visual Modeling é a
modelagem utilizando
notações gráfica
padronizadas
UML - Visão Geral:
O Que é Modelagem Visual ?
20. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Modelagem Visual é uma Ferramenta de
Comunicação
Utilize modelagem visual para capturar objetos do negócio
Utilize a Modelagem Visual para analisar e projetar a aplicação
21. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Objetivos
Modelagem de sistemas utilizando conceitos de OO
(não software também)
Estabelecer uma associação explícita entre o
conceitual e a implementação
Permitir a escalabilidade inerente a sistemas
complexos e críticos para a missão
Ser utilizável por homem e máquina
22. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Propósitos
Prover uma linguagem de modelagem visual potente e significativa,
que represente os conceitos básicos de modelagem aceitos por
vários métodos e ferramentas
Prover mecanismos de extensão e especialização que permitam a
ampliação dos conceitos básicos
Ser independente de linguagem de programação e de processo de
desenvolvimento
Prover uma base formal para entendimento da linguagem de
modelagem
Incentivar o mercado de ferramentas OO
Suportar conceitos de desenvolvimento de alto nível, bem como
conceitos como colaboração, framework, padrões e componentes
Incorporar as “Melhores Práticas”
23. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Aplicação
Sistemas de Informação
Sistemas Técnicos
Sistemas de Tempo-Real
Sistemas Distribuídos
Softwares Básicos
Sistemas de Negócio (Estratégicos)
Reengenharia de Processos (BPR)
24. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Arquitetura de 4 camadas
• Esta arquitetura proporciona a definição da semântica
requerida em modelos complexos.
• É uma arquitetura base para futuras extensões da UML
• As 4 Camadas :
•meta-metamodelo
•metamodelo
•modelo
•objetos dos usuários
25. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Elementos da Linguagem
Linguagem de Modelagem
Elementos :
•Visões
•Diagramas
• Itens do Modelo
•Mecanismos Básicos
26. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Visões
Diferentes aspectos do sistema a ser modelado
Modelo completo só através de várias visões
Também servem para associar a linguagem de
modelagem ao processo escolhido
Metodologias diferentes usam os diagramas para
compor diferentes visões
27. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Diagramas
Gráficos que descrevem o conteúdo de uma visão
9 tipos de diagramas
Uma visão pode ser composta por vários diagramas
28. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Diagramas
•Use Case
•Classes
•Objetos
•Estado
•Seqüência
•Colaboração
•Atividades
•Componentes
•Distribuição
(Implantação)
} Estáticos
} Dinâmicos
}Interação
} Implementação
Estático
Estático
} Implantação
29. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões e Diagramas
Diagramas
de
Caso de Uso
Diagramas
de
Colaboração
Diagramas
de
Componentes
Diagramas
de
Implantação
Diagramas
de
Objetos
Diagramas
de
Estado
Diagramas
de
Sequência
Diagramas
de
Classes
Diagramas
de
Atividade
Modelos
30. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Visões (Exemplo 1)
VISAO
DE
PROJETO
VISÃO
DO
PROCESSO
VISÃO
DA
IMPLEMENTAÇÃO
VISÃO
DA
IMPLANTAÇÃO
VISÃO
DE
CASO DE USO
•diagrama de
Classes/Objetos
•diag. Interação e
Estados
Diag. Classes e
Interação
diag. componentes
e diagramas
dinâmicos
diag. distribuição e
diagramas dinâmicos
diag.casos de uso e
diag de atividades
31. Prof. Glauco C. M. de Castro
Uma visão representa um aspecto
específico do sistema.
UML - Visão Geral:
UML - Visões (Exemplo 2)
Estruturais
• Estática
• Caso de Uso
• Implementação
• Implantação
Dinâmicas
• Máquinas de Estado
• Atividade
• Interação
Gerencial
• Modelo Gerencial
32. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Estruturais
Visão: Estática
Diagrama: Classes
Principais Conceitos:
Classe, Associação,
Generalização,
Dependência, Interface
33. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Estruturais
Visão: Casos de Uso
Diagrama: Casos de Uso
Principais Conceitos:
Caso de Uso, Ator,
Associação, Estende,
Inclui, Generalização de
Caso de Uso
<<inclui>>
34. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Estruturais
Visão: Implementação
Diagrama: Componentes
Principais Conceitos:
Componente, Interface,
Dependência
35. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Estruturais
Visão: Implantação
Diagrama: Implantação
Principais Conceitos: Nó,
Componente,
Dependência, Local
36. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Dinâmicas
Visão: Máquina de Estado
Diagrama: Estados
Principais Conceitos:
Estado, Evento,
Transição, Ação
37. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Dinâmicas
Visão: Atividades
Diagrama: Atividades
Principais Conceitos:
Estado, Atividade, União,
Bifurcação, Decisão
38. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Dinâmicas
Visão: Interação
Diagrama: Seqüência
Principais Conceitos:
Interação, Objeto,
Mensagem
39. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visões Dinâmicas
Visão: Interação
Diagrama: Colaboração
Principais Conceitos:
Colaboração, Interação,
Papel da Colaboração,
Mensagem
40. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Visão Gerencial
Diagrama: Classes
Principais Conceitos:
Pacote, subsistema e
modelo
41. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Itens de Modelagem
Diagramas usam elementos para representar
conceitos
Um item de modelagem pode ser usado em vários
diagramas, sempre com a mesma representação
Tipos de Itens
• Estruturais - classe, interface, colaboração, caso de uso,
componente, nó ...
• Comportamentais - interação, máquinas de estados ...
• Agrupadores - pacote, subsistema ...
• Anotacionais - nota
42. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Pacote
Mecanismo de propósito geral para organizar
elementos em modelos, de maneira que você
possa entender e utilizar com maior facilidade
Um pacote pode conter : Classes, Interfaces,
Componentes, Nós, Casos de Uso, Diagramas e
até outros Pacotes
Podemos utilizar Generalização
43. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Pacote
Representados como uma pasta com uma guia
Regras de
Acesso
+ CadastrarAluno
Secretaria
- EmitirGradeEscolar
Secretaria::Regras de Acesso
{Versão 1.2}
45. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Mecanismos Básicos
Provêem comentários, informação e semântica aos
elementos do modelo
Provêem mecanismos de extensão da linguagem,
permitindo sua adaptação a uma metodologia
específica ou a necessidades de organizações
46. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Mecanismos Básicos
Especificações
Adornos
Divisões Comuns
Mecanismos de Extensibilidade :
• Estereótipos,
• Valores Atribuídos e
• Restrições
47. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Especificações
Cada elemento de modelagem da UML é apenas
uma representação visual / notação gráfica de
uma especificação textual da sintaxe e
semântica deste elemento
Evolução Bottom-Up das metodologias de
Análise :LPOO => AOO
48. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Especificações
OCL pode ser usada para vários propósitos:
•Para especificar estereótipos nas classes e tipos no modelo de classes
•Para descrever pré e pós condições
•Para descrever condições de guarda
•Como uma linguagem de navegação
•Para especificar restrições
Object Constraint Language - OCL
context Company inv:
self.numberOfEmployees > 50
49. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Especificações
Linguagem utilizada para representar o comportamento do
modelo
Action Specification Language - ASL
Customer
new_customer = create Customer
delete my_customer
my_account = find-only Account where no = 42
50. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Adornos
Itens gráficos ou visuais acrescentados a um
elemento de modelagem e empregados para
visualização gráfica de detalhes a partir de uma
especificação do elemento
Exemplos :
• Notas
• Indicadores de encapsulamento (#,-,+)
• Compartimento extra
51. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Adornos
Indicadores de
encapsulamento
(#,-,+)
52. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Adornos
Indicadores de
encapsulamento
(#,-,+)
53. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Adornos
•Não possui impacto semântico.
•Representa restrições ou comentários
anexados aos itens de modelagem
SECRETARIA
Matricular.exe
ControlarTransferencias.exe
Aluno.dll
Professor.dll
Notas
Compartimentos Extras
54. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Adornos
Notas
55. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Divisões Comuns
Separações na notação gráfica para representar
a dicotomia entre classes/objetos ou
interface/implementação
CLIENTE => classe cliente
:CLIENTE => objeto anônimo da classe cliente
UmCliente:CLIENTE => objeto explícito da classe cliente
UmCliente => objeto implícito da classe cliente
(indicado na especificação)
56. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Mecanismos de Extensibilidade
O estereótipo cria
um novo elemento
da UML com
propriedades
especiais, conjunto
próprio de valores
atribuídos, notação
(ícone próprio) e
semântica
(restrições próprias)
Estereótipo <<CONTROLLER>>
PENTRACKER
<<CONTROLLER>>
PENTRACKER
PENTRACKER
PENTRACKER
57. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Mecanismos de Extensibilidade
Estereótipo
58. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Mecanismos de Extensibilidade
Estereótipo
59. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Valores Atribuídos
Acrescentam novas propriedades a um elemento
de modelagem, porém não criam novos como os
estereótipos.
É representado como uma seqüência de
caracteres (nome (etiqueta) , separador (=) e um
valor) entre chaves, colocado abaixo do nome
60. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Valores Atribuídos
61. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Valores Atribuídos
62. Prof. Glauco C. M. de Castro
UML - Visão Geral:
Restrições
Adicionar uma nova semântica ou modificar
regras já existentes;
A representação : seqüência de caracteres entre
chaves;
A UML possui uma linguagem formal OCL
(Object Constraint Language), para representar
as restrições.
64. Prof. Glauco C. M. de Castro
UML - Visão Geral:
UML - Considerações
A UML é bastante completa e extensa
Aproximadamente 40% da linguagem cobre 98%
das necessidades de um projeto comum