Escolar Documentos
Profissional Documentos
Cultura Documentos
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
*
Alguns são totalmente computadorizados; e outros em parte.Por
que automatizar?
• Custo
•Mais barato a execução manual
• Conforto
•Tamanho calor e ruído dos computadores
• Segurança
•Proteção de dados confidenciais
• Manutenibilidade
•Ninguém consegue efetuar modificações
• Política
Sistemas automatizados
Sist. feitos pelo homem, que interagem com ou são controlados por um ou mais
computadores.
• Componentes:
Hardware (hw): CPU, impressoras, Software (sw): Sist. Operacional, B.D
Usuários, programadores, analistas.
Dados: informações armazenadas.
Procedimentos: instruções para operação do sistema.
Divisão dos sistemas automatizados
1. On-line
Os dados são introduzidos no sist. proc. e dele recebidos remotamente.
Interação com o computador através de terminais (computador distante).
dados armazenados são rapidamente acessados e/ou modificados.
Exemplo: Compra de passagem aérea.
2. Tempo-real
Sistema que deve responder com suficiente rapidez (ms) ou o ambiente ficará fora de
controle.
Exemplos:
Processos da indústria química; caixa automático; orientação de mísseis; monitoração de
pacientes.
3. Sistemas de apoio a decisão
Analisar a missão da empresa.
Informações mais gerais sobre a situação do mercado. Histórico.
Fornece informações relevantes para os gerentes tomarem as decisões.
Criam e atualizam os dados exigidos pelos sistemas de nível mais elevado.
Exemplo: BI
4. Sistemas baseados no conhecimento
Sistemas especialistas têm embutido o conhecimento e a capacidade que o permitirão
funcionar como especialista. Uso de técnicas de Inteligência Artificial.
Exemplos:
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 2
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Importância da Modelagem
Softwares malsucedidos têm falhas específicas de cada um, mas todos os projetos
bem-sucedidos são semelhantes em diversos aspectos. Um dos elementos que contribuem
para o sucesso de um software é a utilização da modelagem.
Para fazer bons modelos deve-se utilizar uma linguagem de modelagem que seja
dotada de diagramas que permitam a representação de sistemas simples ou complexos sob as
diferentes visões, pois isso facilita o entendimento e padroniza a comunicação e a organização
do problema.
A Modelagem do Sistema
A UML é usada no desenvolvimento dos mais diversos tipos de sistemas. Ela abrange
sempre qualquer característica de um sistema em um de seus diagramas e é também aplicada
em diferentes fases do desenvolvimento de um sistema, desde a especificação da análise de
requisitos até a finalização com a fase de testes.
O objetivo da UML é descrever qualquer tipo de sistema, em termos de diagramas
orientados a objetos. Naturalmente, o uso mais comum é para criar modelos de sistemas de
software, mas a UML também é usada para representar sistemas mecânicos sem nenhum
software. Falaremos sobre UML um pouco mais a frente.
Aqui estão alguns tipos diferentes de sistemas com suas características mais comuns.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 3
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 4
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
demanda por sistemas de software cada vez mais complexos. O surgimento de sistemas de
software mais complexos resultou na necessidade de reavaliação da forma de se desenvolver
sistemas. Consequentemente, as técnicas utilizadas para a construção de sistemas
computacionais têm evoluído de forma impressionante, principalmente na modelagem de
sistemas Na primeira metade da década de 90 surgiram várias propostas de técnicas para
modelagem de sistemas segundo o paradigma orientado a objetos.
Houve uma grande proliferação de propostas para modelagem
orientada a objetos: diferentes notações gráficas para modelar uma mesma
perspectiva de um sistema. Cada técnica tinha seus pontos fortes e fracos. Percebeu-se a
necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado
amplamente. Alguns esforços foram feitos nesse sentido de padronização, o
principal liderado pelo “três amigos”. Surge a UML (Unified Modeling Language) em 1996
como a melhor candidata para ser linguagem “unificadora”. Em 1997, a
UML é aprovada como padrão pelo OMG. Desde então, a UML tem tido grande aceitação pela
comunidade de desenvolvedores de sistemas. É uma linguagem ainda em desenvolvimento.
Atualmente na versão 2.3.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 5
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Modelo dinâmico
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 6
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
pedidos de compras, os recibos, as pessoas, etc. , conforme está detalhado a seguir . Pode-se
dizer que é possível modelar, por meio de orientação a objetos, um setor, um departamento e
até uma empresa inteira.
Esse enfoque justifica-se, de forma resumida, pelo fato de que os objetos existem na natureza
muito antes de haver qualquer tipo de negócio envolvido ou qualquer tipo de sistemas para
controla-los. Equipamentos, pessoas , materiais, produtos, peças, ferramentas, combustíveis,
etc.
O que é um objeto
Um objeto é uma extensão de conceitos de objeto do mundo real, em que se podem ter coisas
tangíveis, um incidente (evento ou ocorrência) ou uma interação (transação ou contrato).
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 7
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Conceito de Classes
Uma classe é uma coleção de objetos que podem ser descritos por um conjunto básico
de atributos e possuem operações semelhantes. Quando um objeto é identificado com atributos
e operações semelhantes em nosso sistema, diz-se que pode ser agrupado em classes. Todos os
objetos são instâncias de classes, onde a classe descreve as propriedades e comportamentos
daquele objeto. Objetos só podem ser instanciados de classes. Usam-se classes para classificar
os objetos que identificamos no mundo real. Tomando como exemplo Charles Darwin, que usou
classes para classificar os animais conhecidos, e combinou suas classes por herança para
descrever a "Teoria da Evolução". A técnica de herança entre classes é também usada em
orientação a objetos.
Uma classe pode ser a descrição de um objeto em qualquer tipo de sistema – sistemas
de informação, técnicos, integrados real-time, distribuídos, software etc. Num sistema de
software, por exemplo, existem classes que representam entidades de software num sistema
operacional como arquivos, programas executáveis, janelas, barras de rolagem, etc.
Identificar as classes de um sistema pode ser complicado, e deve ser feito com bastante
cautela no domínio do problema a que o software modelado se baseia. As classes devem ser
retiradas do domínio do problema e serem nomeadas pelo que elas representamno sistema.
Quando procuramos definir as classes de um sistema, existem algumas questões que podem
ajudar a identificá-las:
• Existem informações que devem ser armazenadas ou analisadas? Se existir alguma informação
que tenha que ser guardada, transformada ou analisada de alguma forma, então é uma possível
candidata para ser uma classe.
• Existem sistemas externos ao modelado? Se existir, eles deverão ser vistos como classes pelo
sistema para que possa interagir com outros externos.
• Existem classes de bibliotecas, componentes ou modelos externos a serem utilizados pelo sistema
modelado? Se sim, normalmente essas classes, componentes e modelos conterão classes
candidatas ao nosso sistema.
• Qual o papel dos atores dentro do sistema? Talvez o papel deles possa ser visto como classes, por
exemplo, usuário, operador, cliente e daí por diante.
Em UML as classes são representadas por um retângulo dividido em três compartimentos:
o compartimento de nome, que conterá apenas o nome da classe modelada, o de atributos, que
possuirá a relação de atributos que a classe possui em sua estrutura interna, e o compartimento
de operações, que serão os métodos de manipulação de dados e de comunicação de uma classe
com outras do sistema. A sintaxe usada em cada um destes compartimentos é independente de
qualquer linguagem de programação, embora pode ser usadas outras sintaxes como a do C++,
Java, e etc.
Nome da Classe
Cliente
Nome: String
Atributos
Idade: Num
FAETEC Criar ( )
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 8
Destruir( )
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Operações
Objetos
Destruir( )
Mensagens
Para que uma operação em um objeto seja executada deve haver um estímulo a esse
objeto. Se um objeto for visto como uma entidade ativa que representa uma abstração de algo
do mundo real, então faz sentido dizer que tal objeto pode responder a estímulos a ele enviados.
Independente da origem do estímulo, quando ele ocorre diz-se que o objeto em questão está
recebendo uma mensagem requisitando que ele realize alguma operação.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 9
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Polimorfismo
Associado ao conceito de Herança, o polimorfismo permite que um objeto assuma um
comportamento diferente daquele definido na sua classe. Polimorfismo significa a capacidade
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 10
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
de assumir muitas formas. Como exemplo temos uma classe veículos que possui as subclasses
utilitários, esporte,passeio e passageiros e a operação dar partida. Tomando-se a operação dar
partida como exemplo, pode-se dizer que para dar partida em um veículo de passeio e em um
veículo utilitário, pode-se precisar executar tarefas diferentes. Muitas vezes, dependendo do
tipo de motor que equipa o veículo e do combustível utilizado, o processo muda
significativamente. Considerando-se assim que a operação dar partida precisa ser adaptada para
a classe utilitário, reescrevem-se as tarefas para essa operação, que passará a responder de
forma diferente apenas para essa classe e para os objetos instanciados por ela.
Herança
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 11
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Análise de Requisitos
Esta fase visa identificar o tipo de serviço de processamento de dados a ser executado
(manutenção de um software existente ou a criação de um outro), os objetivos a serem
alcançados, recursos e prazos necessários para a execução do projeto.
O Resultando é um documento denominado Anteprojeto, contendo o modelo lógico
preliminar do software. A aprovação deste documento pelo usuário torna-se pré-requisito para
a continuidade do trabalho.
Projeto Lógico
Nesta fase o objetivo é a especificação detalhada dos elementos do software a nível
lógico. Além disso, deve tratar da especificação detalhada dos procedimentos externos ao
computador, tais como:
Captação das informações;
Preparo e envio para processamento;
Crítica e correções;
Distribuição das saídas.
O produto é um documento denominado Manual do Software - Parte I - Projeto
Lógico, que deverá ser submetido ao usuário para análise e aprovação.
Projeto Físico
Tendo como base o Projeto Lógico, o objetivo nesta fase é o de detalhar os elementos
do software a nível físico.
O Produto é um documento denominado Manual do Software - Parte II - Projeto Físico,
que conterá a especificação técnica completa do software, visando a sua implementação.
Implementação
O objetivo desta fase é o desenvolvimento e simulação do software especificado no
Projeto Físico.
O resultado são os programas fontes, devidamente testados. Estes, por sua vez, devem
ser entregues ao usuário via disquetes.
Implantação
Tem como objetivo o treinamento do usuário, a conversão/inicialização de arquivos e
a implantação do software para produção.
Nesta fase, é elaborado e entregue o Manual do Usuário, assim como o Termo de
Encerramento do Desenvolvimento do Software, onde o analista ou empresa desenvolvedora
declara que o software, uma vez implantado, está entregue e considerado, aceito: devendo o
mesmo entrar no período de garantia.
Operação
Nesta Fase são executadas as atividades de produção do software pelo usuário, com
acompanhamento inicial da execução das rotinas, avaliação da performance, pequenos ajustes
e análise de resultados.
O produto é um relatório descritivo dos problemas encontrados pelo usuário e as
soluções adotadas, e a documentação do software, como um todo, devidamente revisada.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 12
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Melhora o tempo de
implementação do sistema
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 13
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Etapas de um ciclo
Introdução a UML
Breve Histórico
A UML surgiu da união de três metodologias de modelagem: O método de Booch, o
método OMT (Object Modeling Technique ) de Jacobson e o método OOSE (Object – Oriented
Software Engineering) de Rumbaugh.
Essas eram , até meados da década de 1990 as três metodologias de modelagem
orientada a objetos mais populares entre os profissionais da área de engenharia de Software.
O trabalho de Booch, Jacobson e Rumbaugh, conhecidos popularmente como os três
amigos, resultou no lançamento em 1996 da primeira versão da UML.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 14
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
A linguagem de Modelagem
A UML é uma linguagem constituída de elementos gráficos ( visuais)utilizados na
modelagem que permitem representar os conceitos do paradigma da orientação
objetos.
Cada elemento gráfico possui uma forma predeterminada de desenhar o elemento e
uma semântica que definem o que significa o elemento e para que ele deva ser utilizado.
A UML é independente tanto de linguagem de programação quanto de processos de
desenvolvimentos. Isso quer dizer que pode ser utilizada para a modelagem de sistemas, não
importa qual a linguagem de programação será utilizada na implementação de sistema, ou qual
a forma ( processo) de desenvolvimento adotado.
Diagramas da UML
Cada diagrama possui uma aba em seu canto superior esquerdo contendo um operador
e a descrição do diagrama. O operador serve para determinar qual o é o tipo de diagrama, assim
uc refere-se a Use Case Diagrama ( Diagrama de caso de uso); class a Class diagram ( Diagrama
de Classes); object, a Object diagram (Diagrama de objetos) ; sd, a Sequence diagram( Diagrama
de Sequência); STM , a state – Machine Diagram ( Diagrama de Máquina de Estados).
Modelos de Elementos
Diagramas
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 15
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
uma estrutura estática e um comportamento dinâmico. A UML suporta modelos estáticos (estrutura
estática), dinâmicos (comportamento dinâmico) e funcional. A Modelagem estática é suportada pelo
diagrama de classes e de objetos, que consiste nas classes e seus relacionamentos. Os relacionamentos
podem ser de associações, herança (generalização), dependência ou refinamentos.
Este é o diagrama mais geral e informal da UML, sendo utilizado principalmente para
auxiliar no levantamento e análise de requisitos, em que são determinantes as necessidades dos
usuários e na compreensão do sistema como um todo. Ele consultado durante todacriação e
modelagem do sistema, servindo de base para todos os outros diagramas.
O diagrama de casos de uso apresenta uma linguagem simples e de fácil compreensão
para que os usuários possam ter uma ideia geral de como o sistema irá se comportar. Ele procura
identificar os atores( Usuários, outros softwares que interajam com o sistema ou até mesmo
algum Hardware especial), que utilizarão de alguma forma o software, bem como os serviços,
ou seja as opções que o sistema disponibilizará aos atores, conhecidos neste diagrama.
Os atores representam o papel de uma entidade externa ao sistema como um usuário,
um hardware, ou outro sistema que interage com o sistema modelado. Os atores iniciam a
comunicação com o sistema através dos casos de uso representando uma sequencia de ações
executadas pelo sistema e recebe do ator.
A figura abaixo mostra um exemplo de Caso de Uso
Diagrama de classes
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 16
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Aprendendo UML
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 17
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Atores
Os atores representam os papeis desempenhados pelos diversos usuários que poderão
utilizar ou interagir com os serviços e funções do sistema. Eventualmente um ator pode
representar algum hardware especial ou mesmo outro software que interaja com o sistema.
Assim, um ator pode ser qualquer elemento externo que interaja com o software. Os atores
são representados por um desenho de um boneco com sua descrição abaixo conforme
exemplo abaixo.
Supervisor Aluno Vendedor
Casos de usos
Associações
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 18
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Especialização/Generalização
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 19
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Inclusão
Esta associação é utilizada quando existe uma situação ou rotina comum a mais de um
caso de uso. Quando isso ocorre, a documentação dessa rotina é colocada em um caso de uso
específico para que outros casos de uso se utilizem desse serviço, evitando-se descrever uma
mesma seqüência de passos em vários casos de uso. Os relacionamentos de inclusão indicam
uma obrigatoriedade, ou seja, quando um determinado caso de uso possui um relacionamento
de inclusão com outro, a execução do primeiro, obriga também a execução do segundo.
Uma associação de inclusão é representada por uma reta tracejada contendo uma seta
em uma de suas extremidades que aponta para o caso de uso incluído pelo caso de uso que o
incluiu. As associações de inclusão apresentam um estereótipo contendo o texto “<<include>>“,
tendo como objetivo dar um destaque especial a um componente ou relacionamento.
Sempre que um saque ou depósito ocorre, ele deve ser registrado para fins histórico
bancário. Como as rotinas para registro de um saque ou um depósito são extremamente
semelhantes, colocou-se a rotina de registro em um caso de uso à parte, chamado Registrar
Movimento,que será executado obrigatoriamente sempre que os casos de uso Depósito ou
Saldo forem utilizados.
Extensão
Esta associação é utilizada para descrever cenários opcionais de um caso de uso, que
somente ocorrerão se uma determinada condição for satisfeita. As associações de extensão
possuem uma representação muito semelhante às associações de inclusão, sendo também
representadas por uma reta tracejada, diferenciando-se por possui um estereótipo contendo o
texto “<<extend>>” e pela seta apontar para o caso de uso que estende.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 20
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Restrições são compostas por um texto entre chaves e são utilizados para definir
validações, consistências, condições, etc., que devem ser aplicadas a um determinado
componente ou situação. Às vezes para não haver dúvidas quanto ao caso de uso entendido,
pode se acrescentar uma restrição à associação de extensão por meio de uma nota explicativa
,determinando a condição para que o caso de uso seja executado.
Exemplo:
Fronteira do Sistema
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 21
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
execute sua função, quais parâmetros devem ser fornecidos e quais restrições e validações o
caso de uso deve possuir. O formato de documentação de um caso de uso é bastante flexível,
permitindo que se documente o caso de uso da forma que se considere melhor.
Atores Secundários
Pós-condições
4. Selecionar tema
9. Confirma
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 22
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Neste exemplo o campo caso de uso geral foi deixado em branco, simplesmenteporque
o caso de uso documentado não o possui, uma vez que não é um caso de uso especializado a
partir de outro.
O Campo Ator secundário contém a descrição de outros atores que podem participar do
processo.
Estudo de Caso
• Toda submissão precisa ser avaliada por uma comissão de três avaliadores, responsável
por analisá-la e fornecer notas. Um avaliador pode avaliar muitas submissões, as quais
são aprovadas de acordo com as maiores notas gerais. A nota geral de uma submissão
será o resultado da média de todas as notas das avaliações de cada submissão as
melhores notas de cada tema e tipo serão consideradas aprovadas. É necessário manter
um cadastro de todos os avaliadores do congresso.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 23
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
• O coordenador pode emitir o relatório das avaliações sempre que quiser; no entanto, a
partir do momento em que selecionar a opção notificar submissores estes serão
avisados se suas submissões foram ou não aprovadas.
• Sendo ou não aprovadas, uma submissão pode ou não receber comentários dos
avaliadores referentes a possíveis alterações necessárias antes de a submissão ser
publicada / disponibilizada no congresso ou conter informações relativas ao porquê da
não aprovação do trabalho pelo avaliador.
• O submissor pode consultar o estado de suas submissões, ou seja, se elas estão ainda
sob avaliação, foram aprovadas ou reprovadas. Um submissor pode também verificar
os possíveis comentários dos avaliadores a respeito de uma submissão específica.
O problema descrito anteriormente, conforme pode ver nesse exemplo utilizará uma
fronteira de sistema, separando os atores, que na verdade, não fazem realmente parte do
sistema, apenas interagem com ele. Os atores identificados foram: Submissor, digitador,
avaliador e coordenador.
O ator denominado submissor pode utilizar os serviços de realizar login submissor, auto-
registrar,realizar submissão, verificar submissão e verificar comentários. Observe que o
submissor somente poderá utilizar o caso de uso auto-registrar a partir do caso de uso realizar
login, e assim mesmo, se ainda não estiver registrado, conforme demonstra o relacionamento
de extensão entre os dois casos de uso. O Mesmo acontece com o caso de uso verificar
comentários, que só pode ser utilizado a partir do caso de uso verificar submissões. Os casos
de uso realizar submissão e verificar submissão só podem ser utilizados depois que o submissor
tiver se logado, no entanto, como não são extensões do caso de uso realizar login, eles foram
modelados de forma independente, devendo possuir em sua documentação uma restrição
informando que o submissor precisa estar logado antes de executá-los.
O ator digitador é responsável somente por executar serviços simples como manter o
cadastro dos avaliadores e dos temas válidos no congresso.
O ator avaliador pode somente informar as notas de suas avaliações a respeito das
submissões que lhe foram atribuídas. Eventualmente um avaliador pode querer realizar algum
comentário com relação a uma avaliação sendo este o motivo da associação de extensão entre
os casos de uso manter avaliações e manter comentários.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 24
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 25
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
2-Diagrama de classe
Um diagrama de classes pode ser utilizado para definir o modelo lógico de um banco
de dados, quando se assemelha aos antigos modelos entidade-relacionamento. Na verdade, o
diagrama de classes foi propositalmente projetado para ser uma evolução do modelo. E-R. No
entanto, deve ficar bem claro que no diagrama de classes não é utilizado unicamente para a o
projeto de modelos lógicos de banco de dados e mais importante, que uma classe não
corresponde a uma tabela em um banco de dados.
Eventualmente uma classe pode representar o repositório lógico dos atributos de uma
tabela, no entanto, a classe não é a tabela, uma vez que os atributos de seus objetos são
armazenados em memória, ao passo que uma tabela armazena seus registros fisicamente em
disco. Além disso, uma classe possui métodos , que não existem em uma tabela. Em um modelo
lógico de banco de dados, os métodos de uma classe podem corresponder às operações que
serão realizadas sobre a tabela.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 26
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Relacionamentos ou Associações
As associações são representadas por retas ligando as classes envolvidas, podendo também
possuir setas em suas extremidades para indicar a navegabilidade da associação, o que
representa o sentido em que as informações são transmitidas entre os objetos das classes
envolvidas. As associações podem também possuir títulos para determinar o tipo de vínculo
estabelecido entre os objetos das classes, isto,é útil quando é necessária alguma forma de
estabelecimento - nesse caso é recomendável determinar também a navegabilidade da
associação para facilitar o sentido da leitura.
Podemos perceber nesse exemplo a existência da classe Funcionário, cujos atributos são
o código do funcionário, seu nome e o código do possível chefe do funcionário. Esse chefe
também é um funcionário, assim a associação chamada “Chefia” indica uma possível relação
entre uma ou mais instâncias da classe Funcionário com outras instâncias da mesma classe, ou
seja, tal associação determina que um funcionário possa ou não chefiar outros funcionários. Essa
associação faz que a classe possua o atributo codchefe para armazenar o código do funcionário
que é responsável pela instância do funcionário em questão. Desse modo, após consultar uma
instância da classe funcionário, pode-se utilizar o atributo codchefe da instância consultada para
pesquisar por outras instâncias da classe.
Note que existe outra informação na associação, além de seu próprio nome,
representada pelo valor “0..*” conhecida como multiplicidade. Esta procura determinar o
número mínimo e máximo de objetos envolvidos em cada extremidade da associação, além de
permitir especificar o nível de dependência de um objeto para com os outros.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 27
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
No
caso apresentado na figura, a multiplicidade 0..* indica que um determinado funcionário pode
chefiar nenhum (0) ou muitos (*) funcionários. Pode-se perceber que só existe multiplicidade
em uma das extremidades, por default. Quando não existe multiplicidade explícita, entende-se
que a multiplicidade é “1.1”, significando que um e somente um objeto dessa extremidade da
associação se relaciona com os objetos da outra extremidade. Nesse exemplo significa que um
funcionário pode ou não chefiar outros funcionários, mas um funcionário possui um e apenas
um funcionário como chefe imediato.
Exemplos de multiplicidade
Multiplicidade Significado
0..* No mínimo nenhum e no máximo muitos. Indica que pode ou não haver
instâncias da classe participando do relacionamento.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 28
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Associação Binária
Nesse exemplo, um objeto da classe sócio pode se relacionar ou não com a instância da
classe dependente, conforme demonstra a multiplicidade 0..* , caso exista um objeto da classe
dependente, ele terá de se relacionar com um objeto da classe sócio.
São associações que conectam objetos de mais de duas classes. São representados por
um losango para o qual converge todas as ligações da associação.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 29
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Agregação
Neste exemplo um pedido pode tanto possuir apenas um item como vários e é muito
difícil determinar o número máximo de itens que um pedido pode ter. Mesmo que isso fosse
possível,na imensa maioria das vezes, o número máximo não seria atingido, o que faria com que
diversos atributos fossem deixados em branco, ocupando um espaço desnecessário.
Composição
Observe que um objeto da classe edição deve relacionar-se a no mínimo seis objetos
da classe Artigo, podendo relacionar-se com até dez.
Especialização/Generalização
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 30
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Dependência
Esse relacionamento como o próprio nome diz identifica, certo grau de dependência de
uma classe em relação a outra. Tal relacionamento de dependência é representado por uma
reta tracejada entre duas classes, contendo uma seta apontando a classe da qual a classe
posicionada na outra extremidade do relacionamento é dependente.
Classe Associativa
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 31
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
Nesse exemplo a classe Autor pode se relacionar com muitas instâncias da classe Artigo,
e uma instância da classe Artigo pode se relacionar com muitas instâncias da classe Autor. Como
existe a multiplicidade muitos pra muitos, é preciso criar uma classe para guardar essas
informações.
Restrição
Constituem-se em informações extras que definem condições a serem validadas
durante a implementação dos métodos de uma classe, das associações entre as classes ou
mesmo de seus atributos. As restrições são representadas por textos limitados por chaves.
Estudo de caso
Iremos dar continuidade a modelagem de sistema para controle de submissão de
congresso, desta vez modelando o problema através do Diagrama de Classes.
• Existem diversos temas. Um tema pode possuir muitas submissões, mas uma submissão
refere-se a um tema único.
• Existem três tipos válidos de submissão: Artigos, minicursos ou palestras. Pode haver
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 32
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 33
Governo do Estado do Rio de Janeiro
Secretaria de Estado de Ciência, Tecnologia e Inovação
Fundação de Apoio à Escola Técnica -FAETEC
Escola Técnica Estadual Maria Mercedes Mendes Teixeira – ETEMMMT
Apostila de Modelagem de Dados 2 Professor Evaldo Sousa
A classe Principal é a classe Submissão cujos atributos são o título da submissão e sua situação (em avaliação
aprovada ou reprovada), além dos métodos para consultar uma submissão para selecionar várias delas.
Observe que submissão é uma superclasse possuindo três subclasses chamadas Artigo, Mini curós e Palestra.
A Classe Autor contém as informações pessoais de cada autor (Submissor) que submeteu trabalhos
no congresso. O método importante desta classe é o método loguin. A multiplicidade da associação desta
classe com a classe submissão, um objeto da classe autor pode se associar a muitos objetos da classe
submissão (no mínimo um), porém um objeto da classe submissão só pode estar associado a um objeto da
classe autor (pode haver vários autores para uma submissão, mas somente um será notificado).
A classe Tema possui como atributo somente a descrição do tema e o método para consultar um
tema e selecionar vários temas. Um tema pode estar associado a nenhuma ou muitas submissões, mas uma
submissão só pode se associar a um tema.
A classe Tipo possui o atributo para conter sua descrição não sendo necessário qualquer método.
A classe Avaliador identifica os atributos pessoais de cada avaliador além do método que permite
um avaliador logar-se no sistema. A classe Comentário armazena a descrição de cada comentário de uma
avaliação, além dos métodos para registrá-lo, excluí-lo ou consultá- lo.
FAETEC
evaldo.sousa@prof.etemmmt.faetec.rj.gov.br 34