28
CURSO PROFISSIONAL TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO 11º ANO Módulo 12 – Introdução aos Sistemas de Informação Diagrama de Classes Ano lectivo 2013/2014

C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

Embed Size (px)

Citation preview

Page 1: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CURSO PROFISSIONAL TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO11º ANO

Módulo 12 – Introdução aos Sistemas de Informação

Diagrama de Classes

Ano lectivo 2013/2014

Page 2: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

NOTA HISTÓRICA

Ao longo dos anos foram propostas e utilizadas diversas técnicas e linguagens de auxílio à estruturação de informação. Actualmente o Modelo Relacional, divulgado nos anos 80, ainda é a forma privilegiada de estruturar informação.

Como complemento, a linguagem UML (Unified Modelling Language), criada em 1997, tem sido largamente utilizada para auxiliar o desenho de modelos relacionais.

Page 3: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

UNIFIED MODELLING LANGUAGE (UML)

A UML é uma linguagem para especificações de sistemas.

É uma linguagem diagramática, ou seja, as especificações podem ser representadas através de diagramas que recorrem a um conjunto simples de símbolos gráficos.

Page 4: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

DIAGRAMAS DE CLASSES - DEFINIÇÃO

O Diagrama de Classes é um dos diagramas da linguagem UML e está vocacionado para representar a estrutura da informação que suporta um sistema de informação.

Permite desenhar uma base de dados relacional de forma a que o desenho seja mais facilmente entendido por um profissional não informático.

Page 5: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

DIAGRAMA DE CLASSES – NOÇÕES BÁSICAS

Para perceber como construir um Diagrama de Classes há que dominar os seguintes conceitos:

ObjectoClasseRelação

Page 6: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - DEFINIÇÃO

Considera-se que um objecto é qualquer coisa relevante, que se distingue das outras, caracterizado por um conjunto de atributos e sobre o qual podem ser executadas acções.

E o que é ser relevante?

Page 7: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - RELEVÂNCIA

Por exemplo, uma mesa é algo que possui um conjunto de atributos (peso, cor, material de fabrico, etc.) e sobre a qual podem ser executadas acções (comprar, vender, reparar, etc.).

Podemos considerar que as mesas se distinguem umas das outras através de um código de barras preso a cada mesa.

Page 8: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - RELEVÂNCIA

No entanto, embora as mesas tenham atributos e possam ser executadas acções, as mesas não são relevantes para, por exemplo, um sistema de processamento de vencimentos numa organização.

OU SEJA

As mesas não são objectos do sistema de vencimentos porque não são relevantes para este sistema.

Page 9: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - RELEVÂNCIA

As mesmas mesas já poderão ser relevantes para uma aplicação destinada à gestão do inventário da mesma organização, ou seja, seriam objectos desse sistema.

Os objectos não têm que representar necessariamente coisa com existência física. Os departamentos de uma organização podem ser relevantes para um sistema de informação e, no entanto, não têm representação física, são conceitos abstractos.

Page 10: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - DISTINÇÃO

A possibilidade de um sistema de informação poder distinguir um objecto dos restantes é importante.

Um objecto deverá ser distinto dos restantes através de atributos relevantes para o sistema que o armazena.

Page 11: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

OBJECTO - EXEMPLO

O cliente João Silva é um objecto do sistema de informação, caracterizado pelos atributos nome, morada e ncontribuinte e sobre ele podem ser executadas operações tais como: emitir facturas, alterar dados pessoais, aceitar encomendas, etc.

O João Silva é distinto dos restantes elementos do sistema de informação .

Objecto “João Silva”

Page 12: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CLASSE - DEFINIÇÃO

A Classe é uma descrição de um conjunto de objectos semelhantes, ou seja, objectos que partilham os mesmos atributos, sobre os quais podem ser executadas as mesmas operações (comportamento) e que representam a mesma realidade.

A classe Cliente representa todos os clientes (objectos) porque todos eles podem ser caracterizados pelos mesmos atributos e ter o mesmo comportamento, e representam a mesma realidade.

Page 13: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CLASSE - ATRIBUTOS

Poderão existir atributos que não são relevantes para um subconjunto de objectos.

Por exemplo, sobre aos alunos dos cursos profissionais poderá ser pertinente guardar o local de estágio. Apesar de esse atributo nunca ser preenchido nos objectos que representam os outros alunos, poderemos optar por ter uma única classe para todos os alunos.

Page 14: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CLASSE - IDENTIFICADOR

É também necessário que o mecanismo que permite identificar um objecto de uma classe seja válido para todos os objectos dessa classe.

Por exemplo, não é possível ter, na mesma classe um conjunto de clientes identificados pelo número de contribuinte e os restantes identificados por um número interno de identificação.

Page 15: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CLASSE – REPRESENTAÇÃO GRÁFICA

Cliente

NomeMoradaNúmero Contribuinte

Nome da classe, único no diagrama

Atributos, nome único dentro da classe

Page 16: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

CLASSE - EXEMPLO

A classe Cliente representa todos os clientes do sistema de informação que partilham: os mesmos atributos

(nome, morada e ncontribuinte),

o mesmo mecanismo de identificação (ncontribuinte),

sobre os quais podem ser executadas as mesmas operações (emitir facturas e aceitar encomendas) e

a mesma realidade.Classe “Cliente”

Page 17: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO

Os objectos não vivem isoladamente num sistema de informação, pelo contrário, eles relacionam-se com outros objectos, inclusivamente com objectos de outras classes.

Um cliente, por exemplo, relaciona-se com as facturas que lhe são emitidas. Um funcionário relaciona-se com o seu departamento.

Page 18: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO

É invulgar encontrar objectos que, num sistema de informação, não se relacionem com objectos de outras classes.

Um Diagrama de Classes consiste essencialmente na representação do relacionamento entre classes.

A UML contempla dois tipos de relações: Associações e Generalizações

Page 19: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO - ASSOCIAÇÃO

Representam as ligações existentes entre os objectos das classes.

Representação gráfica de uma associação:

Cliente

NomeMoradaNúmero Contribuinte

Factura

DataValorNúmero Factura

Facturação Cliente

1..1 0..*

Page 20: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSIFICAÇÃO DE ASSOCIAÇÕES

Um para muitos

Departamento

SiglaDesignação

Funcionário

NomeMorada

Trabalha

1..1 1..*

Page 21: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSIFICAÇÃO DE ASSOCIAÇÕES

Muitos para muitos

Associação

SiglaDesignaçãoMorada

Associado

Número SócioNomeData Admissão

Sócio

0..* 0..*

Page 22: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSIFICAÇÃO DE ASSOCIAÇÕES

Um para um

Encomenda

Número EncomendaDataValorData Entrega

Factura

Número FacturaDataValor

Factura Encomenda

1..1 0..1

Page 23: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSES ASSOCIATIVAS

À semelhança das classes, as associações também podem ser caracterizadas por atributos.

Por exemplo: Numa encomenda podem ser encomendados vários produtos, assim como um produto pode constar em várias encomendas.

Page 24: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSES ASSOCIATIVAS

No diagrama apresentado não é possível representar a quantidade de produtos encomendados.

Encomenda

Número EncomendaDataValorData Entrega

Produto

CódigoDesignaçãoPreço

Produtos encomendados

0..* 0..*

Page 25: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSES ASSOCIATIVAS

O atributo quantidade não caracteriza os produtos (se assim fosse, todas as encomendas teriam sempre a mesma quantidade do produto) nem as encomendas (se assim fosse, numa encomenda seria encomendada a mesma quantidade de todos os produtos).

A quantidade caracteriza a associação, e deverá ser representada como um atributo dessa associação.

Page 26: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – CLASSES ASSOCIATIVAS

Quando uma associação é caracterizada por atributos (tornando-se uma classe associativa), é obrigatório atribuir um nome à associação (o nome da associação não fica sobre a linha, mas dentro do rectângulo que representa a classe associativa).

Encomenda

Número EncomendaDataValorData Entrega

Produto

CódigoDesignaçãoPreço

0..* 0..*

Produtos encomendados

Quantidade

Page 27: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

RELAÇÃO – ASSOC. COM A PRÓPRIA CLASSE

Embora não seja muito frequente, por vezes surge a necessidade de associar objectos de uma classe a outros da mesma classe. Exemplo:

Funcionário

NúmeroNomeFunção Sup. Herárquico

0..*

0..1

Subordinado

Chefia

Page 28: C URSO P ROFISSIONAL T ÉCNICO DE G ESTÃO E P ROGRAMAÇÃO DE S ISTEMAS I NFORMÁTICOS P ROGRAMAÇÃO E S ISTEMAS DE I NFORMAÇÃO 11 º ANO Módulo 12 – Introdução

BIBLIOGRAFIA Desenhar Bases de Dados com UML (1ª

edição), da editora Edições Sílabo, da autoria de Pedro Nogueira Ramos, 2006