UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação



Documentos relacionados
UML & Padrões Aula 4 1

Capítulo 8 - UML MODELAÇÃO DA ARQUITECTURA

Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.

Elsa Cardoso, DCTI - ISCTE

a) Desenhe os respetivos diagramas de sequência e de colaboração associado a este caso de uso..

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Diagrama de Componentes. Análise Orientada a Objetos

Sistemas Distribuídos

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Referencial do Módulo B

ENGENHARIA DE SOFTWARE

UML Diagramas. UML Diagramas. UML Diagrama Diagrama de Classes. UML Diagrama Diagrama de Classes

Sistemas para internet e software livre

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Análise e Projeto Orientados por Objetos

UML: Unified Modeling Language. Graduação em Informática 2008 Profa. Itana Gimenes

PROGRAMANDO EM C# ORIENTADO A OBJETOS

MODELO CLIENTE SERVIDOR

3.1 Definições Uma classe é a descrição de um tipo de objeto.

Orientação a Objetos

2 Diagrama de Caso de Uso

Fernando Brito e Abreu (fba@di.fct.unl.pt) Universidade Nova de Lisboa ( QUASAR Research Group (

UNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC

PROGRAMAÇÃO ORIENTADA A OBJETOS

Eduardo Bezerra. Editora Campus/Elsevier

FMR Faculdade Marechal Rondon Gestão de Sistemas de Informação Prof. Ms. Elvio Gilberto da Silva

BPMN. Business Process Modeling Notation. Leandro C. López Agosto

Engenharia de Software III

Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Engenharia de Requisitos Estudo de Caso

Unified Modeling Language. Diagramas de Implementação

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

Processos e Threads (partes I e II)

O modelo unificado de processo. O Rational Unified Process, RUP.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

UML Aula I Diagramas de Caso de Uso, Sequência e Colaboração

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

Projeto de Arquitetura

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

Conhecendo o Computador

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Aula 2 Modelagem de Sistemas. Introdução Modelo de Base Lógica de 1ª Ordem. Concorrentes

Wilson Moraes Góes. Novatec

INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena

Estudo de Caso. Caixa Eletrônico. Deitel & Deitel. Java como Programar 6a edição

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Engenharia de Software I: Análise e Projeto de Software Usando UML

Tecnologia e Informática

APOSTILA LINUX EDUCACIONAL

Satélite. Manual de instalação e configuração. CENPECT Informática cenpect@cenpect.com.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

3 SCS: Sistema de Componentes de Software

Capítulo 11. Conceitos de Orientação a Objetos. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Modelos de Sistema by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.

Utilizando os Diagramas da UML (Linguagem Unificada de Modelagem) para desenvolver aplicação em JSF

1 UML (UNIFIED MODELING LANGUAGE)

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

Informática, Internet e multimídia

Material 5 Administração de Recursos de HW e SW. Prof. Edson Ceroni

Guia de utilização da notação BPMN

A seguir serão detalhados os atuadores da estação com a finalidade de facilitar a visualização e ilustrar os circuitos contidos em anexo.

UFG - Instituto de Informática

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Notas de Aula 04: Casos de uso de um sistema

Documento de Análise e Projeto VideoSystem

Modelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.

Princípios de Análise e Projeto de Sistemas com UML

Análise e Projeto de Sistemas

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Engenharia de Software

Engenharia Informática

Tecnologia da Informação. Visão Geral sobre Informática

Uma Abordagem usando PU

Sistemas Operacionais. Conceitos de um Sistema Operacional

BARRAMENTO DO SISTEMA

Tópicos Especiais em Sistemas de Telecomunicações IV

Banco de Dados I. Prof. Bal. Emerson Meneses Inocente

4 O Workflow e a Máquina de Regras

Sistemas Operacionais

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

BANCO DE DADOS I AULA 3. Willamys Araújo

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Introdução a Informática. Prof.: Roberto Franciscatto

OURO MODERNO Web Designer APOSTILA DE EXEMPLO. (Esta é só uma reprodução parcial do conteúdo)

O que é a UML? Introdução a UML. Objetivos da Modelagem. Modelos. A UML não é. Princípios da Modelagem. O que é um modelo?

Relatorio do trabalho pratico 2

Introdução a Java. Hélder Nunes

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

FundamentosemInformática

Sistemas Operativos. Threads. 3º ano - ESI e IGE (2011/2012) Engenheiro Anilton Silva Fernandes (afernandes@unipiaget.cv)

Transcrição:

UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação Ricardo Argenton Ramos Engenharia de Software II 2013.1

Diagrama de Estado Um diagrama de estados (statechart), também conhecido por diagrama de transição de estado ou por máquina de estados, permite modelar o comportamento interno de um determinado objeto, subsistema ou sistema global. Estes diagramas representam os possíveis estados de um objeto, as correspondentes transições entre estados, os eventos que fazem desencadear as transições, e as operações (ações e atividades) que são executadas dentro de um estado ou durante uma transição. Os objetos evoluem ao longo do tempo através de um conjunto de estados como resposta a eventos e à passagem de tempo.

Diagramas de Estado

Diagramas de Estado Uma lâmpada: que evolui entre os estados acesa e apagada, conforme se liga e desliga um interruptor

Diagrama de Estados de um PC

Diagrama de Estados de um PC (variante do anterior)

Diagrama de Estados de um PC (foco no estado Trabalhando )

Exercício Faça um diagrama de Estados para a situação: 1. Uma máquina de lavar roupa: depois da passagem de um determinado período de tempo, a máquina de lavar termina o seu programa de lavagem, e inicia o de secagem.

Diagrama de Atividades Um diagrama de atividades é um caso particular de um diagrama de estados, no qual todos ou a maioria dos estados são estados de atividades e todas ou a maioria das transições são desencadeadas pela conclusão das atividades dos estados anteriores; Uma atividade corresponde a uma execução não atômica dentro de uma máquina de estados, ou de outra forma, corresponde à execução de um conjunto de ações.

Diagrama de Atividades x Estados Ambos os tipos de diagramas são utilizados para modelar o tempo de vida de um objeto ou sistema. Contudo, um diagrama de atividades ilustra o fluxo de controle entre atividades, enquanto que um diagrama de estados ilustra o fluxo de controle entre estados.

Exemplo Genérico de Diagrama de Atividades

Diagramas de Atividades Estes diagramas contêm genericamente: Estados-ação: execuções atômicas, não interrompíveis, com tempo de execução irrelevante. Estados-atividade: execuções não atômicas (decompostas), interrompíveis, em que o tempo de execução é normalmente relevante. Transições, Objetos.

Estados-atividades X estados-ações

Diagramas de Atividades (Decisões) A tomada de decisão é um mecanismo comum no projeto de diagramas de atividades (e de estado), que consiste em especificar que atividade deve ser realizada após a execução da atividade corrente. Tal especificação é suportada por uma condição com guarda (ex.: expressão lógica) que é colocada de forma adjacente à transição de estado correspondente.

Diagramas de Atividades (Decisões) - Exemplo

Diagramas de Atividades (Caminhos Concorrentes ) Considere que o processo de levantar da cama implica a execução das seguintes atividades tomar café da manhã, fazer a higiene matinal e cumprimentar a família. Considere que essas atividades têm de se realizar obrigatoriamente, embora não seja relevante a sua ordem de execução. O problema colocado representa uma situação típica na modelagem de workflows: representar a execução independente e concorrente de um conjunto de atividades.

Diagramas de Atividades (Caminhos Concorrentes ) cont. A UML providencia a solução a esta questão através dos conceitos de difusão (fork) e de junção (join) de atividades, representados graficamente por linhas

Diagramas de Atividades (Pistas) 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) como elemento que permite agrupar as várias atividades da responsabilidade de cada entidade participante. Cada grupo é separado por uma linha vertical.

Diagramas de Atividades (Pistas) Cont. Cada pista tem um nome único dentro do seu diagrama, que deve corresponder ao nome da entidade participante, a qual deve ser uma entidade do mundo real. Por exemplo, o nome de um perfil de usuário, o nome de uma organização, ou o nome de um sistema de informação.

Diagramas de Atividades (Pistas) Exemplo

Exemplo de Diagrama de Atividades da Operação de Fibonacci Fibonacci fórmula: fib(n) =1, se n <= 2; = fib(n-1)+ fib(n-2), se n> 2

Exercício Faça um diagrama de Atividades para a situação: Retirando dinheiro de um caixa eletrônico (para cartões de crédito)

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

Diagramas de Componentes - Cont. Definem-se pelo menos três tipos distintos de componentes: Componentes de instalação: constituem a base dos sistemas executáveis (e.g., DLL, executáveis, controles Active-X, classes Java). Componentes de trabalho: a partir dos quais são criados os componentes de instalação (e.g., arquivos com código fonte, arquivos de dados, documentos). Componentes de execução: criados como resultado da execução de um sistema (e.g., processos, threads, agentes de software).

Representação Gráfica de Componentes

Componente de Software Um componente de software é uma parte física de um sistema: existe de fato num determinado computador e não apenas na mente do analista, como acontece com o conceito de classe. Adicionalmente, um componente implementa uma ou mais classes, as quais são representadas dentro do ícone de componente ou com relações explícitas de dependência de implementação.

Componente de Software Cont. A UML identifica os seguintes 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.

Diagramas de Componentes (Nós) Um nó é um objeto físico que representa um recurso de processamento, geralmente tendo capacidades de memória e de processamento. Os nós podem consistir em recursos computacionais (hardware), mas também em recursos humanos ou recursos de processamento mecânico. Os nós podem ser representados como tipos e como instâncias. Instâncias de nós podem conter instâncias de objetos e de componentes.

Diagramas de Componentes (Nós) Cont. Um nó é representado como um cubo tridimensional. Dois nós podem-se encontrar ligados através de relações de associação. Estas especificam a existência de caminhos de comunicação entre os correspondentes nós e podem ser caracterizadas por um estereótipo, de modo a explicitar o tipo de comunicação envolvido (ex.: o tipo de canal ou o tipo de rede).

Diagramas de Componentes (Nós)

Diagramas de Componentes (Nós) Cont. As propriedades dos nós (ex.: capacidade de memória principal, número de processadores, data de aquisição, entre outros) são representadas por marcas com valores. Por outro lado, podem-se definir estereótipos, com ícones correspondentes, para modelar diferentes tipos de recursos de processamento.

Relações entre Nós e Componentes Um nó pode conter componentes. Tal fato pode ser traduzido pela inclusão dos componentes no símbolo do nó, ou pelo estabelecimento de uma relação de dependência, de estereótipo «support» entre o nó e os componentes suportados.

Relações entre Nós e Componentes

Nós e Componentes Semelhanças e Diferenças As semelhanças são que ambos podem: (1) participar em relações de generalização, dependência e associação; (2) ser aninhados; (3) ter instâncias; e (4) participar em interações. As diferenças são que os: (1) componentes são elementos que participam na execução de um sistema; nós são elementos que suportam e executam componentes; e (2) componentes representam agrupamento físico de elementos lógicos; nós representam a instalação física de componentes.

Diagramas de Componentes (Exemplo) Diagrama de Componentes relativo a uma Página HTML. Considere a página Web Example1.html com uma referência a um applet Java:

Página Web Example1.html <html> <head> <title>the Animator Applet (1.1) example 1</title> </head> <body> <h1>the Animator Applet (1.1) - example 1</h1> <applet codebase="." code=animator.class width=460 height=160> </applet> <a href="animator.java">the source.</a> <hr> </body> </html>

Diagramas de Componentes (Exemplo) Página Web O diagrama de componentes correspondente a este mini-sistema consiste nos seguintes arquivos: example1.html, Animator.class,e Animator.java.

Diagramas de Componentes (Exemplo) Página Web

Exercício: Faça um Diagrama de Componentes relativo à instalação de uma aplicação. Considere a aplicação WinCOR desenvolvida sobre ambiente MSWindows e responsável pelo gerenciamento de (entrada e saída de) correspondência de uma organização. A aplicação consiste num conjunto variado de componentes de instalação, chamados: wincor.exe: arquivo que contêm o executável da aplicação; pblib.dll, sde32.dll, sdemdb.dll: bibliotecas com código binário que providenciam funcionalidades adicionais; wincor.hlp: arquivo de ajuda sobre a aplicação; wincor.ini: arquivo de configuração da aplicação; entrada.db, saida.db: arquivos/tabelas da base de dados de suporte

Resposta

Diagramas de Instalação Um diagrama de instalação ilustra a configuração dos elementos de processamento e dos componentes de software, processos e objetos neles suportados. Instâncias de componentes de software representam manifestações de execução das unidades de código.

Diagramas de Instalação Um diagrama de instalação consiste num conjunto de nós ligados por associações de comunicação. Os nós podem conter instâncias de componentes (de execução), o que significa que um componente é instalado e executado num nó.

Diagramas de Instalação (Exemplo 1) serviço de conexão a Internet por linha telefônica - cliente/servidor instalação, da existência de vários PC

Diagramas de Instalação (Exemplo 2) Equipamento de hardware tipicamente existente numa configuração doméstica

Diagramas de Instalação (Exemplo 3) Sistema de Trabalho Doméstico.

Exercício Faça o Diagrama de Instalação do nosso novo laboratório, em que deverá constar um mecanismo de controle de entrada de alunos por biometria.