com o sistema - UFMT

Propaganda
Engenharia de Software
Engenharia de Software 2012/3
Aula 5 – Modelagem de Sistemas
Thiago P. da Silva
[email protected]
Agenda
●
Modelagem de Sistemas
●
Modelos de contexto
–
●
●
Modelos de interação
–
Diagramas de Casos de uso
–
Diagramas de Sequência
Modelos estruturais
–
●
Diagramas de Atividades
Diagramas de Classe
Modelos comportamentais
–
06/05/13
Diagramas de Estado
2
Objetivos da Aula
●
●
●
●
Compreender como modelos gráficos podem ser usados
para representar sistemas de software;
Compreender por que diferentes tipos de modelos são
necessários para representar um sistema de software;
Entender os principais diagramas da UML;
Compreender por que diferentes modelos apresentam
visões diferentes sobre o sistema, que são úteis para
diferentes stakeholders.
06/05/13
3
Modelagem de Sistemas
●
●
●
●
É o processo de desenvolvimento de modelos abstratos
de um sistema
Cada modelo representa 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
Modelos são usados amplamente em outras disciplinas
–
Engenharia civil – modelos hidráulicos
–
Matemática - Modelos matemáticos
–
Física, Química, etc
06/05/13
4
Modelagem de Sistemas
●
Os modelos são abstrações do sistema, e não uma
representação alternativa dele
–
Uma Representação mantém todas as informações a
respeito da entidade apresentada
–
Uma Abstração simplifica e seleciona características
mais salientes
–
Exemplo:
●
●
06/05/13
Um livro traduzido em outra língua é uma representação
alternativa da entidade livro
Um resumo pode ser considerado uma abstração da
entidade livro
5
Modelagem de Sistemas
●
Modelos podem ser usados em todas as 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 em
uma abordagem MDD
06/05/13
6
Modelagem de Sistemas
●
Diferentes modelos proporcionam perspectivas (ou pontos de
vista) diferentes
–
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
06/05/13
7
Modelagem de Sistemas
●
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
●
●
06/05/13
Modelos de domínio
Modelos de contexto
8
Modelagem de Sistemas
●
[3] sugerem que cinco tipos de diagramas podem
representar a essência de um sistema
–
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
06/05/13
9
Agenda
●
Modelagem de Sistemas
●
Modelos de contexto
–
●
●
Modelos de interação
–
Diagramas de Casos de uso
–
Diagramas de Sequência
Modelos estruturais
–
●
Diagramas de Atividades
Diagramas de Classe
Modelos comportamentais
–
06/05/13
Diagramas de Estado
10
Modelos de Contexto
●
Definem os limites do sistema
●
Normalmente usados em um estágio inicial da especificação de um sistema
–
●
●
Trabalhar com os stakeholders para descobrir funcionalidades do sistema
e o que são fornecidos pelo ambiente
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
06/05/13
11
Modelos de Contexto
Exemplo – Contexto de um Sistema Operacional
Sistema de E/S
Sistema
de Arquivos
06/05/13
S.O.
S.O.
Sistema Ger.
Processador
Sistema de Ger.
de Memória
12
Modelos 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:
●
●
06/05/13
Sequência de passos da descrição de um requisito
Processos dentro de uma empresa
13
Modelos de Contexto
Diagrama de Atividades da UML – Exemplo 1
06/05/13
14
Modelos de Contexto
Diagramas de Atividades da UML
–
O início de um processo é indicado por um círculo preenchido
–
O fim do processo é indicado por um circulo preenchido dentro de outro
círculo
–
Os retângulos com cantos arredondados representam atividades (ou
subprocessos)
–
Objetos são presentados por retângulos (podem representar outros sistemas)
–
As setas representam o fluxo de trabalho de uma atividade para outra
–
A barra sólida é usada para indicar coordenação de atividades
–
Atividades podem ser executas em paralelo
–
Guardas (anotações) podem ser incluídas nas setas
06/05/13
15
Modelos de Contexto
Diagrama de Atividades da UML - Exemplo 2
06/05/13
16
Modelos de Contexto
●
●
●
Na modelagem de processos de negócio é comum a
realização de atividades por várias entidades, participantes
no dito processo.
A UML propõe o conceito de pistas (swimlanes) ou rais como
elemento que permite agrupar as várias atividades da
responsabilidade de cada entidade participante.
Um diagrama de atividades ilustra o fluxo de controle entre
atividades, enquanto que um diagrama de estados ilustra o
fluxo de controle entre estados
06/05/13
17
Modelos de Contexto
Diagrama de Atividades da UML - Exemplo 3
06/05/13
18
Agenda
●
Modelagem de Sistemas
●
Modelos de contexto
–
●
●
Modelos de interação
–
Diagramas de Casos de uso
–
Diagramas de Sequência
Modelos estruturais
–
●
Diagramas de Atividades
Diagramas de Classe
Modelos comportamentais
–
06/05/13
Diagramas de Estado
19
Modelos de Interação
●
Mostram interação do usuário, que podem ter entradas e saídas, com o
sistema
–
Ajudam a descobrir requisitos do usuário
●
Mostram interações entre sistemas
●
Ou interações entre os componentes do sistema
●
Pode-se usar dois abordagens para modelar a interação
●
–
Casos de uso que mostram, principalmente, interações com atores
externos(sistemas ou usuários)
–
Diagramas de Sequência que mostram interações entre os componentes
do sistema
Diagramas de Casos de uso e sequência apresentam interações em
diferentes níveis de detalhamento
–
Detalhes de alto nível do Caso de uso podem ser detalhados no
diagrama de sequência
06/05/13
20
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, que pode ser
hardware/software/pessoa
–
Oferece uma visão simples de uma interação
●
06/05/13
Necessário mais detalhes para entender o que está
envolvido
21
Modelos de Interação
Caso de Uso – Exemplo 1
06/05/13
22
Modelos de Interação
Caso de Uso – Exemplo 2
06/05/13
23
Modelos de Interação
Caso de uso
●
●
●
Um diagrama de casos de uso permite dar uma visão
global e de alto nível do sistema, sendo fundamental a
definição correta da sua fronteira
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”
06/05/13
24
Modelos de Interação
Caso de uso
●
●
Deve-se especificar o comportamento de um caso de uso
descrevendo textualmente um ou mais fluxos de ações, de
modo que um usuário não técnico o possa entender sem
dificuldade.
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 (Ex., situações de exceção)
06/05/13
25
Modelos de Interação
Caso de Uso – Exemplo 3
06/05/13
26
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.
06/05/13
27
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”
06/05/13
28
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
06/05/13
29
Modelos de Interação
Diagramas de Sequência
–
Modelam as interações entre os atores e os objetos em um sistema, e
as interações entre os próprios objetos
–
Mostra as interações que ocorrem durante um caso de uso, segundo
uma visão temporal
–
Um diagrama de sequência é representado através de duas dimensões:
●
●
a dimensão horizontal, que representa o conjunto de objetos; e
a dimensão vertical que representa o tempo
–
Os objetos e atores envolvidos são listados no topo do diagrama
–
Interações entre objetos são indicadas por setas anotadas
06/05/13
30
Modelos de Interação
Diagramas de Sequência – Exemplo 1
06/05/13
31
Modelos de Interação
Diagramas de Sequência – Exemplo 2
06/05/13
32
Agenda
●
Modelagem de Sistemas
●
Modelos de contexto
–
●
●
Modelos de interação
–
Diagramas de Casos de uso
–
Diagramas de Sequência
Modelos estruturais
–
●
Diagramas de Atividades
Diagramas de Classe
Modelos comportamentais
–
06/05/13
Diagramas de Estado
33
Modelos Estruturais
●
●
Exibem a organização de um sistema em termos de seus
componentes e seus relacionamentos
Podem ser:
–
Estáticos, que mostram a estrutura do projeto do
sistema ou;
–
Dinâmicos, que mostram a organização do sistema em
execução
●
●
Conjunto de threads que interagem entre si
Pode-se criar modelos estruturais quando se discute e
projeta a arquitetura do sistema
06/05/13
34
Modelos Estruturais
Diagrama de classe
●
●
●
●
São usados para modelar um sistema orientado a objetos
Mostra as classes de objetos de sistema e suas
associações
–
Dependência
–
Herança e realização
–
Associação
Uma classe é uma abstração de um conjunto de objetos
com atributos comuns e os serviços fornecidos por cada
objeto
Perspectiva inerentemente estática
06/05/13
35
Modelos Estruturais
Diagrama de classe
●
●
Os modelos podem ter níveis de abstração diferentes em etapas
da Engenharia de software
–
Na engenharia de requisitos podemos pensar em objetos do
contexto e criar classes para eles
–
Depois pode-se refinar estas classes
As classes são retângulos com três divisões
–
o nome na parte superior,
–
atributos na intermediária e
–
operações na inferior
●
Classes podem também aparecer apenas como retângulos
●
Relacionamentos entre classes são linhas
06/05/13
36
Modelos Estruturais
Diagrama de classe - Exemplo
06/05/13
37
Modelos Estruturais
Diagrama de classe – Exemplo 2
●
Um objeto (o todo) é composto de outros objetos (as
partes)
–
06/05/13
Na Agregação, a existência do Objeto-Parte faz sentido,
mesmo não existindo o Objeto-Todo
38
Modelos Estruturais
Diagrama de classe – Exemplo 2
●
Um objeto (o todo) é composto de outros objetos (as
partes)
–
06/05/13
Composição é uma agregação mais forte; nela, a
existência do Objeto-Parte NÃO faz sentido se o
Objeto-Todo não existir
39
Agenda
●
Modelagem de Sistemas
●
Modelos de contexto
–
●
●
Modelos de interação
–
Diagramas de Casos de uso
–
Diagramas de Sequência
Modelos estruturais
–
●
Diagramas de Atividades
Diagramas de Classe
Modelos comportamentais
–
06/05/13
Diagramas de Estado
40
Modelos Comportamentais
●
●
Mostram o comportamento dinâmico do sistema quando
está em execução
O que o sistema faz em resposta a estímulos de seu
ambiente
–
Estímulos = dados ou eventos
●
●
●
Dados - dados que chegam precisam ser processados
pelo sistema
Eventos – eventos disparam o processamento do sistema.
Dois principais tipos
–
Modelagem Orientada a Dados
–
Modelagem Dirigida a Eventos
06/05/13
41
Modelos Comportamentais
Modelagem Orientada a Dados
●
●
●
Mostram a sequência de ações envolvidas no
processamento de dados de entrada e a geração de uma
saída correspondente
São úteis durante a análise de requisitos, pois podem ser
usados para mostrar, do início ao fim, o processamento de
um sistema
A UML não tem diagramas orientado a dados. Entretanto
pode-se usar diagramas de sequência
–
06/05/13
Diagramas de sequência destacam os objetos de um
sistema, enquanto os diagramas orientados a dados
destacam as funções e os dados
42
Modelos Comportamentais
Modelagem Orientada a Dados
●
Diagramas de fluxo de dados (DFD)
–
Mostram as etapas de processamento em sistema.
–
Não reconhecem objetos
06/05/13
43
Modelos Comportamentais
Modelagem Orientada a Eventos
●
●
●
●
●
Mostram como o sistema reage a eventos internos e externos
Sistemas têm número finito de estados e eventos podem causa uma
transição de um estado para outro
O diagrama de estados da UML (StateCharts) mostra os estados
como nós e eventos como arcos entre nós. Quando ocorre um
evento, o sistema move de um estado para outro
Não mostra o fluxo de dados, mas pode incluir informações
adicionais sobre o processamento realizado em cada estado.
É importante fornecer mais detalhes sobre os estímulos e
estados, utilizando texto e tabelas
06/05/13
44
Modelos Comportamentais
Modelagem Orientada a Eventos
●
●
●
●
●
Mostram como o sistema reage a eventos internos e externos
Sistemas têm número finito de estados e eventos podem causa uma
transição de um estado para outro
O diagrama de estados da UML (StateCharts) mostra os estados
como nós e eventos como arcos entre nós. Quando ocorre um
evento, o sistema move de um estado para outro
Não mostra o fluxo de dados, mas pode incluir informações
adicionais sobre o processamento realizado em cada estado.
É importante fornecer mais detalhes sobre os estímulos e
estados, utilizando texto e tabelas
06/05/13
45
Modelos Comportamentais
Diagrama de estados da UML – Forno de Microondas
06/05/13
46
Modelos Comportamentais
Diagrama de estados da UML
06/05/13
47
Modelos Comportamentais
Diagrama de estados da UML – Forno de Microondas
06/05/13
48
Diagrama de estados da UML – Forno de Microondas
06/05/13
49
Referências
[1] - SOMMERVILLE, Ian. Engenharia de Software, 9. ed.,
2003.
[2] - PRESSMAN, R.S. Engenharia de Software: Uma
abordagem Profissional, 7 ed., McGraw Hill, 2011.
[3] - IEEE Guide to the Software Engineering Body of
Knowledge – 2004 Version. Disponível em
http://www.swebok.org/.
06/05/13
50
Download