Revisão de Conteúdo:UML-Linguagem de

Propaganda
Análise e Projetos de Sistemas
Revisão de Conteúdo
UML-Linguagem de Modelagem Unificada
Professor: Armando Hage
Belém-2008
Resumo da Unidade




Objetivos
Conceitos de Orientação a
Objetos(OO)
Breve Histórico da UML
Diagramas da UML




Diagrama de Caso de Uso
Diagrama de Classes
Diagrama de Sequencia
Conclusão
Objetivos



Apresentar e praticar alguns
principais modelos fornecidos
pela principais modelos
fornecidos pela UML.
Exercícios de modelagem
Exercícios de modelagem.
Praticar algumas situações
típicas de projeto de software
projeto de software.
Referências




Bezerra,Projeto Orientados a Objetos. Campus, 2002.
Booch, G. et al. UML Booch, G. et al. UML Guia do
Usuário. Campus, 2000.
COAD, P.; YOURDON, E. Análise Baseada em Objetos.
2.ed. Rio de Janeiro: Campus, 1996. (005.1 C652a)
DAVIS, William S. Análise e Projeto de Sistemas: uma
abordagem estruturada. Rio de Janeiro: LTC, 1987.
Visão Geral
Desnvolvimento de Software Atualmente



Uso de linguagens de programação
Orientadas a Objeto (OO)
 Delphi, Java, PHP
 Linguagens compactas com
bibliotecas de classes poderosas
Ambientes de programação
Sistemas de Banco de Dados
Relacionais
 Oracle, SQL Oracle, SQL-Server,
mySQL, Firebird, Postgres
Conceitos de OO

Modelos – São representações simplificadas de objetos do mundo real.
 Dados – Como o mesmo é uma simplificação do mundo real, os dados
contidos no modelo são somente os relevantes à abstração do mundo
real.
 Operações – Um modelo contém operações e procedimentos associados
a ele.

Abstração- Uma abstração descreve as características essenciais de uma
entidade que a distingüe de todos os outros tipos de entidades.
 Pessoa como empregado de Empresa
Dados (nome, cargo, salário e horasExtrasTrabalhadas)
Operações(calcularSalário,aumentaSalário)
 Pessoa como paciente de uma clínica médica
Dados(nome,sexo,altura,peso, histórico)
Operações (AdicionaInformaçãoaoHistórico)
Conceitos de OO

Classe


São estruturas das linguagens de programação OO que
contem, para determinado modelo, os dados que
devem ser representados e as operações que devem
ser efetuadas com estes dados. A classe envolve,
associa, funções e dados, controlando o acesso a
estes. Defini-lá implica em especificar os seus
atributos (dados) e seus métodos (funções).
Ex:Interface controladora de um motor elétrico.


Classe:motor
Atributos: temperatura, velocidade, tensão aplicada.
Conceitos de OO
 Objeto ou instância

Representa uma materialização
da classe.
 É um pacote de software
contendo dados e
procedimentos(código)relaciona
do.
 Possui estado,identidade única e
comportamento.
 Abstração de Dados

Processo mental através do qual
nos concentramos nos aspectos
relevantes de um conjunto de
objetos desconsiderando as
suas diferenças.
Conceitos de OO

Na Orientação a Objetos, o mecanismo
principal de abstração é a Classe.
 Uma Classe descreve um conjunto de
Objetos que compartilham características
comuns
 A Classe corresponde à noção de módulo
em um sistema orientado a objetos
 Modularidade é importante pois torna o
projeto de um sistema mais simples e
reutilizável
 Classe “encapsula” dados e operações.
Conceitos de OO
Classificação
Conceitos de OO
Encapsulamento de dados e operação
Conceitos de OO
Encapsulamento de dados e operação
 Encapsulamento de dados e operações
 Ocultamento Ocultamento da Informação da
Informação
 O acesso aos dados internos de objetos só pode
ocorrer a partir de mensagens
 Independência de aplicação
 Um método deve acessar informações internas do
objeto objeto
Conceitos de OO
Encapsulamento de dados e operação
• Lei de Deméter
– Para cada objeto para cada objeto o, e para cada um
dos seus , métodos m, os objetos que podem receber ,
os objetos que podem receber mensagens de o são
• o próprio o próprio o – especificamente especificamente self
e super (em SmallTalk),this (em C++/Java)atributos de
objeto de o
Conceitos de OO
Classificação - Associação de Objetos
Conceitos de OO
Agregação - Um objeto é composto por outro
Conceitos de OO
Generalização/Especialização - Um objeto é composto
por outro
Conceitos de OO
Generalização/Especialização - Um objeto é composto por
outro


É o mecanismo que permite a
uma classe herdar todo o
comportamento e os atributos
de outra classe, adquirindo
imediatamente toda a
funcionalidade de uma classe
existente.
Classe
Uma classe que herda de
C
outra classe é chamada de
subclasse e a classe que
fornece a herança é chamada
de superclasse.
Classe
A
Classe
B
Classe
D
Classe
E
Comparações entre abordagem
imperativas e OO
Paradigma Objetos
 Classes
 Objeto / Instância
 Operação / Método
Paradigma Procedural
 Envio de Mensagem
 Tipos de dados
 Variável
 Função/Procedimento
 Chamada de função
Processo de Software
Top-Down
Processo de Software
Bottom-up
Modelos-Esqueletos de Programas
UML
Unificada Linguagem de Modelagem Unificada




Surgiu para apoiar OO
Evolução a partir de linguagens C++ e
SmallTalk
Anos 80 Anos 80-90: diversidade de autores
Anos 98-2000: unificação em torno de 2000:
unificação em torno de UML.
UML
Unificada Linguagem de Modelagem Unificada
UML
Unificada Linguagem de Modelagem Unificada

Grady Booch



Um dos pioneiros da OO Um dos
pioneiros da OO
1980: ênfase em técnicas de
projeto para Ada
1992-1994: livros



Object Object Design Design
with Applications
Projeto de programas em
C++ e Ada
1998: Fundação da Rational
UML
Unificada Linguagem de Modelagem Unificada

Ivar Jacobson



Modelagem OO baseado
em Casos de Uso
Objectory
Basea-se na
necessidades do usuário,
o objetivo do sistema,
sem preocupações com a
ordem de ocorrência de
cada fato e suas
relações.
UML
Unificada Linguagem de Modelagem Unificada



James Rumbaugh

Object Modeling Modeling(OMT)

Desenvolvida na GE
Metodologia baseada em notações
pré-existentes (ER, DTE, DFD)
Clara distinção entre as três visões do
problema.
UML
Unificada Linguagem de Modelagem Unificada
UML
Unificada Linguagem de Modelagem Unificada



Linguagem visual para especificação
Linguagem(modelagem) de sistemas orientados a
objetos objetos
Fornece representação gráfica para os elementos
essenciais do paradigma de objetos
Classes, atributos, objetos, troca de mensagens, ...
UML
Unificada Linguagem de Modelagem Unificada

De propósito geral

Não está presa a uma etapa do desenvolvimento software



Análise Análise

Projeto Projeto

Implementação

Testes
Ciclo de vida em cascata

Incremental

Processo Unificado
Não está presa a uma linguagem de programação
UML
Unificada Linguagem de Modelagem Unificada

UML apoia o desenvolvimento incremental
UML
Unificada Linguagem de Modelagem Unificada

De propósito geral

Não se prende a nenhuma linguagem de programação
UML
Unificada Linguagem de Modelagem Unificada

Padrão OMG

Toda a documentação disponível em http://www.omg.orgagem

Privilegia a descrição de um sistema segundo três perspectivas:

Dados (estrutural)


Operações (funcional)


Diagrama de Caso de Uso
Eventos (temporal)


Diagrama de Classes
Diagramas de Seqüência, Atividades, de Transição
de Estados de Estados
UML
Unificada Linguagem de Modelagem Unificada

Ferramentas mais utilizadas

Rational Rose -http://www.rational.com

Visual Paradigm - http://www.visual-paradigm.com/

Poseidon - http://www.gentleware.com/index.php

Argo UML - http://argouml.tigris.org/

Umbrello - http://www.umbrello.org/
Download