Aula 7 - Modelagem de Software

Leinylson Fontinele
Leinylson FontineleProfessor de Computação em UNINASSAU
Modelagem de Software
Leinylson Fontinele Pereira
Engenharia de Software
2
Modelagem de Software
• A modelagem de software é a construção de modelos
abstratos de um software:
• Apresenta uma visão ou perspectiva diferente do sistema,
• Modelos podem usar notações gráficas, tal como UML, ou
modelos formais com especificação formal
Ajuda na:
– Extração de requisitos
– Comunicação com a equipe – modelo técnico
Modelagem de Software
• Modelos são abstrações do sistema, e não uma
representação alternativa dele
– Representação: mantém todas as informações a
respeito da entidade apresentada
– Abstração: simplifica e seleciona as características
mais genéricas
– Exemplo:
• Representação: um livro traduzido em outra língua
• Abstração: um resumo pode ser considerado uma abstração
da entidade livro
Modelagem de Software
• Objetivos:
– Descrever o que o cliente deseja.
– Estabelecer a base para a criação de um projeto
de software.
– Definir um conjunto de requisitos que possa ser
validado quando o software for construído.
Modelagem de Software
• Podem ser usados em diferentes etapas da engenharia
de software
– Engenharia de requisitos – extrair requisitos do sistema,
esclarecer o que o sistema faz, tirar dúvidas, explicar os
requisitos para outros stakeholders
– Processo de Projeto – Descrever o sistema
– Outras etapas - Documentar a estrutura e operação do
sistema, estimular a discussão entre os engenheiros de
software, descrever detalhadamente o sistema
Modelagem de Software
• Diferentes modelos proporcionam
perspectivas (ou pontos de vista) diferentes:
– Perspectiva externa
• Modelo de contexto
– Perspectiva de interação
• Casos de uso, diagrama de sequencia...
– Perspectiva estrutural
• Classes, objetos, colaboração
– Perspectiva comportamental
• Diagrama de estados e derivados
Modelagem de Software
• Perspectiva externa: modela o contexto ou o ambiente do
sistema
• Perspectiva de interação: modela as interações entre um
sistema e seu ambiente, ou entre os componentes de um
sistema
• Perspectiva estrutural: modela a organização de um
sistema ou a estrutura dos dados processados pelo sistema
• Perspectiva comportamental: modela o comportamento
dinâmico do sistema e como ele reage aos eventos
Modelagem de Software
• A UML (Unified Modeling Language) é uma
linguagem de modelagem amplamente utilizada:
– Conjunto de notações que visam apoiar a
modelagem de sistemas orientados a objetos
– Não explicita como a modelagem deve ser
conduzida
– Pode ser usada para modelar sistemas não-OO
• Modelos de domínio
• Modelos de contexto
Modelagem de Software
– Diagramas de Atividade: atividades envolvidas em um
processo ou no processamento de dados
– Diagramas de Caso de Uso: interações entre um sistema e seu
ambiente
– Diagramas de Sequência: interação entre os atores e o
sistema, e entre os componente ou objetos do sistema
– Diagramas de Classe: mostram as classes de objetos do
sistema e as associações entre elas
– Diagramas de Estado: mostram como o sistema reage a
eventos internos e externos
Modelagem de Software
• Modelos de contexto
– Diagramas de Atividades
• Modelos de interação
– Diagramas de Casos de uso, Diagramas de Sequência
• Modelos estruturais
– Diagramas de Classe
• Modelos comportamentais
– Diagramas de Estado
Modelos de Contexto
• Definem os limites do sistema
• Normalmente usados em um estágio inicial da especificação
de um sistema
• Mostram quais outros sistemas fazem parte do ambiente, mas
não mostram os tipos de relacionamentos entre sistemas
• Os sistema externos podem:
– produzir dados para o sistema consumir dados deste
– compartilhar dados
– ser conectados diretamente por meio de uma rede
– estar fisicamente no mesmo local ou em locais separados
Modelos de Contexto
Ex: contexto de um Sistema Operacional
Modelo de Contexto
• Diagrama de Atividades da UML
– Modelam atividades, a ordem em que são realizadas
e dependências entre elas
• Podem também indicar entradas e saídas das
atividades
– Úteis para modelar fluxos de trabalho
– Exemplos:
• Sequência de passos da descrição de um requisito
• Processos dentro de uma empresa
Modelos de Contexto
Ex 1: diagrama de atividades (UML)
Modelos de Contexto
• Diagramas de Atividades da UML
– Início do processo (círculo preenchido)
– Fim do processo (circulo dentro de outro círculo)
– Atividades (retângulo com canto arredondado)
– Objetos (retângulos -podem representar outros
sistemas)
– Fluxo de trabalho de uma atividade para outra (setas)
– Coordenação de atividades (barra sólida)
– Atividades podem ser executas em paralelo
– Anotações podem ser incluídas nas setas
Modelos de Contexto
Ex 2: diagrama de atividades (UML)
Modelos de Interação
• Mostra as interações :
– Do usuário com o sistema
– Entre sistemas
– Entre os componentes do sistema
• Existem duas abordagens para modelar a interação:
– Diagramas de Casos de uso: mostram, principalmente, interações com atores
externos (sistemas ou usuários)
– Diagramas de Sequência: mostram interações entre os componentes do sistema
• Ambas apresentam interações em diferentes níveis de detalhamento
Modelos de Interação
Caso de Uso
• Amplamente usado para apoiar a elicitação de requisitos
• Representa uma tarefa discreta que envolve a interação
externa com um sistema (pode ser
hardware/software/pessoa)
• Oferece uma visão simples de uma interação
– Necessário mais detalhes para entender o que está envolvido
Modelos de Interação
• Fornece uma visão global e de alto nível do sistema
• Um cenário é uma determinada sequência de
ações que ilustra um comportamento do sistema
• Uma designação alternativa para cenário, por vezes
utilizada, é “fluxo de ações”
Modelos de Interação
• Especificar o comportamento de um caso de uso com
uma descrição textual de um ou mais fluxos de ações
• Tal especificação deve incluir:
– Como e quando o caso de uso começa e termina;
– Quando é que o caso de uso interage com os atores;
– Que objetos são trocados;
– Cenário principal e Cenários alternativos (situações de
exceção)
Modelos de Interação
• Caso de Uso – Exemplo 3 “Nome: Validar Usuário”
• Cenário Principal
O caso de uso inicia-se quando o sistema apresenta uma tela que pede ao cliente o seu
cartão eletrônico. O cliente introduz o seu cartão magnético e, através de um pequeno
teclado, a sua senha. Note-se que o cliente pode limpar a introdução da sua senha
inúmeras vezes e re-introduzir um novo número antes de pressionar o botão “Entrar”. O
cliente ativa o botão “Entrar” para confirmar. O sistema lê a senha e a respectiva
identificação do cartão, e verifica se é válido. Se a senha for válida o sistema aceita a
entrada e o caso de uso termina.
• Cenário Alternativo 1 (Cliente cancela operação)
O cliente pode cancelar a transação em qualquer momento ativando o botão “Cancelar”,
implicando a re-inicialização do caso de uso. Não é realizada qualquer alteração à conta
do cliente.
• Cenário Alternativo 2 (senha inválida)
Se o cliente introduz uma senha inválida o cartão MB é ejetado e o caso de uso
reinicializado. Se tal ocorrer 3 vezes consecutivas, o sistema aciona medidas de segurança
e “recolhe” o cartão e cancela a transação; não permitindo qualquer interação nos 2
minutos seguintes.
• Caso de Uso – Notações UML
– O diagrama de Caso de Uso é representado por:
• Atores;
• Casos de uso;
• Relacionamentos entre estes elementos.
– Estes relacionamentos podem ser:
• Associações entre atores e casos de uso;
• Generalizações entre os atores;
• Generalizações, extends e includes entre os casos de uso.
– Casos de uso podem opcionalmente estar envolvidos por
um retângulo que representa os limites do sistema.
• Ator
– Usuário do sistema
• Humano ou um outro sistema.
• Caso de Uso
– Função do sistema que será automatizado.
• Relacionamentos
– Entre um ator e um caso de uso (Associação)
• Funcionalidade do sistema na visão do usuário.
– Entre atores (Generalização)
• Os casos de uso de B são também casos de uso de A
• A tem seus próprios casos de uso
– Entre casos de uso
• Include
– Quando um caso de uso “A” inclui (include) outro caso
de uso “B”. Isto implica que ao executar o caso de uso
“A” executa-se também o caso de uso “B”.
– Extend
• Quando um caso de uso “A” tem um relacionamento do tipo
extend com outro caso de uso “B”.
• Implica que ao executar o caso de uso “A” não
necessariamente “B” será exeutado.
• Sistema
– Limites do sistema: representado por um retângulo envolvendo
os casos de uso que compõem o sistema.
– Nome do sistema: Localizado dentro do retângulo.
Exemplos de Caso de Uso - Biblioteca
• R1. Para usar os serviços de uma biblioteca, os leitores
deverão estar registrados e possuir um cartão com número
de identificação e foto.
• R2. O sistema deve permitir que um leitor faça empréstimo
de um ou mais livros, por um período de tempo que varia
de 1 semana a 6 meses, dependendo do tipo de leitor (1
semana para estudantes de graduação, 15 dias para
estudantes de pós-graduação e 6 meses para docentes).
• R3. O leitor está apto a emprestar livros se não possuir em
seu poder livros com data de devolução vencida e desde
que o número de livros emprestados não ultrapasse o
máximo permitido, que depende do tipo de leitor.
• R4. O sistema deve permitir que o leitor devolva um ou
mais livros em seu poder, fazendo com que o livro volte a
ficar disponível na biblioteca
• De acordo com esses requisitos, existem 2 casos de uso:
– Emprestar Livro
– Devolver Livro
• Um requisito pode referir-se a mais de um caso de uso.
• Um caso de uso pode referir-se a mais de um requisito.
• Requisitos X Casos de Uso
• Atores:
– Leitor
– Atendente
– Bibliotecário
• Casos de Uso:
– Emprestar livro
– Devolver livro
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
• Cenário "comprar produto”:
– O cliente navega pelo catálogo e adiciona os itens
desejados ao carrinho de compras. Quando o
cliente desejar pagar, ele preenche os dados para
entrega e da forma de pagamento, confirmando a
compra no final. O sistema verifica o cartão de
crédito, tenta passar a compra no cartão e
confirma a venda com o envio de um e-mail.
• Tendo em vista que a verificação do cartão pode
dar não autorizado, gerando um segundo cenário.
• Seu cliente pode ser um cliente regular, não
necessitando preencher os dados de entrega ou
mesmo do cartão, isso já seria um terceiro cenário.
• Mas repare que a essência desses três cenários é
que o usuário tem o mesmo objetivo: comprar um
produto, nem sempre o usuário consegue, mas o
objetivo permanece.
Aula 7 - Modelagem de Software
• Os casos de uso informar endereço e preencher
dados do cartão de crédito são extends, pois só
haverá necessidade de informá-los se o cliente for
novo, ou se ele quiser alterar uma dessas
informações.
• Os casos de uso verificar dados do cartão de
crédito e faturar compra são include, pois sempre
que for informado um novo cartão será necessário
validar esse cartão e sempre que for finalizada uma
compra, ela deve ser faturada.
Relacionamento entre Casos de Uso
• Existem 3 formas para tratar relacionamentos
entre casos de uso:
– Include
– Extend
– Generalization
• Considerando três Casos de Uso – A, B e C, vejamos cada um dos
relacionamentos.
• Include
– Se o caso A “inclui” o caso B, então sempre que A for executado o caso
de uso B também será executado.
– A direção do relacionamento é do caso de uso que está incluindo para
o caso de uso incluído (A -----> B)
• Extend
– Se o caso B estende o caso de uso A, então quando A for executado o
B poderá (poderá – talvez não seja) ser executado também.
– A direção do relacionamento é do caso de uso extensor para o caso de
uso estendido: (B ------> A)
• Generalization
– Quando o caso de uso B generaliza o caso de uso C isso
significa que, além de fazer tudo que nele está
especificado (B), ele também executará tudo que
está especificado no caso de uso C.
– A direção do relacionamento é sempre
do generalizador (B) para o generalizado (C): B → C
• Ex: No diagrama temos quatro Casos de Uso, e três
relacionamentos diferentes: Include, Extend e
Generalization.
• Include:
– O caso de uso “Solicitar Material” faz include no caso
de uso “Checar Estoque”.
– Isso se dá porque sempre que houver a solicitação de
material sempre haverá a consulta ao estoque para
saber se o material está disponível.
– Se sempre haverá, o relacionamento correto é o
include.
Aula 7 - Modelagem de Software
• Explicando o Extend
• O caso de uso “Comprar Material” estende o caso
de uso “Solicitar Material”. Isso se dá porque
quando houver a solicitação de material, caso o
material não exista em estoque (após consulta via
o caso de uso “Checar estoque”) poderá ser
solicitado a compra do item.
• Mas também poderá não ser solicitada a compra,
pois o item pode existir em estoque. Se poderá ser
solicitada a compra (e não sempre será solicitada a
compra) o relacionamento correto é o extend.
Modelos de Interação
• Caso de Uso – Exemplo Generalização
“Testar Senha” e “Leitura com Smartcard” são especializam
o caso de uso “Validar usuário”
Modelos de Interação
• Caso de Uso – Exemplo <<include>>
Relação de delegação, significando que o caso base
incorpora o comportamento do outro caso
• Extend
• Quando o caso de uso B estende o caso de uso A, significa que
quando o caso de uso A for executado o caso de
uso B poderá (poderá – talvez não seja) ser executado também. A
direção do relacionamento é do caso de uso extensor (aqui o caso
de uso B) para o caso de uso estendido (aqui o caso de uso A).
1 de 47

Recomendados

Uml Diagramas Estruturais por
Uml   Diagramas EstruturaisUml   Diagramas Estruturais
Uml Diagramas Estruturaisthaisedd
16.8K visualizações49 slides
Análise e Modelagem de Software por
Análise e Modelagem de SoftwareAnálise e Modelagem de Software
Análise e Modelagem de SoftwareMarcelo Yamaguti
5.1K visualizações15 slides
Introdução à UML com Casos de Uso por
Introdução à UML com Casos de UsoIntrodução à UML com Casos de Uso
Introdução à UML com Casos de UsoRodrigo Gomes da Silva
3.4K visualizações59 slides
Engenharia de requisitos por
Engenharia de requisitosEngenharia de requisitos
Engenharia de requisitosMailson Queiroz
2.1K visualizações68 slides
Projeto de Software por
Projeto de SoftwareProjeto de Software
Projeto de SoftwareWagner Zaparoli
2.2K visualizações57 slides
Análise e Modelagem com UML por
Análise e Modelagem com UMLAnálise e Modelagem com UML
Análise e Modelagem com UMLÁlvaro Farias Pinheiro
5.2K visualizações112 slides

Mais conteúdo relacionado

Mais procurados

AOO - Diagrama de Caso de Uso por
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoMaria Alice Jovinski
5.1K visualizações29 slides
Engenharia de Requisitos por
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosEstêvão Bissoli Saleme
2.3K visualizações72 slides
UML por
UMLUML
UMLRoberto Grande
8K visualizações185 slides
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas por
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasDaniel Brandão
5.4K visualizações41 slides
Especificação de Requisitos de Software por
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
2.5K visualizações46 slides
Projeto de sistemas com UML - Parte 1 por
Projeto de sistemas com UML - Parte 1Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1Natanael Simões
3.5K visualizações52 slides

Mais procurados(20)

AOO - Diagrama de Caso de Uso por Maria Alice Jovinski
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
Maria Alice Jovinski5.1K visualizações
UML por Roberto Grande
UMLUML
UML
Roberto Grande8K visualizações
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas por Daniel Brandão
Aula 04 Sistema de Informação - Processo e Requisitos de SistemasAula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Aula 04 Sistema de Informação - Processo e Requisitos de Sistemas
Daniel Brandão5.4K visualizações
Especificação de Requisitos de Software por Ralph Rassweiler
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
Ralph Rassweiler2.5K visualizações
Projeto de sistemas com UML - Parte 1 por Natanael Simões
Projeto de sistemas com UML - Parte 1Projeto de sistemas com UML - Parte 1
Projeto de sistemas com UML - Parte 1
Natanael Simões3.5K visualizações
1.Introdução Banco de Dados por vini_campos
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
vini_campos6K visualizações
Diagrama de Atividades - UML por Vinícius Barros
Diagrama de Atividades - UMLDiagrama de Atividades - UML
Diagrama de Atividades - UML
Vinícius Barros2.9K visualizações
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares) por Rosanete Grassiani dos Santos
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Análise de Sistemas - Requisitos (Revisão e Requisitos Suplementares)
Rosanete Grassiani dos Santos12K visualizações
Aula 4 banco de dados por Jorge Ávila Miranda
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
Jorge Ávila Miranda5.6K visualizações
Banco de Dados Conceitos por Cleber Ramos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
Cleber Ramos26.6K visualizações
Modelo caso uso por Gabriel Faustino
Modelo caso usoModelo caso uso
Modelo caso uso
Gabriel Faustino4.4K visualizações
Aula 1 requisitos por licardino
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
licardino1.6K visualizações
Lógica de programação { para iniciantes } por Mariana Camargo
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
Mariana Camargo2K visualizações
Aula 01 - UML e Padrões de Projeto por Vinícius de Paula
Aula 01 - UML e Padrões de ProjetoAula 01 - UML e Padrões de Projeto
Aula 01 - UML e Padrões de Projeto
Vinícius de Paula3.4K visualizações
Aula 1 introdução a base de dados por Hélio Martins
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
Hélio Martins9K visualizações
Banco de Dados - Introdução - Projeto de Banco de Dados - DER por Rangel Javier
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Rangel Javier18.7K visualizações
Engenharia Requisitos - Aula4 06 03 2006 por Luís Fernando Richter
Engenharia Requisitos - Aula4 06 03 2006Engenharia Requisitos - Aula4 06 03 2006
Engenharia Requisitos - Aula4 06 03 2006
Luís Fernando Richter3.7K visualizações
Algoritmos e Estrutura de Dados - Aula 01 por thomasdacosta
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
thomasdacosta1.5K visualizações

Similar a Aula 7 - Modelagem de Software

Parte6 casos de uso por
Parte6   casos de usoParte6   casos de uso
Parte6 casos de usoGustavo Girardon
1.3K visualizações42 slides
Aps caso uso por
Aps caso usoAps caso uso
Aps caso usoRildo Cavalcante Pereira
1.4K visualizações52 slides
Modelagem de Sistemas de Informação 07 por
Modelagem de Sistemas de Informação 07Modelagem de Sistemas de Informação 07
Modelagem de Sistemas de Informação 07Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
993 visualizações40 slides
Análise de Sistemas Orientado a Objetos - 05 por
Análise de Sistemas Orientado a Objetos - 05Análise de Sistemas Orientado a Objetos - 05
Análise de Sistemas Orientado a Objetos - 05Danielle Ballester, PMP,PSM,SFC,SDC,SMC,SPOC,SCT
751 visualizações40 slides
342336684-GSI030-Aula08-projetoImplementacao.pdf por
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdfGabrielMarchesan
1 visão57 slides
REA- Diagramas de Casos de Uso da UML por
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UMLIFFar - SVS
1.7K visualizações30 slides

Similar a Aula 7 - Modelagem de Software(20)

Parte6 casos de uso por Gustavo Girardon
Parte6   casos de usoParte6   casos de uso
Parte6 casos de uso
Gustavo Girardon1.3K visualizações
342336684-GSI030-Aula08-projetoImplementacao.pdf por GabrielMarchesan
342336684-GSI030-Aula08-projetoImplementacao.pdf342336684-GSI030-Aula08-projetoImplementacao.pdf
342336684-GSI030-Aula08-projetoImplementacao.pdf
GabrielMarchesan1 visão
REA- Diagramas de Casos de Uso da UML por IFFar - SVS
REA- Diagramas de Casos de Uso da UMLREA- Diagramas de Casos de Uso da UML
REA- Diagramas de Casos de Uso da UML
IFFar - SVS1.7K visualizações
Aula 05 - Caso de Uso.pdf por GreiceSilva21
Aula 05 - Caso de Uso.pdfAula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdf
GreiceSilva213 visualizações
Aula 05 - Caso de Uso.pdf por GreiceSilva21
Aula 05 - Caso de Uso.pdfAula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdf
GreiceSilva214 visualizações
Aula 05 - Caso de Uso.pdf por GreiceSilva21
Aula 05 - Caso de Uso.pdfAula 05 - Caso de Uso.pdf
Aula 05 - Caso de Uso.pdf
GreiceSilva212 visualizações
Aula 05 .pdf por GreiceSilva21
Aula 05 .pdfAula 05 .pdf
Aula 05 .pdf
GreiceSilva213 visualizações
Aulas de análise por Frank Lira
Aulas de análiseAulas de análise
Aulas de análise
Frank Lira1.1K visualizações
Aulas de análise por Frank Lira
Aulas de análiseAulas de análise
Aulas de análise
Frank Lira1.1K visualizações
Use Case Diagram.pptx por rubens708870
Use Case Diagram.pptxUse Case Diagram.pptx
Use Case Diagram.pptx
rubens70887028 visualizações
4 casos-de-uso por sou estudante
4 casos-de-uso4 casos-de-uso
4 casos-de-uso
sou estudante251 visualizações
Documentar Requisitos Usando Modelos por Barbara Lima
Documentar Requisitos Usando ModelosDocumentar Requisitos Usando Modelos
Documentar Requisitos Usando Modelos
Barbara Lima2.6K visualizações
Aula desesenvolvimento segunda semana por Gabriel Moura
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semana
Gabriel Moura248 visualizações
Aula-04-UML.pptx por rubens708870
Aula-04-UML.pptxAula-04-UML.pptx
Aula-04-UML.pptx
rubens70887010 visualizações

Mais de Leinylson Fontinele

Utilização do editor de texto Word por
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto WordLeinylson Fontinele
123 visualizações155 slides
Prática com slide.pptx por
Prática com slide.pptxPrática com slide.pptx
Prática com slide.pptxLeinylson Fontinele
6 visualizações9 slides
A galinha carijó por
A galinha carijóA galinha carijó
A galinha carijóLeinylson Fontinele
530 visualizações19 slides
Descrição do Projeto 8 puzzle por
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleLeinylson Fontinele
769 visualizações20 slides
Aula 05 - Importância do teste, auditoria e monitoramento por
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoLeinylson Fontinele
347 visualizações28 slides
Aula 04 - Implementação efetiva da política de segurança por
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaLeinylson Fontinele
130 visualizações10 slides

Mais de Leinylson Fontinele(20)

Utilização do editor de texto Word por Leinylson Fontinele
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto Word
Leinylson Fontinele123 visualizações
Descrição do Projeto 8 puzzle por Leinylson Fontinele
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
Leinylson Fontinele769 visualizações
Aula 05 - Importância do teste, auditoria e monitoramento por Leinylson Fontinele
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramento
Leinylson Fontinele347 visualizações
Aula 04 - Implementação efetiva da política de segurança por Leinylson Fontinele
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurança
Leinylson Fontinele130 visualizações
Aula 02 - Agentes Inteligentes por Leinylson Fontinele
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
Leinylson Fontinele295 visualizações
Aula 01 - Visão Geral da IA por Leinylson Fontinele
Aula 01 - Visão Geral da IAAula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IA
Leinylson Fontinele241 visualizações
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici... por Leinylson Fontinele
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Leinylson Fontinele109 visualizações
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso... por Leinylson Fontinele
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Leinylson Fontinele84 visualizações
Aula 01 - Fundamentos da segurança dos sistemas de informações por Leinylson Fontinele
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informações
Leinylson Fontinele123 visualizações
A história da Segurança da Informação por Leinylson Fontinele
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da Informação
Leinylson Fontinele611 visualizações
Introdução ao Prolog - Prof. Sérgio S. Costa por Leinylson Fontinele
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. Costa
Leinylson Fontinele220 visualizações
Caso 2 - Aeroporto de Denver por Leinylson Fontinele
Caso 2 - Aeroporto de DenverCaso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de Denver
Leinylson Fontinele2.1K visualizações
Aula 02 - Agentes e problemas de busca por Leinylson Fontinele
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
Leinylson Fontinele331 visualizações
Aula 01 - Visão geral da IA por Leinylson Fontinele
Aula 01 - Visão geral da IAAula 01 - Visão geral da IA
Aula 01 - Visão geral da IA
Leinylson Fontinele142 visualizações
Aula 6 - Qualidade de Software por Leinylson Fontinele
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
Leinylson Fontinele1.2K visualizações
Aula 07 - Diagrama de sequencia por Leinylson Fontinele
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
Leinylson Fontinele861 visualizações
Aula 06 - Diagrama de classes por Leinylson Fontinele
Aula 06 - Diagrama de classesAula 06 - Diagrama de classes
Aula 06 - Diagrama de classes
Leinylson Fontinele643 visualizações

Último

ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023 por
ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023
ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023IntegrareAcademy2
60 visualizações2 slides
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr... por
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...azulassessoriaacadem3
24 visualizações4 slides
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres... por
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...IntegrareAcademy2
28 visualizações3 slides
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx por
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptxSlides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptxLuizHenriquedeAlmeid6
18 visualizações53 slides
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere... por
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...HelpEducacional
19 visualizações2 slides
03_lisp.pdf por
03_lisp.pdf03_lisp.pdf
03_lisp.pdfronaldo ramos
17 visualizações22 slides

Último(20)

ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023 por IntegrareAcademy2
ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023
ATIVIDADE 1 - RH - PSICOLOGIA ORGANIZACIONAL - 54/2023
IntegrareAcademy260 visualizações
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr... por azulassessoriaacadem3
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...
6- Sabendo que o caso do paciente 3 está sendo causado por uma condução elétr...
azulassessoriaacadem324 visualizações
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres... por IntegrareAcademy2
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...
4. No vídeo “Cadela aprende libras para entender comando dos donos” foi apres...
IntegrareAcademy228 visualizações
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx por LuizHenriquedeAlmeid6
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptxSlides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
Slides Lição 12, CPAD, O Modelo de Missões da Igreja de Antioquia.pptx
LuizHenriquedeAlmeid618 visualizações
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere... por HelpEducacional
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...
HelpEducacional19 visualizações
03_lisp.pdf por ronaldo ramos
03_lisp.pdf03_lisp.pdf
03_lisp.pdf
ronaldo ramos17 visualizações
28-11-2023 - Reflexions sessió.pdf por RaulGomez822561
28-11-2023 - Reflexions sessió.pdf28-11-2023 - Reflexions sessió.pdf
28-11-2023 - Reflexions sessió.pdf
RaulGomez82256126 visualizações
A partir de sua análise, responda: seria viável e mais eficiente substituir a... por azulassessoriaacadem3
A partir de sua análise, responda: seria viável e mais eficiente substituir a...A partir de sua análise, responda: seria viável e mais eficiente substituir a...
A partir de sua análise, responda: seria viável e mais eficiente substituir a...
azulassessoriaacadem390 visualizações
Slides Lição 11, Betel, O Verdadeiro Discípulo é uma referência no serviço cr... por LuizHenriquedeAlmeid6
Slides Lição 11, Betel, O Verdadeiro Discípulo é uma referência no serviço cr...Slides Lição 11, Betel, O Verdadeiro Discípulo é uma referência no serviço cr...
Slides Lição 11, Betel, O Verdadeiro Discípulo é uma referência no serviço cr...
LuizHenriquedeAlmeid628 visualizações
python_funcional.pdf por ronaldo ramos
python_funcional.pdfpython_funcional.pdf
python_funcional.pdf
ronaldo ramos19 visualizações
LISTE cinco condições clínicas e para cada uma delas CITE as metas/objetivos ... por azulassessoriaacadem3
LISTE cinco condições clínicas e para cada uma delas CITE as metas/objetivos ...LISTE cinco condições clínicas e para cada uma delas CITE as metas/objetivos ...
LISTE cinco condições clínicas e para cada uma delas CITE as metas/objetivos ...
azulassessoriaacadem330 visualizações
ETAPA 2: - Mapeie, em até 1 (uma) lauda, quais equipamentos, serviços, progra... por IntegrareAcademy2
ETAPA 2: - Mapeie, em até 1 (uma) lauda, quais equipamentos, serviços, progra...ETAPA 2: - Mapeie, em até 1 (uma) lauda, quais equipamentos, serviços, progra...
ETAPA 2: - Mapeie, em até 1 (uma) lauda, quais equipamentos, serviços, progra...
IntegrareAcademy230 visualizações
sorteados Reserva de vagas 2024.pdf por Jornal do Commercio
sorteados Reserva de vagas 2024.pdfsorteados Reserva de vagas 2024.pdf
sorteados Reserva de vagas 2024.pdf
Jornal do Commercio2.1K visualizações
a) Explique como ocorre a circulação do sangue dentro do coração (câmaras car... por HelpEducacional
a) Explique como ocorre a circulação do sangue dentro do coração (câmaras car...a) Explique como ocorre a circulação do sangue dentro do coração (câmaras car...
a) Explique como ocorre a circulação do sangue dentro do coração (câmaras car...
HelpEducacional85 visualizações
Olá, acadêmico(a)! O objetivo básico dos demonstrativos contábeis é fornecer ... por mariaclarinhaa2723
Olá, acadêmico(a)! O objetivo básico dos demonstrativos contábeis é fornecer ...Olá, acadêmico(a)! O objetivo básico dos demonstrativos contábeis é fornecer ...
Olá, acadêmico(a)! O objetivo básico dos demonstrativos contábeis é fornecer ...
mariaclarinhaa272329 visualizações
Comunicação e Relações Interpessoais.ppt por IvoPereira42
Comunicação e Relações Interpessoais.pptComunicação e Relações Interpessoais.ppt
Comunicação e Relações Interpessoais.ppt
IvoPereira42125 visualizações
FESTEJAR O PÃO-POR-DEUS NO LAR VALE FORMOSO.pdf por Colégio Santa Teresinha
FESTEJAR O PÃO-POR-DEUS NO LAR VALE FORMOSO.pdfFESTEJAR O PÃO-POR-DEUS NO LAR VALE FORMOSO.pdf
FESTEJAR O PÃO-POR-DEUS NO LAR VALE FORMOSO.pdf
Colégio Santa Teresinha70 visualizações
paradigmas_de_programacao_3_X.pdf por ronaldo ramos
paradigmas_de_programacao_3_X.pdfparadigmas_de_programacao_3_X.pdf
paradigmas_de_programacao_3_X.pdf
ronaldo ramos18 visualizações
3- Levando em consideração suas respostas anteriores, qual o pré-diagnóstico ... por azulassessoriaacadem3
3- Levando em consideração suas respostas anteriores, qual o pré-diagnóstico ...3- Levando em consideração suas respostas anteriores, qual o pré-diagnóstico ...
3- Levando em consideração suas respostas anteriores, qual o pré-diagnóstico ...
azulassessoriaacadem337 visualizações
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023 por IntegrareAcademy2
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023
IntegrareAcademy222 visualizações

Aula 7 - Modelagem de Software

  • 1. Modelagem de Software Leinylson Fontinele Pereira Engenharia de Software
  • 2. 2 Modelagem de Software • A modelagem de software é a construção de modelos abstratos de um software: • Apresenta uma visão ou perspectiva diferente do sistema, • Modelos podem usar notações gráficas, tal como UML, ou modelos formais com especificação formal Ajuda na: – Extração de requisitos – Comunicação com a equipe – modelo técnico
  • 3. Modelagem de Software • Modelos são abstrações do sistema, e não uma representação alternativa dele – Representação: mantém todas as informações a respeito da entidade apresentada – Abstração: simplifica e seleciona as características mais genéricas – Exemplo: • Representação: um livro traduzido em outra língua • Abstração: um resumo pode ser considerado uma abstração da entidade livro
  • 4. Modelagem de Software • Objetivos: – Descrever o que o cliente deseja. – Estabelecer a base para a criação de um projeto de software. – Definir um conjunto de requisitos que possa ser validado quando o software for construído.
  • 5. Modelagem de Software • Podem ser usados em diferentes etapas da engenharia de software – Engenharia de requisitos – extrair requisitos do sistema, esclarecer o que o sistema faz, tirar dúvidas, explicar os requisitos para outros stakeholders – Processo de Projeto – Descrever o sistema – Outras etapas - Documentar a estrutura e operação do sistema, estimular a discussão entre os engenheiros de software, descrever detalhadamente o sistema
  • 6. Modelagem de Software • Diferentes modelos proporcionam perspectivas (ou pontos de vista) diferentes: – Perspectiva externa • Modelo de contexto – Perspectiva de interação • Casos de uso, diagrama de sequencia... – Perspectiva estrutural • Classes, objetos, colaboração – Perspectiva comportamental • Diagrama de estados e derivados
  • 7. Modelagem de Software • Perspectiva externa: modela o contexto ou o ambiente do sistema • Perspectiva de interação: modela as interações entre um sistema e seu ambiente, ou entre os componentes de um sistema • Perspectiva estrutural: modela a organização de um sistema ou a estrutura dos dados processados pelo sistema • Perspectiva comportamental: modela o comportamento dinâmico do sistema e como ele reage aos eventos
  • 8. Modelagem de Software • A UML (Unified Modeling Language) é uma linguagem de modelagem amplamente utilizada: – Conjunto de notações que visam apoiar a modelagem de sistemas orientados a objetos – Não explicita como a modelagem deve ser conduzida – Pode ser usada para modelar sistemas não-OO • Modelos de domínio • Modelos de contexto
  • 9. Modelagem de Software – Diagramas de Atividade: atividades envolvidas em um processo ou no processamento de dados – Diagramas de Caso de Uso: interações entre um sistema e seu ambiente – Diagramas de Sequência: interação entre os atores e o sistema, e entre os componente ou objetos do sistema – Diagramas de Classe: mostram as classes de objetos do sistema e as associações entre elas – Diagramas de Estado: mostram como o sistema reage a eventos internos e externos
  • 10. Modelagem de Software • Modelos de contexto – Diagramas de Atividades • Modelos de interação – Diagramas de Casos de uso, Diagramas de Sequência • Modelos estruturais – Diagramas de Classe • Modelos comportamentais – Diagramas de Estado
  • 11. Modelos de Contexto • Definem os limites do sistema • Normalmente usados em um estágio inicial da especificação de um sistema • Mostram quais outros sistemas fazem parte do ambiente, mas não mostram os tipos de relacionamentos entre sistemas • Os sistema externos podem: – produzir dados para o sistema consumir dados deste – compartilhar dados – ser conectados diretamente por meio de uma rede – estar fisicamente no mesmo local ou em locais separados
  • 12. Modelos de Contexto Ex: contexto de um Sistema Operacional
  • 13. Modelo de Contexto • Diagrama de Atividades da UML – Modelam atividades, a ordem em que são realizadas e dependências entre elas • Podem também indicar entradas e saídas das atividades – Úteis para modelar fluxos de trabalho – Exemplos: • Sequência de passos da descrição de um requisito • Processos dentro de uma empresa
  • 14. Modelos de Contexto Ex 1: diagrama de atividades (UML)
  • 15. Modelos de Contexto • Diagramas de Atividades da UML – Início do processo (círculo preenchido) – Fim do processo (circulo dentro de outro círculo) – Atividades (retângulo com canto arredondado) – Objetos (retângulos -podem representar outros sistemas) – Fluxo de trabalho de uma atividade para outra (setas) – Coordenação de atividades (barra sólida) – Atividades podem ser executas em paralelo – Anotações podem ser incluídas nas setas
  • 16. Modelos de Contexto Ex 2: diagrama de atividades (UML)
  • 17. Modelos de Interação • Mostra as interações : – Do usuário com o sistema – Entre sistemas – Entre os componentes do sistema • Existem duas abordagens para modelar a interação: – Diagramas de Casos de uso: mostram, principalmente, interações com atores externos (sistemas ou usuários) – Diagramas de Sequência: mostram interações entre os componentes do sistema • Ambas apresentam interações em diferentes níveis de detalhamento
  • 18. Modelos de Interação Caso de Uso • Amplamente usado para apoiar a elicitação de requisitos • Representa uma tarefa discreta que envolve a interação externa com um sistema (pode ser hardware/software/pessoa) • Oferece uma visão simples de uma interação – Necessário mais detalhes para entender o que está envolvido
  • 19. Modelos de Interação • Fornece uma visão global e de alto nível do sistema • Um cenário é uma determinada sequência de ações que ilustra um comportamento do sistema • Uma designação alternativa para cenário, por vezes utilizada, é “fluxo de ações”
  • 20. Modelos de Interação • Especificar o comportamento de um caso de uso com uma descrição textual de um ou mais fluxos de ações • Tal especificação deve incluir: – Como e quando o caso de uso começa e termina; – Quando é que o caso de uso interage com os atores; – Que objetos são trocados; – Cenário principal e Cenários alternativos (situações de exceção)
  • 21. Modelos de Interação • Caso de Uso – Exemplo 3 “Nome: Validar Usuário” • Cenário Principal O caso de uso inicia-se quando o sistema apresenta uma tela que pede ao cliente o seu cartão eletrônico. O cliente introduz o seu cartão magnético e, através de um pequeno teclado, a sua senha. Note-se que o cliente pode limpar a introdução da sua senha inúmeras vezes e re-introduzir um novo número antes de pressionar o botão “Entrar”. O cliente ativa o botão “Entrar” para confirmar. O sistema lê a senha e a respectiva identificação do cartão, e verifica se é válido. Se a senha for válida o sistema aceita a entrada e o caso de uso termina. • Cenário Alternativo 1 (Cliente cancela operação) O cliente pode cancelar a transação em qualquer momento ativando o botão “Cancelar”, implicando a re-inicialização do caso de uso. Não é realizada qualquer alteração à conta do cliente. • Cenário Alternativo 2 (senha inválida) Se o cliente introduz uma senha inválida o cartão MB é ejetado e o caso de uso reinicializado. Se tal ocorrer 3 vezes consecutivas, o sistema aciona medidas de segurança e “recolhe” o cartão e cancela a transação; não permitindo qualquer interação nos 2 minutos seguintes.
  • 22. • Caso de Uso – Notações UML – O diagrama de Caso de Uso é representado por: • Atores; • Casos de uso; • Relacionamentos entre estes elementos. – Estes relacionamentos podem ser: • Associações entre atores e casos de uso; • Generalizações entre os atores; • Generalizações, extends e includes entre os casos de uso. – Casos de uso podem opcionalmente estar envolvidos por um retângulo que representa os limites do sistema.
  • 23. • Ator – Usuário do sistema • Humano ou um outro sistema. • Caso de Uso – Função do sistema que será automatizado.
  • 24. • Relacionamentos – Entre um ator e um caso de uso (Associação) • Funcionalidade do sistema na visão do usuário. – Entre atores (Generalização) • Os casos de uso de B são também casos de uso de A • A tem seus próprios casos de uso
  • 25. – Entre casos de uso • Include – Quando um caso de uso “A” inclui (include) outro caso de uso “B”. Isto implica que ao executar o caso de uso “A” executa-se também o caso de uso “B”.
  • 26. – Extend • Quando um caso de uso “A” tem um relacionamento do tipo extend com outro caso de uso “B”. • Implica que ao executar o caso de uso “A” não necessariamente “B” será exeutado.
  • 27. • Sistema – Limites do sistema: representado por um retângulo envolvendo os casos de uso que compõem o sistema. – Nome do sistema: Localizado dentro do retângulo.
  • 28. Exemplos de Caso de Uso - Biblioteca • R1. Para usar os serviços de uma biblioteca, os leitores deverão estar registrados e possuir um cartão com número de identificação e foto. • R2. O sistema deve permitir que um leitor faça empréstimo de um ou mais livros, por um período de tempo que varia de 1 semana a 6 meses, dependendo do tipo de leitor (1 semana para estudantes de graduação, 15 dias para estudantes de pós-graduação e 6 meses para docentes).
  • 29. • R3. O leitor está apto a emprestar livros se não possuir em seu poder livros com data de devolução vencida e desde que o número de livros emprestados não ultrapasse o máximo permitido, que depende do tipo de leitor. • R4. O sistema deve permitir que o leitor devolva um ou mais livros em seu poder, fazendo com que o livro volte a ficar disponível na biblioteca
  • 30. • De acordo com esses requisitos, existem 2 casos de uso: – Emprestar Livro – Devolver Livro • Um requisito pode referir-se a mais de um caso de uso. • Um caso de uso pode referir-se a mais de um requisito.
  • 31. • Requisitos X Casos de Uso
  • 32. • Atores: – Leitor – Atendente – Bibliotecário • Casos de Uso: – Emprestar livro – Devolver livro
  • 35. • Cenário "comprar produto”: – O cliente navega pelo catálogo e adiciona os itens desejados ao carrinho de compras. Quando o cliente desejar pagar, ele preenche os dados para entrega e da forma de pagamento, confirmando a compra no final. O sistema verifica o cartão de crédito, tenta passar a compra no cartão e confirma a venda com o envio de um e-mail.
  • 36. • Tendo em vista que a verificação do cartão pode dar não autorizado, gerando um segundo cenário. • Seu cliente pode ser um cliente regular, não necessitando preencher os dados de entrega ou mesmo do cartão, isso já seria um terceiro cenário. • Mas repare que a essência desses três cenários é que o usuário tem o mesmo objetivo: comprar um produto, nem sempre o usuário consegue, mas o objetivo permanece.
  • 38. • Os casos de uso informar endereço e preencher dados do cartão de crédito são extends, pois só haverá necessidade de informá-los se o cliente for novo, ou se ele quiser alterar uma dessas informações. • Os casos de uso verificar dados do cartão de crédito e faturar compra são include, pois sempre que for informado um novo cartão será necessário validar esse cartão e sempre que for finalizada uma compra, ela deve ser faturada.
  • 39. Relacionamento entre Casos de Uso • Existem 3 formas para tratar relacionamentos entre casos de uso: – Include – Extend – Generalization
  • 40. • Considerando três Casos de Uso – A, B e C, vejamos cada um dos relacionamentos. • Include – Se o caso A “inclui” o caso B, então sempre que A for executado o caso de uso B também será executado. – A direção do relacionamento é do caso de uso que está incluindo para o caso de uso incluído (A -----> B) • Extend – Se o caso B estende o caso de uso A, então quando A for executado o B poderá (poderá – talvez não seja) ser executado também. – A direção do relacionamento é do caso de uso extensor para o caso de uso estendido: (B ------> A)
  • 41. • Generalization – Quando o caso de uso B generaliza o caso de uso C isso significa que, além de fazer tudo que nele está especificado (B), ele também executará tudo que está especificado no caso de uso C. – A direção do relacionamento é sempre do generalizador (B) para o generalizado (C): B → C
  • 42. • Ex: No diagrama temos quatro Casos de Uso, e três relacionamentos diferentes: Include, Extend e Generalization. • Include: – O caso de uso “Solicitar Material” faz include no caso de uso “Checar Estoque”. – Isso se dá porque sempre que houver a solicitação de material sempre haverá a consulta ao estoque para saber se o material está disponível. – Se sempre haverá, o relacionamento correto é o include.
  • 44. • Explicando o Extend • O caso de uso “Comprar Material” estende o caso de uso “Solicitar Material”. Isso se dá porque quando houver a solicitação de material, caso o material não exista em estoque (após consulta via o caso de uso “Checar estoque”) poderá ser solicitado a compra do item. • Mas também poderá não ser solicitada a compra, pois o item pode existir em estoque. Se poderá ser solicitada a compra (e não sempre será solicitada a compra) o relacionamento correto é o extend.
  • 45. Modelos de Interação • Caso de Uso – Exemplo Generalização “Testar Senha” e “Leitura com Smartcard” são especializam o caso de uso “Validar usuário”
  • 46. Modelos de Interação • Caso de Uso – Exemplo <<include>> Relação de delegação, significando que o caso base incorpora o comportamento do outro caso
  • 47. • Extend • Quando o caso de uso B estende o caso de uso A, significa que quando o caso de uso A for executado o caso de uso B poderá (poderá – talvez não seja) ser executado também. A direção do relacionamento é do caso de uso extensor (aqui o caso de uso B) para o caso de uso estendido (aqui o caso de uso A).