Programação por Objectos UML UML 1/87

Save this PDF as:
 WORD  PNG  TXT  JPG

Tamanho: px
Começar a partir da página:

Download "Programação por Objectos UML LEEC@IST UML 1/87"

Transcrição

1 Programação por Objectos UML UML 1/87

2 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo visualizar globalmente a aplicação). Mostra estrutura da aplicação, sem detalhes de implementação. Representação gráfica incrementa clareza semântica. Devido à complexidade, a abordagem OO é descrita por vários modelos, onde cada modelo aborda um aspecto particular. UML 2/87

3 Análise por UML (2) UML (Unified Modeling Language) resulta da fusão de vários sistemas de análise: Booch (G. Booch) OOSE (I. Jacobson) OMT (J. Rumbaugh) 1ª proposta divulgada em 1997 ( v1.1, v1.3, v1.4, v1.5, Abril v2.0) Ferramentas: Rational Rose Plug-in do eclipse ( ArgoUML ( UML 3/87

4 Análise por UML (3) UML v2 disponibiliza 13 diagramas, agrupados em: Modelação estrutural (pacotes, classes, objectos, estrutura composicional, componentes, aplicação física). Modelação de comportamento (use case, actividade, máquina de estados, comunicação, sequência de mensagens, temporização, enquadramento das interacções). Em POO são abordados apenas os diagramas centrais do UML, na sequência: conceito representação em UML implementação em Java UML 4/87

5 Classes definição Uma classe é um padrão de objectos, definida por: Identificador Atributos (que definem o estado dum objecto) cujos valores podem ser: tipos primitivos (inteiros, ) referências a outros objectos (identificando relações entre objectos) Métodos (operações que podem alterar o estado do objecto) Os atributos e os métodos são designados por membros da classe. UML 5/87

6 Classes exemplo (1) Uma conta bancária contém sempre uma quantia e pertence a uma pessoa. A pessoa tem um nome, telefone e um número de BI. Na conta pode ser depositado ou levantado dinheiro. Sempre que entender, o dono pode consultar o saldo da conta. Classes Conta Pessoa Atributos primitivos Conta: quantia (float) Pessoa: nome (string), numtelf (long), numbi (long) UML 6/87

7 Classes exemplo (2) Atributos referência Conta: dono (instância de uma Pessoa) Métodos Conta: levantamento (parâmetro: quantia a levantar) deposito (parâmetro: quantia a depositar) saldo (retorna: quantia da conta) Pessoa: numtelf (retorna: número de telefone) numbi (retorna: número do Bilhete de Identidade) UML 7/87

8 Métodos definição (1) Um método é uma sequência de acções, executada por um objecto, que pode alterar ou dar a conhecer o seu estado (valor dos atributos). Enquanto o valor dos atributos reside no objecto, o método reside na classe. Assinatura dum método: identificador do método; identificador e tipo dos parâmetros; valor de retorno. UML 8/87

9 Métodos definição (2) Os métodos são catalogados em: Construtor: executado na criação do objecto. Têm usualmente o mesmo identificador da classe. Nunca devolvem tipos. Não podem ser chamados. Normalmente usados para inicializar os atributos. Destrutor: executado na destruição do objecto. Modificador: altera valor dos atributos. Selector: dá a conhecer o valor dos atributos, sem os alterar. UML 9/87

10 Classes UML Representada por um rectângulo, dividido em 3 zonas: Identificador da classe Atributos Métodos Conta # dono: Pessoa # quantia: float = 0 + deposito (valor: float) + levantamento (valor: float) + saldo (): float As zonas dos atributos e métodos são opcionais. Um método e um atributo podem ter o mesmo identificador. UML 10/87

11 Objectos UML Representado por um rectângulo, dividido em 2 zonas: idobjecto:idclasse (ou apenas :IdClasse) Inicialização dos atributos, um por linha, na forma Id=Init mc: Conta dono = Rui Gustavo Crespo quantia = 1200 UML 11/87

12 Atributos UML Sintaxe Visib Ident: Tipo [=Init] Visib: visibilidade Ident: identificador do atributo Tipo: tipos de dados podem ser: primitivos (boolean, int, char, float, ) referências a outros objectos Init: inicialização Conta # dono: Pessoa # quantia: float = 0 + deposito (valor: float) + levantamento (valor: float) + saldo (): float UML 12/87

13 Métodos UML Sintaxe Visib Ident([id:TipoParam [, id:tipoparam]*]) [:TipoRet] Visib: visibilidade Ident: identificador do método id: identificador de parâmetro TipoParam: tipo do parâmetro TipoRet: tipo de retorno Conta # dono: Pessoa # quantia: float = 0 + deposito (valor: float) + levantamento (valor: float) + saldo (): float UML 13/87

14 Visibilidade de atributos e métodos UML Visibilidade de atributos e métodos representada por um caractere antes do identificador, que determina as permissões de acesso: public: acessível fora da classe (+) private: acessível apenas na classe (-) protected: acessível na classe e suas subclasses (#) package: acessível nas classes do mesmo pacote (~) UML 14/87

15 Atributos e métodos de classe definição Atributos e métodos podem ser de: instância: um para cada instância da classe classe: um para todas as instâncias da classe UML 15/87

16 Atributos e métodos de classe UML Representados com sublinhado no diagrama de classe. Conta - numproxconta: integer # dono: Pessoa # quantia: float = 0 # incnumproxconta () + deposito (valor: float) + levantamento (valor: float) + saldo (): float UML 16/87

17 Estereótipos UML O identificador da classe pode ser precedido por um estereótipo, na forma <<_>>, para adicionar semântica ao símbolo. <<conta à ordem>> Conta <<contador>> -numproxconta: integer <<atributos de conta>> # dono: Pessoa # quantia: float = 0 <<número próxima conta>> # incnumproxconta () <<operações sobre conta>> + deposito (valor: float) + levantamento (valor: float) + saldo (): float Para organizar listas longas de atributos e métodos, podem agrupar-se os atributos e métodos em categorias discriminadas por estereótipos. UML 17/87

18 Classes genéricas definição Uma classe genérica é uma classe que recebe como argumento outras classes. As classes genéricas são ainda conhecidas como classes parametrizadas. As classes genéricas são muito utilizadas na definição de colecções (conjuntos, listas, pilhas, árvores, etc). UML 18/87

19 Classes genéricas UML Representada em UML com uma caixa a tracejado sobre o canto direito de uma representação UML de uma classe. A caixa a tracejado contém a lista com o nome dos argumentos a passar à classe genérica. Conjunto T Conjunto<T->Conta> + adiciona(elem: T) + remove(elem: T) <<bind>><t->conta> ConjuntoConta UML 19/87

20 Relações definição Os objectos não vivem isolados e nos programas são estabelecidas relações de cooperação. Uma relação é uma conexão entre elementos. Existem diferentes tipos de relações: Associação: relaciona objectos entre si. Composição/Agregação: relação que denota o todo constítuido por partes. Herança: mecanismo de generalização-especialização de classes. Realização: uma classe implementa a funcionalidade definida numa interface. UML 20/87

21 Associação UML (1) Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo da associação. Papeis (role) representados pela associação em cada uma das classes relacionadas. Multiplicidade número de objectos associados em cada instância da associação. UML 21/87

22 Associação UML (2) O identificador e os papeis são opcionais. As associações podem ser de multiplicidade diversa: exactamente um (1). zero ou um (0..1). zero ou mais (0..*). um ou mais (1..*). são permitidas multiplicidades mais complexas, por exemplo, 0..1, 3..4, 6..*, para dizer qualquer número excepto 2 e 5. UML 22/87

23 Associação UML (3) A associação é representada por uma linha entre as classes associadas. O identificador da associação aparece sobre a associação. Os papéis de cada classe na associação aparecem nos respectivos extremos da associação. A multiplicidade da associação aparece igualmente nos extremos. Pessoa 1..* Emprego 1 empregado empregador Empresa UML 23/87

24 Associação UML (4) As associações podem ser dirigidas, e nesse caso são representadas por uma seta. A direcção das associações está relacionada com aspectos de implementação. Pessoa reside Endereço UML 24/87

25 Associação UML (5) As associações podem, elas próprias, transportar informação, sendo nesse caso a classe de associação ligada a tracejado à associação. O identificador da associação passa a ser o nome da classe de associação. Pessoa 1..* 1 Empresa empregado empregador Emprego # vencimento: float # dataentrada: long UML 25/87

26 Associação UML (6) Por omissão, a associação é: bi-direccional; de um para um; não possui informação extra. UML 26/87

27 Associação UML (7) Associações ternárias representadas por um diamante não preenchido que liga as diferentes linhas das classes associadas. Quantidade limitepreço 0..* Item 0..* produto 0..* vendedor Empresa ItemCatálogoCompras # preço: float UML 27/87

28 Agregação/Composição UML (1) A agregação é uma associação, que denota uma relação do todo ser formado por partes. A agregação é dita como sendo uma relação de has-a. Representada como uma associação com um pequeno diamante não preenchido no extremo relativo ao todo. todo partes Empresa 1 * Departamento UML 28/87

29 Agregação/Composição UML (2) Na composição, o desaparecimento do todo conduz ao desaparecimento das partes. Representada como uma associação com um pequeno diamante preenchido no extremo relativo ao todo. todo partes Empresa 1 * Departamento UML 29/87

30 Agregação/Composição UML (3) De uma maneira geral tanto a agregação como a composição não têm identificador, pois o significado destas relações está representada pelo próprio par todo-partes. A multiplicidade deve aparecer em ambos os extremos. Quando a multiplicidade é omitida, considera-se que é exactamente 1. UML 30/87

31 Reflexividade nas relações UML As relações de associação, agregação e composição podem ser reflexivas, com um elemento composto por vários sub-elementos iguais. Empresa 1 * Departamento * 0..1 UML 31/87

32 Herança definição (1) Princípio Aberto-Fechado Fecho: ao desenhar uma classe, todos os atributos e métodos devem estar desenvolvidos para que o programa possa ser usado sem alterações. Abertura: classes devem estar abertas para extensão, por forma a incorporar alterações com o mínimo impacto no sistema. UML 32/87

33 Herança definição (2) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode ser vista como generalização das subclasses. A herança é dita como uma relação is-a. As subclasses herdam os atributos e métodos das superclasses. Os métodos herdados podem ser modificados. Novos atributos e métodos podem ser adicionados às subclasses. UML 33/87

34 Herança definição (3) O polimorfismo ocorre quando há múltipla definição, ou redefinição, de métodos da superclasse nas subclasses, com a mesma assinatura. Em OO o polimorfismo é normalmente implementado através de ligação dinâmica, i.e., o método a ser executado é determinado apenas em tempo de execução (e não em tempo de compilação). UML 34/87

35 Herança definição (4) Na herança simples cada subclasse tem apenas uma superclasse (directa). Na herança múltipla uma subclasse pode ter mais do que uma superclasse (directa). Problema do diamante Animal Mamífero Ovíparo Monotrémato UML 35/87

36 Herança definição (5) Vantagens da herança: Maior legibilidade, pois as superclasses descrevem os aspectos comuns. Facilita alterações, porque normalmente estas incidem apenas nos aspectos particulares. Promovem reutilização do código das superclasses. Inconvenientes da herança: Obriga à detecção dos aspectos comuns. UML 36/87

37 Herança exemplo (1) Uma conta à ordem não recebe juros. A conta a prazo recebe os juros ao fim do prazo, salvo seja movimentada antes do final do período de imobilização reiniciando-se nessa data o período de imobilização. Subclasses ContaOrdem (superclasse: Conta) ContaPrazo (superclasse: Conta) UML 37/87

38 Herança exemplo (2) Atributos adicionados ContaOrdem: -- ContaPrazo: juro (tipo float), inicio (tipo long), periodo (tipo int) Métodos alterados ContaOrdem: -- ContaPrazo: levantamento (parâmetro: quantia a levantar) Métodos adicionados ContaOrdem: -- ContaPrazo: vencimentojuro UML 38/87

39 Herança UML (1) A herança simples é representada por uma seta não preenchida das subclasses para a superclasse. Conta Animal Mamímefo Ovíparo ContaOrdem ContaPrazo UML 39/87

40 Herança UML (2) A herança múltipla é representada por uma seta não preenchida da subclasse para as superclasses. Mamímefo Ovíparo Monotrémato UML 40/87

41 Herança UML (3) Classe não extensível: Classe sem superclasses: representada com a propriedade {root} escrita por baixo do identificador da classe. Classe sem subclasses: representada com a propriedade {leaf} escrita por baixo do identificador da classe. Botão BotãoOK {leaf} UML 41/87

42 Herança UML (4) O UML permite ainda especificar que um determinado método que não pode ser redefinido em subclasses. Tais métodos são representados com a propriedade {leaf} escrita depois da assinatura do método. Conta - numproxconta: integer # dono: Pessoa # quantia: float = 0 # incnumproxconta () + numconta () : integer {leaf} + deposito (valor: float) + levantamento (valor: float) + saldo (): float UML 42/87

43 Herança UML (5) Visibilidade de atributos e métodos representada por um caractere antes do identificador, que determina as permissões de acesso: public: acessível fora da classe (+) private: acessível apenas na classe (-) protected: acessível na classe e suas subclasses (#) package: acessível nas classes do mesmo pacote (~) UML 43/87

44 Métodos e classes abstractas definição Um método abstracto é um método que não tem implementação (é apenas um protótipo). Uma classe abstracta é uma classe que não pode ser instanciada. Uma classe que tem pelo menos um método abstracto (definido na própria classe ou herdado de uma superclasse, directa ou indirecta, e não implementado), é uma classe abstracta. UML 44/87

45 Métodos e classes abstractas UML Os métodos/classes abstractas são representados com a assinatura/identificador em itálico. Conta + levantamento (valor: float) ContaOrdem ContaPrazo + levantamento (valor: float) + levantamento (valor: float) UML 45/87

46 Excepções definição (1) Frequentemente as aplicações informáticas são sujeitas a situações anómalas: Erros matemáticos (por exemplo, divisões por 0). Dados indicados em formato inválido (por exemplo, inteiro inserido com caracteres inválidos). Tentativa de acesso a uma referência nula. Abertura para leitura de ficheiro inexistente. UML 46/87

47 Excepções definição (2) Uma excepção é um sinal lançado ao ser identificada uma condição que impede a execução normal do programa. As excepções podem ser tratadas de formas diversas: Termina o programa com mensagem de aviso e impressão do estado (inaceitável para sistemas críticos). Geridas em locais específicos, designados por manipuladores (handlers). UML 47/87

48 Excepções UML (1) As excepções são representadas como classes com o estereótipo <<exception>>. <<exception>>excepção - causa: string + atribuircausa(causa: string) + causa(): string <<exception>> ElemDuplicado <<exception>> CapacidadeExcedida <<exception>> ElemInexistente UML 48/87

49 Excepções UML (2) As classes de excepções modelam as excepções que um objecto pode lançar na execução das suas operações. As excepções lançadas são identificadas com uma seta a tracejado com o estereótipo <<send>>. <<exception>> Excepção Conjunto T <<exception>> ElemDuplicado <<exception>> ElemInexistente + adiciona(elem: T) + remove(elem: T) <<send>> <<send>> <<send>> <<exception>> CapacidadeExcedida UML 49/87

50 Interfaces e Pacotes definição As interfaces e os pacotes são mecanismos úteis para desenvolvimento de sistemas de grande dimensão: As interfaces separam a especificação da implementação. Os pacotes agrupam elementos distintos num único grupo. UML 50/87

51 Interfaces definição (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido: As interfaces não podem conter atributos, mas podem conter constantes. A implementação duma interface é realizada pela classe concreta. Na implementação ou concretização: Determina-se os atributos necessários à correcta implementação da interface. Descreve-se o código dos métodos das interface. UML 51/87

52 Interfaces definição (2) Uma interface pode herdar as definições de outra interface. Interfaces podem usar polimorfismo. Se uma classe concretizar mais de uma interface, e várias interfaces contiverem métodos com a mesma assinatura, basta definir uma única implementação. Uma interface não pode ser instanciada. UML 52/87

53 Interface vs classe abstracta Semelhanças: Não podem ser instanciadas directamente. Diferenças: Uma classe abstracta pode ter atributos (constantes ou não), enquanto que uma interface apenas pode ter constantes. Uma classe abstracta pode conter métodos implementados. UML 53/87

54 Interfaces UML (1) As interfaces são representadas como classes com o estereótipo <<interface>>. Uma interface, para além das operações oferecidas, só pode conter atributos constantes, representados com a propriedade {readonly}. <<interface>> Verbose + silent : integer = 0 {readonly} + terse : integer = 1 {readonly} + normal : integer = 2 {readonly} + verbose: integer = 3 {readonly} + setverbosity (integer level) + getverbosity (): integer UML 54/87

55 Interfaces UML (2) As interfaces podem participar em relações de herança (simples ou múltipla). <<interface>> Stack <<interface>> PriorityStack UML 55/87

56 Interfaces UML (3) A classe de concretização está associada à interface por uma relação de realização, representada graficamente por uma seta a tracejado. Uma classe pode realizar uma ou mais interfaces. <<interface>> Stack <<interface>> A <<interface>> B StackList StackTable AB UML 56/87

57 Pacotes definição (1) Um pacote é um mecanismo de agrupamento de informação: Os pacotes podem conter outros pacotes, classes, interfaces e objectos. O pacote forma um espaço de nomes (namespace), logo os seus membros têm de ter identificadores únicos (por exemplo, num pacote não pode haver duas classes com o mesmo nome). O identificador dum pacote pode consistir num nome simples ou num nome qualificado. O nome qualificado corresponde ao nome simples prefixado pelo nome do pacote onde este reside, se existir. É usual usar-se :: para separar os nomes simples. UML 57/87

58 Pacotes definição (2) A importação adiciona o conteúdo do pacote importado ao espaço de nomes do pacote importador, de tal forma que passa a ser desnecessário usar o seu nome qualificado. A importação não é transitiva. Se o pacote B importar o pacote A, e o pacote C importar o pacote B, no pacote C não são importados os elementos do pacote A. Caso o pacote C queira importar igualmente os elementos do pacote A, devem ser inseridas duas directivas de importação, uma para o pacote A e outra para o pacote B. O conjunto de métodos de um pacote é referido por API (Application Programmer Interface). UML 58/87

59 Pacotes UML (1) Os pacotes são representados por pastas, identificados com o respectivo nome. Pacote1 Pacote1::Pacote2 UML 59/87

60 Pacotes UML (2) A importação é representada por uma seta tracejada com o estereótipo <<import>>. Pacote1 <<import>> Pacote2 UML 60/87

61 Pacotes UML (3) Os elementos dum pacote podem ter visibilidade diversa: public: elementos acessíveis ao pacote e aos pacotes que o importam (+) private: elementos inacessíveis fora do pacote (-) protected: elementos acessíveis no pacote e subpacotes (#) package: elementos acessíveis apenas no pacote (~) As partes públicas dum pacote constituem a interface do pacote. GUI GUI GUI + Janela + Menu # ManipuladorExcepção + Janela + Menu # ManipuladorExcepção UML 61/87

62 Pacotes UML (4) Um pacote exporta apenas a sua parte pública. As partes exportadas por um pacote são visíveis apenas para os pacotes que explicitamente o importam. Pacote1 + Classe1A + Classe1B - Classe1C <<import>> Pacote2 + Classe2A - Classe2B <<import>> Pacote3 + Classe3A + Classe3B # Classe3C UML 62/87

63 Diagramas UML UML v2 disponibiliza 13 diagramas, dos quais apenas os seguintes são abordados na cadeira de PO: Modelação estrutural: Diagrama de classes: classes, interfaces e relações. Diagrama de objectos: objectos e relações. Diagrama de pacotes: pacotes. Modelação de comportamento: Diagrama de actividades: mostra a dinâmica de sociedades de objectos, ou o controlo de fluxo de um método. Diagrama de sequência de mensagens: modela a evocação de métodos entre objectos. UML 63/87

64 Diagrama de classes definição O diagrama de classes é usado para modelar: Colaboração entre classes. Esquemas de bases de dados: Normalmente, os sistemas contêm objectos persistentes. O diagrama de classes é um superconjunto do diagrama ER (entity-relationship). Os diagramas ER focam apenas os dados, enquanto que os diagramas de classes permitem, para além dos dados, modelar comportamento. Tipicamente, o diagrama de classes contém classes, interfaces e relações. Pode ainda conter pacotes e objectos. É o diagrama mais comum na modelação de sistemas orientados a objectos. UML 64/87

65 Diagrama de classes UML (1) Pessoa 1..* 1 Empresa empregado empregador 1 Emprego # vencimento: float # dataentrada: long * Departamento 0..1 UML 65/87

66 Diagrama de classes UML (2) 1..* Pessoa 1..* Conta ContaOrdem ContaPrazo UML 66/87

67 Diagrama de objectos definição O diagrama de objectos contém um conjunto de objectos e as suas relações (num determinado instante no tempo). Enquanto que com o diagrama de classes é possível especificar completamemente a semântica das abstracções e correspondentes relações num sistema, tal é impossível no diagrama de objectos. O diagrama de objectos apenas consegue capturar subconjuntos interessantes dos objectos do sistema. UML 67/87

68 Diagrama de objectos UML c:empresa Empresa 1 * Departamento 0..1 d1:departamento nome = Vendas d3:departamento nome = Vendas US d2:departamento nome = I&D UML 68/87

69 Diagrama de pacotes UML O diagrama de pacotes mostra a decomposição do modelo em unidades de organização (pacotes) e correspondentes dependências (importações). Pacote1 + Classe1A + Classe1B - Classe1C <<import>> Pacote2 + Classe2A - Classe2B <<import>> Pacote3 + Classe3A + Classe3B # Classe3C UML 69/87

70 Diagrama de actividades definição O diagrama de actividades é usado para modelar: A dinâmica de sociedades de objectos. O controlo de fluxo de um método. Neste contexto o diagrama de actividades pode ser visto como o equivalente OO dos fluxogramas. UML 70/87

71 Diagrama de actividades UML (1) Um diagrama de actividades contém: Estados: Estado inicial Estado final Actividades: Actividade atómica Actividade composta Actividade protegida e manipuladores de excepções associados Fluxos entre actividades: Fluxo simples Fluxo alternativo Fluxo paralelo Objectos e fluxo associado UML 71/87

72 Diagrama de actividades UML (2) As actividades podem ser: Atómicas, i.e., não divisíveis avaliação de expressões atribuição dum valor/expressão a um atributo chamada dum método num objecto enviar um sinal a um objecto criar ou destruir objectos Compostas, i.e., podem ser representadas por outros diagramas de actividades. As actividades são representadas por um rectângulo com cantos arredondados. São permitidas actividades aninhadas. a:=x+1; UML 72/87

73 Diagrama de actividades UML (3) O fluxo simples é representado por setas. O estado inicial é representado por um círculo preenchido e o estado final um círculo preenchido dentro de um outro círculo. Pedir cartão crédito Receber código Levantar cartão crédito UML 73/87

74 Diagrama de actividades UML (4) O fluxo alternativo é representado por um diamante não preenchido de onde parte uma ramificação: A ramificação pode resultar em 2 ou mais fluxos simples. Cada fluxo tem uma guarda (expressão Booleana). As guardas devem ser mutuamente disjuntas (prevenir ambiguidade) e devem cobrir todas as possibilidades (prevenir congelamento da transição). Pode usar-se o else para representar o fluxo a seguir caso nenhuma das outras guardas seja verdadeira. UML 74/87

75 Diagrama de actividades UML (5) Processar pedido cartão crédito [aprovado] Enviar código [reprovado] Notificar cliente UML 75/87

76 Diagrama de actividades UML (6) O fluxo paralelo é representado com uma barra de sincronização, representada por uma barra negra, para especificar o início (fork) e fim (join) do paralelismo. Num diagrama de actividades o número fluxos inicíados numa barra de sincronização deve igualar o número de fluxos que finaliza a mesma. UML 76/87

77 Diagrama de actividades UML (7) Pagar propinas Frequentar aulas Submeter provas UML 77/87

78 Diagrama de actividades UML (8) O lançamento de excepções é representado por um raio partindo da actividade protegida em direcção ao manipulador de excepção. Pode haver mais que uma excepção, cada uma processada pelo seu manipulador. Actividade protegida Manipulador excepção UML 78/87

79 Diagrama de actividades UML (9) Abrir URL Abrir visualizador Copiar conteúdo do URL para visualizador Fechar URL e visualizador ExcepçãoURLInválido ExcepçãoES Pedir novo URL Informar impossibilidade copiar conteúdo UML 79/87

80 Diagrama de actividades UML (10) O fluxo de controlo associado a um diagrama de actividades pode envolver objectos. Os objectos são representados no diagrama de actividades, ligados por uma seta a tracejado a partir da actividade que os criou, modificou, ou destruio. Tal representação é denominada fluxo de objectos pois representa a participação dum objecto no fluxo de actividades. Para além da representação do seu fluxo é possível mostrar como o seu estado varia no percurso do mesmo. O estado é representado com o auxílio de parêntesis rectos por baixo do identificador do objecto. É usual organizar um diagrama de actividades em faixas que separam as diferentes actividades pela respectiva participação nas diferentes classes do sistema. UML 80/87

81 Diagrama de actividades UML (11) Cliente Vendedor Conta Armazém Devolver produto Receber produto Enviar produto :Produto [devolvido] Creditar conta Receber produto Armazenar produto :Produto [disponível] UML 81/87

82 Diagrama de actividades UML (12) A modelação de um método num diagrama de actividades é particularmente interessante quando o comportamento do método é complexo e difícil de compreender apenas com recurso ao código que o implementa. else [saldo >= valor] saldo = saldo - valor levantamento(valor: float) { if (saldo >= valor) saldo = saldo - valor; } UML 82/87

83 Diagrama de sequência de mensagens definição O diagrama de sequência de mensagens é usado para modelar a troca de mensagens (chamadas a métodos) entre objectos. UML 83/87

84 Diagrama de sequência de mensagens UML (1) Um diagrama de sequência de mensagens contém objectos, liagações entre eles e as mensagens (métodos chamados) que deram origem a estas ligações. Um diagrama de sequência de mensagens representa os objectos no eixo das abcissas e os métodos chamados entre os respectivos objectos, ordeandos temporalmente, no eixo das ordenadas. Os objectos são colocados no topo do diagrama, ao longo do eixo das abcissas, da esquerda para a direita à medida que vão participando na interacção. Os métodos chamados são colocados ao longo do eixo das ordenadas, temporalmente ordenados de cima para baixo, ligando por meio de setas os objectos envolvidos. UML 84/87

85 Diagrama de sequência de mensagens UML (2) objectos :Pessoa :ATM inserircartão() tempo pedircódigo() inserircódigo(****) pedirlevantamento(100) entregardinheiro() UML 85/87

86 Diagrama de sequência de mensagens UML (3) Nos diagramas de sequência de mensagens os objectos são criados e destruídos: A sua existência começa com uma seta com o estereótipo <<create>> ligando os objectos envolvidos. A sua existência termina com uma seta com o estereótipo <<destroy>> ligando os objectos envolvidos. UML 86/87

87 Diagrama de sequência de mensagens UML (4) :ATM :Conta :OBBCProxy pedirlevantamento(100) entregardinheiro() <<create>> :Transacção levantamento(100) decsaldo(100) commited <<destroy>> {transient} UML 87/87

Programação por Objectos UML MEEC@IST UML 1/83

Programação por Objectos UML MEEC@IST UML 1/83 Programação por Objectos UML MEEC@IST UML 1/83 Análise por UML (1) Um sistema de análise descreve os modelos da aplicação a desenvolver. Aumenta legibilidade (menos informação que o código, permitindo

Leia mais

Capítulo 8. Introdução UML

Capítulo 8. Introdução UML Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação

Leia mais

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language)

Programação com Objectos. Processamento de Dados I. 3. UML (Unified Modeling Language) Programação com Objectos Processamento de Dados I 3. UML (Unified Modeling Language) 1 Modelo UML Diagrama de classes Programação com Objectos / Processamento de Dados I 2 Modelo O desenvolvimento de programas

Leia mais

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva UML & Padrões Aula 1 Apresentação Profª Kelly Christine C. Silva Sistemas para Internet Módulo I - Construção de sites informativos Módulo II - Construção de sites dinâmicos Módulo III - Aplicações para

Leia mais

3.1 Definições Uma classe é a descrição de um tipo de objeto.

3.1 Definições Uma classe é a descrição de um tipo de objeto. Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:

Leia mais

UML Itens Estruturais - Interface

UML Itens Estruturais - Interface Itens Estruturais - Interface Coleção de operações que especificam serviços de uma classe ou componente Descreve o comportamento visível externamente Raramente aparece sozinha. Em geral vem anexada à classe

Leia mais

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite

Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Orientação a Objeto e UML Questões 2014 Prof. Felipe Leite Pessoal, fiz uma coletânea das questões mais recentes de concursos públicos de TODO o Brasil de várias bancas diferentes sobre os assuntos Orientação

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

Micro Mídia Informática Fevereiro/2009

Micro Mídia Informática Fevereiro/2009 Micro Mídia Informática Fevereiro/2009 1 UML Introdução Fases de Desenvolvimento Notação Visões Análise de Requisitos Casos de Uso StarUML Criando Casos de Uso Orientação a Objetos Diagrama de Classes

Leia mais

UML (Unified Modelling Language) Diagrama de Classes

UML (Unified Modelling Language) Diagrama de Classes UML (Unified Modelling Language) Diagrama de Classes I Classes... 2 II Relações... 3 II. Associações... 3 II.2 Generalização... 9 III Exemplos de Modelos... III. Tabelas de IRS... III.2 Exames...3 III.3

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode

Leia mais

Mapa Mental de Engenharia de Software - Diagramas UML

Mapa Mental de Engenharia de Software - Diagramas UML Mapa Mental Engenharia Software - Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental Engenharia Software Diagramas UML Mapa Mental UML - Diagramas, Fases e Detalhes Resolvi juntar

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

Leia mais

UML (Unified Modeling Language) Linguagem de Modelagem Unificada

UML (Unified Modeling Language) Linguagem de Modelagem Unificada UML (Unified Modeling Language) Linguagem de Modelagem Unificada Introdução É a padronização das metodologias de desenvolvimento de sistemas baseados na orientação a objetos. Foi criada por três grandes

Leia mais

Capítulo 3. Programação por objectos em Java

Capítulo 3. Programação por objectos em Java Capítulo 3. Programação por objectos em Java 1/46 Índice Indice 3.1 - Qualificadores de visualização 3.2 - Classe 3.3 - Objecto 3.4 - Métodos 3.5 - Herança 3.6 - Reescrita de métodos 3.7 - Classes abstractas

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.

Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti. Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br prof@edison.eti.br 1 Contextualizando... Fonte: [1] O Processo de ER pode ser

Leia mais

Uma visão mais clara da UML Sumário

Uma visão mais clara da UML Sumário Uma visão mais clara da UML Sumário 1 Método...2 2 Análise de requisitos...2 2.1 Diagramas de Casos de Uso...3 2.1.1 Ator...3 2.1.2 Casos de Uso (Use Case)...4 2.1.3 Cenário...4 2.1.4 Relacionamentos...6

Leia mais

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. 1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para

Leia mais

Capítulo 4. Packages e interfaces

Capítulo 4. Packages e interfaces Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias

Leia mais

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 16 PROFª BRUNO CALEGARO Santa Maria, 12 de Novembro de 2013. Revisão aula anterior Modelagem orientada a objetos com UML Software: Astah Community

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,

Leia mais

Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org. www.tiagodemelo.info

Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org. www.tiagodemelo.info Análise de Sistemas Orientados a Objetos Prof. Tiago Eugenio de Melo tiago@comunidadesol.org www.tiagodemelo.info Roteiro Conceitos de Orientação a Objetos (OO) Visão Geral da UML Diagrama de Classes Diagramas

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos O FOCO NO MUNDO REAL Orientação a objetos A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década de 60 - Noruega), que já implementava

Leia mais

3. PARADIGMA ORIENTADO A OBJETOS

3. PARADIGMA ORIENTADO A OBJETOS Paradigmas de Linguagens I 1 3. PARADIGMA ORIENTADO A OBJETOS Este paradigma é o que mais reflete os problemas atuais. Linguagens orientada a objetos (OO) são projetadas para implementar diretamente a

Leia mais

Tópicos em Engenharia de Computação

Tópicos em Engenharia de Computação Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas

Leia mais

Diagramas de Casos de Uso

Diagramas de Casos de Uso UML Unified Modeling Language Diagramas de Casos de Uso José Correia, Março 2006 (http://paginas.ispgaya.pt/~jcorreia/) Objectivos O objectivo de um diagrama de casos de uso de um sistema é mostrar para

Leia mais

Modelando com UML Unified Modeling Language

Modelando com UML Unified Modeling Language Modelando com UML Unified Modeling Language AHMED ALI ABDALLA ESMIN 1 1 ILES ULBRA Instituto de Informática - Universidade Luterana do Brasil de Informática Cx. Postal 271 CEP 78.9860-000 Ji-Paraná (RO)

Leia mais

Fundamentos de Banco de Dados e Modelagem de Dados

Fundamentos de Banco de Dados e Modelagem de Dados Abril - 2015 Universidade Federal de Mato Grosso Instituto de Computação Pós Graduação Lato Sensu em Banco de Dados Fundamentos de Banco de Dados e Modelagem de Dados Prof. Dr. Josiel Maimone de Figueiredo

Leia mais

UML: Diagrama de Casos de Uso, Diagrama de Classes

UML: Diagrama de Casos de Uso, Diagrama de Classes UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema

Leia mais

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society

Modelagem com UML. Fabio Perez Marzullo. IEEE Body of Knowledge on Services Computing Committee on Services Computing, IEEE Computer Society Modelagem com UML Fabio Perez Marzullo IEEE Body of Knowledge on Services Computing Sponsored by Technical Committee on Services Computing, IEEE Computer Society Modelagem Estática (Visão Lógica) Casos

Leia mais

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

Leia mais

UML & Padrões Aula 2 1

UML & Padrões Aula 2 1 UML & Padrões Aula 2 1 (continuação...) Ainda a tratar: Multiplicidade de Associações Binárias Navegabilidade de Associações Restrições Classes Concretas e Abstratas Atributos e Métodos Estáticos Classes

Leia mais

Análise Orientada a Objetos

Análise Orientada a Objetos Análise Orientada a Objetos Breve Histórico: Fim da década de 80: amadurecimento da Orientação a Objeto Década de 1990: diversas proposições a partir de diversos autores, como Booch, Rumbaugh e Jacobson.

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na

Leia mais

UML Diagramas de Classes

UML Diagramas de Classes UML Diagramas de Classes (versão reduzida) João Pascoal Faria UML Diagramas de Classes v.1.2, João Pascoal Faria, Outubro de 2002 1 Índice Objectivo dos diagramas de classes Objectos, classes, atributos

Leia mais

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3)

Material de Apoio 5. int getres() { return res; O que estas classes possuem em comum? 1) 2) 3) pg. 1/6 Material de Apoio 5 Herança Observe o código das classes Fatorial e Fibonacci apresentados abaixo. class Fatorial { class Fibonacci { private int n, res; private int n, res; public Fatorial( int

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

REQUISITOS DE SISTEMAS

REQUISITOS DE SISTEMAS REQUISITOS DE SISTEMAS MÓDULO 2 PROCESSOS DE NEGÓCIOS CONTEÚDO 1. PROCESSOS DE NEGÓCIO IDENTIFICAÇÃO CONCEITOS MODELAGEM (BPM e UML) PROCESSOS X REQUISITOS 1. PROCESSOS DE NEGÓCIO IDENTIFICAÇÃO CONCEITOS

Leia mais

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Introdução ao Paradigma Orientado a Objetos. Principais conceitos Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Análise e Projeto Orientado a Objetos

Análise e Projeto Orientado a Objetos Análise e Projeto Orientado a Objetos Linguagem UML Modelagem Estrutural Modelagem Estrutural Anderson Belgamo Classes Definição: uma classe é uma descrição de um conjunto de objetos que compartilham os

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

UML Unified Modeling Language

UML Unified Modeling Language UML Unified Modeling Language Linguagem de Modelagem Unificada A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem para especificação, É uma linguagem para

Leia mais

4.4. UML Diagramas de interacção

4.4. UML Diagramas de interacção Engenharia de Software 4.4. UML Diagramas de interacção Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Um diagrama de interacção mostra um padrão de interacção entre vários objectos, com objectos e

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

Diagrama de Casos de Uso

Diagrama de Casos de Uso Diagrama de Casos de Uso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide Medeiros,

Leia mais

4.1. UML Diagramas de casos de uso

4.1. UML Diagramas de casos de uso Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema

Leia mais

Programação Orientada a Objeto

Programação Orientada a Objeto Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso

Leia mais

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Construção de novas Classes em Java. Classes Atributos Métodos Herança... Construção de novas Classes em Java Classes Atributos Métodos Herança... 1 Exemplo Representação em UML Java (Unified Modeling Language) Stack items : Vector Stack( ) push( ) pop( ) isempty( ) finalize(

Leia mais

POO Programação Orientada a Objetos. Classes em Java

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

Casos de uso Objetivo:

Casos de uso Objetivo: Casos de uso Objetivo: Auxiliar a comunicação entre os analistas e o cliente. Descreve um cenário que mostra as funcionalidades do sistema do ponto de vista do usuário. O cliente deve ver no diagrama de

Leia mais

Modelos de Sistemas Casos de Uso

Modelos de Sistemas Casos de Uso Modelos de Sistemas Casos de Uso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2000 Slide 1 Modelagem de Sistema UML Unified Modeling Language (Linguagem de Modelagem Unificada)

Leia mais

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem?

A linguagem UML. UML e Diagramas de Casos de Uso e Classes. Por que usar UML? O que é modelagem? UML e Diagramas de Casos de Uso e Classes Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com A linguagem UML UML (Unified Modeling Language) Linguagem de Modelagem Unificada É uma linguagem de modelagem

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

Leia mais

Programação com Acesso a BD. Programação com OO Acesso em Java

Programação com Acesso a BD. Programação com OO Acesso em Java Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

Unified Software Development Process

Unified Software Development Process 59/170 Unified Software Development Process Sumário Breve história do Unified Process O Unified Process O ciclo de vida do Unified Process O RUP (Rational Unified Process) 60/170 Breve História do Unified

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Guia de utilização da notação BPMN

Guia de utilização da notação BPMN 1 Guia de utilização da notação BPMN Agosto 2011 2 Sumário de Informações do Documento Documento: Guia_de_utilização_da_notação_BPMN.odt Número de páginas: 31 Versão Data Mudanças Autor 1.0 15/09/11 Criação

Leia mais

A Linguagem de Modelagem Unificada

A Linguagem de Modelagem Unificada A Linguagem de Modelagem Unificada Modelagem de Dados 1 A linguagem de Modelagem Unificada (UML Unified Modeling Language) é uma linguagem gráfica para comunicar especificações de projeto para software.

Leia mais

Diagrama de Classe. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha. Engenharia de Software

Diagrama de Classe. Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha. Engenharia de Software "Antes de imprimir pense em sua responsabilidade e compromisso com o MEIO AMBIENTE." Engenharia de Software Diagrama de Classe Givanaldo Rocha de Souza givanaldo.rocha@ifrn.edu.br http://docente.ifrn.edu.br/givanaldorocha

Leia mais

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. lucelia.com@gmail.com MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES lucelia.com@gmail.com Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,

Leia mais

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software

modelagem do negócio (processos e objetos do negócio) modelagem de requisitos alocados ao software modelagem da solução de software POO com UML Java Uso da linguagem UML(Unified Modeling Language) A UML, ou Linguagem de Modelagem Unificada, é a junção das três mais conceituadas linguagens de modelagem orientados a objectos (Booch de

Leia mais

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor

Leia mais

Modelagem de Processos. Prof.: Fernando Ascani

Modelagem de Processos. Prof.: Fernando Ascani Modelagem de Processos Prof.: Fernando Ascani Bibliografia UML Guia de consulta rápida Douglas Marcos da Silva Editora: Novatec UML Guia do usuário Grady Booch James Rumbaugh Ivair Jacobson Editora: Campus

Leia mais

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

ENGENHARIA DE SOFTWARE Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - MÓDULO 3 - MODELAGEM DE SISTEMAS ORIENTADA A OBJETOS COM UML 1. INTRODUÇÃO A partir de 1980, diversos métodos de desenvolvimento de sistemas surgiram para apoiar o paradigma orientado a objetos com uma

Leia mais

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com

BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com BSI UFRPE Prof. Gustavo Callou gcallou@gmail.com HelloWorld.java: public class HelloWorld { public static void main (String[] args) { System.out.println( Hello, World ); } } Identificadores são usados

Leia mais

Guia para elaboração do Modelo de Domínio Metodologia Celepar

Guia para elaboração do Modelo de Domínio Metodologia Celepar Guia para elaboração do Modelo de Domínio Metodologia Celepar Agosto 2009 Sumário de Informações do Documento Documento: guiamodelagemclassesdominio.odt Número de páginas: 20 Versão Data Mudanças Autor

Leia mais

Conceitos de Orientação a Objetos

Conceitos de Orientação a Objetos Conceitos de Orientação a Objetos Curso de Linguagem Java José Antonio F. de Macêdo jmacedo@inf.puc-rio.br O Mundo é composto de Objetos! Jose Antonio F. Macedo Linguagem Java 2 O que é um Objeto? Definições:

Leia mais

UML Aspectos de projetos em Diagramas de classes

UML Aspectos de projetos em Diagramas de classes UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

ARQUITECTURAS DE SOFTWARE

ARQUITECTURAS DE SOFTWARE ARQUITECTURAS DE SOFTWARE AULAS Nº 5, 6 e 7 16-23-30/11/2007 F. Mário Martins Ligação das partes Use Case Diagram Use Case Specification Passo 1: ---------- Passo 2: ---------- Passo 3: ---------- Domain

Leia mais

Desenvolvimento de uma Etapa

Desenvolvimento de uma Etapa Desenvolvimento de uma Etapa A Fase Evolutiva do desenvolvimento de um sistema compreende uma sucessão de etapas de trabalho. Cada etapa configura-se na forma de um mini-ciclo que abrange as atividades

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

Encapsulamento de Dados

Encapsulamento de Dados Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam

Leia mais

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

ANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição

Leia mais

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária)

Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) Curriculum DeGóis Guia de preenchimento do Curriculum Vitae (Informação mínima necessária) http://curriculum.degois.pt Março de 2012 Versão 1.5 1 Introdução O objectivo deste guia é auxiliar o utilizador

Leia mais

Disciplina Técnicas de Modelagem

Disciplina Técnicas de Modelagem T É C N I C A 3 MODELAGEM CONCEITUAL GENERALIZAÇÃO/ESPECIALIZAÇÃO, AGREGAÇÃO E COMPOSIÇÃO Generalização/Especialização Herança é o termo em orientação a objetos que se refere à criação de novas classes

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros

Leia mais

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Classe e Objeto Atributo Operação Associações (Delegações [SANTOS, 2003]) Dependência Simples: multiplicidade, papel, navegabilidade Com valor semântico adicional: agregação

Leia mais

UNIP UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA (ICET) CURSO DE CIÊNCIAS DA COMPUTAÇÃO. O Paradigma da Orientação a Objeto

UNIP UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA (ICET) CURSO DE CIÊNCIAS DA COMPUTAÇÃO. O Paradigma da Orientação a Objeto UNIP UNIVERSIDADE PAULISTA INSTITUTO DE CIÊNCIAS EXATAS E TECNOLOGIA (ICET) CURSO DE CIÊNCIAS DA COMPUTAÇÃO O Paradigma da Orientação a Objeto Apresentada em Cumprimento Parcial dos Requerimentos para

Leia mais

Análise e Projeto Orientados a Objeto

Análise e Projeto Orientados a Objeto Análise e Projeto Orientados a Objeto com UML e Padrões Parte I Análise, Projeto, e Processo Baseado em Craig Larman 1 Aplicando UML, Padrões e APOO Objetivo Desenvolver habilidades práticas na utilização

Leia mais

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD)

Diagrama de entidades relacionamentos (abordado anteriormente) Diagrama de Fluxo de Dados (DFD) Diagrama de entidades relacionamentos (abordado anteriormente) Prod_Forn N N 1 Stock 1 1 N Prod_Enc N 1 N 1 Fornecedor Movimento Encomenda Diagrama de Fluxo de Dados (DFD) Ferramenta de modelação gráfica,

Leia mais

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima

UML Unified Modeling Language. Professor: André Gustavo Bastos Lima UML Unified Modeling Language Professor: André Gustavo Bastos Lima Diagramas de Casos de Uso Professor: André Gustavo Bastos Lima DEFINIÇÃO DE CASO DE USO Segundo o RUP: Um Caso de Uso é a relação de uma

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 11 APRESENTAÇÃO Nesta aula serão discutidos os conceitos relacionados

Leia mais

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO

FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO FUNDAMENTOS DA ORIENTAÇÃO A OBJETOS- REVISÃO Dado que a UML é uma ferramenta inserida no paradigma da orientação a objetos, vamos rever alguns conceitos fundamentais, dentre os quais, destacamos: Classificação,

Leia mais

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL Índice Novo Serviço de Gestão de Mensagens... 3 Criar Mensagens... 4 Layout Criar Mensagens... 4 Processo Criar

Leia mais

Parte I. Orientação a objetos no PHP. Contato: <lara.popov@ifsc.edu.br> Site: http://professores.chapeco.ifsc.edu.br/lara/

Parte I. Orientação a objetos no PHP. Contato: <lara.popov@ifsc.edu.br> Site: http://professores.chapeco.ifsc.edu.br/lara/ Parte I Programação para WEB II Orientação a objetos no PHP Contato: Site: http://professores.chapeco.ifsc.edu.br/lara/ Programação para WEB II 1 PHP Estruturado Os programadores

Leia mais

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis)

Introdução a UML. Agenda. Definição Histórico Contribuições Diagramas Observações. Cleidson de Souza (Rodrigo Reis) Agenda Introdução a Cleidson de Souza (Rodrigo Reis) Definição Contribuições Diagramas Observações Definição A (Unified Modeling Language) é uma notação para descrição de sistemas orientados: The Unified

Leia mais

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 14 Herança a e Polimorfismo Objetivos do Capítulo Apresentar os conceitos de herança e de polimorfismo. Explorar os diversos recursos disponíveis no Java para a aplicação da herança e do polimorfismo

Leia mais

Programa do Módulo 2. Fundações do Modelo Objeto

Programa do Módulo 2. Fundações do Modelo Objeto 2.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) Processo Unificado (RUP) Fundações do Modelo Objeto 2.2 Programação Orientada a Objetos: é um método de

Leia mais

Modelo conceitual Aula 08

Modelo conceitual Aula 08 Universidade Federal de Mato Grosso do Sul Sistemas de Informação - CPCX Modelo conceitual Aula 08 Prof. Fernando Maia da Mota Slides gentilmente cedidos por Profa. Dra. Maria Istela Cagnin Machado UFMS/FACOM

Leia mais

Introdução a UML. Introdução a UML (Unified Modeling Language)

Introdução a UML. Introdução a UML (Unified Modeling Language) Introdução a UML (Unified Modeling Language) Régis Patrick Silva Simão Régis Simão 1/33 Agenda Introdução Histórico Por que UNIFICADA? Esquema de Visões 4+1 Modelos e Diagramas Modelagem Ágil Régis Simão

Leia mais

Análise de Requisitos - II Métodos de Análise de Requisitos

Análise de Requisitos - II Métodos de Análise de Requisitos Tema da Aula Análise de Requisitos - II Métodos de Análise de Requisitos Prof. Cristiano R R Portella portella@widesoft.com.br Análise de Requisitos Métodos Consagrados 9 Análise Estruturada Baseada em

Leia mais

Engenharia Informática

Engenharia Informática Escola Superior de Ciência e Tecnologia Engenharia Informática Análise de Sistemas Informáticos 3º ano Exame 12 de Julho de 2006 Docentes: José Correia e João Paulo Rodrigues Duração: 90 m; Tolerância:

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais