Programação por Objectos UML UML 1/87

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. LEEC@IST 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 ( LEEC@IST 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. LEEC@IST 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) LEEC@IST 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) LEEC@IST 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. LEEC@IST 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. LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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 LEEC@IST 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 (~) LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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 LEEC@IST 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. LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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 LEEC@IST 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. LEEC@IST 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. LEEC@IST 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). LEEC@IST 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) LEEC@IST 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 LEEC@IST 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 LEEC@IST 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 LEEC@IST 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} LEEC@IST 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 LEEC@IST 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 (~) LEEC@IST 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. LEEC@IST 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) LEEC@IST 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. LEEC@IST 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). LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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. LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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). LEEC@IST UML 58/87

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

60 Pacotes UML (2) A importação é representada por uma seta tracejada com o estereótipo <<import>>. Pacote1 <<import>> Pacote2 LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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. LEEC@IST UML 64/87

65 Diagrama de classes UML (1) Pessoa 1..* 1 Empresa empregado empregador 1 Emprego # vencimento: float # dataentrada: long * Departamento 0..1 LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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 LEEC@IST 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; LEEC@IST 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 LEEC@IST 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. LEEC@IST 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. LEEC@IST 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 LEEC@IST 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 LEEC@IST 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. LEEC@IST 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; } LEEC@IST 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. LEEC@IST 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. LEEC@IST 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. LEEC@IST 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

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 & 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Diagrama de transição de Estados (DTE)

Diagrama de transição de Estados (DTE) Diagrama de transição de Estados (DTE) O DTE é uma ferramenta de modelação poderosa para descrever o comportamento do sistema dependente do tempo. A necessidade de uma ferramenta deste tipo surgiu das

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

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

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

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

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

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

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

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

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

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

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

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

Manual do Gestor da Informação do Sistema

Manual do Gestor da Informação do Sistema Faculdade de Engenharia da Universidade do Porto Licenciatura Informática e Computação Laboratório de Informática Avançada Automatização de Horários Manual do Gestor da Informação do Sistema João Braga

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

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

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 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

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

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade

Base de dados I. Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Base de dados I O que é? Uma base de dados é um simples repositório de informação relacionado com um determinado assunto ou finalidade Para que serve? Serve para gerir vastos conjuntos de informação de

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

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

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

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 6 Polimorfismo Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof.

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

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

GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER)

GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER) GBC043 Sistemas de Banco de Dados Modelo de Entidade-Relacionamento (ER) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/sbd Projeto de BD Uma Visão Panorâmica Página 2 Projeto Conceitual

Leia mais

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Métodos de Construção de Software: Orientação a Objetos Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes Problemas com Modelagem Funcional Falta de aproximação de conceitos com o mundo real

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

Desenvolvimento estruturado versus orientado a objetos.

Desenvolvimento estruturado versus orientado a objetos. Desenvolvimento estruturado versus orientado a objetos. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Objetivos Identificar diferenças entre: Desenvolvimento

Leia mais

Folha de Cálculo TECNOLOGIAS DA T IINF CO RM 1 A 0 ÇÃO E COMUNICAÇÃO TIC 10

Folha de Cálculo TECNOLOGIAS DA T IINF CO RM 1 A 0 ÇÃO E COMUNICAÇÃO TIC 10 Folha de CálculoC TECNOLOGIAS DA TIC INFORMAÇÃO 10 E COMUNICAÇÃO TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO INTRODUÇÃO À Exemplo Era uma vez um profissional de saúde que tinha 20 doentes de quem recolhia

Leia mais

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE

ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através

Leia mais

Modelagem Dinâmica com UML

Modelagem Dinâmica com UML Modelagem Dinâmica com UML Prof. Márcio Barros marcio@cos.ufrj.br Diagramas de Sequência Protocolos de Interação Cenários Definição Um cenário é um caminho entre os fluxos de um use case Um use case é

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

Aula 5 UML: Casos de Uso

Aula 5 UML: Casos de Uso Aula 5 UML: Casos de Uso UML Casos de Uso Introdução Casos de uso Elementos do diagrama de casos de uso Descrição de casos de uso Exemplo: Blog Ferramentas de modelagem Bibliografia 2 Introdução Casos

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

2 Ferramentas Utilizadas

2 Ferramentas Utilizadas 2 Ferramentas Utilizadas Esta dissertação utiliza vários outros trabalhos para implementar os mecanismos de adaptação abordados. Essas ferramentas são descritas nas seções seguintes. 2.1 Lua Lua [7, 8]

Leia mais

RELACIONAMENTOS ENTRE CLASSES

RELACIONAMENTOS ENTRE CLASSES UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 RELACIONAMENTOS ENTRE CLASSES Conteúdo Introdução...2 Tipos de Relacionamentos...3 O Relacionamento de Dependência ( precisa de )...5

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

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A3 DATA 15/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Analise as afirmações

Leia mais

Formador: Carlos Maia

Formador: Carlos Maia Formador: Carlos Maia Iniciar o MS Excel MS Excel - Introdução 1 Ajuda Se ainda não estiver visível a ajuda do Excel do lado direito do ecrã, basta clicar sobre Ajuda do Microsoft Excel no menu Ajuda,

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

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

Especificação do Trabalho

Especificação do Trabalho Especificação do Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação, ligação,

Leia mais

Manual do Portal do Fornecedor. isupplier

Manual do Portal do Fornecedor. isupplier isupplier Revisão 01 Setembro 2011 Sumário 1 Acesso ao portal isupplier... 03 2 Home Funções da Tela Inicial... 05 3 Ordens de Compra Consultar Ordens de Compra... 07 4 Entregas Consultar Entregas... 13

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

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

Herança. Algoritmos e Programação II. Aula 5 Herança

Herança. Algoritmos e Programação II. Aula 5 Herança Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com

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

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

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc

Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc DOSPrinter Manual do Utilizador Alteração do POC (Decreto de Lei nº. 35/2005) no sispoc Data última versão: 20.03.2006 Versão : 1.1 Data criação: 01.03.2006 Faro R. Dr. José Filipe Alvares, 31 8005-220

Leia mais

Gestão de projectos na Web

Gestão de projectos na Web Gestão de projectos na Web Relatório de desenho de alto nível Versão 1.0, 5 de Maio de 2003 Telmo Pedro Gomes Amaral (mee02013@fe.up.pt) (Grupo 15) Aplicações na Web Mestrado em Engenharia Electrotécnica

Leia mais

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)

Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet) UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical

Leia mais

Python Intermediário. terça-feira, 4 de agosto de 15

Python Intermediário. terça-feira, 4 de agosto de 15 Python Intermediário I FUNÇÕES Módulo Python (Intermediário) Função Uma função é uma sequência de comandos que desempenham algum tipo de tarefa no seu programa Evita duplicação de código Facilita alterações:

Leia mais

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR

Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR Microsoft Office Outlook Web Access ABYARAIMOVEIS.COM.BR 1 Índice: 01- Acesso ao WEBMAIL 02- Enviar uma mensagem 03- Anexar um arquivo em uma mensagem 04- Ler/Abrir uma mensagem 05- Responder uma mensagem

Leia mais

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto; FICHA OBJECTIVO Construir Construir formulários na base de dados Diplomas em Diário da República Um formulário é utilizado, em primeiro lugar, para introduzir, eliminar ou apresentar dados numa base de

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

MANUAL DA SECRETARIA

MANUAL DA SECRETARIA MANUAL DA SECRETARIA Conteúdo Tela de acesso... 2 Liberação de acesso ao sistema... 3 Funcionários... 3 Secretaria... 5 Tutores... 7 Autores... 8 Configuração dos cursos da Instituição de Ensino... 9 Novo

Leia mais

DOMINE O EXCEL 2007. 16-09-2008 Fascículo 1

DOMINE O EXCEL 2007. 16-09-2008 Fascículo 1 DOMINE O EXCEL 2007 16-09-2008 Introdução ao Microsoft Excel 2007 O ambiente de trabalho O Friso e os Tabuladores do Excel 2007 O Excel possui várias versões sendo que, para a plataforma Windows, a mais

Leia mais

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir:

Chaves. Chaves. O modelo relacional implementa dois conhecidos conceitos de chaves, como veremos a seguir: Chaves 1 Chaves CONCEITO DE CHAVE: determina o conceito de item de busca, ou seja, um dado que será empregado nas consultas à base de dados. É um conceito lógico da aplicação (chave primária e chave estrangeira).

Leia mais

Sumário. Uma visão mais clara da UML

Sumário. Uma visão mais clara da UML Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da

Leia mais

Programação Orientada a Objetos (DPADF 0063)

Programação Orientada a Objetos (DPADF 0063) Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno

Leia mais

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP

Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP Neste tópico, você aprenderá a criar facilmente um banco de dados para uma nova empresa e a definir configurações comuns de uma empresa no SAP Business One, em apenas uma etapa usando um assistente guiado.

Leia mais

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva

UML & Padrões Aula 3. UML e Padrões - Profª Kelly Christine C. Silva UML & Padrões Aula 3 UML e Padrões - Profª Kelly Christine C. Silva 1 UML & Padrões Aula 3 Diagrama de Casos de Uso Profª Kelly Christine C. Silva O que vamos tratar: Modelos de Caso de Uso Diagrama de

Leia mais

Acessando o SVN. Soluções em Vendas Ninfa 2

Acessando o SVN. Soluções em Vendas Ninfa 2 Acessando o SVN Para acessar o SVN é necessário um código de usuário e senha, o código de usuário do SVN é o código de cadastro da sua representação na Ninfa, a senha no primeiro acesso é o mesmo código,

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