c urso p rofissional t Écnico de g estÃo e p rogramaÇÃo de s istemas i nformÁticos p...
TRANSCRIPT
![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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/1.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/2.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/3.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/4.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/5.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/6.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/7.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/8.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/9.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/10.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/11.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/12.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/13.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/14.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/15.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/16.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/17.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/18.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/19.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/20.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/21.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/22.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/23.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/24.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/25.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/26.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/27.jpg)
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](https://reader038.vdocuments.mx/reader038/viewer/2022110117/552fc155497959413d8e4d53/html5/thumbnails/28.jpg)
BIBLIOGRAFIA Desenhar Bases de Dados com UML (1ª
edição), da editora Edições Sílabo, da autoria de Pedro Nogueira Ramos, 2006