Click to edit Master title style
Click to edit Master title style
MODELAGEM DE SISTEMAS
Click to edit Master title style
A modelagem consiste em criar representações abstratas de um
sistema, utilizando diagramas, gráficos e outras formas de visualização. O
objectivo é simplificar a complexidade do sistema, destacando seus
aspectos mais relevantes e ocultando detalhes desnecessários.
Tipos de Modelos
Modelos Estruturais: Representam a estrutura estática do sistema,
seus componentes, relações e propriedades.
Click to edit Master title style
Modelos Comportamentais: Representam o comportamento
dinâmico do sistema, interações entre componentes, sequências de
eventos e mudanças de estado.
Modelos Funcionais: Representam as funções do sistema, o que
ele faz e como transforma entradas em saídas.
Click to edit Master title style
Os modelos de sistemas podem ser classificados em lógicos e
físicos.
Modelos Lógicos: Representam o sistema de forma abstrata, sem
se preocupar com os detalhes de implementação. Eles se concentram
nos aspectos essenciais do sistema, como os requisitos, as funções e as
relações entre os componentes.
Modelos Físicos: Representam o sistema de forma concreta,
incluindo os detalhes de implementação, como o hardware, o software,
os bancos de dados e as interfaces.
Click to edit Master title style
Os modelos lógicos são úteis nas fases iniciais do projecto, quando
os requisitos ainda estão sendo definidos e a arquitetura do sistema está
sendo concebida. Os modelos físicos são utilizados nas fases posteriores
do projeto, quando os detalhes de implementação estão sendo definidos
e o sistema está sendo construído.
Click to edit Master title style
FERRAMENTAS DE MODELAGEM
Existem diversas ferramentas de modelagem de sistemas disponíveis, cada uma
com suas próprias características e funcionalidades. Algumas das mais populares são:
UML (Unified Modeling Language): linguagem padrão para representar sistemas
orientados a objetos, com diagramas para modelar estrutura, comportamento e
interações.
BPMN (Business Process Model and Notation): notação gráfica para modelar
processos de negócio, representando fluxo de trabalho, atividades, eventos e decisões.
Click to edit Master title style
SysML (Systems Modeling Language): baseada em UML, para modelar sistemas
complexos de engenharia e embarcados.
Archimate: Para representar a arquitetura empresarial, incluindo processos de
negócio, aplicações, dados e infraestrutura de TI.
A escolha da ferramenta depende do tipo de sistema, da complexidade do
projecto e das preferências da equipe.
Click to edit Master title style
DIAGRAMAS UML
A UML (Unified Modeling Language) é a linguagem de modelagem mais
utilizada na análise e projecto de sistemas orientados a objetos. Ela oferece um
conjunto de diagramas para representar diferentes aspectos do sistema, como a
estrutura, o comportamento e as interações.
Os diagramas UML mais utilizados são:
Diagrama de Casos de Uso: Representa as funcionalidades do sistema do
ponto de vista do usuário.
Diagrama de Classes: Representa a estrutura estática do sistema, mostrando
as classes, os atributos e as operações.
Click to edit Master title style
Diagrama de Sequência: Representa as interações entre os objetos do
sistema ao longo do tempo.
Click to edit Master title style
Diagrama de Casos de Uso
O Diagrama de Casos de Uso (DCU): é uma ferramenta importante na
modelagem de sistemas, pois ele captura as funcionalidades do sistema sob a
perspectiva do usuário. O DCU representa as interações entre os actores (usuários ou
sistemas externos) e o sistema, mostrando os diferentes casos de uso (funcionalidades)
que o sistema oferece e como os actores interagem com eles.
Click to edit Master title style
Elementos do DCU
Actor: Representa um usuário ou sistema externo que interage com o
sistema.
Caso de Uso: Representa uma funcionalidade do sistema, ou seja, uma
sequência de acções que o sistema executa para atender a uma necessidade do
actor.
Associação: Representa a relação entre um actor e um caso de uso, indicando
que o actor interage com o caso de uso.
Generalização: Representa a relação de herança entre casos de uso,
indicando que um caso de uso herda as características de outro.
Inclusão: Representa a relação de inclusão entre casos de uso, indicando que
um caso de uso inclui o comportamento de outro.
Extensão: Representa a relação de extensão entre casos de uso, indicando
que um caso de uso estende o comportamento de outro.
Click to edit Master title style
Exemplo:
Um sistema de biblioteca pode ter um DCU com o Actor "Usuário" e os
seguintes casos de uso:
• Pesquisar livro
• Reservar livro
• Emprestar livro
• Devolver livro
• Renovar empréstimo
Click to edit Master title style
Click to edit Master title style
Diagrama de Classes
O Diagrama de Classes é um dos diagramas mais importantes da
UML, pois representa a estrutura estática de um sistema orientado a
objetos. Ele mostra as classes do sistema, seus atributos (características)
e suas operações (ações que podem ser realizadas).
Click to edit Master title style
Elementos do Diagrama de Classes
Classe: Representa um conjunto de objetos com características e
comportamentos semelhantes.
Atributo: Representa uma característica de uma classe, como nome, idade ou
endereço.
Operação: Representa uma ação que pode ser realizada por um objeto da classe,
como calcular, imprimir ou enviar.
Associação: Representa um relacionamento entre classes, como um aluno está
matriculado em uma turma.
Click to edit Master title style
Generalização: Representa a relação de herança entre classes,
como um carro é um tipo de veículo.
Agregação: Representa a relação de composição entre classes,
como um carro é composto por motor, rodas e outros componentes.
Click to edit Master title style
Exemplo de Diagrama de Classes
Click to edit Master title style
Diagrama de Sequência
O Diagrama de Sequência é um diagrama de interação da UML
que mostra como os objectos do sistema interagem entre si para realizar
um caso de uso. Ele representa a ordem temporal das mensagens
trocadas entre os objetos, indicando quem enviou a mensagem, quem a
recebeu e qual a operação foi executada.
Click to edit Master title style
Elementos do Diagrama de Sequência
Objecto: Representa uma instância de uma classe.
Linha de Vida: Representa a existência de um objeto ao longo do
tempo.
Mensagem: Representa a comunicação entre objetos, indicando a
operação que foi chamada.
Ativação: Representa o período em que um objeto está
executando uma operação.
Click to edit Master title style
Exemplo de Diagrama de Sequência
Usuário -> Sistema: Pesquisar livro(título)
Sistema -> Banco de Dados: Buscar livro(título)
Banco de Dados -> Sistema: Retornar livro(livro)
Sistema -> Usuário: Exibir livro(livro)
Usuário -> Sistema: Emprestar livro(livro)
Sistema -> Banco de Dados: Registrar empréstimo(livro, usuário)
Banco de Dados -> Sistema: Confirmação
Sistema -> Usuário: Empréstimo realizado com sucesso
Click to edit Master title style
Click to edit Master title style
Outros diagramas (DFD, DER)
Além dos diagramas UML, existem outros diagramas úteis na modelagem de
sistemas:
DFD (Diagrama de Fluxo de Dados): Ilustra o fluxo de informações dentro de
um sistema, mostrando como os dados são processados e transformados.
DER (Diagrama de Entidade-Relacionamento): Representa a estrutura de um
banco de dados, mostrando as entidades (objectos), seus atributos (características) e
os relacionamentos entre elas.
Click to edit Master title style
Diagrama de Entidade-Relacionamento
Click to edit Master title style
Diagrama de Entidade-Relacionamento
Click to edit Master title style
Exemplos de Modelagem
Sistema de E-commerce: Diagrama de Casos de Uso: Cadastrar
produto, realizar compra, finalizar pedido.
Diagrama de Classes: Cliente, Produto, Pedido, Carrinho de
Compras.
Click to edit Master title style
Exemplos de Modelagem
Sistema de E-commerce: Diagrama de Casos de Uso: Cadastrar
produto, realizar compra, finalizar pedido.
Click to edit Master title style
Click to edit Master title style
Click to edit Master title style
Exercícios
1. Arnaldo deseja escrever uma aplicação de controle de tarefas para colocar em seu Palm. As
especificações da aplicação são as seguintes: O cadastro de cada tarefa contém o número da
prioridade, representado por um valor real. Isso permite entrar com intervalos intermediários. Além
da prioridade, o cadastro deve conter: o nome da tarefa, a data limite de execução (se houver), o
percentual já concluído e o detalhamento da tare fa. Para cada tarefa há uma lista de itens que
descrevem sua execução. Para cada item de execução, cadastram-se:- o percentual correspondente- a
descrição da execução- a data da execução (quando for concluída) Quando uma tarefa receber 100%
de execução, esta deve ser movida automaticamente para a lista de tarefas concluídas, podendo ser
apagada, se for o caso. Veja o exemplo desse controle em papel.
Click to edit Master title style
a) Desenhe o diagrama de casos de uso.
b) b) Desenhe o diagrama de classes completo
2. Bruna resolveu desenvolver uma aplicação para controlar as ligações tele
fónicas de sua casa, a fim de checar se o valor que paga mensalmente está
correcto. Assim, sempre que desejar, poderá listar as ligações efectuadas
num determinado período, contabilizando o valor a pagar. Para que isso
seja possível, toda ligação será feita pelo computador. A cada solicitação de
ligação, a aplicação deverá registrar: a data da ligação, a hora da ligação,
quantidade de minutos gastos (que deve ser registrado no momento que a
ligação for encerrada), o número de pulsos (que deve ser calculado pela
aplicação) e o telefone para onde se discou.
Click to edit Master title style
A aplicação permitirá o controle de uma agenda de telefones, com número do
telefone e nome da pessoa de contato. O usuário poderá escolher, no A forma de
cálculoxJos pulsos considera os seguintes critérios:- Cada pulso custa R$ 0,08 para
ligações locais. Exemplo: momento da ligação, se deseja um dos registros da agenda
ou se digitará diretamente o número do telefone,- A ligação ao ser completada já
conta um pulso. A partir dai, a cada quatro minutos de conversação concluída, cobra-
se mais um pulso. Ligação de 2m Ligação de 4m30s Ligação de 8m 1 pulso - 2 pulsos
3 pulsos- Os finais de semana possuem uma promoção. Cada ligação contabiliza
somente um pulso, independente do número de minutos de conversação.
Click to edit Master title style
a) Desenhe o diagrama de casos de uso.
b) Desenhe o diagrama de ciasses completo.
3. Mariana prepara diversos exercícios para suas filhas que estão na primeira e na
segunda séries. Ela gostaria de informatizar esses exercícios, para gerar testes
aleatórios. Cada teste gerado deve ser guardado (acompanhado de suas questões),
com a indicação de sua data de geração. Na geração de um teste, é preci so informar
o número de questões desejadas e a qual disciplina pertence o teste. Para cada
disciplina, cadastra-se: uma lista de questões objetivas, identifi cando de que
bimestre é cada questão e a que matéria pertence.
Click to edit Master title style
O gabarito também é cadastrado a fim de facilitar a correção do teste. Cada matéria
faz parte de uma única disciplina. A série está ligada à matéria.
Por exemplo: para a disciplina de matemática, Mariana prepara um teste com 20
questões. Cada questão corresponde a um bimestre (1°, 2°. 3° ou 4°) e a uma matéria
(ex: adição, divisão, números pares e impares, núme ros primos, sinónimos etc). Cada
matéria corresponde a uma disciplina (adição - matemática; sinónimos - português
etc).
a) Desenhe o diagrama de casos de uso .
b) Desenhe o diagrama declasses completo.
Click to edit Master title style
Faça um diagrama de entidade e relacionamento