4.2. UML Diagramas de classes

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

Download "4.2. UML Diagramas de classes"

Transcrição

1 Engenharia de Software 4.2. UML Diagramas de classes Nuno Miguel Gil Fonseca

2 Um diagrama de classes serve para modelar o vocabulário de um sistema Construído e refinado ao longo das várias fases do desenvolvimento do software, por analistas, projectistas (designers) e implementadores Também servem para: Especificar colaborações (no âmbito de um caso de uso ou mecanismo) Especificar esquemas lógicos de bases de dados Especificar vistas (estrutura de dados de formulários, relatórios, etc.) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 2

3 Objectos Um objecto é algo com fronteiras bem definidas, relevante para o problema em causa que tem: Um estado modelado por valores de atributos (tamanho, forma, peso, etc.) e por ligações que num dado momento tem com outros objectos Um comportamento um objecto exibe comportamentos invocáveis (por resposta a chamadas de operações) ou reactivos (por resposta a eventos) Uma identidade no espaço: é possível distinguir dois objectos mesmo que tenham o mesmo estado exemplo: podemos distinguir duas folhas de papel A4, mesmo que tenham os mesmos valores dos atributos no tempo: é possível saber que se trata do mesmo objecto mesmo que o seu estado mude exemplo: se pintarmos um folha de papel A4 de amarelo, continua a ser a mesma folha de papel (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 3

4 Objectos do mundo real e objectos computacionais No desenvolvimento de software orientado por objectos, procura-se imitar no computador o mundo real visto como um conjunto de objectos que interagem entre si Muitos objectos computacionais são imagens de objectos do mundo real Dependendo do contexto (análise ou projecto) podemos estar a falar em objectos do mundo real, em objectos computacionais ou nas duas coisas em simultâneo Exemplos de objectos do mundo real: o Sr. João Exemplos de objectos computacionais: o registo que descreve o Sr. João (imagem de objecto do mundo real) uma árvore de pesquisa binária (objecto puramente computacional) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 4

5 No desenvolvimento de software OO, não nos interessam tanto os objectos individuais mas sim as classes de objectos Uma classe é um descritor de um conjunto de objectos que partilham as mesmas propriedades (semântica, atributos, operações e relações) Um objecto de uma classe é uma instância da classe A extensão de uma classe é o conjunto de instâncias da classe (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 5

6 podem representar: Coisas concretas: Pessoa, Turma, Carro, Imóvel, Factura, Livro Papéis que coisas concretas assumem: Aluno, Professor, Piloto Eventos: Curso, Aula, Acidente Tipos de dados: Data, Intervalo de Tempo, Número Complexo, Vector Decomposição orientada por objectos : começa por identificar os tipos de objectos (classes) presentes num sistema tipos de objectos são mais estáveis do que as funções, logo a decomposição orientada por objectos leva a arquitecturas mais estáveis (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 6

7 Em UML, uma classe é representada por um rectângulo com o nome da classe Habitualmente escreve-se o nome da classe no singular (nome de uma instância), com a 1ª letra em maiúscula Para se precisar o significado pretendido para uma classe, deve-se explicar o que é (e não é...) uma instância da classe Exemplo: Um aluno é uma pessoa que está inscrita num curso ministrado numa escola. Uma pessoa que esteve no passado inscrita num curso, mas não está presentemente inscrita em nenhum curso, não é um aluno. (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 7

8 As classes, são caracterizadas por: nome (ou identificador) atributos operações restrições (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 8

9 Atributos O estado de um objecto é dados por valores de atributos (e por ligações que tem com outros objectos) Todos os objectos de uma classe são caracterizados pelos mesmos atributos (ou variáveis de instância) o mesmo atributo pode ter valores diferentes de objecto para objecto Atributos são definidos ao nível da classe, enquanto que os valores dos atributos são definidos ao nível do objecto Exemplos: uma pessoa (classe) tem os atributos nome, data de nascimento e peso ZeCarlos (objecto) é uma pessoa com nome José Carlos, data de nascimento 29/01/1965 e peso 80kg (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 9

10 Atributos Os atributos são listados num compartimento de atributos (opcional) a seguir ao compartimento com o nome da classe Uma classe não deve ter dois atributos com o mesmo nome Os tipos de dados não estão pré-definidos em UML, podendo-se usar os da linguagem de implementação alvo (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 10

11 Operações Comportamento invocável de objectos é modelado por operações uma operação é algo que se pode pedir para fazer a um objecto de uma classe Objectos da mesma classe têm as mesmas operações Operações são definidos ao nível da classe, enquanto que a invocação de uma operação é definida ao nível do objecto Princípio do encapsulamento: acesso e alteração do estado interno do objecto (valores de atributos e ligações) controlado por operações Nas classes que representam objectos do mundo real é mais comum definir responsabilidades em vez de operações (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 11

12 Operações (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 12

13 Atributos e operações estáticas Atributo estático: tem um único valor para todas as instâncias (objectos) da classe valor está definido ao nível da classe e não ao nível das instâncias Operação estática: não é invocada para um objecto específico da classe Notação: nome sublinhado Correspondem a membros estáticos (static) em C++, C# e Java (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 13

14 Atributos e operações estáticas (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 14

15 Visibilidade de atributos e operações Visibilidade: + (public) : visível por todos - (private) : visível só por operações da própria classe # (protected) : visível por operações da própria classe e descendentes (subclasses) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 15

16 Visibilidade de atributos e operações Princípio do encapsulamento esconder todos os detalhes de implementação que não interessam aos clientes (utilizadores) da classe permite alterar representação do estado sem afectar clientes permite validar alterações de estado (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 16

17 Relação entre classes Associações binárias Uma associação é uma relação entre objectos das classes participantes Assim como um objecto é uma instância duma classe, uma ligação é uma instância duma associação Pode haver mais do que uma associação (com nomes diferentes) entre o mesmo par de classes Papéis nos extremos da associação podem ter indicação de visibilidade (pública, privada, etc.) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 17

18 Relação entre classes Notação para a multiplicidade (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 18

19 Relação entre classes Multiplicidade de associações binárias (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 19

20 Relação entre classes Nome da associação A indicação do nome é opcional O nome é indicado no meio da linha que une as classes participantes Pode-se indicar o sentido em que se lê o nome da associação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 20

21 Relação entre classes Associação reflexiva Pode-se associar uma classe com ela própria (em papéis diferentes) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 21

22 Relação entre classes Associações unidireccionais As associações são classificadas quanto à navegabilidade em: Bidireccionais (normais) Unidireccionais Significado das associações unidireccionais: um objecto da classe 1 tem a responsabilidade de dar o(s) objecto(s) correspondente(s) da classe 2 (nível de especificação), ou um objecto da classe 1 tem apontador(es) para o(s) objecto(s) correspondente(s) da classe 2 (nível de implementação) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 22

23 Relação entre classes Classe-associação reúne as propriedades de associação e classe o nome pode ser colocado num sítio ou noutro, conforme interessa realçar a natureza de associação ou de classe, mas a semântica é a mesma o nome também pode ser colocado nos dois sítios não é possível repetir combinações de objectos das classes participantes na associação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 23

24 Relação entre classes Atributos vs associações Uma propriedade que designa um objecto de uma classe presente no modelo, deve ser modelada como uma associação e não como um atributo (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 24

25 Relação entre classes Agregação Associação com o significado contém (é constituído por) / faz parte de (part of) Relação de inclusão nas instâncias das classes Hierarquias de objectos (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 25

26 Relação entre classes Agregação Os valores dos atributos de uma classe propagam-se para os valores dos atributos de outra classe Uma acção sobre uma classe implica uma acção sobre outra classe Os objectos de uma classe estão subordinados aos objectos de outra classe (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 26

27 Relação entre classes Composição Forma mais forte de agregação aplicável quando: existe um forte grau de pertença das partes ao todo cada parte só pode fazer parte de um todo (i.e., a multiplicidade do lado do todo não excede 1) Espera-se que as partes só vivam enquanto viver o todo: qualquer apagamento ou destruição do todo leva ao apagamento ou destruição das partes o objecto parte só pode pertencer a um (único) todo (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 27

28 Relação entre classes Generalização Relação semântica is a ( é um / é uma ) : um aluno é uma pessoa Relação de inclusão nas extensões das classes: A sub-classe herda as propriedades (atributos, operações e relações) da super-classe, podendo acrescentar outras (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 28

29 Relação entre classes Generalização Notações alternativas (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 29

30 Relação entre classes Generalização Em geral, pode-se ter uma hierarquia de classes relacionadas por herança / generalização em cada classe da hierarquia colocam-se as propriedades que são comuns a todas as suas subclasses evita-se redundância, promove-se reutilização! (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 30

31 Relação entre classes Generalização Herança múltipla ocorre numa subclasse com múltiplas super-classes suportada por algumas linguagens de programação OO (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 31

32 Relação entre classes e operações abstractas Classe abstracta: classe que não pode ter instâncias directas pode ter instâncias indirectas pelas subclasses concretas Operação abstracta: operação com implementação a definir nas subclasses uma classe com operações abstractas tem de ser abstracta Notação : nome em itálico ou propriedade {abstract} (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 32

33 Relação entre classes e operações abstractas (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 33

34 Relação entre classes Dependência Relação de uso entre dois elementos (classes, componentes, etc.), em que uma mudança na especificação do elemento usado pode afectar o elemento utilizador Exemplo típico: classe-1 que depende de outra classe-2 porque usa operações ou definições da classe-2 (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 34

35 Relação entre classes Concretização (realization) Relação entre elementos a diferentes níveis de abstracção, isto é, entre um elemento mais abstracto (que especifica uma interface ou um "contracto", entre clientes e implementadores) e um elemento correspondente mais concreto (que implementa esse contracto) Difere da generalização porque há apenas herança de interface e não herança de implementação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 35

36 Relação entre classes Dependência e concretização Aparecem frequentemente combinados Exemplo: Cliente usa o servidor sem dele depender directamente (depende apenas da interface ou contracto que o servidor implementa) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 36

37 Interfaces Uma interface especifica um conjunto de operações (com sintaxe e semântica) externamente visíveis de uma classe de (ou componente, subsistema, etc.) semelhante a classe abstracta só com operações abstractas e sem atributos nem associações separação mais explícita entre interface e (classes de) implementação interfaces são mais importantes em linguagens como Java, C# e VB.NET que têm herança simples de implementação e herança múltipla de interface (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 37

38 Interfaces Relação de concretização de muitos para muitos entre interfaces e classes de implementação Vantagem em separar interface de implementação: os clientes de uma classe podem ficar a depender apenas da interface em vez da classe de implementação Notação: classe com estereótipo «interface» (ligada por relação de concretização à classe de implementação) ou círculo (ligado por linha simples à classe de implementação) (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 38

39 Interfaces (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 39

40 Os diagramas de classes podem ser sob três perspectivas: Conceptual De especificação De implementação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 40

41 Perspectiva conceptual A classe exprime um conceito abstracto no domínio em estudo As associações representam relacionamentos conceptuais Cada associação tem dois papéis, que correspondem a cada um dos dois sentidos do relacionamento S é um sub-tipo de T se todas as instâncias de S forem também, por definição, instâncias de T A ideia chave é que tudo o que estabelecermos para T (associações, atributos, operações) é também válido para S (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 41

42 Perspectiva de especificação Já se pensa a classe em termos de software, mas em termos de função e não de implementação (i.e., interfaces) (ex.: pedais de um carro) As associações representam responsabilidades Estas responsabilidades não implicam, no entanto, estruturas de dados Generalização significa que a interface do sub-tipo tem que incluir todos os elementos da interface do super-tipo Diz-se que a interface do sub-tipo está conforme com a interface do super-tipo (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 42

43 Perspectiva de implementação A classe é descrita em termos da sua implementação As associações exprimem agora a existência de ponteiros nos dois sentidos, entre as classes ligadas pela associação A generalização está associada com o fenómeno da herança nas linguagens de programação orientadas para objectos Fala-se aqui de sub-classes, e não de sub-tipos, e considera-se que a sub-classe herda todos os métodos e todos os atributos da super-classe, podendo os métodos da sub-classe sobrepor-se aos métodos herdados (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 43

44 É fundamental reconhecer sempre em que perspectiva se está a desenhar, ou a ler, um diagrama de classes Para que queremos o diagrama que estamos a desenhar? Vamos usá-lo para comunicar com quem? Programadores? Analistas? (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 44

45 Adequar a perspectiva que se está a usar à fase em que o projecto se encontra: fazer diagramas conceptuais se se está a fazer a análise de especificação se começa a pensar em software de implementação apenas quando se quer ilustrar uma solução de implementação mais particular No nosso caso, interessa-nos mais a perspectiva conceptual! (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 45

46 Quando usar? Evitar a todo o custo começar a pensar nos pormenores de implementação demasiado cedo. Para o conseguir, procurar concentrar a atenção nas perspectivas de concepção e de especificação (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 46

47 Quando usar? Os diagramas de classes são a espinha dorsal de praticamente todos os métodos orientados para objectos, sendo, por isso, os mais usados São, no entanto, muito ricos e complexos, pelo que se recomenda o seu uso com alguns cuidados Não tentar usar todas as notações disponíves. Usar as mais complexas apenas quando for indispensável Estes slides não são exaustivos na explicação destes diagramas! (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 47

48 Não desenhar modelos para tudo!! É melhor ter poucos diagramas que se vão actualizando quando necessário do que ter muitos diagramas que se vão tornando obsoletos por falta de actualização Isto vale para TODOS os tipos de diagramas UML! (c) Nuno Miguel Gil Fonseca - Escola Superior de Tecnologia e Gestão de Oliveira do Hospital - Engenharia de Software 48

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

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

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

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

Engenharia de Software I

Engenharia de Software I Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah

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

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

Unified Modeling Language UML - Notações

Unified Modeling Language UML - Notações Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva elvio@fmr.edu.br UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,

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

Orientação à Objetos. Aécio Costa

Orientação à Objetos. Aécio Costa Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual

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

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Modelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1. Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever

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

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1

Diagrama de Classes. Viviane Torres da Silva viviane.silva@ic.uff.br. http://www.ic.uff.br/~viviane.silva/2012.1/es1 Diagrama de Classes Viviane Torres da Silva viviane.silva@ic.uff.br http://www.ic.uff.br/~viviane.silva/2012.1/es1 O que é? Diagrama mais utilizado da UML Representa os tipos (classes) de objetos de um

Leia mais

3 ao Quadrado - Agenda Web

3 ao Quadrado - Agenda Web 3 ao Quadrado - Agenda Web Relatório de Gestão de Projectos de Software - Grupo A - LEIC 2001/2002 http://gnomo.fe.up.pt/gps01a João Montenegro - ei97023@fe.up.pt André Teixeira - ei97024@fe.up.pt Carlos

Leia mais

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente

Leia mais

Padrão Básico de Projeto: Herança versus Composição

Padrão Básico de Projeto: Herança versus Composição Padrão Básico de Projeto: Herança versus Composição Composição e Herança Composição e herança são dois mecanismos para reutilizar funcionalidade Alguns anos atrás (e na cabeça de alguns programadores ainda!),

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE PARTE 2 LINGUAGEM DE MODELAÇÃO UML CAP. 6. UML MODELAÇÃO DA ESTRUTURA - DIAGRAMA DE CLASSES Tópicos Diagrama de Classes Perspetivas dos Diagramas de Classes Associações Atributos

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

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

Prof. Claudio Passos Apresentação cedida pela Ceça Moraes

Prof. Claudio Passos Apresentação cedida pela Ceça Moraes Prof. Claudio Passos Apresentação cedida pela Ceça Moraes Programação Orientada a Objetos: os problemas de programação são pensados em termos de objetos Em vez de funções e rotinas Problema = desenvolver

Leia mais

3. Engenharia de Requisitos

3. Engenharia de Requisitos Engenharia de Software 3. Engenharia de Requisitos Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Fases do desenvolvimento de software que mais erros originam (fonte: "Software Testing", Ron Patton)

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

ARQUITECTURAS DE SOFTWARE

ARQUITECTURAS DE SOFTWARE ARQUITECTURAS DE SOFTWARE AULAS Nº 8 e 9 7-21/12/2007 F. Mário Martins Case Studies: Ligação das partes Use Case Diagram Use Case Specification Passo 1: ---------- Passo 2: ---------- Passo 3: ----------

Leia mais

Desenho de Software. Desenho de Software 1

Desenho de Software. Desenho de Software 1 Desenho de Software Desenho de Software 1 Sumário Caracterização Conceitos fundamentais Desenho funcional e desenho OO Qualidades Desenho de Software 2 Bibliografia Pfleeger, Capítulo 6 Design the Modules

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

Sistemas de Informação

Sistemas de Informação MODELO CONCEPTUAL DE DADOS Escola Superior de Tecnologia e Gestão de Felgueiras Engenharia Informática 3º ano - 2003/2004 Ana Maria Madureira 1. MODELO CONCEPTUAL DE DADOS Descreve o S.I. da Organização

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

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

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

Leia mais

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2

Introdução! 1. Modelos de Domínio! 1. Identificação de classes conceituais! 2. Estratégia para identificar classes conceituais! 2 Modelo de domínio Introdução! 1 Modelos de Domínio! 1 Identificação de classes conceituais! 2 Estratégia para identificar classes conceituais! 2 Passos para a elaboração do modelo de domínio! 2 Passo 1

Leia mais

ProgramaTchê Programação OO com PHP

ProgramaTchê Programação OO com PHP Roteiro 1 Objetivos: * Apresentar conceitos de orientação a objetos; * Representar classes e objetos usando UML; Este roteiro tem como objetivo abordar os conceitos básicos de orientação a objetos. 1 Introdução

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

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

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

Portal AEPQ Manual do utilizador

Portal AEPQ Manual do utilizador Pedro Gonçalves Luís Vieira Portal AEPQ Manual do utilizador Setembro 2008 Engenharia Informática - Portal AEPQ Manual do utilizador - ii - Conteúdo 1 Introdução... 1 1.1 Estrutura do manual... 3 1.2 Requisitos...

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

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

Enunciado de apresentação do projecto

Enunciado de apresentação do projecto Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 Enunciado de apresentação do projecto FEARSe Índice 1 Introdução... 2 2 Cenário de Enquadramento... 2 2.1 Requisitos funcionais...

Leia mais

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas Programação com Objectos Processamento de Dados I 4. Classes Abstractas 1 Conceito de classe abstracta Declaração de uma classe abstracta Implicações e características das classes abstractas Utilização

Leia mais

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os

Leia mais

Herança. Alberto Costa Neto DComp - UFS

Herança. Alberto Costa Neto DComp - UFS Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década

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

A Linguagem de Modelagem Unificada (UML)

A Linguagem de Modelagem Unificada (UML) Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)

Leia mais

Introdução à Engenharia de Software

Introdução à Engenharia de Software Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia

Leia mais

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.

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

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

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o

Leia mais

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem

Leia mais

Notas de Aula 04: Casos de uso de um sistema

Notas de Aula 04: Casos de uso de um sistema Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender

Leia mais

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian Banco de Dados Aula 02 Colégio Estadual Padre Carmelo Perrone Profº: Willian Conceitos básicos Dado: Valor do campo quando é armazenado dento do BD; Tabela Lógica: Representa a estrutura de armazenamento

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

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

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula

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

Modelo Entidade-Relacionamento

Modelo Entidade-Relacionamento Modelo Entidade-Relacionamento ome Designação Doc... #Disc... Docente Ensina Disciplina Abordagem proposta por Peter P. Chen (década de 70) para o processo de modelação de dados com ampla aceitação; Trabalho

Leia mais

USE CASES: continuação

USE CASES: continuação USE CASES: continuação Balcão de Companhia Aérea Fazer Check-in de Passageiro Funcionário Inserir Reserva de Voo Cancelar Reserva de Voo Os primeiros diagramas de Use Case (DUC) de um Sistema, descrevem

Leia mais

Engenharia de Software

Engenharia de Software Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 Exemplo de Diagrama de Caso de Uso Sistema de Locadora de Filmes Sistema de Vídeo Locadora Você foi contratado para desenvolver

Leia mais

Programação Orientada por Objetos

Programação Orientada por Objetos PPROG Paradigmas da Programação Programação Orientada por Objetos Relações entre Dependência Agregação Composição Associação (Livro Big Java, Late Objects Capítulo 12) Nelson Freire (ISEP DEI-PPROG 2014/15)

Leia mais

Programa do Módulo 2

Programa do Módulo 2 4.1 Programa do Módulo 2 Orientação a Objetos Conceitos Básicos Análise Orientada a Objetos (UML) Diagrama de Classes Processo Unificado (RUP) Métodos Orientados a Objetos - UML 4.2 Diagrama de Classes

Leia mais

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê?

Bibliografia. Desenvolvimento Orientado a Objetos. Introdução. Bibliografia. O que você vê? Bibliografia Desenvolvimento Orientado a Objetos Prof.: Edson dos Santos Cordeiro LARMAN, Graig. Utilizando UML e padrões. Porto Alegre: Bookman, 2000. STAA, Arndt von. Programação modular. Rio de Janeiro:

Leia mais

Teste de Software. Ricardo Argenton Ramos ricargentonramos@gmail.com. Engenharia de Software I 2012.2

Teste de Software. Ricardo Argenton Ramos ricargentonramos@gmail.com. Engenharia de Software I 2012.2 Teste de Software Ricardo Argenton Ramos ricargentonramos@gmail.com Engenharia de Software I 2012.2 O que diferencia teste de software OO de testes Convencionais? Técnicas e abordagens são normalmente

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

REFLEXÃO EM JAVA. INVERSÃO DE DEPENDÊNCIA FACTORY METHODS FACTORY CLASSES IoC, CONTAINERS e BEANS SPRING PARTE III

REFLEXÃO EM JAVA. INVERSÃO DE DEPENDÊNCIA FACTORY METHODS FACTORY CLASSES IoC, CONTAINERS e BEANS SPRING PARTE III REFLEXÃO EM JAVA INVERSÃO DE DEPENDÊNCIA FACTORY METHODS FACTORY CLASSES IoC, CONTAINERS e BEANS SPRING PARTE III ARQUITECTURAS DE SOFTWARE F. Mário Martins 2011 CLASS A partir de JAVA5 a classe java.lang.class

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Desenho de Software Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt desenho Desenho (dicionário Priberam on-line) do Lat.! designu s. m., arte de representar

Leia mais

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton

Leia mais

Modelagem de Casos de Uso (Parte 1)

Modelagem de Casos de Uso (Parte 1) Modelagem de Casos de Uso (Parte 1) Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de

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

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências

UML Visão Geral. Índice. Introdução. Diagramas. Modelos e diagramas. Elementos de modelação. Referências UML Visão Geral 1 Índice Introdução O que é a UML? Valor da UML Origens da UML Parceiros da UML Modelos e diagramas Elementos de modelação Diagramas Diagrama de casos de utilização Diagrama de classes

Leia mais

ENGENHARIA DE SOFTWARE

ENGENHARIA DE SOFTWARE ENGENHARIA DE SOFTWARE PARTE 2 LINGUAGEM DE MODELAÇÃO UML CAP. 8 UML MODELAÇÃO DA ARQUITETURA Tópicos Conceito de Diagramas Físicos Fundamentos dos Diagramas de Componentes componentes interface quando

Leia mais

Uma Abordagem usando PU

Uma Abordagem usando PU Uma Abordagem usando PU Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Baseada em: Rational Software Corpotation G. Booch, Ivar Jacobson,

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

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

UML. Unified Modeling Language

UML. Unified Modeling Language UML Unified Modeling Language 1 1. Introdução O desenvolvimento de sistemas de software de grande porte são suportados por métodos de análise e projeto que modelam esse sistema de modo a fornecer para

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Elsa Cardoso, DCTI - ISCTE

Elsa Cardoso, DCTI - ISCTE Elsa Cardoso, DCTI - ISCTE 25 Maio 2004 elsa.cardoso@iscte.pt Sumário Perspectiva de Desenho do Sistema: Diagrama de classes numa perspectiva de Desenho: Estereótipos Relação de Dependência Relação de

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Requisitos de Software

Requisitos de Software Requisitos de Software Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 6 Slide 1 Objetivos Apresentar os conceitos de requisitos de usuário e de sistema Descrever requisitos funcionais

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

NOVIDADES DO JAVA PARA PROGRAMADORES C

NOVIDADES DO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples

Leia mais

De Arte a Ciência: Regras para o Desenho de Software

De Arte a Ciência: Regras para o Desenho de Software De Arte a Ciência: Regras para o Desenho de Software Neste artigo é apresentado um conjunto de regras de desenho um padrão de desenho universal associado ao princípio fundamental e aos requisitos axiomáticos.

Leia mais

Engenharia de Software

Engenharia de Software Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra helia@uac.pt Engenharia de software A economia de todos os países desenvolvidos depende do software. O

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

Programação Visual 04/05 - EstMedia. Manual do Utilizador. Realizado por Gustavo Patrício nº 4757 António Espingardeiro nº 4328

Programação Visual 04/05 - EstMedia. Manual do Utilizador. Realizado por Gustavo Patrício nº 4757 António Espingardeiro nº 4328 Programação Visual 04/05 - EstMedia Manual do Utilizador Realizado por Gustavo Patrício nº 4757 António Espingardeiro nº 4328 1 Índice Introdução.. 1 Levantamento de Requisitos... 2 Diagrama de Classes....

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso 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 Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos

Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo. Conteúdo: Introdução à Orientação a Objetos Técnicas de Programação Avançada TCC- 00175 Profs.: Anselmo Montenegro www.ic.uff.br/~anselmo Conteúdo: Introdução à Orientação a Objetos Introdução Paradigmas de programação Programação Estruturada Composição

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2009 Profa. Dra. Itana Gimenes RUP: Artefatos de projeto Modelo de Projeto: Use-Case Realization-projeto

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

Engenharia de Software I: Análise e Projeto de Software Usando UML

Engenharia de Software I: Análise e Projeto de Software Usando UML Engenharia de Software I: Análise e Projeto de Software Usando UML Capítulo 1 Processo de Desenvolvimento de Software Metodologia de Desenvolvimento de Software Uma metodologia é um conjunto de métodos,

Leia mais

Pontifícia Universidade Católica de Minas Gerais Bacharelado em Sistemas de Informação Trabalho de Diplomação

Pontifícia Universidade Católica de Minas Gerais Bacharelado em Sistemas de Informação Trabalho de Diplomação Caros alunos e orientadores de conteúdo e acadêmico, Este documento ilustra quais capítulos devemos possuir na monografia de (no mínimo), e o que cada um contempla. O formato deverá ser o utilizado pela

Leia mais

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Introdução à Programação Orientada a Objetos Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR Fev/2014 Histórico das linguagens de programação ENIAC (1944) Programação

Leia mais

Reuso com Herança a e Composiçã

Reuso com Herança a e Composiçã Java 2 Standard Edition Reuso com Herança a e Composiçã ção Helder da Rocha www.argonavis.com.br 1 Como aumentar as chances de reuso Separar as partes que podem mudar das partes que não mudam. Exemplo:

Leia mais

4. Exemplo de Levantamento de Classes...26. 3. Levantamento das Classes...24. 1. Conceito de Classe e Objeto... 15. 1. Modelo de Casos de Uso...

4. Exemplo de Levantamento de Classes...26. 3. Levantamento das Classes...24. 1. Conceito de Classe e Objeto... 15. 1. Modelo de Casos de Uso... Projeto de Software usando UML Sumário Capítulo I : Casos de Uso...3 1. Modelo de Casos de Uso... 3 2. Diagramas de Casos de Uso... 3 3. Exemplo... 9 4. Conclusão... 13 Capítulo II : Levantamento de Classes...15

Leia mais

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo? O que é a UML? Introdução a UML Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário + regras de combinação

Leia mais