UNIDADE II
Modelagem de Processos
Profa. MSc. Gislaine Stachissini
Arquitetura da UML
Uma arquitetura de sistema de software pode ser descrita por cinco visões interconectadas.
Cada visão é uma projeção na organização e na estrutura do sistema, focando em um
aspecto particular desse.
As cinco visões da arquitetura UML são: visão de análise, visão de design, visão de
implementação, visão do processo e visão da implantação.
Diagramas de Orientação a Objetos
Diagrama UML 2.0
Diagrama Diagrama
Estrutural Comportamental
Diagrama de Diagrama de
Diagrama de Diagrama de Diagrama de Diagrama de Diagrama de
Atividades Máquina de
Classes Objetos Implantação Pacotes Caso de Uso Estado
Diagrama de
Diagrama de Estrutura
Componentes Composta Diagrama de
Interação
Diagrama de Diagrama de
Diagrama de
Sequência Tempo
Comunicação
Fonte: autoria própria.
Estrutural e Comportamental
Modelo estrutural: descreve a estrutura lógica ao qual será implantado, a fim de comportar,
de maneira adequada, e gerencia as dependências entre as diversas partes lógicas
do computador.
Modelo comportamental: descreve os comportamentos exibidos pelo computador,
quando esse realiza os serviços solicitados pelo usuário, por meio da ferramenta
ou do sistema solicitante.
Categorias: estático, dinâmico e arquitetural
Os 13 diagramas da UML 2.0 estão divididos em três categorias: estático, dinâmico
e arquitetural.
Os diagramas estáticos mostram a estrutura do sistema e as responsabilidades.
Apresentam a estrutura física dos elementos e não envolvem a passagem do tempo.
Os três principais diagramas estáticos da UML são: caso de uso, classes e objetos.
Categorias: estático, dinâmico e arquitetural
Os diagramas denominados como dinâmicos mostram a interação ativa que o sistema
suporta e detalha a interação entre os elementos estruturais dos diagramas estáticos.
Eles mostram o comportamento pretendido do sistema.
Os principais diagramas dinâmicos são: atividades, comunicação, sequência e estado.
Categorias: estático, dinâmico e arquitetural
Um diagrama arquitetural mostra a realização do sistema em componentes funcionais
e executáveis.
Eles também diferenciam a localização física da execução, e os nós de armazenamento e
uma estrutura dentro da qual eles podem interagir.
Os principais diagramas estruturais são: componentes e implantação.
Interatividade
Os diagramas de atividades e comunicação pertencem a qual categoria de diagrama?
a) Estático.
b) Dinâmico.
c) Arquitetural.
d) Estrutural.
e) Criativo.
Resposta
Os diagramas de atividades e comunicação pertencem a qual categoria de diagrama?
a) Estático.
b) Dinâmico.
c) Arquitetural.
d) Estrutural.
e) Criativo.
Diagrama de Atividade
Usados para modelar o comportamento de um sistema, e a forma em que esses
comportamentos estão relacionados em um fluxo geral.
O fluxo mostra os caminhos de um processo lógico a seguir, com base em várias condições,
processamento simultâneo, acesso aos dados, interrupções e outras distinções do
caminho lógico.
Consultar Apresentar Selecionar
cliente cliente cliente
Consultar
veículo
Veículo
Cliente
Apresentar
veículo
Selecionar
veículo
Fonte: autoria própria.
Diagrama de Caso de Uso
Este diagrama captura as funcionalidades do sistema e as relações entre os atores
e o sistema.
Ele descreve os requisitos funcionais do sistema; a maneira pela qual as coisas de fora
(atores) interagem no limite do sistema e a resposta desse aos usuários.
Manter veículo
Manter cliente
Atendente
Locar veículo
Fonte: autoria própria.
Diagrama de Objetos
Está intimamente relacionado a um diagrama de classes de objetos, com a distinção de que
retrata as instâncias de objetos das classes e os seus relacionamentos em um ponto no tempo.
É importante ressaltar que os diagramas de objetos exemplificam os diagramas de classes
estáticas, enquanto que os diagramas de estrutura composta refletem as arquiteturas em
tempo de execução.
Eles são úteis na compreensão de um diagrama de classes complexas, criando diferentes
casos em que os relacionamentos e as classes são aplicados.
Um diagrama de objeto também pode ser uma espécie de
diagrama de comunicação, que também modela as conexões
entre os objetos.
Diagrama de Sequência
É uma representação estruturada de comportamento com uma série de etapas sequenciais
ao longo do tempo.
Ele é usado para descrever o fluxo de trabalho e a passagem de mensagens.
Cada elemento da sequência é organizado em uma sequência horizontal, com mensagens
que passam para trás e para frente entre os elementos.
:Cliente :Veículo
Atendente Interface Controlador
locadora
Consultar Cliente
Consultar Cliente
ConsCliente ()
Apresentar Cliente Verdadeiro
Consultar Veículo Consultar Veículo
ConsVeículo ()
Verdadeiro
Apresentar Veículo
Fonte: autoria própria.
Diagrama de Comunicação
Mostra as interações entre os elementos em tempo de execução, da mesma maneira que um
diagrama de sequência.
No entanto, os diagramas de comunicação são usados para visualizar as relações entre os
objetos, enquanto os diagramas de sequência são mais eficazes na visualização de
processamento ao longo do tempo.
Empregam as associações rotuladas e ordenadas para ilustrar o processamento.
A numeração é importante para indicar a ordem e a
modificação de processamento.
Diagrama de Comunicação
2 Informar a senha 2.1 Senha
1 Informar o RA 1. 1 Número do RA
Interface
Controlador
do aluno
1.4 Solicitar a senha
Aluno 2.4 Apresenta a tela do aluno
1.2 ConAluno () 1.3 Verdadeiro ()
2.2 ValSenha () 2.3 Verdadeiro ()
Aluno
Fonte: autoria própria.
Diagrama de Estado (máquina de estado)
Esse diagrama ilustra como um elemento (geralmente, uma classe) pode mover-se entre os
estados, classificando o seu comportamento de acordo com os gatilhos de transição ou
guardas de restrição.
Consultando aluno Solicitando RA
+do/ ConAluno ()
Verificando RA
Solicitando senha
+do/ +ValSenha ()
Validando senha
Fonte: autoria própria.
Interatividade
Qual diagrama captura as funcionalidades do sistema, e as relações entre quem utiliza o
sistema e o próprio sistema?
a) Caso de Uso.
b) Classes.
c) Sequência.
d) Atividades.
e) Objetos.
Resposta
Qual diagrama captura as funcionalidades do sistema, e as relações entre quem utiliza o
sistema e o próprio sistema?
a) Caso de Uso.
b) Classes.
c) Sequência.
d) Atividades.
e) Objetos.
Diagrama de Componentes
Demonstra os pedaços de software, controladores embutidos que formam um sistema, a sua
organização e as dependências.
Interface do aluno
Firewall
SGBD
Gerenciador
de aplicação
Fonte: autoria própria.
Diagrama de Implantação
Apresenta como e onde o sistema será implantado; a sua arquitetura de execução.
Dispositivos de hardware, processadores e ambientes de software de execução
(artefatos do sistema) são refletidos como nós, e a construção interna pode ser
representada incorporando nós no desenho.
Computador usuário
<<TCP/IP>>
Firewall Servidor de Aplicação Servidor de
<<TCP/IP>> Banco de dados
<<TCP/IP>>
Sistema
do aluno
Fonte: autoria própria.
Diagrama de Pacotes
O diagrama de pacotes (package) mostra a organização dos elementos de um modelo em
pacotes (agrupamentos) e as dependências entre esses pacotes, incluindo os pacotes
importados e as extensões de pacotes.
Sistema do aluno
Fonte: autoria própria.
Diagrama de Interação (visão geral)
Visualiza a cooperação entre os diagramas de interação para ilustrar um fluxo de controle
que serve a um propósito abrangente.
Como os diagramas gerais de interação são uma variante dos diagramas de atividades, a
maioria da notação do diagrama é a mesma, como é o processo de construção do diagrama.
Diagrama de Tempo
Define o comportamento de objetos diferentes dento de uma escala de tempo.
Ele fornece uma representação visual da mudança dos objetos, mudando de estado e
interagindo todo o tempo.
Ele pode ser usado para definir os componentes e os softwares embutidos.
Também pode ser utilizado para especificar os processos de negócio orientados pelo tempo.
Interatividade
Qual diagrama visa apresentar como e onde o sistema será instalado, bem como a sua
arquitetura de execução?
a) Componentes.
b) Pacotes.
c) Implantação.
d) Tempo.
e) Iteração.
Resposta
Qual diagrama visa apresentar como e onde o sistema será instalado, bem como a sua
arquitetura de execução?
a) Componentes.
b) Pacotes.
c) Implantação.
d) Tempo.
e) Iteração.
Diagrama de Classes
Composto por atributos e métodos/operações.
Nome da classe de objetos Pessoa
Nome
Nome dos atributos
idade
Operações ( ) Mudar_endereço ( )
Fonte: Adaptado de: livro-texto.
Diagrama de Classes – Atributos
Propriedades.
São apresentados na segunda divisão da classe.
Representam as características dos objetos.
Composto por nome e tipo de dado de determinado objeto.
Aluno
Nome
RA
E-mail
Realizar a matrícula
Fonte: autoria própria.
Diagrama de Classes – Métodos/Operações
Operações.
Comportamentos.
Um método representa uma atividade que um objeto de uma classe pode executar.
Representa um conjunto de instruções que são executadas quando o método é chamado.
Aluno
Nome
RA
E-mail
Realizar a matrícula
Fonte: autoria própria.
Associação
Associação é uma relação semântica entre as classes. Uma associação acontece quando
determinada instância de uma classe se associa a uma ou mais instâncias de outra, ou da
mesma classe.
Temos alguns tipos de associações, como: Binária, Unária, Ternária, entre outras.
Associação Binária
Ocorre quando são identificados os relacionamentos entre os objetos de classes distintas.
País tem_capital Cidade
Nome 0.1 1 Nome
Fonte: livro-texto.
Associação Unária
Uma peça pode compor outras peças maiores, mas também pode ser composta de outras
peças menores.
Peça 1..*
Componente
Composta 0..*
Fonte: livro-texto.
Associação Ternária
Quando três classes fazem parte da associação.
No exemplo, em um projeto, tem várias pessoas trabalhando nele e pode ser implementado
em várias linguagens diferentes.
1..* 1..*
Projeto Linguagem
1..*
Pessoa
Fonte: livro-texto.
Multiplicidade
Multiplicidade Significado
No mínimo, zero (nenhum) e, no máximo, 1. Indica que os objetos
das classes associadas não precisam, obrigatoriamente, estar
0..1 relacionados, mas se houver relacionamento indica que, apenas,
uma instância da classe relaciona-se com as instâncias da outra
classe (ou da outra extremidade da associação, se esta for unária).
Um e somente um. Indica que, apenas, um objeto da classe
1..1
relaciona-se com os objetos da outra classe.
No mínimo, nenhum e, no máximo, muitos. Indica que pode ou não
0..*
haver instâncias da classe participando do relacionamento.
Fonte: Adaptado de: UML 2.0 Uma
abordagem prática, p. 256. Muitos. Indica que muitos objetos da classe
*
estão envolvidos na associação.
No mínimo, um e, no máximo, muitos. Indica que há, pelo
1..* menos, um objeto envolvido no relacionamento,
podendo haver muitos objetos envolvidos.
No mínimo, três e, no máximo, cinco. Estabelece que existem,
pelo menos, três instâncias envolvidas no relacionamento
3..5
e que podem ser quatro ou cinco as instâncias envolvidas,
mas não mais do que isso.
Agregação
Agregação: um tipo especial de associação onde se tenta demonstrar que as informações de
um objeto (objeto todo) precisam ser complementadas pelas informações contidas em um ou
mais objetos de outra classe (objeto parte).
Publicação
1..*
0..*
Artigo
Fonte: Adaptado de: livro-texto.
Composição
Uma composição é uma agregação forte, em que as partes estão fisicamente contidas
dentro do todo.
Os componentes não podem ser compartilhados por outros compostos.
Uma exclusão do todo desencadeia uma exclusão em cascata das partes; portanto, o ciclo
de vida das classes em composição coincidem.
Livro
1
0..*
Capítulo
Fonte: Adaptado de: livro-texto.
Requisitos
Os requisitos são organizados em dois grupos ou pacotes – funcionais e não funcionais.
A partir da descrição do sistema existem diversas alternativas de solução.
De qualquer maneira, os requisitos independem de outra solução específica, mais simples ou
mais complexa, já que eles mapeiam as necessidades dos clientes em forma de sentenças.
É a primeira e a mais importante fase; nela, se levanta as reais necessidades do cliente para
o software solicitado.
Com base neste levantamento, se inicia a fase de
prototipação, na qual se apresenta ao cliente a proposta
desenhada.
Requisitos funcionais
São as necessidades, as características ou as funcionalidades que devem ser atendidas
pelo software.
“O que o sistema DEVE fazer”.
Requisitos não funcionais
São características que o sistema deve atender, porém não são funcionalidades:
Facilidade de uso do sistema;
Restrições de hardware e software;
Confiabilidade;
Desempenho;
Restrições de implantação;
Segurança;
Adequação aos padrões.
Interatividade
Qual informação em um diagrama de classes representa as características dos objetos?
a) Agregação.
b) Métodos.
c) Atributos.
d) Ternária.
e) Nome.
Resposta
Qual informação em um diagrama de classes representa as características dos objetos?
a) Agregação.
b) Métodos.
c) Atributos.
d) Ternária.
e) Nome.
ATÉ A PRÓXIMA!