• Nenhum resultado encontrado

Outros Aspectos dos Diagramas de Estados

No documento Resumo-AnálisedeSistemas-JoãoMarques (páginas 35-38)

Capítulo 4 – UML – Visão Geral

7) Outros Aspectos dos Diagramas de Estados

• DME → definição, com grande nível de detalhe e complexidade, do ciclo de vida dos objectos

Outros aspectos:

→ distinção entre diferentes tipos de estados ― simples

― composto ― submáquina ― estado submáquina

→ posibilidade de se definir especialização/generalização → posibilidade de utilização de pseudo estados

― estado inicial ― deep history ― shallow history ― barra de difusão (fork) ― barra de junção (join) ― ponto de junção (junction) ― ponto de decisão

― ponto de entrada (entry point)

→ possibilidade de utilização de portos (UML 2) para definição de tipos de serviços suportados por um estado

→ possibilidade de definição de protocolos de máquinas de estados (protocol state machines) genéricos para diferentes tipos de classificadores

7.5. Diagramas de Actividade

 adequados à modelação da visão funcional de um sistema  descrição da lógica dos seus processos ou das suas funções

 diagrama de actividade: descrição do comportamento de um processo ou função pela especificação da sequência de operações (actividades e/ou acções) e decisões que permitem determinar quando e como elas são realizadas  série de actividades ligadas por transições

 actividade: passo de um processo onde algum trabalho é realizado

 transição: terminação de uma actividade e evolução para a actividade seguinte (ou fim)  DA  fluxo conduzido para a realização e conclusão de uma operação

 DE  fluxo conduzido para evidenciar os eventos externos e condições que ocorrem sobre um objecto alvo

 DA  fluxogramas  visão simplificada do fluxo de controlo  Os diagramas de actividade contêm fundamentalmente:

― Acções: execuções atómicas, não interrompíveis, com tempo de execução irrelevante ― Actividades: execuções não atómicas (decompostas), interrompíveis, em que o tempo

de execução é normalmente relevante ― Transições

― Objectos

― Nós (ou pontos) de decisão e de junção

― Nós de difusão (fork) e de junção ou de sincronização (join) 1) Decisões

• tomada de decisão: mecanismo que consiste em especificar que actividade deve ser realizada após a execução da actividade corrente → suportada por uma condição com guarda

• ex. acordar → “ter ou não fome” 2) Caminhos Concorrentes

• processo implica execução de actividades; realização obrigatória; ordem irrelevante

• “levantar da cama” → “tomar pequeno-almoço”, “fazer a higiene matinal” e “cumprimentar a família”

• “fork” + “join” 3) Partições de Actividades

• realização de actividades por várias entidades participantes

• pistas (swimlanes): elemento que permite agrupar as várias actividades da responsabilidade de cada entidade participante

• 1 ou + dimensões  ex. geografia, relações de poder, de gestão ou de organização

• cada pista  nome único → nome da entidade participante

• cada actividade pertence em geral a uma única pista

• actividade realizada por 2 entidades → repr. sobre a linha separadora em comum ― sub-actividades

― actividade(participante N) 4) Actividades e Objectos

• relações A-O  ilustrar o fluxo de um objecto ao longo de um conjunto de actividades

• para além de se ilustrar o fluxo de um objecto num diagrama de actividades, podem ainda ilustrar-se os seus papéis, atributos e estado

• ex. objecto :Orçamento  [aberto], [preparado] ou [fechado] 5) Utilizações Típicas

especificação de operações: usados como fluxogramas para especificar detalhadamente um algoritmo; são particularmente usados os conceitos de tomada de decisão, de difusão (fork) e de junção (join); ex. Fibonacci

especificação de workflows ou processos de negócio: foco reside na identificação dos actores intervenientes e a correspondente colaboração com o sistema; são particularmente usados os conceitos das partições e da modelação do fluxo de objectos

descrição de CDUs: foco centrado na explicação da sequência de actividades que suportam a interacção entre os actores e o sistema correspondente ao CDU respectivo 6) Outros Aspectos dos Diagramas de Actividade

• acções, pontos de entrada (InputPin) e pontos de saída (OutputPin)

• definição de restrições em acções ou actividades (condições)

• modelação de comportamento em fluxos de objectos (forma como as acções afectam o objecto)

• modelação de entidades persistentes (data stores) que sobrevivem à execução das acções/actividades que as manipulam

• definição das actividades estruturadas de forma a providenciar construtores comuns das linguagens de programação (estruturadas), tais como ciclos, condições e tratamento de excepções

Capítulo 8 – UML – Modelação da Arquitectura 8.1. Introdução

diagramas de arquitectura: descrição de aspectos da fase de implementação e instalação de um SistSW

• descrição da estrutura e dependências de código fonte e módulos executáveis tal como a sua respectiva instalação

• descrição física do SW: os diagramas de componentes são usados para modelar a arquitectura de um sistema na perspectiva dos seus componentes de SW (e.g., ficheiros de código fonte, de executáveis, de configuração, tabelas de dados, documentos de gestão do projecto), explicitando principalmente as suas múltiplas dependências

• descrição física do HW: os diagramas de instalação, por outro lado, são usados para modelar a arquitectura de um sistema na perspectiva dos seus componentes de HW (e.g., computadores, adaptadores de rede, impressoras, routers, cablagem), explicitando as suas dependências de comunicação

• integração do SW com o HW: os diagramas de instalação com componentes são usados para modelar um determinado ambiente de execução com componentes, através da identificação de instâncias de componentes que são instaladas em determinada instância computacional

8.2. Componentes e Nós 1) Componentes no UML 1

componente: peça básica na implementação de um sistema; consiste, na prática, num conjunto de artefactos físicos em formato digital, por exemplo ficheiros de código (fonte, binário ou executáveis) ou ficheiros de documentos relativos ao negócio

Tipos de componentes:

componentes de instalação: constituem a base dos sistemas executáveis (e.g., DLL, executáveis, controlos Active-X, classes Java)

componentes de trabalho: a partir dos quais são criados os componentes de instalação (e.g., ficheiros com código fonte, ficheiros de dados, documentos) ― componentes de execução: criados como resultado da execução de um sistema

• componente de SW → parte física de um sistema → existe de facto num determinado computador (≠ classe)

• componente implementa classes → relações de dependência de implementação

• componentes de SW implementam uma ou mais interfaces  providenciam as suas funcionalidades a outros componentes  relações: Comp-dep-Int-Real-Comp

Estereótipos para componentes:

― «document»: denota um documento

― «executable»: denota um programa que possa ser executado num nó ― «file»: denota um documento contendo código fonte ou dados ― «library»: denota uma biblioteca dinâmica ou estática

― «table»: denota uma tabela de uma base de dados. 2) Componentes no UML 2

componente: parte modular de um sistema, cujo comportamento é definido pelas suas interfaces providenciadas e requeridas, sendo que os seus aspectos de realização interna não devem ser conhecidos do exterior

artefacto: qquer elemento físico de informação usado ou produzido por um sistema (visão de componente UML 1)

• interface requerida ---CO--- interface providenciada

• representação de componentes com detalhes: pI, rI; real. → “vista segundo uma abordagem de caixa branca”

3) Nós

: objecto físico que representa um recurso de processamento, geralmente tendo capacidades de memória e de processamento; podem consistir em recursos computacionais (hardware), mas também em recursos humanos ou recursos de processamento mecânico

• nós ligados através de relações de associação (multiplicidade)

• propriedades dos nós (e.g., capacidade de memória principal, número de processadores, data de aquisição, …) representadas atributos e métodos

Estereótipos de nós para representação de recursos computacionais: ― «processor»: nó que pode executar um componente de SW (por omissão)

― «device»: nó que não tem capacidade para executar com flexibilidade componentes de software (impressora, scanner, monitor)

No documento Resumo-AnálisedeSistemas-JoãoMarques (páginas 35-38)

Documentos relacionados