4.2. UML Diagramas de classes
|
|
|
- Ana Luísa Pinheiro Godoi
- 10 Há anos
- Visualizações:
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 (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
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
4.1. UML Diagramas de casos de uso
Engenharia de Software 4.1. UML Diagramas de casos de uso Nuno Miguel Gil Fonseca [email protected] Utilizados para ajudar na análise de requisitos Através da forma como o utilizador usa o sistema
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:
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
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
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
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
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
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
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!),
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
4.4. UML Diagramas de interacção
Engenharia de Software 4.4. UML Diagramas de interacção Nuno Miguel Gil Fonseca [email protected] Um diagrama de interacção mostra um padrão de interacção entre vários objectos, com objectos e
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.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
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
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
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
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
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:
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
Microsoft Access 2010. Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento
Microsoft Access 2010 Para conhecermos o Access, vamos construir uma BD e apresentar os conceitos necessários a cada momento 1 Principais objetos do Access Tabelas Guardam a informação da BD (Base de Dados)
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)
Modelagem OO com UML. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza
Modelagem OO com UML Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira
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
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
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
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
Engenharia de Software I
Engenharia de Software I Rogério Eduardo Garcia ([email protected]) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah
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
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
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
Computadores e Sistemas de Informação. Bases de Dados Relacionais (linguagem SQL)
Computadores e Sistemas de Informação Bases de Dados Relacionais (linguagem SQL) 2004/2005 Utilidade das Bases de Dados Recolha e processamento de dados que possuem um volume significativo, que são interrelacionados,
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
MIG - Metadados para Informação Geográfica
MIG - Metadados para Informação Geográfica Introdução à Norma ISO 19115 Henrique Silva, Instituto Geográfico Português, [email protected] Lisboa, 14 de Fevereiro de 2008 Metadados para Informação Geográfica
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
Unified Modeling Language UML - Notações
Unified Modeling Language UML - Notações Prof. Ms. Elvio Gilberto da Silva [email protected] UML Ponto de Vista É gerada com propósito geral de uma linguagem de modelagem visual usada para especificar,
ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL
ENGENHARIA DA COMPUTAÇÃO BANCO DE DADOS I CONTEÚDO 5 ABORDAGEM RELACIONAL PROF. MS C. RICARDO ANTONELLO WWW.ANTONELLO.COM.B R PORQUE SER RELACIONAL? Hoje, há um claro predomínio dos SGBD relacionais, principalmente
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
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.
Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Orientação a Objetos
Orientação a Objetos Daniel Destro do Carmo Softech Network Informática [email protected] Histórico A orientação a objetos (OO) foi concebida na década de 70. Origem na linguagem SIMULA-67 (década
Databases. Ferramentas gráficas na modelação lógica das BD. O Modelo Entidade-Relação (Associação) O Modelo de Classes no UML
Databases Ferramentas gráficas na modelação lógica das BD O Modelo Entidade-Relação (Associação) O Modelo de Classes no UML Databases O Modelo Entidade-Relação ou Entidade-Associação 2 Modelo Entidade-Relação
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
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
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
DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA
Introdução ao Visual Studio VB.Net Programação Estruturada 1 Nesse momento inicial não iremos programar em VB.Net, usando o Visual Studio, mas conhecer alguns comandos e variáveis usadas em uma linguagem
MC536 Bancos de Dados: Teoria e Prática
Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto
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
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
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
Figura 1 - O computador
Organização e arquitectura dum computador Índice Índice... 2 1. Introdução... 3 2. Representação da informação no computador... 4 3. Funcionamento básico dum computador... 5 4. Estrutura do processador...
Programação Orientada a Objetos Herança Técnico em Informática. Prof. Marcos André Pisching, M.Sc.
Herança Técnico em Informática, M.Sc. Herança 2 Herança Reutilização de código Exemplo Banco: Um banco oferece diversos serviços que podem ser contratados individualmente pelos clientes. Quando um serviço
Modelo Entidade-Relacionamento
Modelo Entidade-Relacionamento Banco de Dados I Fases do Projeto jt de BD Enunciado de requisitos entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados. Projeto
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.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Relatório de Análise de Requisitos
Relatório de Análise de Requisitos (15/03/02 Versão 1.0) Gestão de Beneficiários Eduardo Abreu [email protected] Miguel David [email protected] Nuno Ferreira [email protected] Tiago Silva [email protected]
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 17 PROFª BRUNO CALEGARO
UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 17 PROFª BRUNO CALEGARO Santa Maria, 19 de Novembro de 2013. Revisão aula anterior Modelagem orientada a objetos com UML Software: Astah Community
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
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
QUESTÃO 2: A respeito do diagrama de caso de uso apresentado, assinale a alternativa correta.
CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008/1 4º PERÍODO 7º MÓDULO AVALIAÇÃO A4 DATA 22/10/2009 ENGENHARIA DE SOFTWARE 2009/2 GABARITO COMENTADO QUESTÃO 1: Podemos definir UML
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
BANCO DE DADOS PROFESSOR MAURÍCIO - [email protected] AULA 02. O Modelo Entidade-Relacionamento ( MER )
AULA 02 BANCO DE DADOS PROFESSOR MAURÍCIO - [email protected] O Modelo Entidade-Relacionamento ( MER ) Fases do Projeto de Bases de Dados (EN94)- O Modelo Entidade- Relacionamento Definição : modelo
Padrões de projeto 1
Padrões de projeto 1 Design Orientado Objeto Encapsulamento Herança Polimorfismo Design Patterns 2 Responsabilidades Booch e Rumbaugh Responsabilidade é um contrato ou obrigação de um tipo ou classe. Dois
Diagrama de Classes. Viviane Torres da Silva [email protected]. http://www.ic.uff.br/~viviane.silva/2012.1/es1
Diagrama de Classes Viviane Torres da Silva [email protected] 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
Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto
LEIC-A, LEIC-T, LETI, MEIC-T, MEIC-A Engenharia de Software e Sistemas Distribuídos 2 o Semestre 2014/2015 Enunciado Geral do Projecto O que se segue é uma descrição geral do domínio do projecto a desenvolver
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
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
Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais. Recomendação 1/99
5093/98/PT/final WP 17 Grupo de trabalho sobre a protecção das pessoas singulares no que diz respeito ao tratamento de dados pessoais Recomendação 1/99 sobre o tratamento invisível e automatizado de dados
Teste de Software. Ricardo Argenton Ramos [email protected]. Engenharia de Software I 2012.2
Teste de Software Ricardo Argenton Ramos [email protected] Engenharia de Software I 2012.2 O que diferencia teste de software OO de testes Convencionais? Técnicas e abordagens são normalmente
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
ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
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
UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Construir um modelo de dados é: - Identificar, Analisar e Registar a política da organização acerca dos dados
4. Modelo Entidade Associação 4.1. Introdução Modelo de Dados. Visão dos dados em vez de visão das aplicações. Eliminação de redundâncias. Partilha de dados pelas aplicações Construir um modelo de dados
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
Relacionamentos entre classes
Relacionamentos entre classes Relacionamentos entre classes Relacionamentos estruturais entre classes Precisam ser criteriosamente definidos durante o projeto do software São obtidos a partir da análise
Rock In Rio - Lisboa
Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem
Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming
Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados
Modelagem de Dados Usando o Modelo Entidade-Relacionamento
Usando o Modelo Entidade-Relacionamento MER 1 MER Levantamento e Análise de requisitos Entrevista Entender e documentar seus requisitos de dados Requisitos funcionais da aplicação empregadas ao banco de
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
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
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
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
Desenvolvimento de Sistema de Software
Desenvolvimento de Sistema de Software Grupo 5 Abel Matos 51776 João Amorim 51771 João Guedes 51755 Luís Oliveira 51801 Pedro Reis 51829 Introdução Neste relatório, realizado no âmbito da primeira fase
BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br
BANCO DE DADOS info 3º ano Prof. Diemesleno Souza Carvalho [email protected] www.diemesleno.com.br BANCO DE DADOS Unidade 1 - Introdução Dados; Banco de Dados; Base de Dados; Projeto de Banco de Dados.
Decorator Pattern. SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br. Junho de 2008. Departamento de Informática / UFMA
Decorator Pattern SISMO - Sistemas e Mobilidade http://www.sismo.deinf.ufma.br Departamento de Informática / UFMA Junho de 2008 Revisando os conceitos Herança é poderosa mas não é flexível Comportamento
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,
Engenharia de Software Engenharia de Requisitos. Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br [email protected].
Engenharia de Software Engenharia de Requisitos Análise Orientada a Objetos Prof. Edison A M Morais http://www.edison.eti.br [email protected] 1 Contextualizando... Fonte: [1] O Processo de ER pode ser
Análise e Projeto de Sistemas de Informação. Andrêza Leite [email protected]
Análise e Projeto de Sistemas de Informação Andrêza Leite [email protected] Roteiro Sistemas de Informação Ciclo de Desenvolvimento de SI Projeto Análise Estruturada Análise Orientada a Objetos Como
MVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
Engenharia de Software
Engenharia de Software Introdução Departamento de Matemática Universidade dos Açores Hélia Guerra [email protected] Engenharia de software A economia de todos os países desenvolvidos depende do software. O
Disciplina: Unidade II: Prof.: E-mail: Período:
Encontro 03 Disciplina: Sistemas de Banco de Dados Unidade II: Modelagem Conceitual de Dados Prof.: Mario Filho E-mail: [email protected] Período: 5º. SIG - ADM 2. Modelagem Conceitual de Dados (Modelo
Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER
Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem
Nota prévia. Convenções
Nota prévia O draft de diagrama de componentes, e respectivas interfaces, foi actualizado pela última vez em 07/12/2007. Este draft servirá de base para as implementações do CyberChair. Caso detecte alguma
