Você está na página 1de 127

Linguagem de Modelagem Unificada

UML - Linguagem de UML Modelagem Unificada

Autor: Rildo F. Santos (rildosan@uol.com.br)

By Matheus at 1:13 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML

Contedo
Parte 1: - Introduo a Orientao a Objeto Parte 2: - Introduo a UML Parte 3: - Diagramas da UML Parte 4: - Estudo de Caso - Exerccio Apndices: - Notao UML - UML 2.0

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML

Palavra inicial

A UML padro de mercado (www.omg.org/uml) que representa as melhores prticas da engenharia de software em modelagem de software; A UML permite que desenvolvedores visualizem o software atravs modelos e de um conjunto de diagramas; A modelagem visual facilita o entendimento e a comunicao do 'qu' precisa ser feito e 'como' deve ser feito o software; Os diagramas oferecem a padronizao, que necessria quando trabalhamos com grandes equipes de desenvolvedores ou com fornecedores; Neste treinamento apresentaremos todos os diagramas, elementos e a semntica da Linguagem de Modelagem Unificada; O treinamento: Comea sendo demonstrado uma introduo a orientao a objetos com objetivo de fazer um alinhamento de conhecimento da Orientao a Objetos. Depois apresentado a UML, semntica e todos os diagramas (da verso 1.5) Tambm ser exibido em estudo de caso com propsito de mostrar como feito a modelagem visual de software com UML. Ser utilizada uma ferramenta de modelagem visual para ajudar o aprendizado da UML.
By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML

Introduo a Orientao a Objetos


Objetivo desta parte: apresentar e discutir uma introduo a Linguagem de Modelagem Unificada verso 1.5.
Copyright Rildo Ferreira, e-tecnologia.com, 2009
By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Introduo a Orientao a Objetos
Os sistemas projetados atualmente so maiores, mais complexos e sujeitos a constantes alteraes e adaptaes aos diversos ambientes computacionais. Atravs do encapsulamento de informaes, a reutilizao de esforos empregados em projetos anteriores e a modificao do sistema se tornaram mais fceis. Orientao a Objetos: Um problema sempre define ou est contido em um domnio (sujeito a leis da fsica, da matemtica, do direito, do mercado financeiro e por ai a fora). Assim a primeira resposta a buscar no desenvolvimento de um sistema em computao a construo de um modelo que coloque em termos de algoritmos o domnio da aplicao. Pensando num modelo de objetos, numa abordagem de alto nvel de abstrao h trs fases:

Metodologia

Anlise Orientao a Objetos


Anlise: Discute o porque, o que (com quais informaes e para quais servios) se deve fazer

Projeto e Modelagem

UML
Projeto: O Como fazer, de forma a ficar manutenvel;

Implementao

Linguagem Java
O mapeamento em linguagem processvel pelo computador

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Introduo a Orientao a Objetos
O Mtodo Orientao a Objetos A metodologia Orientao a Objetos baseada em noes, consideradas intuitivas ao ser humano, tais como: objetos e atributos, classes e membros, estruturas e componentes, ao e reao. Os mtodos de desenvolvimento de software anteriores ao surgimento desse paradigma organizam a especificao de um sistema de acordo com suas funes ou com os dados manipulados. Geralmente, esses mtodos apresentam dificuldades na transio da representao do sistema em uma fase para outra do processo de desenvolvimento (da Anlise para o Projeto e, do Projeto para a Implementao). Em um sistema orientado a objetos, os dados e todas as operaes (funes), que manipulam esses dados, so agrupados em uma nica estrutura: os objetos. Desde o incio do desenvolvimento desses sistemas e, em todas as suas fases, o analista trabalha com o mesmo elemento de abstrao, os objetos.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Classe

O que uma Classes? Uma classe descreve um conjunto de objetos com propriedades e comportamentos semelhantes e com relacionamentos comuns com outros objetos As classes so as partes mais importantes de qualquer sistema orientada a objetos. Usamos as classes para capturar o vocabulrio do sistema que est em desenvolvimento. Essas classes podem incluir abstraes que so parte do domnio do problema, assim como as classes que fazem uma implementao. Podemos usar ainda as classes para representar itens de software, de hardware e at itens que sejam somente conceituais. Exemplo: A classe Pessoa dever ter atributos e mtodos comuns

Nome da Classe
Pessoa Nome Idade GetNome GetIdade

Atributos Mtodos

Os nome devero ser identificadores nicos em conjunto de classes, este devem ser substantivos. Exemplo: Produto. Tipos de Classes: Classe Concreta Classe Abstrata

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Classe
Exemplo: A classe Pessoa. Classe concreta.

public class Pessoa { //Atributos private String nome; private int idade; //mtodos public String getNome(){ return nome; } public void setNome(String nome){ this.nome = nome; } public int getIdade(){ return idade; } public void setIdade(int idade){ this.idade = idade; } }

Exemplo de diagrama de classe usando Rational Rose (notao Unified)

Classe Concreta: Uma classe que tem assinatura e a implementao de mtodos.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Objetos
O que so Objetos ? So qualquer coisa na natureza que possua propriedades (caractersticas) e comportamentos (operaes). Exemplo: uma pessoa, uma co e etc Orientao a Objetos: O termo orientao a objetos significa organizar o mundo real como uma coleo de objetos que incorporam estrutura de dados e um conjunto de operaes que manipulam estes dados. Estrutura de um objeto Objetos combinam propriedades (atributos) e comportamentos (operaes ou mtodos).

Exemplos de Objetos: Objeto: Pessoa Propriedades


Bonita Jovem Inteligente

Comportamentos
Andar Correr Falar Chorar Danar

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Mtodos
Mtodos so os comportamentos ou as funes do objeto. A declarao feita da seguinte forma: < modificador > < tipo de retorno > < nome > ( < lista de argumentos > ) < bloco > < modificador > -> segmento que possui os diferentes tipos de modificaes inclundo public, protected, private e default (neste caso no precisamos declarar o modificador). < tipo de retorno > -> indica o tipo de retorno do mtodo. < nome > -> nome que identifica o mtodo. < lista de argumentos > -> todos os valores que sero passados como argumentos. Exemplos: public void somaDias (int dias) { } private int somaMes(int ms) { } protected String getNome() { } int getAge(double id) { } public class CalculaData { private int day, month, year; public float calcDays(int age ) { return 365.25F * age; } }

mtodo

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

10

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Atributos e variveis (Linguagem Java)
Os atributos so pertencentes a classe, eles podem ser do tipo primitivo ou referncia (objetos), os seus modificadores podem ser: public, private, protected ou default. O ciclo de vida destes atributos esto vinculados ao ciclo de vida da classe. Variveis Locais: So definidas dentro dos mtodos. Elas tm o ciclo de vida vinculado ao ciclo do mtodo, tambm so chamadas de variveis temporrias

public class Disciplina { private int cargaHoraria; private String nome; public Disciplina(String nome, int cargaHoraria){ this.nome = nome; this.cargaHoraria = calcCargaHoraria(cargaHoraria); } public String getNome(){ return nome; } public int getCargaHoraria(){ return cargaHoraria; } public int calcCargaHoraria(int qdeHoras) { int horasPlanejamento = (int) ( qdeHoras * 0.1); return cargaHoraria = horasPlanejamento + qdeHoras; } }

Atributos

Modificador

Variveis temporrias

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

11

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Abstrao de Dados:
Para discutirmos sobre classes abstratas necessrio falarmos sobre a abstrao de dados. O que abstrao? Podemos dizer abstrao generalizao. Qual a funo da abstrao ? A funo da abstrao capturar as propriedades e os comportamentos essenciais, como se fosse uma fatorao, desta forma determina-se o que importante e o que no .

Aeronave

Mamfero

Caa

Helicptero Passageiros

Vaca

Urso

Cavalo

As classes Aeronave e Mamfero neste caso so abstratas e ambas representam um domnio.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

12

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Abstrao de Dados: Classes Abstratas
Uma classe abstrata uma classe que: Prov organizao No possui instances Possui uma ou mais operaes (mtodos) abstratas

Pessoa getNome()

Classe Abstrata

Pessoa Fsica getNome()


Classe concreta

Pessoa Jurdica getNome()

Uma operao abstrata s determina a existncia de um comportamento no definindo uma implementao. Classes Abstratas - Exemplo:

Funcionrio

Classe Abstrata

Analista

Programador

Classe concreta

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

13

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Relacionamento
Ao construir as abstraes, descobrimos que so poucas as classes que trabalham sozinhas. Em vez disso, a maioria das classes colaboram com outras classes de vrias maneiras. Portanto, quando estamos modelando, devemos identificar as classes, atributos, mtodos e relacionamentos. Existem alguns tipos principais de relacionamentos entre classes e objetos: Herana Agregao Veja a definio de relacionamento:

Um relacionamento a conexo entre itens. representado graficamente como um caminho, que tem tipos diferentes de linhas para distinguir os tipos de relacionamentos. Exemplo: Hierarquia de Classes
SuperClasse

Pessoa

SubClasses

Terceiro

Aluno

Funcionrio

Professor Autnomo

Pessoal Operacional

Professor

Pessoal Administrativo

Relacionamento: 1 - Pessoa a SuperClasse de Terceiro, Aluno e de Funcionrio, estas so subclasse de Pessoa. 2 - Terceiro e Funcionrio so SuperClasse de Professor e Pessoal Administrativo e de Professor Autnomo e Pessoal Operacional respectivamente. E estas so subclasse de Terceiro e Funcionrio.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

14

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Herana
Herana o mecanismo pelo qual elementos mais especficos incorporam a estrutura e comportamento de elementos mais gerais, Uma classe derivada herda a estrutura de dados e mtodos de sua classe base, mas pode seletivamente: adicionar novos mtodos estender a estrutura de dados redefinir a implementao de mtodos j existentes Uma classe pai proporciona a funcionalidade que comum a todas as suas classes derivadas, filhas, enquanto que uma classe derivada proporciona a funcionalidade adicional que especializa seu comportamento. Exemplo:

Curso Universitrio extends Graduao Ps-Graduao extends

Especializao
Hierarquia de Classes

Extenso

Podemos dizer que Graduao tipo de Curso Universitrio, assim como Curso de Especializao ou de Extenso.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

15

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Herana
Exemplo: Implementao- Pessoa, Aluno, Terceiro, Funcionrio
public abstract class Pessoa { protected String idPessoa; protected int idade; protected String nome; public Pessoa(String nome) { this.nome = nome; } public abstract String getNome(); public void setidPessoa() { } public abstract int getIdade(); public void setIdade(int idade) {} }

public class Terceiro extends Pessoa{ private int codigoTerceiro; public Terceiro(String nome) { super(nome); } public int getIdade() { return 0; } public String getNome() { return ""; }; }

public class Aluno extends Pessoa{ public Aluno(String nome) { super(nome); } public int getIdade() { return 0; } public String getNome() { return ""; }; }

public class Funcionario extends Pessoa{ private int codigofuncionario; public Funcionario(String nome) { super(nome); } public int getIdade() { return 0; } public String getNome() { return ""; }; }

Professor Professor Autnomo Pessoal Operacional

Pessoal Administrativo

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

16

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Herana
Exemplo de Herana: Implementao: ProfessorAutonomo, PessoalOperacional, Professor e Pessoal Administrativo
Pessoa

Terceiro

Aluno

Funcionrio

public class ProfessorAutonomo extends Terceiro{ public ProfessorAutonomo( String nome) { super(nome); } }

public class Professor extends Funcionario{ public Professor( String nome) { super(nome); } }

public class PessoalOperacional extends Terceiro{ public PessoalOperacional( String nome) { super(nome); } }

public class PessoalAdministrativo extends Funcionario{ public PessoalAdministrativo( String nome) { super(nome); } }

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

17

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Herana Mltipla
A herana mltipla quando uma classe tem mais que uma Superclasse associada e que herde as caractersticas de todas elas. Veja a figura abaixo: Superclasse <<interface>> Mamfero

Pessoa

Superclasse

Pessoa Fsica

Pessoa Jurdica

Relacionamento: Pessoa Fsica tipo de pessoa, mas tambm mamfero. Na linguagem Java: A Herana mltipla somente permitida por contrato, neste caso a Mamfero uma Interface, podemos dizer que tipo especial de classe, que no pode ter mtodos implementados, apenas as assinaturas. <<interface>> Mamfero Interface: O que interface ? Interface um contrato entre o cliente, que pode ser classe concreta ou abstrata, e a interface. Este contrato garantia que o mtodos assinados na interface sero implementados na classe cliente. Nota: Na interface tambm podemos declarar constantes (public static final). interface Product { String getName (); double getCost (); }

Exemplo de Interface

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

18

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Herana Mltipla
Exemplo: Implementao da classe Pessoa, PessoaFisica e PessoaJuridica e a interface Mamifero

public abstract class Pessoa { protected String idPessoa; protected int idade; protected String nome; public Pessoa(String nome) { this.nome = nome; } public abstract String getNome(); public abstract int getIdade(); public void setIdade(int idade){ }

public interface Mamifero { final int qdeOlhos=2; public int getQdePernas(); }

extends implements extends


public class PessoaJuridica1 extends Pessoa { public PessoaJuridica1(String nome) { super(nome); } public int getIdade() { return 0; } public String getNome() { return ""; }; }

public class PessoaFisica1 extends Pessoa implements Mamifero { public PessoaFisica (String nome) { super(nome); } public int getQdePernas(){ return 2; } public String getNome(){ return ; } public int getIdade(){ return 0; } }

Exerccio: 1 - Podemos implementar a herana mltipla na Classe Pessoa? Por que ? 2 - Por que somos obrigado a assinar ou implementar os mtodos da Interface Mamifero na classe PessoaFisica

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

19

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Encapsulamento
uma proteo adicional dos dados do objeto de possveis modificaes imprprias, forando o acesso a um nvel mais baixo para tratamento do dados. Operaes/mtodos/interface pblica Classe Empregado e mtodo getSalario

Dados/Atributos/propriedades privada

O atributo salario

public class Empregado { private private double double salario; salario; public Empregado(){ salario=0.00; } public double getSalario(){ return this.salario; } }

O atributo salario somente poder ter um valor atribudo ou alterado, atravs de mtodo pblico.

Atravs do mtodo getSalario, que tem modificador public, podemos manipular ou recuperar o valor do atributo salario.

Encapsulamento (data hiding)


Encapsulamento definido como uma tcnica para minimizar dependncias entre mdulos atravs da definio de interfaces externas. Tambm conhecido como: O fenmeno da caixa preta

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

20

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Encapsulamento
A interface (pblica) de um objeto declara todas as operaes permitidas (mtodos) public class Empregado { private private double double salario; salario; public Empregado(){ salario=0.00; } public double getSalario(){ return this.salario; } }

public class Gerente1 extends Empregado { private double bonus = .15; public double getSalario(){ //referncia ao mtodo getSalario return super.getSalario() + (super.getSalario()*this.bonus); } } Todo o acesso aos dados do objeto feito atravs da chamada a uma operao (mtodo) da sua interface. Encapsulamento - Benefcios - Segurana: Protege os atributos dos objetos de terem seus valores corrompidos por outros objetos. - Independncia: Escondendo seus atributos, um objeto protege outros objetos de complicaes de dependncia de sua estrutura interna

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

21

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Polimorfismo
Definio: Polimorfismo uma operao que pode assumir mltiplas formas, a propriedade segundo o qual uma operao pode comportar-se diferentemente em classes diferentes (Rumbaugh) O polimorfismo o responsvel pela extensibilidade em programao orientada a objetos.

overloading

Polimorfismo

overriding

Overloading: Possibilidade de reso do nome do mtodo para diferentes implementaes, em tempo de execuo, a aplicao, escolher o mtodo adequado para cada chamada, veja o exemplo. TesteSoma Soma somar(int a, int b) somar(float a, float b) somar(char a, char b) somar(long a, long b))

Para cada tipo de dados existe um mtodo, o reso do nome do mtodo permitido, entretanto a lista de argumentos deve ser diferente, veja o exemplo acima: o mtodo somar definido vrias vezes, entretanto com a lista de argumentos diferente , desta forma evitaremos problemas como ambigidade.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

22

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Polimorfismo Overrinding - Exemplo:
Empregado setSalario() getSalario()

Engenheiro getSalario()

Gerente getSalario()

Secretria getSalario()

Diretor getSalario() O mtodo setSalario herdado da Superclasse (Empregado), entretanto para cada cargo (tipo de empregado) ele tem uma implementao diferente. Por exemplo: - Para Engenheiro e Secretria salrio = (Dias Trabalhados x Valor hora) - Para Gerente salrio = (Dias Trabalhados x Valor hora) + Bnus - Para Diretor salrio = (Dias Trabalhados x Valor hora) + Bnus + Participao nos lucros. public class EmpregadoExemplo { private double salario; public void setSalario(int diastrabalhados, double valorhora ){ this.salario = diastrabalhados * valorhora * 8; public class Engenheiro extends } EmpregadoExemplo { public double getSalario(){ public static void main(String args[]) return this.salario; { } Engenheiro eng = new Engenheiro(); eng.setSalario(22, 35.00); System.out.println(eng.getSalario()); } }

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

23

Linguagem de Modelagem Unificada


UML
Orientado a Objetos
Polimorfismo
Overrinding Uma subclasse pode mudar o comportamento herdado da Superclasse, ou seja, um mtodo herdado poder ser alterado. Veja o exemplo abaixo: Conta Bancria getSaldo()

Conta Corrente getSaldo()

Conta Poupana getSaldo()

Investimentos getSaldo()

O mtodo getSaldo herdado da Superclasse (Conta Bancria), entretanto para cada tipo de Conta ele tem uma implementao diferente. Por exemplo: - Para apurar o saldo da Conta Corrente saldo atual = (soma dos depsitos + saldo anterior) - saques Para a conta poupana seria saldo atual = (soma dos depsitos + saldo anterior + juros) - saques Para a conta de investimentos seria saldo atual = (soma dos aplicaes + saldo anterior + juros) - resgates - ir Exerccio: Faa a implementao das classes acima.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

24

Linguagem de Modelagem Unificada


UML

Introduo a UML
By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

25

Linguagem de Modelagem Unificada


UML
Introduo a UML Viso 4 + 1

Viso de Projeto
Funcionalidade Vocabulrio

Viso da Implementao

Codificao Montagem

Viso de Caso de Uso Viso da Viso do Implantao Processo


Desempenho Escalabilidade Throughput Topologia do Sistema Distribuio Instalao

Conceitual

Fsico

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

26

Linguagem de Modelagem Unificada


UML
Introduo a UML Viso 4 + 1
Viso de Caso de Uso A viso do caso de uso abrange os casos de usos que descrevem o comportamento do sistema conforme visto pelos seus usurios finais, analista e pessoal de teste. Essa viso no especifica realmente a organizao do sistema de softwasre. Porm , ela existe para especificar as foras que determinam a forma da arquitetura do Sistema. Com a UML, os aspectos estticos dessa viso so representados em diagramas de caso de uso, enquanto os aspectos dinmicos so representados em diagrama de interao., diagrama de grfico de estados e diagrama de atividades

Viso de Processo A viso de projeto de um sistema abrange as classes e colaboraes que formam o vocabulrio do problema e de sua soluo. Essa perpectiva proporciona principalmente um suporte para os requisitos

funcionais do sistema, ou seja, os servios que o sistema dever


fornecer a seus usurios finais. Com a UML, os aspectos estticos dessa viso so captados em diagramas de classes e de objetos; os aspectos dinmicos so captados em diagramas de interaes, de estados e de atividades.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

27

Linguagem de Modelagem Unificada


UML
Introduo a UML Viso 4 + 1
Viso de Processo A viso do processo abrange os threads e os processos que formam os mecanismos de concorrncia e de sincronizao do sistema. Essa

viso tem com objetivo principal tratar questes de desempenho,


escalabilidade e ao throughput do sistema. Com a UML, os aspectos estticos e dinmicos dessa viso so capturados nos mesmos tipos de diagrama da viso do projeto, mas o foco voltado para as classes ativas que repesentam esses threads e processos.

Threads = Linhas de execuo em paralelos, estas linhs podem ser programas ou parte.

Viso de Implementao A viso de implementao de um sistema abrange os componentes e os arquivos utilizados para a montagem e fornecimento do sistema fsico. Essa viso envolve principalmente o gerenciamento da configurao das verses do sistema, compostas por componentes e arquivos de alguma maneira independentes, que podem ser reunidos de diferentes formas para a produo de um sistema executvel.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

28

Linguagem de Modelagem Unificada


UML
Introduo a UML Viso 4 + 1
Viso de Implantao A viso do implantao de um sistema abrange os ns que formam a topologia de hardware em que o sistema executado. Essa viso

direciona principalmente a distribuio, o fornecimento e a instalao


das partes que constituem o sistema fsico. Com a UML, os aspectos estticos dessa viso so representados em diagrmas de implantao; os aspectos dinmicos so capturados em diagramas de interaes, de grfico de estados e diagramas de atividades.

Cada uma dessas vises pode ser considerada isoladamente, permitindo que diferentes participantes orientem seu foco para os aspectos da arquitetura do sistema que mais lhes interessem. Essas cincos vises tambm interagem entre s, por exemplo: Os ns na viso de implantao contm componentes da viso de implementao que, por sua vez, representa a realizao fsica de classes, interfaces, colaboraes e classes ativas provenientes das vises de projeto e de processo.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

29

Linguagem de Modelagem Unificada


UML
Introduo a UML
Desenvolvimento de Software Estrutura:

Anlise de Requisitos

Comportamento externo Comportamento interno Estrutura Implementao

Casos de Uso

Seqncia (eventos)

Colaborao

Classes

Distribuio

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

30

Linguagem de Modelagem Unificada


UML
Introduo a UML

Produtos dos Workflows de Requisitos e de Anlise: Documento de Viso Requisitos Especificao de Requisitos (Casos de Uso) Modelo Conceitual ou Modelo de Domnio Anlise Vocabulrio do Sistema

Arquitetura

Modelo de Arquitetura Inicial

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

31

Linguagem de Modelagem Unificada


UML
Introduo a UML

Produtos dos Workflows de Projeto


Diagrama de Seqncia / Colaborao Diagrama de Atividades*

Projeto
Diagrama de Estados* Diagrama de Classes (Refinado)

* se necessrio
By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

32

Linguagem de Modelagem Unificada


UML
Introduo a UML

Produtos dos Workflows de Arquitetura

Diagrama de Componentes Diagrama de Distribuio(Deployment)

Arquitetura

Modelo de Arquitetura

* se necessrio
By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

33

Linguagem de Modelagem Unificada


UML
Introduo a UML
Por que fazer a modelagem?
Com a modelagem, alcanamos alguns objetivos: 1 - Os modelos ajudam a visualizar o sistema como ele ou como desejamos que seja 2 - Os modelos permitem especificar a estrutura ou o comportamento de um sistema 3 - Os modelos proporcionam um guia para a construo do sistema 4 - Os modelos documenta o sistema Construmos modelos para compreender melhor que estamos desenvolvendo

O Que Modelagem Visual?

Modelagem Visual significa modelar com a utilizao de notaes padro. Precisamos adotar uma ferramenta, uma notao e linguagem para tal empreitada. UML (Linguagem de Modelagem Unificada) a linguagem de modelagem das mais populares do momento. Mas podemos optar por usar OMT, por exemplo.

A Modelagem captura as partes essenciais do sistema. (Rumbaugh)

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

34

Linguagem de Modelagem Unificada


UML
Introduo a UML O Que Modelagem Visual? Modelagem visual significa modelar com a utilizao de notaes padro. Precisamos adotar uma ferramenta, uma notao e linguagem para tal empreitada. UML (Linguagem de Modelagem Unificada) a linguagem de modelagem das mais populares do momento. A UML (Linguagem de Modelagem Unificado) padro mantido pelo OMG (www.omg.org/uml).

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

35

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML? A UML (Linguagem de Modelagem Unificada) uma linguagem-padro para elaborao da estrutura de projetos de software. A UML poder ser usada para: Visualizao Especificao Construo de modelos e diagramas Documentao. A UML adequada para a modelagem de sistemas, cuja a abrangncia poder incluir sistemas de informao corporativos a serem distribudos a Aplicao baseadas em Web e at sistemas complexos embutidos de tempo real. A UML apenas uma linguagem e, portanto, somente uma parte de um mtodo para desenvolvimento de software. Ela independente do processo, apesar de ser perfeitamente utilizada em processo orientado a casos de usos, centrado na arquitetura, iterativo e incremental.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

36

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagramas*

ESTTICOS
. Diagrama de Classes . Diagrama de Objetos . Diagrama de Componentes . Diagrama de Distribuio Modela a estrutura do sistema

DINMICOS . Diagrama de Casos de Uso . Diagramas de Interao - Diagrama de Seqncia - Diagrama de Colaborao . Diagrama de Atividade . Diagrama de Estados

Modela o comportamento do sistema

Nota: diagramas da verso 1.5


By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

37

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
A UML linguagem para documentao A construo de software produz todos os tipos de artefatos alm do cdigo executvel. Estes artefatos incluem o seguinte: - Requisitos - Arquitetura - Projeto - Cdigo-Fonte - Planos de Projeto - Teste - Prottipos - Verses A UML abrange a documentao da arquitetura do sistema e de todos os seus detalhes. A UML tambm proporciona uma linguagem para expresso de requisitos e para realizao de testes. Por fim, a UML oferece uma linguagem para modelagem das atividades de planejamento do projeto e de gerenciamento de verses. Onde a UML pode ser utilizada ? A UML se destina principalmente a construo de software complexos. Atualmente sendo empregada largamente na construo de Sites de E-commerce e E-business

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

38

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML O Vocabulrio da UML abrange trs tipos de blocos de construo: - Itens - Relacionamentos - Diagramas - Itens, Existem quatro tipos de itens na UML Itens estruturais: So os substantivos utilizados em modelos da UML. So as partes mais estticas do modelo, representando elementos conceituais ou fsicos. Primeiro, as classes so descries como conjuntos de objetos que compartilham os mesmos atributos, operaes, relacionamento e semntica.

Nome Atributos Mtodos

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

39

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Itens (continuao), Segundo, uma interface uma coleo de operaes que especificam servios de uma classe ou componente. Portanto, uma interface descreve o comportamento externamente visvel desse elemento. Uma interface poder representar todo o comportamento de uma classe ou componente, como tambm apenas parte do comportamento. A interface define um conjunto de especificaes de operaes (assinaturas), mas nunca um conjunto de implementaes de operaes.

Calculo
Terceiro, as colaboraes definem interao e so sociedades de papis e outros elementos que funcionam em conjunto para proporcionar um comportamento cooperativo superior soma de todos os elementos. Portanto, as colaboraes contm dimenses estruturais, assim como comportamentais. As colaboraes representam a implementao de padres que formam um sistema .

Cadeia de Responsabilidade

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

40

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Itens (continuao), Quarto, um caso de uso a descrio de conjunto de sequncia de aes realizadas pelo sistema que proporciona resultados observveis de valor para um determinado ator. Um caso de uso utilizado para estruturar o comportamento de itens em um modelo. Um caso de uso realizado por uma colaborao.

FazerPedido

Quinto, as classes ativas so classes cujos os objetos tm um mais processos ou threads e, portanto, podem iniciar a atividade de controle. Uma classe ativa semelhante a um classe, exceto pelo fato de que seus objetos representam elementos cujo o comportamento concorrente com o outros elementos.

ControlEvent start() sleep()

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

41

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Itens (continuao), Sexto, os componentes so partes fsicas e substituveis de um sistema, que proporcionam a realizao de um conjunto de interfaces.Tipicamente os componentes representam, o pacote fsico de elementos lgicos diferentes, como classes, interfaces e colaboraes.

Component.java

Stimo, um n elemento fsico existente em tempo de execuo que representa um recurso computacional, geralmente com pelo menos alguma memria e, frequentemente, capacidade de processamento. Exemplo de ns: - Computadores (estaes clientes e servidores) - Redes - Roteadores

Servidor

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

42

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Itens Comportamentais So parte dinmicas dos modelos de UML. So os verbos de um modelo, representado comportamento no tempo e espao. Ao todo, existem dois tipos de itens comportamentais: Primeiro, um interao um comportamento que abrange um conjunto de mensagens trocadas entre um conjunto de objetos em determinado contexto para realizao de propsitos especficos. As interaes envolvem outros elementos, inclusive mensagens, sequncia de aes (os comportamentos chamados pelas mensagens) e ligaes (as conexes entre os objetos)

Mostrar
Segundo, uma mquina de estado um comportamento que especifica as sequncias de estados pelas quais objetos ou interaes passam durante sua existncia em resposta a eventos, bem como suas respostas a esses eventos. O comportamento de classe ou de uma colaborao pode ser especificado por meio de uma mquina de estados. Uma mquina de estados abrange mais elementos, tais como, transies (o fluxo de um estado a outro evento), evento (itens que disparam uma transio) e atividades (as respostas s transies).

Aguardando

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

43

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Itens de Agrupamentos Os itens de agrupamento so partes organizacionais dos modelos de UML. So os blocos em que os modelos podem ser decompostos. Ao todo, existe apenas um tipo principal de itens de agrupamento chamado de pacotes. Um pacote mecanismo de propsito geral para a organizao de elementos em grupos. Os itens estruturais, os itens comportamentais e at outros itens de grupos podem ser colocados em pacotes. Ao contrrio dos componentes (que existem em tempo de execuo), um pacote puramente conceitual (o que significa que existe apenas em tempo de desenvolvimento.

Aplicao
Interface de Usurio Regras de Negcios

Controle

- Itens Anotacionais Itens anotacionais so as partes explicativas dos modelos UML. So comentrios, includos para descrever, esclarecer e fazer alguma observao sobre qualquer elemento do modelo. Existe apenas um item anotacional chamado nota

Imprimir Recibo

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

44

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML - Relacionamentos Existem quatro tipos de relacionamentos na UML: 1 - Dependncia 2 - Associao 3 - Generalizao 4 - Realizao Esses relacionamentos so blocos relacionais bsicos de construo da UML. O primeiro dependncia um relacionamento semntico entre dois itens, nos quais a alterao de um (o item independente) pode afetar a semntica do outro (o dependente). Sua representa linha tracejada, possivelmente com setas e ocasionalmente incluindo um rtulo.

O segundo associao um relacionamento estrutural que descreve um conjunto de ligaes, em que as ligaes so conexes entre objetos. A agregao um tipo especial de associao, representando um relacionamento estrutural entre o todo e suas partes. representada por uma linha slida, possivelmente direcionadas, ocasionalmente includo rtulos e freqentemente, contendo outros adornos, como nomes de papis e multiplicidade.

empregador

Pessoa
funcionrio 0..1

Empregador

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

45

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Blocos de construo da UML O terceiro a generalizao um relacionamento de especializao e generalizao, nos quais os objetos dos elementos especializados (os filhos) so substituveis por objetos do elemento generalizados (os pais). Dessa forma, os compartilham a estrutura e comportamento dos pais.

Mdico

generalizao

especializao

Clinico Geral

Pediatra

O quarto a realizao um relacionamento semntico entre classificadores, em que um classificador especifica um contrato que outro classificador garante executar. Os relacionamentos de realizao so encontrados em dois locais: entre interface e as classes ou componentes que as realizam; entre casos de uso e as colaboraes que os realizam.

Place order

colaborao

Order management

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

46

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Reviso Blocos de construo da UML

O Vocabulrio da UML abrange trs tipos de blocos de construo: - Itens - Relacionamentos - Diagramas
- Itens, Existem quatro tipos de itens na UML Itens estruturais: So os substantivos utilizados em modelos da UML. So as partes mais estticas do modelo, representando elementos conceituais ou fsicos.
Primeiro, as classes so descries como conjuntos de objetos que compartilham os mesmos atributos, operaes, relacionamento e semntica. Segundo, uma interface uma coleo de operaes que especificam servios de uma classe ou componente. Terceiro, as colaboraes definem interao e so sociedades de papis e outros elementos que funcionam em conjunto para proporcionar um comportamento cooperativo superior soma de todos os elementos.

Quarto, um caso de uso a descrio de conjunto de sequncia de aes realizadas pelo sistema que proporciona resultados observveis de valor para um determinado ator.
Quinto, as classes ativas so classes cujos os objetos tm um mais processos ou threads e, portanto, podem iniciar a atividade de controle

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

47

Linguagem de Modelagem Unificada


UML
Introduo a UML
O Qu a UML?
Reviso
Sexto, os componentes so partes fsicas e substituveis de um sistema, que proporcionam a realizao de um conjunto de interfaces. Stimo, um n elemento fsico existente em tempo de execuo que representa um recurso computacional

- Itens Comportamentais So parte dinmicas dos modelos de UML. So os verbos de um modelo, representado comportamento no tempo e espao. Ao todo, existem dois tipos de itens comportamentais:
Primeiro, interao um comportamento que abrange um conjunto de mensagens trocadas entre um conjunto de objetos em determinado contexto para realizao de propsitos especficos. Segundo, uma mquina de estado um comportamento que especifica as sequncias de estados pelas quais objetos ou interaes passam durante sua existncia em resposta a eventos, bem como suas respostas a esses eventos.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

48

Linguagem de Modelagem Unificada


UML

Diagramas da UML
By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013 By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

49

Linguagem de Modelagem Unificada


UML
Introduo a UML
Casos de Uso
O que so Caso de Uso? So diagramas de que permitem visualizar, especificar e documentar o comportamento de um elemento. Esses diagramas fazem com que sistema, subsistemas e classes fiquem acessveis e compreensveis, por apresentarem uma viso externa sobre como esses elementos podem ser utilizados no contexto. Definio: Caso de Uso uma descrio de um conjunto de seqncias de aes, inclusive variantes, que um sistema pode produzir um resultado de valor observvel por um ator. A representao grfica uma elipse. Elementos dos Caso de Uso: Ator: Um ator representa um conjunto coerente de papis que os usurios de casos de uso desempenham quanto interagem com esses casos de uso. Geralmente um ator representa um papel, que pode ser de pessoa, de um sistema ou de um dispositivo. Cenrios: Podemos definir os cenrios como uma instncia de um Caso de uso. O caso de uso deve ser descrito atravs de cenrios. Devem ser construdos tantos cenrios quantos forem necessrios para se entender completamente todo o sistema. Podem ser considerados como teste informais para validao dos requisitos do sistema.

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

50

Linguagem de Modelagem Unificada


UML
Introduo a UML
Casos de Uso
Diagramas de Caso de Uso e Extenses
Pedir lista dos matriculados Sistema de cobrana

Professor Matrcula nos Cursos Selecionar curso para ensinar

Aluno

Manter informao de aluno

Manter informaes dos cursos

Gerente Manter informao de professor Gerar catalogo

Generalizao: Entre casos de uso parecida generalizao existente entre as classes. No caso de uso a generalizao significa que o caso de uso filho herda o comportamento e o significado do caso de uso pai; o filho poder acrescentar ou sobrescrever o comportamento de seu pai; poder ser substitudo em qualquer local qual o pai aparea. Include: Quando voc estiver se repetindo em dois ou mais caso de uso separados devemos evitar a repetio Extends: Quando estivermos descrevendo uma variao em comportamento normal, entretanto, querendo fazer uma descrio mais controlada, explicando os pontos de extenso no caso de uso. Realizes: Especifica a colaborao entre os casos de uso Use (obsoleto): Especifica que a semntica do elemento de origem depende da semntica da parte pblica do destino

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

51

Linguagem de Modelagem Unificada


UML
Introduo a UML
Casos de Uso
Descrio dos Cenrios:
Nome Descrio Objetivo Atores AutenticarSenha Autenticar Senha Identificar o usurio, autenticar senhas e autorizar acesso. Usurio

Papis: Funcionrio Administrativos, Alunos e Professores Usurio cadastro no sistema senhas, Usurio no estar logado Pr Condio Dados Entrada Entrada: Cdigo do usurio e senha de acesso Sada: Autorizao para uso (Pasta de Acesso) ou uma mensagem de alerta e Sada Sequncia de troca mensagens Ator Sistemas 1. Usurio chama uma interface Registro 2. Usurio informa seu cdigo e sua senha. 3. Usurio requisita autenticao dos dados informados. 4. Aplicativo processa a autenticao da senha, faz a identificao do usurio. Verificar se usurio tem o status de Liberado. 5. Conferir se senha no est expirada. 6. Conferir se senha informada coincide com a senha gravada. 7. Retornar uma mensagem e uma assinatura. 8 Usurio recebe a mensagem, ou seja, a autorizao Pasta de Acesso, formatada de acordo sua interface. Curso Alternativo (Exceo): Ator

Sistemas 4. Usurio com status de bloqueado. Retornar mensagem de alerta/erro 5. Senha expirada. Retornar mensagem de alerta/erro (O usurio dever trocar a senha ver case de uso AlterarSenha) 6. Senha no confere. Retornar mensagem de alerta/erro de senha invlida. Registrar a quantidade de tentativas sem sucesso, caso seja igual a 5 (limite de tentativas) o sistema bloquear o usurio, mudando o status de liberado para bloqueado automaticamente.

Ps Condio Interfaces

Autorizao (Pasta de acesso) Registro

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

52

Linguagem de Modelagem Unificada


UML
Introduo a UML
Casos de Uso
Descrio dos Cenrios: Regras de Negcios Regras de Negcios: Autenticao: A senha ser validada, seguindo as regras de negcios de Autenticao de Senha: 1 - O usurio deve estar cadastrado no Aplicativo; 2 - A senha no pode estar expirada; 3 - O usurio deve ter um status de Liberado; 4 - A senha informada (criptografada) deve coincidir com senha gravada na tabela de senhas. Autorizao 5 - Somente o usurio detentor da senha poder altera-l

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

53

Linguagem de Modelagem Unificada


UML
Introduo a UML
Casos de Uso - Identicao de Atores
Ator Os atores no so parte do sistema - eles representam qualquer um e qualquer coisa que faa interao com sistema. Podendo ser uma pessoa, software, hardware e etc. Uma ator pode: - Apenas fornecer informaes ao sistema - Apenas receber informaes ao sistema - Fornecer e receber informaes ao sistema Tipicamente os atores so identificados nas declaraes de problemas ou atravs de entrevistas com os usurios e outros analistas envolvidos no processo, como, Analista de Sistema e Analista de Negcio, por exemplo. As seguintes questes podem ser usadas para identificar o atores: - Onde o sistema ser usado ? - Quais reas sero usurias do sistema ? - O sistema usar recurso externo ? - Quem ser o responsvel pelo sistema ? - Quem sero os usurios do sistema ?

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

54

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Casos de Uso
Generalizao: Entre casos de uso parecida generalizao existente entre as classes. No caso de uso a generalizao significa que o caso de uso filho herda o comportamento e o significado do caso de uso pai; o filho poder acrescentar ou sobrescrever o comportamento de seu pai; poder ser substitudo em qualquer local qual o pai aparea. Include: Quando voc estiver se repetindo em dois ou mais caso de uso separados, devemos evitar a repetio Extends: Quando estivermos descrevendo uma variao em comportamento normal, entretanto, querendo fazer uma descrio mais controlada, explicando os pontos de extenso no caso de uso. Realizes: Especifica a colaborao entre os casos de uso Use (obsoleto): Especifica que a semntica do elemento de origem depende da semntica da parte pblica do destino

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

55

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Casos de Uso
Explicando o estereotipo <<extend>>

Extend:

Podemos usa-los em dois momentos 1 Variao Cada uma das extenses descreve as diferentes maneiras com que um passo do caso de uso pode ser executado. Exemplo: ReceberConta

<<extend>>

<<extend>>

<<extend>>

Dinheiro

CartaoCredito

Cheque

2 Casos excepcionais Condies de falha que podem ocorrer e serem recuperada em nico passo e requerem um caso de uso para sua descrio. DevolvendoCarro

<<include>>

<<include>>

<<extend>>

AlterarDisponibilidadeCarro

ConsultarCliente

CalcularMulta

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

Copyright Rildo Ferreira, e-tecnologia.com, 2009


By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

By Matheus at 12:59 pm, Jul 29, 2013

56

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Casos de Uso
Explicando o estereotipo <<include>>

PlaceOrder <<include>> ValidateUser TrackOrder <<include>>

Um relacionamento de incluso entre casos de uso significa que o caso de uso base incorpora explicitamente o comportamento de outro caso de uso em uma localizao especificada na base. O caso de uso includo nunca permanece isolado, mas apenas uma instance como parte de alguma base maior que o inclui. Voc pode pensar na incluso como o caso de uso base que o obtm o comportamento a partir do fornecedor do caso de uso. Voc utiliza um relacionamento de incluso para evitar descrever o mesmo fluxo de eventos vrias vezes, incluindo o comportamento comum em um caso de uso prprio. O relacionamento de incluso essencialmente um exemplo de delegao, voc coleta um conjunto de responsabilidades do sistema e o captura um nico local (o caso de uso includo); depois, permite que outras partes do sistema (outros casos de uso) incluam a nova agregao de responsabilidade sempre que precisamos utilizar essa funcionalidade.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

57

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Exemplo: Casos de Uso

Locadora de carros
Uma locadora aluga carros aos clientes previamente cadastrados. Caso o cliente no esteja cadastrado, esta atividade custodial realizada, separadamente em outra atividade do sistema. Caso um carro, disponvel, seja escolhido pelo cliente este alugado, sendo registrada a data inicial junto ao aluguel. Para que o cliente possa alugar um carro, este no pode estar com dvida pendente. Os carros so descritos pela placa, ano, modelo, descrio, km, preo por km, situao(disponvel, etc), taxa diria, observaes(informaes gerais) e sua imagem. Os clientes so cadastrados pelo seu cpf, nome, endereo, telefone e dvida(reservado para registrar pagamentos pendentes). Quando o cliente devolve o carro, a situao do carro mudada para disponvel, o km atualizado com o km atual do carro e um recibo emitido, baseado nos kms rodados e nos dias em que ficou com o carro. Ainda na atividade de devoluo removido o registro do aluguel e, caso o cliente no possa pagar, a dvida do aluguel registrada junto ao cliente.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

58

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Exemplo: Casos de Uso
Objetivo: Fazer locao de carros Restrio: Cliente no pode ter dividas pendentes Atores: Atendente Entidade Custodial Candidatos a Casos de Usos: Cadastrar Cliente Cadastrar Carro VerificarDadosCliente VerificarDividadoCliente VerificarDisponibilidadeVeiculo (Locar) EntregarVeiculo (Devoluo) ReceberVeculo EmitirRecibo RegistrarDivida Candidatos a Classe: Veculos Clientes Divida do Cliente Locao Empregado

Copyright Rildo Ferreira, e-tecnologia.com, 2009

59

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Exemplo: Casos de Uso
Continuao: Atores: Atendente: Faz o atendimento ao cliente da Locadora Entidade Custodial: Faz o cadastro da custdia do cliente Candidatos a Casos de Usos: Cadastrar (Cliente e Carro) VerificarDadosCliente (Se cliente e se tem divida) VerificarDisponibilidadeVeiculo EntregarVeiculo ReceberVeculo EmitirRecibo RegistrarDivida Candidatos a Classe: Veculo DadosdoCliente DividadoCliente Locao Empregado

Copyright Rildo Ferreira, e-tecnologia.com, 2009

60

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Exemplo: Casos de Uso
Diagrama de Caso de Uso

Cadastrar

CadastrarCliente

EntidadeCustodia AlterarDisponibidadeVeiculo <<include>> <<extend>> Atendente CadastrarCarro

SocilicarCadastro ReceberVeiculo Verif icarDadosCliente

<<include>> <<include>>

<<include>> Verif icarDisponibilidadeVeiculo ReceberPagtoCliente <<extend>> <<extend>> EntregarVeiculo

RegistrarDiv ida

ImprimirRecibo

Copyright Rildo Ferreira, e-tecnologia.com, 2009

61

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Casos de Uso
Cenrio do Caso de Uso: VerificarDadosCliente

Nome: VerificarDadosCliente Objetivo: Verificar se Cliente est cadastro no Sistema e e divida pendente Pr-condio: Cliente solicitar uma locao Ator: Atendente Fluxo Normal: 1-O atendente solicita o nmero do CPF 2-Digita o CPF no sistema 3-O sistema verifica se cliente est cadastrado e se tem divida pendente 4-O sistema envia mensagem cliente cadastrado e no h divida Fluxo Alternativo 1 (Cliente no cadastrado): 4-O sistema envia mensagem cliente no cadastrado 5-Solicita o cadastro da custdia do cliente Fluxo Alternativo 2 (Cliente com divida): 4-O sistema envia mensagem cliente cadastrado e com divida pendente

Copyright Rildo Ferreira, e-tecnologia.com, 2009

62

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Seqncia O que Diagramas de Seqncia?
um diagrama que exibe a colaborao dinmica entre os vrios objetos de um sistema. O principal aspecto deste diagrama que a partir dele percebe-se a seqncia de mensagens enviadas entre os objetos. Ele mostra a interao entre os objetos, alguma evento que acontecer em um ponto especfico da execuo do sistema. formulrios de registro
Ator (Jos) entrar com chave de acesso validar acesso entrar com o semestre

formulrio de matrcula

cursos disponveis

criar nova matrcula

apresentar em tela obter cursos

Diagrama de Seqncia Explicando o diagrama: O diagrama de seqncia consiste em um nmero de objetos mostrado em linhas verticais. O decorrer do tempo visualizado observando-se o diagrama no sentido vertical de cima para baixo. As mensagens enviadas por cada objeto so simbolizadas por setas entre os objetos que se relacionam. Diagramas de seqncia possuem dois eixos: o eixo vertical, que mostra o tempo e o eixo horizontal, que mostra os objetos envolvidos na seqncia de uma certa atividade. Eles tambm mostram as interaes para um cenrio especfico de uma certa atividade do sistema.
Copyright Rildo Ferreira, e-tecnologia.com, 2009

63

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Seqncia

Diagrama de Seqncia
Explicando o diagrama (continuao) No eixo horizontal esto os objetos envolvidos na seqncia. Cada um representado por um retngulo de objeto (similar ao diagrama de objetos) e uma linha vertical pontilhada chamada de linha de vida do objeto, indicando a execuo do objeto durante a seqncia, como exemplo citamos: mensagens recebidas ou enviadas e ativao de objetos. A comunicao entre os objetos representada como linha com setas horizontais simbolizando as mensagens entre as linhas de vida dos objetos. A seta especifica se a mensagem sncrona, assncrona ou simples. As mensagens podem possuir tambm nmeros seqenciais, eles so utilizados para tornar mais explcito as seqncia no diagrama.

Em alguns sistemas, objetos executam de forma concorrente, cada um com sua linha de execuo (thread). Se o sistema usa linhas concorrentes de controle, isto mostrado como ativao, mensagens assncronas, ou objetos assncronos. Os diagramas de seqncia podem mostrar objetos que so criados ou destrudos como parte do cenrio documentado pelo diagrama. Um objeto pode criar outros objetos atravs de mensagens. A mensagem que cria ou destri um objeto geralmente sncrona, representada por uma seta slida

Copyright Rildo Ferreira, e-tecnologia.com, 2009

64

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Seqncia Exemplo: EntregarVeiculo

: Atendente

: Cliente

: Veiculo

: Locacao

getDadosCliente( )

[* se cliente cadastrado verificar divida ]


getDivida( )

getDisponibilidade( )

setSaida( ) [* se veculo disponvel ]

Este diagrama descreve em ordem cronolgica as mensagens entre os objetos. Neste momento estamos dizendo o como o Caso de Uso deve ser implementado

Copyright Rildo Ferreira, e-tecnologia.com, 2009

65

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Seqncia Explicando os detalhes: Instance das classes ator

: Atendente

: Cliente

: Veiculo

: Locacao

getDadosCliente( )

[* se cliente cadastrado verificar divida ]


getDivida( )

getDisponibilidade( )

setSaida( ) [* se veculo disponvel ]

Autodelegao As interaes entre os objetos Restrio ou condio

Linha do tempo

Copyright Rildo Ferreira, e-tecnologia.com, 2009

66

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Colaborao O que Diagramas de Colaborao? um diagramas que mostra a colaborao dinmica entre os objetos, semelhante ao diagrama de seqncia. No diagrama de colaborao, alm de mostrar a troca de mensagens entre os objetos, percebe-se tambm os objetos com os seus relacionamentos. A interao de mensagens mostrada em ambos os diagramas. Se a nfase do diagrama for o decorrer do tempo, melhor escolher o diagrama de seqncia, mas se a nfase for o contexto do sistema, melhor dar prioridade ao diagrama de colaborao. Podemos tambm escolher ambos. O diagrama de colaborao desenhado como um diagrama de objeto, onde os diversos objetos so mostrados juntamente com seus relacionamentos. As setas de mensagens so desenhadas entre os objetos para mostrar o fluxo de mensagens entre eles. As mensagens so nomeadas, que entre outras coisas mostram a ordem em que as mensagens so enviadas. Tambm podem mostrar condies, interaes, valores de resposta, e etc. O diagrama de colaborao tambm pode conter objetos ativos, que executam paralelamente com outros.
2: validar acesso 1:entrar com chave de acesso

3:entrar com o semestre


formulrios de registro

4:criar nova matrcula Ator (Jos) 5:apresentar em tela

cursos disponveis 6:obter cursos

formulrio de matrcula

Diagrama de Colaborao
NOTA: O diagrama de colaborao em alguns caso pode ser considerado opcional. Pode-se escolher entre utilizar o diagrama de colaborao ou o diagrama de seqncia.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

67

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Colaborao

2: getDivida( )

1: getDadosCliente( )

: Cliente

: Atendente

3: getDisponibilidade( ) 4: setSaida( )

: Veiculo

: Locacao

Copyright Rildo Ferreira, e-tecnologia.com, 2009

68

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Estado O que Diagrama de Estado? um diagrama que tipicamente complementa a descrio das classes. Pois este diagrama exibe todos os estados possveis que objetos de uma certa classe podem se encontrar e mostra tambm quais so os eventos do sistemas que provocam tais mudanas. No necessrio escrever o diagrama de estado para todas as classes de um sistema, mas apenas para aquelas que possuem um nmero definido de estados conhecidos e onde o comportamento das classes afetado e modificado pelos diferentes estados. Diagramas de estado capturam o ciclo de vida dos objetos, subsistemas e sistemas. Eles mostram os estados que um objeto pode possuir e como os eventos (mensagens recebidas, tempo, erros, e condies sendo satisfeitas) afetam estes estados ao passar do tempo.
Adicionar Aluno /inicialize Matrcula aberta nmeroDeAlunos = 0 cancelarCurso cancelarCurso
cancelarCurso

Criao faa: Crie o objeto curso

Atribuio Curso faa: Atribuir um professor ao curso

Curso Aberto Entrada: Registre um aluno

Curso Cancelado faa: envie notificao de cancelamento

Registro fechado [nmeroDeAlunos<3] Registro fechado [nmero de alunos =10]^Curso .Criar relatrio

Registro fechado [nmeroDeAlunos>=3 ]

cancelarCurso

Curso Encerrado faa: relate curso esta cheio

Curso Completado faa: Gerar lista de alunos

Copyright Rildo Ferreira, e-tecnologia.com, 2009

69

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Estado Diagramas de estado possuem um ponto de incio e vrios pontos de finalizao. Um ponto de incio (estado inicial) mostrado como um crculo todo preenchido, e um ponto de finalizao (estado final) mostrado como um crculo em volta de um outro crculo menor preenchido. Um estado mostrado como um retngulo com cantos arredondados. Entre os estados esto as transies, mostrados como uma linha com uma seta no final de um dos estados. A transio pode ser nomeada com o seu evento causador. Quando o evento acontece, a transio de um estado para outro executada ou disparada. Uma transio de estado normalmente possui um evento ligado a ela. Se um evento anexado a uma transio, esta ser executada quando o evento ocorrer. Se uma transio no possuir um evento ligado a ela, a mesma ocorrer quando a ao interna do cdigo do estado for executada (se existir aes internas como entrar, sair, fazer ou outras aes definidas pelo desenvolvedor). Ento quando todas as aes forem executadas pelo estado, a transio ser disparada e sero iniciadas as atividades do prximo estado no diagrama de estados.

Elementos
Verificando

Estado

Transio

Fim

Inicio

Copyright Rildo Ferreira, e-tecnologia.com, 2009

70

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Estado Os diagramas de estados so compostos de transies e estados. As transies so associadas com aes e so consideradas como processo de curta durao e no podem ser interrompidos. Os estados so associados com as atividades e podem levar mais tempo. Uma atividade pode ser interrompida por algum evento.

Exemplo: Diagrama de Estado Telefone


incio

transio fora do gancho ocioso no gancho Estado Ativo

Final

Copyright Rildo Ferreira, e-tecnologia.com, 2009

71

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Estado
Aplicao Um diagrama de estado pode ser aplicado a diversos elementos da UML, tais como: - Classes - Tipos (conceitos) - Casos de Uso Exemplo:
[Nem todos os itens verificados]/pegar prximo item [Todos os itens verificados e os todos itens disponveis]

incio

Verificando

Expedindo

[Todos os itens verificados e alguns itens no esto disponveis]

[itens ecebidos [alguns itens no esto disponveis]

Item recebido [os todos itens disponveis] cancelamento

Aguardando cancelado

Cancelamento

Entregue

final

Copyright Rildo Ferreira, e-tecnologia.com, 2009

72

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Atividade
O que Diagrama de Atividade?
um diagramas que exibe o fluxo seqencial das atividades, geralmente utilizado para demonstrar as atividades executadas por uma operao especfica do sistema, como por exemplo seleo de um item do menu principal. Consistem em estados de ao, que contm a especificao de uma atividade a ser desempenhada por uma operao do sistema. Decises e condies, como execuo paralela, tambm podem ser mostrados na diagrama de atividade. O diagrama tambm pode conter especificaes de mensagens enviadas e recebidas como partes de aes executadas. Diagramas de atividade capturam aes e seus resultados. Eles focam o trabalho executado na implementao de uma operao (mtodo), e suas atividades numa instncia de um objeto. O diagrama de atividade uma variao do diagrama de estado e possui um propsito um pouco diferente do diagrama de estado, que o de capturar aes (trabalho e atividades que sero executados) e seus resultados em termos das mudanas de estados dos objetos.

Cliente

Vendas

Estoque

Fazer Pedido

Processar Pedido Separar Produtos Enviar Pedido

Receber Pedido

Cobrar Cliente

Pagar Fatura Fechar Pedido

Copyright Rildo Ferreira, e-tecnologia.com, 2009

73

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Atividade
Os estados no diagrama de atividade mudam para um prximo estgio quando uma ao executada (sem ser necessrio especificar nenhum evento como no diagrama de estado). Outra diferena entre o diagrama de atividade e o de estado que podem ser colocadas como swimlanes (raias). Uma swimlane agrupa atividades, com respeito a quem responsvel e onde estas atividades residem na organizao, e representada por retngulos que englobam todos os objetos que esto ligados a ela ( swimlane). Um diagrama de atividade uma maneira alternativa de se mostrar interaes, com a possibilidade de expressar como as aes so executadas, o que elas fazem (mudanas dos estados dos objetos), quando elas so executadas (seqncia das aes), e onde elas acontecem (swimlanes). Um diagrama de atividade pode ser usado com diferentes propsitos inclusive: Para capturar os trabalhos que sero executados quando uma operao disparada (aes). Este o uso mais comum para o diagrama de atividade. Para capturar o trabalho interno em um objeto. Para mostrar como um grupo de aes relacionadas podem ser executadas, e como elas vo afetar os objetos em torno delas. Para mostrar como uma instance pode ser executada em termos de aes e objetos. Para mostrar como um negcio funciona em termos de trabalhadores (atores), fluxos de trabalho, organizao, e objetos (fatores fsicos e intelectuais usados no negcio). Enfim o diagrama de atividade mostra o fluxo seqencial das atividades, normalmente utilizado para demonstrar as atividades executadas por uma operao especfica do sistema. Consistem em estados de ao, que contm a especificao de uma atividade a ser desempenhada por uma operao do sistema. Decises e condies, como execuo paralela, tambm podem ser mostrados na diagrama de atividade. O diagrama tambm pode conter especificaes de mensagens enviadas e recebidas como partes de aes executadas.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

74

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Atividade
Exemplo:

Diagrama de Atividades

Copyright Rildo Ferreira, e-tecnologia.com, 2009

75

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Atividade Componentes:
Atividade atividade transio deciso Barras de sincronizao

Exemplo com comentrios: Cliente Vendas

Estoque

Fazer Pedido

atividade

Processar Pedido

separao

Separar Produtos Enviar Pedido

Receber Pedido

Cobrar Cliente

Pagar Fatura Fechar Pedido

juno raias

Copyright Rildo Ferreira, e-tecnologia.com, 2009

76

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Atividade
Exemplo com comentrios: Receber Pedido

Preencher Pedido

Enviar Fatura

Entrega
[pedido urgente] [seno]

Receber Pagamento Entrega durante a noite

Entrega Regular

Encerrar Pedido

Copyright Rildo Ferreira, e-tecnologia.com, 2009

77

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Pacotes Como podemos definir o diagrama de pacotes?
A definio de Pacote uma generalizao, ou seja, um agrupamento, com o propsito de organizar as Classes de Objetos em grupos. Esta abordagem facilita a anlise a medida que o nmero de Classes de Objetos cresce num do cenrio. O tipo de relacionamento linha pontilhada com uma seta que indica dependncia. A notao usada pela UML para representar pacotes :

Nome do Pacote

Exemplo: As classes pertencentes ao Sistema de Matrcula podem ser agrupadas em trs pacotes: UI (Interface Usurio) Regras de Negcio Interfaces de Banco de Dados

Interfaces com Usurio

Regras de Negcios

Interfaces de Banco de Dados {abstrata}

Interface MySQL

Copyright Rildo Ferreira, e-tecnologia.com, 2009

78

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Pacotes
Podemos usar a estrutura de pacotes para criar coeso entre as classes que tem objetivo comum, por exemplo podemos colocar em nico pacote todas as classes que se referem a regras de negcios. Exemplo:

Aplicao

Interface de Usurio

Regras de Negcios

Controle

Fisicamente os pacotes tem a estrutura de diretrio e subdiretrio, isto que dizer que a Aplicao ter a seguinte formato: Aplicao Regras de Negcios Interface de Usurio Controle

Copyright Rildo Ferreira, e-tecnologia.com, 2009

79

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Classes

O que um Diagrama de Classes?


um diagrama que demonstra a estrutura esttica das classes de um sistema e seus relacionamentos. Classes podem se relacionar com outras atravs de diversas maneiras: associao (conectadas entre si), dependncia (uma classe depende ou usa outra classe), especializao (uma classe uma especializao de outra classe), ou em pacotes (classes agrupadas por caractersticas similares). Todos estes relacionamentos so mostrados no diagrama de classes juntamente com as suas estruturas internas, que so os atributos e operaes. O diagrama de classes considerado esttico j que a estrutura descrita sempre vlida em qualquer ponto do ciclo de vida do sistema. Um sistema normalmente possui alguns diagramas de classes, j que no so todas as classes que esto inseridas em um nico diagrama e uma certa classes pode participar de vrios diagramas de classes. Pessoa

Professores

Alunos

Funcionrios Administrativo

1 1
Matricula

Curso

1 1..* tem

Disciplinas

Uma classe num diagrama pode ser diretamente implementada utilizando-se uma linguagem de programao orientada a objetos que tenha suporte direto para construo de classes. Para criar um diagrama de classes, as classes tm que estar identificadas, descritas e relacionadas entre si.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

80

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Objetos O que um Diagrama de Objetos?
um diagrama que exibe uma variao do diagrama de classes e utiliza quase a mesma notao. A diferena que o diagrama de objetos mostra os objetos que foram instanciados das classes. O diagrama de objetos como se fosse o perfil do sistema em um determinado momento de sua execuo. A mesma notao do diagrama de classes utilizada, entretanto h duas diferenas: os objetos so escritos com seus nomes sublinhados e todas as instncias num relacionamento so mostradas. Os diagramas de objetos no tem a mesma importncia do diagramas de classes, mas eles so muito teis para exemplificar diagramas complexos de classes ajudando muito em sua compreenso. Diagramas de objetos tambm so usados como parte dos diagramas de colaborao, onde a colaborao dinmica entre os objetos do sistema so mostrados.

:Aluno Nome: Fulano de Tal Data: 23-02-2001

201-23-02-01:Matricula Matricula: 201-23-02-01 Curso: Adm Empresas

Copyright Rildo Ferreira, e-tecnologia.com, 2009

81

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Diagrama de Classes

Copyright Rildo Ferreira, e-tecnologia.com, 2009

82

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Mapeamento do Diagrama de Classes e Modelo de Entidades e Relacionamento
Veja a tabela abaixo que relaciona as caracterstica da UML e MER:

UML
Classes Persistentes
Associao Atributos Roles Multiplicidade Generalizao e Especializao

MER
Entidades
Relacionamentos Atributos Roles Constraints Generalizao e Especializao

Os atributo de uma classe persistente so mapeado para colunas de entidade

Classe persistente

Entidade

Pessoa -idpessoa -nome

Pessoa Idpessoa <pk> nome

Copyright Rildo Ferreira, e-tecnologia.com, 2009

83

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Mapeamento Diagrama de Classes e Modelo de Entidades e Relacionamento
Um exemplo de mapeamento Diagrama de classe (UML) e entidade (MER)
{abstract}

Pessoa

-nome -idade
Classes

Funcionrio funcao

Cliente Idcliente telefone

Veja agora o mapeamento para entidade MER, para cada classe criaremos uma entidade correspondente:

Pessoa
idpessoa <pk> nome idade

um

um

Funcionrio
idpessoa <fk> funcao

Cliente
idpessoa <fk> idcliente <pk> telefone

Copyright Rildo Ferreira, e-tecnologia.com, 2009

84

Linguagem de Modelagem Unificada


UML
Diagramas da UML
Mapeamento Diagrama de Classes e Modelo de Entidades e Relacionamento
Neste exemplo o mapeamento feito para duas entidades:

Funcionrio
idfunc <pk> nome idade funcao

Cliente
idcliente <pk> nome idade telefone

Copyright Rildo Ferreira, e-tecnologia.com, 2009

85

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Componente

O que um Diagrama de Componente?


um diagrama que exibe o sistema por um lado funcional, expondo as relaes entre seus componentes e a organizao de seus mdulos durante sua execuo. O diagrama de componente descreve os componentes de software e suas dependncias entre si, representando a estrutura do cdigo gerado. Os componentes so a implementao na arquitetura fsica dos conceitos e da funcionalidade definidos na arquitetura lgica (classes, objetos e seus relacionamentos). Eles so tipicamente os arquivos implementados no ambiente de desenvolvimento.

Curso.jar

Pessoa.jar

Disciplina.classr

Aluno.class

Professores.class

Um componente mostrado em UML como um retngulo com uma elipse e dois retngulos menores do seu lado esquerdo. O nome do componente escrito abaixo ou dentro de seu smbolo. Componentes so tipos, mas apenas componentes executveis podem ter instncias. Um diagrama de componente mostra apenas componentes como tipos. Para mostrar instncias de componentes, deve ser usado um diagrama de execuo, onde as instncias executveis so alocadas em nodes.
Copyright Rildo Ferreira, e-tecnologia.com, 2009

86

Linguagem de Modelagem Unificada


UML
Introduo a UML
Diagrama de Componente A dependncia entre componentes pode ser mostrada como uma linha tracejada com uma seta, simbolizando que um componente precisa do outro para possuir uma definio completa. Com o diagrama de componentes facilmente visvel detectar que arquivos .jar so necessrios para executar a aplicao. Componentes podem definir interfaces que so visveis para outros componentes. As interfaces podem ser tanto definidas ao nvel de codificao (como em Java) quanto em interfaces binrias usadas em run-time (COM). Uma interface mostrada como uma linha partindo do componente e com um crculo na outra extremidade. O nome colocado junto do crculo no final da linha. Dependncias entre componentes podem ento apontar para a interface do componente que est sendo usada.
Exemplo:

Reserva.jar

Pessoa.jar

CheckIN

PessoaFisica.

PessoaJuridica

Copyright Rildo Ferreira, e-tecnologia.com, 2009

87

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Distribuio O que Diagrama de Distribuio?
um diagrama que exibe a arquitetura fsica do hardware e do software no sistema. Pode apresentar os atuais computadores e perifricos, juntamente com as conexes que eles estabelecem entre si e pode mostrar tambm os tipos de conexes entre esses computadores. Especifica-se tambm os componentes executveis e objetos que so alocados para mostrar quais unidades de software so executados e em que destes computadores so executados. O diagrama de distribuio demonstra a arquitetura runtime de processadores, dispositivos fsicos e de software que executam no ambiente onde o sistema desenvolvido ser utilizado. o ltimo diagrama da topologia do sistema, descrevendo a estrutura de hardware e software que executam em cada unidade. O diagrama de distribuio composto por componentes, que possuem a mesma simbologia dos componentes do diagrama de componentes, nodes, que significam objetos fsicos que fazem parte do sistema, podendo ser uma computador cliente em uma Rede, um computador Servidor, uma impressora, um roteador, etc., e conexes entre estes nodes e componentes que juntos compem toda a arquitetura fsica do sistema.

<<TCP/IP>> <<TCP/IP>>

Cliente A

0..*

Servidor de Aplicao

Servidor de Banco de Dados

Copyright Rildo Ferreira, e-tecnologia.com, 2009

88

Linguagem de Modelagem Unificada


UML
Projeto e Modelagem Visual com UML
Diagrama de Distribuio Exemplo:

Banco de Dados Corporativo Oracle Server Cliente

* HTPP Servidor Firewall HTPP 1 Banco de Dados Web

Apache sob Linux

MySQL

Copyright Rildo Ferreira, e-tecnologia.com, 2009

89

Linguagem de Modelagem Unificada


UML

Projeto de Desenvolvimento: Um exemplo

Copyright Rildo Ferreira, e-tecnologia.com, 2009

90

Linguagem de Modelagem Unificada


UML
Exemplo de Projeto de Desenvolvimento com UML
Projeto de Desenvolvimento
Fases do Desenvolvimento O desenvolvimento de um sistema de informao, de acordo com metodologia rpida, divido em duas etapas: enquanto a primeira fase, Definio de Requisitos, tem por objetivo determinar os requisitos, a segunda Anlise, tem a finalidade de definir os mdulos componentes do sistema. Definio dos Requisitos

O objetivo desta fase determinar a funcionalidade esperada pelo usurio do sistema. Num projeto de construo civil, esta fase corresponderia ao projeto de arquitetura, onde se descrevem as caractersticas da casa que so visveis ao seu morador. O produto desta fase chamado de Modelo de Requisitos. A estrutura do Modelo de Requisitos exibida na figura abaixo. Cada uma das caixas representa um ou mais documentos que devem ser apresentados no final da fase. O diagrama indica que o modelo de Requisitos composto de: Modelo de Casos de Uso, uma prottipo e um Glossrio. Por sua vez, o Modelo de Casos de uso composto de diagramas de caso de uso, cada destes contm uma descrio para o caso de uso.

Modelos de Requisitos

1..* Diagrama de Casos de Uso Prottipo Glossrio

Casos de Uso 1..* Descrio do Caso de Uso

Copyright Rildo Ferreira, e-tecnologia.com, 2009

91

Linguagem de Modelagem Unificada


UML
Exemplo de Projeto de Desenvolvimento com UML
Projeto de Desenvolvimento
Segunda fase: Anlise e Projeto O objetivo desta fase produzir um plano que permita a construo do sistema. Por exemplo, comparando mais uma vez a engenharia civil, esta fase corresponderia s plantas detalhadas da construo de uma casa. Em termos de software, a planta do sistema a especificao de suas classes componentes, que chamamos de Modelo de Anlise e Projeto. O Modelo de Anlise e Projeto composto pelo Modelo Esttico e pelo Modelo Dinmico. O modelo esttico composto por um conjunto de diagramas de classes. O Modelo Dinmico composto por conjuntos de Diagramas de Seqncia e Diagrama de Estados.

Modelos de Anlise e Projeto

Modelo Esttico

Modelo Dinmico

1..* Diagrama de Classes 1..* Classes

1..* Diagrama de Sequncia

1..* Diagrama de Estado

Copyright Rildo Ferreira, e-tecnologia.com, 2009

92

Linguagem de Modelagem Unificada


UML
Exemplo de Projeto de Desenvolvimento com UML
Projeto de Desenvolvimento
Roteiro para o Desenvolvimento de Sistema usando a Metodologia Rpida 1 - Definir o escopo do Sistema; 2 - Produzir o Modelo de Requisitos 2.1 - Identificar os casos de usos 2.2 - Identificar os atores 2.3 - Identificar e definir as entidades do domnio do problema 2.4 - Definir os casos de uso que podem ser abstrados 2.5 - Fazer agrupamento dos casos de uso com semntica semelhante 2.6 - Verificar o Modelo de Requisitos 3 - Produzir o Modelo de Anlise e Projeto, executando as seguintes etapas: 3.1 - Criar um diagrama com modelo de classes do domnio do problema; 3.2 - Criar um diagrama com o modelo de classes de cada agrupamento de casos de uso. Este modelo deve conter as classes de domnio, interface e controle envolvidas no agrupamento de casos de uso. 3.3 - Fazer um diagrama de seqncia para cada agrupamento de caso de uso. 3.4 - Criar um diagrama de transio e estados para as classes de domnio, interface e controle que tenham ciclos de vida no-triviais. 3.5 - Revisar o diagrama de classes (reveja os relacionamentos) 3.6 - Verificar o modelo de Anlise e Projeto.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

93

Linguagem de Modelagem Unificada


UML

Estudo de Caso e Exerccio


Copyright Rildo Ferreira, e-tecnologia.com, 2009

94

Linguagem de Modelagem Unificada


UML
Estudo de Caso Caso Prtico
A Universidade ESU quer informatizar seu sistema de matrcula A Secretaria produz o currculo para o semestre Os Alunos selecionam 4 matrias principais e 2 matrias alternativas Aps a matrcula, o sistema de cobranas ser notificado para que receba o pagamento do estudante por um semestre Os Alunos podem usar o sistema para adicionar ou remover matrias por um determinado perodo aps a matrcula Os Professores usam o sistema para receber a lista de ofertas de cursos Os usurios do sistema de matrcula tem senhas que so utilizadas para validao de logon

Copyright Rildo Ferreira, e-tecnologia.com, 2009

95

Linguagem de Modelagem Unificada


UML
Estudo de Caso Atores
Um Ator algum ou alguma coisa que deve interagir com o sistema a ser desenvolvido

Professor

Aluno

Secretaria

Sistema Cobrana

Copyright Rildo Ferreira, e-tecnologia.com, 2009

96

Linguagem de Modelagem Unificada


UML
Estudo de Caso Casos de Uso:
Um caso de uso um padro de comportamento que o sistema exibe Cada caso de uso uma seqncia de transaes relacionadas executadas por um ator e o sistema num dilogo Atores so examinados para determinar suas necessidades Secretaria -- manter o curriculum Professor -- solicitar lista de cursos Aluno -- manter o horrio de aulas Sistema Cobrana -- recebe informaes sobre cobranas

Manter Curriculum

Solicitar Lista de Cursos

Manter Horrio

Copyright Rildo Ferreira, e-tecnologia.com, 2009

97

Linguagem de Modelagem Unificada


UML
Estudo de Caso Documentando Caso de Uso
Um documento de fluxo de eventos criado para cada caso de uso Escrito do ponto de vista do ator Detalha o que o sistema deve fornecer quando o caso de uso executado Contedos tpicos Como o caso de uso inicia e termina Fluxo normal de eventos Fluxos alternativos de eventos Fluxos excepcionais de eventos (respostas a erros)

Fluxo de Eventos de Manter Curriculum


Este caso de uso inicia quando a Secretaria entra no sistema e entra sua senha. O sistema verifica se a senha vlida (E-1) e solicita a escolha do semestre atual ou futuro (E-2). A Secretaria entra o semestre desejado. O sistema pergunta qual a atividade desejada: INCLUIR, APAGAR, MODIFICAR, ou SAIR. Caso a atividade selecionada seja INCLUIR, o S-1: O sub-fluxo Inclui uma Matria executado. Caso a atividade selecionada seja APAGAR, o S-2: O sub-fluxo Apaga uma Matria executado. Caso a atividade selecionada seja MODIFICAR, o S-3: O sub-fluxo Modificar uma Matria executado. Caso a atividade selecionada seja SAIR, o caso de uso termina. ...

Copyright Rildo Ferreira, e-tecnologia.com, 2009

98

Linguagem de Modelagem Unificada


UML
Estudo de Caso Diagrama de Caso de Uso
Diagramas de caso de uso so criados para se visualizar a relao entre atores e casos de uso

Aluno Mantm Horrio

Sistema Cobrana Solicita Lista de Cursos Professor

Mantm Curriculum Secretaria

Copyright Rildo Ferreira, e-tecnologia.com, 2009

99

Linguagem de Modelagem Unificada


UML
Estudo de Caso Usos e Extenses das Relaes de Casos de Uso
medida em que casos de uso so documentados, outras relaes entre casos de uso podero ser descobertas Uma relao de uso (usa) mostra comportamento que comum a um ou mais casos de uso Uma relao de extenso mostra comportamento opcional

<<extends>> Matricular para cursos

<<extends>>

Validar Senha

Manter Curriculum

Copyright Rildo Ferreira, e-tecnologia.com, 2009

100

Linguagem de Modelagem Unificada


UML
Estudo de Caso Realizaes de Casos de Uso:
O Diagrama de Caso de Uso apresenta uma viso externa do sistema Diagramas de Interao descrevem como casos de uso so realizados como interaes entre associaes de objetos H dois tipos de Diagramas de Interao Diagramas de Seqncia Diagramas de Colaborao

Diagrama de Seqncia:
Um Diagrama de Seqncia mostra interaes de objetos ordenados numa seqncia de tempo

: Aluno

Formulrio de Matrcula

Gerente de Matrculas

Matemtica Bsica

Matemtica lgebra

1: preenche 2: envia 3: curso(Maria,matemtica) 4: est aberto?

5: est aberto?
Tempo

6: incui(Maria l) 7: incui (Maria)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

101

Linguagem de Modelagem Unificada


UML
Estudo de Caso Diagrama de Colaborao
Um Diagrama de Colaborao mostra interaes organizadas volta de objetos e as ligaes de um para o outro

1: pega informao curso 2: processa

curso form : cursoForm

: Secretaria

3: incui curso

acurso : curso 4: novo curso

Diretor : Diretor_do_Curso

Copyright Rildo Ferreira, e-tecnologia.com, 2009

102

Linguagem de Modelagem Unificada


UML
Estudo de Caso Diagrama de Classes
Um Diagrama de Classes mostra a existncia de classes e suas relaes com a viso lgica do sistema Elementos de UML presentes nos Diagramas de Classes: Classes, suas estruturas internas e comportamento Associaes, agregaes, dependncias, e relaes de herana Multiplicidade e indicadores de navegao Nomes de papis (O que uma classe representa para outra)

Classes
Uma classe uma coleo de objetos com um estrutura, comportamento, relaes e semntica comuns Classes so descobertas pelo exame dos objetos nos diagramas de Seqncia e Colaborao Uma classe desenhada como um retngulo com trs compartimentos:
Primeiro: Nome da classe Segundo: Atributos (opcional) Terceiro: Mtodos (opcional)

Classes devem ser nomeadas usando o vocabulrio do domnio Padres de nomenclatura devem ser estabelecidos Regra: Todos os nomes de classes so substantivos no singular, iniciando com letra maiscula Exemplo: Cliente, Fornecedor, Pessoa, Aluno e etc.

Copyright Rildo Ferreira, e-tecnologia.com, 2009

103

Linguagem de Modelagem Unificada


UML
Estudo de Caso Classes:
Diretor Matrcula

Algortmo de Horrio

Formulrio Matrcula Aluno

Curso

Professor

Oferta Curso

Copyright Rildo Ferreira, e-tecnologia.com, 2009

104

Linguagem de Modelagem Unificada


UML
Estudo de Caso Classes:
O comportamento de uma classe representado pelas suas operaes Operaes podem ser encontradas examinando-se os Diagramas de Interao Matrcula form Matrcula Gerente Diretor Matrcula

3: matricula curso(Maria, matemtica)

Matricula (aluno,curso)

Atributos:

Cada Curso oferecido possui um nmero, local e horrio

Oferta Curso nmero local horrio

Copyright Rildo Ferreira, e-tecnologia.com, 2009

105

Linguagem de Modelagem Unificada


UML
Estudo de Caso Classes

Diretor Matrcula
incluiAluno(curso, AlunoInfo)

Algortmo de Horrio

Formulrio Matrcula

Aluno
nome nvel

curso
nome NmeroCrditos abrir() incluirAluno(AlunoInfo)

Professor
nome StatusCadeira

Oferta Curso
local abrir() incluirAluno(AlunoInfo)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

106

Linguagem de Modelagem Unificada


UML
Estudo de Caso Relacionamento:
Relaes fornecem um caminho para a comunicao entre os objetos Diagramas de seqncia e/ou colaborao so examinados para determinar quais ligaes entre objetos precisam existir para se chegar ao comportamento desejado. -- Caso dois objetos precisem conversar dever haver uma ligao entre elas H trs tipos de relaes: Associao e Agregao Dependncia Herana

Associao:
Uma associao uma conexo bidirecional entre classes Uma associao mostrada como uma linha conectando as classes relacionadas. Uma agregao um tipo mais forte de conexo, aonde a relao entre o todo e suas partes. Uma agregao mostrada como uma linha conectando as classes relacionadas com um losango perto da classes que representa o todo Uma relao de dependncia uma forma mais fraca de relao, mostrando uma relao entre um cliente e um fornecedor, aonde o cliente no tem conhecimento semntico do fornecedor Uma dependncia mostrada como uma linha pontilhada entre o cliente e o fornecedor

Copyright Rildo Ferreira, e-tecnologia.com, 2009

107

Linguagem de Modelagem Unificada


UML
Estudo de Caso Descobrindo os Relacionamentos:
Relaes so descobertas examinando-se os Diagramas de Sequncia Caso dois objetos devam conversar, dever haver um caminho para a comunicao

Diretor Matrcula

lgebra curso

3: insere aluno(Maria)

Diretor Matrcula

curso

Copyright Rildo Ferreira, e-tecnologia.com, 2009

108

Linguagem de Modelagem Unificada


UML
Estudo de Caso Relacionamento:

Algortmo de Horrio

Diretor Matrcula
incluiAluno(curso, AlunoInfo)

curso
nome NmeroCrditos

Formulrio Matrcula Aluno


nome nvel

abrir() incluirAluno(AlunoInfo)

Professor
nome StatusCadeira

Oferta Curso
local
abrir() incluirAluno(AlunoInfo)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

109

Linguagem de Modelagem Unificada


UML
Estudo de Caso Multiplicidade e Navegao:
Multiplicidade define como muitos objetos participam numa relao Multiplicidade o nmero de instncias de uma classe que se relacionam a UMA instncia de uma outra classe Para cada associao e agregao, haver duas decises relativas a multiplicidade a se tomar: Uma para cada lado da relao Apesar de associaes e agregaes serem bidirecionais por definio, freqentemente desejvel restringir a navegao em uma nica direo Caso a navegao seja restringida, uma seta adicionada para se indicar a direo da navegao

Copyright Rildo Ferreira, e-tecnologia.com, 2009

110

Linguagem de Modelagem Unificada


UML
Estudo de Caso Multiplicidade e Navegao:

Algortmo de Horrio

Diretor Matrcula
incluiAluno(curso, AlunoInfo)

curso
1 0..*
nome NmeroCrditos abrir() incluirAluno(AlunoInfo)

Formulrio Matrcula

0..*

Aluno
nome nvel

3..10

1 4 1..*

Professor
nome StatusCadeira

Oferta Curso
1
0..4
local
abrir() incluirAluno(AlunoInfo)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

111

Linguagem de Modelagem Unificada


UML
Estudo de Caso Herana
Herana uma relao entre uma super-classe e suas subclasses H duas formas de se descobrir heranas: Generalizao Especializao Atributos comuns, operaes, relaes e/ou, so mostradas no nvel aplicvel mais alto da hierarquia

Formulrio Matrcula

Algortmo de Horrio

Diretor Matrcula
incluiAluno(curso, AlunoInfo)

curso
nome NmeroCrditos abrir() incluirAluno(AlunoInfo)

Usurio
nome

Aluno
nome nvel

Professor
nome StatusCadeira

Oferta Curso
local abrir() incluirAluno(AlunoInfo)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

112

Linguagem de Modelagem Unificada


UML
Estudo de Caso O Estado de um Objeto
Um diagrama de transio de estados mostra O ciclo de vida de uma classe Os eventos que causam a transio de um estado para outro As aes que resultam de uma mudana de estado Diagramas de Transio de Estados so criados para objetos que tenham um comportamento dinmico significante

Inclui aluno[ contador < 10 ] Incluir Aluno / Contador = 0

Iniciar Ao
fazer: Iiniciar curso

Abrir
entrar: Registrar Aluno Sair: incrementa contador

Cancelar

Cancelar
Cancelado
fazer: Notificar Aluno Matriculado

[ contador = 10 ]

Cancelar

Fechado
fazer: Finalize curso

Diagrama de Transies de Estados

Copyright Rildo Ferreira, e-tecnologia.com, 2009

113

Linguagem de Modelagem Unificada


UML
Estudo de Caso O Mundo Fsico
Diagramas de Componentes ilustram a organizao e dependncias entre componentes de software Um componente pode ser: Um componente de cdigo fonte Um componente de runtime, ou Um componente executvel

Copyright Rildo Ferreira, e-tecnologia.com, 2009

114

Linguagem de Modelagem Unificada


UML
Estudo de Caso Diagrama de Componentes

Cobrana

Registro

Sistema Cobrana

Usurio

curso.jar
curso

pessoa.jar

Curso.class

Oferta curso.class

Aluno.class

Professor.class

Copyright Rildo Ferreira, e-tecnologia.com, 2009

115

Linguagem de Modelagem Unificada


UML
Estudo de Caso Distribuindo o Sistema
O Diagrama de Distribuio mostra a configurao dos elementos de processamento runtime e dos processos que rodam dentro deles O Diagrama de Distribuio visualiza a distribuio dos componentes atravs de toda a empresa

Diagrama de Distribuio

Matrcula

Database

Biblioteca

Sede Principal

Salas

Copyright Rildo Ferreira, e-tecnologia.com, 2009

116

Linguagem de Modelagem Unificada


UML
Exerccio

Declarao do Problema:

O Hotel S quero Sossego est precisando de sistema para automatizar suas principais atividades e facilitar o gerenciamento de suas operaes. O hotel contm um nmero de apartamentos disponveis para serem alugados aos hospedes. Cada apartamento tem as seguintes caractersticas: - Nmero, preos base, capacidade de pessoas - Tipo (Single, double, triplo ou sute) O preo de cada apartamento est relacionado com seu tipo e sazonalidades (perodos especiais, tais como: frias, natal, carnaval...) Um hospede pode fazer reserva de mais de um apartamentos atravs do telefone, Internet ou pessoalmente no balco de reserva do Hotel . As reversas devem ser registras no livro de reservas, que deve conter as seguintes informaes: - Tipo de apartamento, perodo, durao da estadia e data da reserva. A reserva somente confirmada aps a verificao da disponibilidade do apartamento na data informada. O cliente deve receber as seguintes informaes se confirmada a reserva: - Preo e detalhes sobre hotel. Caso contrrio deve receber a informao que no foi possvel fazer a reserva para data informada.
117

Copyright Rildo Ferreira, e-tecnologia.com, 2009

Linguagem de Modelagem Unificada


UML
Exerccio

Declarao do Problema (continuao):


- As reservas tambm podem ser feitas diretamente na Recepo do Hotel. No Check-in o hospede identificado juntamente com sua reserva. No Check-out verifica-se todos os servios prestados ao hospede e as despesas advindas desses servios tais como: lavandeira, restaurante, telefonia, assim como a consumao do frigobar. O cliente poder pagar a conta com carto de crdito, dinheiro, cheque ou cheque de viagens. A disponibilidade deseja para o sistema de 24x7 para Internet, as interfaces com usurios devem ser simples e sistema deve seguir o padro de Identidade Visual (Manual de Identidade Visual). O sistema deve implementar um nvel de segurana que garanta que somente o usurio que possuir uma senha (esta deve ser criptografa) poder fazer alteraes nos dados da reserva ou alterar seus cadastrais.

Exerccio:
- Fazer o Diagrama de Caso de Reserva - Fazer o Diagrama de Seqncia - Fazer o Diagrama de Classes (Classes de Negcio) - Fazer o Diagrama de Projeto (Refinamento de Casses) - Fazer o Diagrama de Competentes
Copyright Rildo Ferreira, e-tecnologia.com, 2009

118

Linguagem de Modelagem Unificada


UML

Apndice

Copyright Rildo Ferreira, e-tecnologia.com, 2009

119

Linguagem de Modelagem Unificada


Apndice A
Notao UML
SMBOLO GRFICO NOME DIAGRAMAS EM QUE APARECE USUALMENTE MODELO A QUE PERTENCEM
Classes de Objetos Componentes Classes de Objetos Componentes

UML

ASSOCIAO DE Diagrama de Classes, Diagrama de Componentes. AGREGAO Diagrama de Classes, ASSOCIAO DE COMPOSIO Diagrama de Componentes. Diagrama de Casos de Uso, ASSOCIAO DE Diagrama de Classes, DEPENDNCIA Diagrama de Componentes, Diagrama de Implantao. ASSOCIAO DE GENERALIZAO Diagrama de Casos de Uso, Diagrama de Classes. Diagrama de Casos de Uso, Diagrama de Classes, Diagrama de Componentes, Diagrama de Implantao. Diagrama de Casos de Uso, Diagrama de Seqncia.

Caso de Uso Classes de Objetos Componentes Componentes Caso de Uso Classes de Objetos Caso de Uso Classes de Objetos Componentes Componentes Caso de Uso Caso de Uso

ASSOCIAO REGULAR

ATOR

CASO DE USO

Diagrama de Casos de Uso.

Caso de Uso

Nome da Classe Atributos

CLASSE
Operaes

Diagrama de Classes.

Classes de Objetos

Nome do Componente

COMPONENTE

Diagrama de Componentes

Componentes

Diagrama de Estados,
Nome do Estado

Classes de Objetos Caso de Uso Classes de Objetos Caso de Uso

ESTADO

Diagrama de Atividades. Diagrama de Estados,

ESTADO FINAL Diagrama de Atividades

Copyright Rildo Ferreira, e-tecnologia.com, 2009

120

Linguagem de Modelagem Unificada


Apndice A
Notao UML
ESTADO INICIAL
Nome da Interface

UML

Diagrama de Estados, Diagrama de Atividades.

Classes de Objetos Caso de Uso

ou

<<interface>> Nome da Interface Operao1 () Operao2 () Operao3 ()

INTERFACE

Diagrama de Componentes

Componentes

INTERVALO DE EXECUO DE OPERAO MENSAGEM DE RETORNO MENSAGEM E CHAMADA DE OPERAO Sncrona MENSAGEM E CHAMADA DE OPERAO Assncrona N

Diagrama de Seqncia

Caso de Uso

Diagrama de Seqncia

Caso de Uso

Diagrama de Seqncia

Caso de Uso

Diagrama de Seqncia

Caso de Uso

Diagrama de Implantao

Componentes

texto

NOTA

Em qualquer diagrama

identificador:Classe

ou

:Classe

Diagrama de Seqncia, OBJETO Diagrama de Atividades


Em qualquer diagrama em que necessrio representar um conjunto de coisas que devem estar agrupadas para efeito de uma organizao apropriada

Caso de Uso Caso de Uso

Nome do Pacote

PACOTE

TRANSIO DE ESTADO

Diagrama de Estados, Diagrama de Atividades

Classes de Objetos Caso de Uso

AUTODELEGAO

Diagrama de Seqncia

Caso de Uso

Copyright Rildo Ferreira, e-tecnologia.com, 2009

121

Linguagem de Modelagem Unificada


Apndice B
UML 2.0 Diagramas:

UML

Vises UML 2.0: Viso


Viso de Requisitos Funcionais

Descreve
Requisitos funcionais do sistema pelo ponto de vista do usurio. Estrutura esttica do sistema.

Diagramas
diagramas de casos de uso

Viso Estrutural Esttica

diagrama de classes diagrama de estruturas

Viso de Comportamento Dinmico

Comportamento dinmico do sistema, mostrando suas interaes.

diagramas de seqncias diagramas de atividades diagramas de estados

Copyright Rildo Ferreira, e-tecnologia.com, 2009

122

Notas: Linguagem
Marcas Registradas:

de Modelagem Unificada
UML

Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial so de responsabilidade de seus propriet rios. O autor informa no estar associada a nenhum produto e/ou fornecedor apresentado neste material. No decorrer deste, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e desde j o autor informa que o uso apenas ilustrativo e/ou educativo, no visando ao lucro, favorecimento ou desmerecimento do produto/fabricante. proibido o uso deste material para fins comerciais.

Melhoria e Reviso: Este material esta em processo constante de reviso e melhoria, se voc encontrou algum problema ou erro envie um e-mail ns.

Criticas e Sugestes: Ns estamos abertos para receber criticas e sugestes que possam melhorar o material, por favor envie um e-mail para ns.

Imagens: Google, Flickr e Banco de Imagem.

Rildo F dos Santos (rildosan@uol.com.br)

123
Copyright Rildo Ferreira, e-tecnologia.com, 2009

Licena: Linguagem

de Modelagem Unificada
UML

124
Copyright Rildo Ferreira, e-tecnologia.com, 2009

Licena: Linguagem

de Modelagem Unificada
UML

125
Copyright Rildo Ferreira, e-tecnologia.com, 2009

Linguagem de Modelagem Unificada


Notas do autor

UML

Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou comercial so de responsabilidade de seus proprietrios. O autor informa no estar associada a nenhum produto e/ou fornecedor apresentado neste material. No decorrer deste, imagens, nomes de produtos e fabricantes podem ter sido utilizados, e desde j o autor informa que o uso apenas ilustrativo e/ou educativo, no visando ao lucro, favorecimento ou desmerecimento do produto/fabricante. Melhoria e Reviso: Este material esta em processo constante de reviso e melhoria, se voc encontrou algum problema ou erro envie um e-mail ns.

Criticas e Sugestes: Ns estamos abertos para receber criticas e sugestes que possam melhorar o material, por favor envie um e-mail para ns.

Imagens: Google, Flickr e Banco de Imagem.

Rildo F dos Santos (rildosan@uol.com.br)

Copyright Rildo Ferreira, e-tecnologia.com, 2009

126

Linguagem de Modelagem Unificada

UML - Linguagem de UML Modelagem Unificada

Copyright Rildo Ferreira, e-tecnologia.com, 2009

Você também pode gostar