Unified Modeling Language (UML) - Modelação da Arquitectura -

Slides:



Advertisements
Apresentações semelhantes

Advertisements

Programa das Aulas 20/09/05 - Apresentação da disciplina
Trabalho de APSI II Diagrama de Instalação Victor Campolino Moussallem
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Noções de Sistemas Operacionais
Raphael Gatti Thomás Bryan
1 As Tecnologias da Informação na Administração Pública Indicadores Estatísticos Instituto de Informática Rosa Maria Peças Conferência A acessibilidade.
1 Programação Orientada aos COMponentes Quartas à Tarde no DEI 12 de Abril de 2000.
Introdução aos Sistemas Distribuídos
Criar uma Aplicação Web em ASP.NET v Tipos de Sites Web gerados pelo VS2005 File-system Web sites Ficheiros armazenados num directório local É utilizado.
Ferramentas CASE (Computer-Aided Software Engineering)
Evolução dos SGBD’s (2ª Parte).
Rational Unified Process
UML Visões – Parte 2.
(Unified Modeling Language)
Análise de Casos de Uso.
Planificação do Projecto de SW
Unified Modeling Language (UML) - Modelação da Arquitectura -
Dispositivos lógicos programáveis (DLP)
Sistemas Distribuídos
Metodologia Científica e Tecnológica
1 MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) BREVE HISTÓRICO CARACTERÍSTICAS CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS MODELAGEM DE ANÁLISE E DE.
April 05 Prof. Ismael H. F. Santos - 1 Modulo II CheckStyle Professor Ismael H F Santos –
Estudo de Caso 1: UNIX e LINUX
Introdução a diagrama de classes e UML
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Análise e Projeto de Sistemas
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Classes e objetos P. O. O. Prof. Grace.
Introdução a Programação Orientada a Objetos
Tecnologias para Internet
Análise de Casos de Uso Alexandre Motnteiro.

DIAGRAMA DE COMPONENTES
Desenvolvimento de Projetos e Aplicações Web
Engenharia de Software e Sistemas de Informação e Gestão
Engenharia de Requisitos
PROGRAMAÇÃO I UNIDADE 1.
Object Oriented Software Construction (MEYER, Bertrand)
Introdução ao Desenvolvimento Web
Arquitetura de software
Como escrever um Documento de Projecto para Redes Informáticas
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Termo da Microsoft para designar um conjunto de serviços de directórios do Windows Server. Conceito utilizado a partir da versão do Windows Server 2000.
ACESSO A BASE DE DADOS.
EXERCÍCIOS PARA GUARDA-REDES
GERENCIAMENTO DE REDES UTILIZANDO O PROTOCOLO SNMP
Prof. Alexandre Vasconcelos
1.
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Projeto de Banco de Dados
1 2 Observa ilustração. Cria um texto. Observa ilustração.
BPM BUSINESS PROCESS MANAGEMENT Projecto em Informática e Gestão de Empresas Lisboa, 20 de Junho de 2006.
Prof. Alexandre Monteiro Recife

Marcio de Carvalho Victorino
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Excepções Conceito de Excepção A classe Exception
UML - Unified Modeling Language
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Diagrama de Componentes
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Modelando aspectos de Implementação
Abr-17 Projetar Processos Projetar distribuição.
ATSI 2007 Sobre Alinhamento os exemplos que seguem são tirados ”tal qual” dos resumos da aula teórica entregues pelos alunos...
Diagramas de Componentes Exercício (1) - Programa em C para ambiente Unix CC = gcc CFLAGS = -g ex-pipes : ex-pipes.o util.o server.o client.o $(CC) -g.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
Projetar Processos. Copyright © 2002 Qualiti. Todos os direitos reservados. Qualiti Software Processes Projetar distribuição | 2 Descrição do Projeto.
1 Especificação de Sistemas de Software e a UML. 2 Modelagem de sistema A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema.
Transcrição da apresentação:

Unified Modeling Language (UML) - Modelação da Arquitectura - Análise e Concepção de Sistemas de Informação Unified Modeling Language (UML) - Modelação da Arquitectura - Alberto Manuel Rodrigues da Silva Prof. DEI/IST/UTL

Modelação da Arquitectura Componentes Nós Diagramas de Componentes Diagramas de Instalação

Diagramas de Arquitectura Diagramas de arquitectura permitem A descrição física do software: Os diagramas de componentes são usados para modelar a arquitectura de um sistema na perspectiva dos seus componentes de software (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. A descrição física do hardware: Os diagramas de instalação, por outro lado, são usados para modelar a arquitectura de um sistema na perspectiva dos seus componentes de hardware (e.g., computadores, adaptadores de rede, impressoras, routers, cablagem), explicitando as suas dependências de comunicação. A integração do software com o hardware: 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 de nó computacional.

Diagramas de Arquitectura Estes diagramas podem também ser aplicados na modelação de negócios e de organizações caso se considere, e.g., que as componentes de “código” sejam procedimentos e regras de negócio; e que os nós (I.e., componentes não digitais) constituam a infra- estrutura da organização através de um conjunto de recursos (humanos e outros) do negócio.

Componentes Um componente de software é uma parte física de um sistema existe de facto num computador e não apenas na mente do analista… Relação entre classes e componentes Um componente pode implementar uma ou mais classes... Quais as vantagens/motivações para a construção de modelos de componentes? os clientes podem ver a estrutura final do sistema a equipa de desenvolvimento tem uma estrutura, de modo a trabalhar mais controladamente os escritores técnicos (que produzem documentação e helps) podem entender melhor o âmbito do seu trabalho promove a reutilização

Componentes

Componentes e Interfaces Providencia uma separação clara entre a vista externa e a vista interna de uma abstracção Permite compreender melhor uma abstracção sem conhecer os seus detalhes de implementação Promove a abstracção; desenvolvimento baseado em componentes; separação de aspectos Suportada por algumas linguagens de programação (e.g., Java, Corba IDL, COM IDL, …) A adequada definição de interfaces é essencial para um bom desenho e desenvolvimento de sistemas OO Enumeration «interface» Enumeration hasMoreElements() nextElement()

Componentes e Interfaces ISpell IThesaurus componente wordsmith.dll IUnknown exemplo de interfaces de uma componente em Active-X...

Componentes e Interfaces Substituição e Reutilização As interfaces têm um impacto significativo nos conceitos de substituição e reutilização de componentes: Pode-se substituir uma componente por outra, se a nova componente providenciar as interfaces da anterior Pode-se reutilizar uma componente noutro sistema, se o novo sistema puder aceder e reutilizar a componente através das suas respectivas interfaces

Componentes Tipos de Componentes 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 instalação constituem a base dos sistemas executáveis e.g., DLL, executáveis, controlos Active-X, classes Java Componentes de execução criados como resultado da execução de um sistema, ou seja, correspondem a instâncias das componentes de instalação e.g., processos, threads, agentes de software Estes componentes são apenas representados nos diagramas de instalação (como instâncias de “componentes de instalação”)

Componentes Estereótipos para componentes (UML, v1.3) «document»: denota um documento. «executable»: denota um programa que possa ser executado num nó. «file»: denota um documento contendo código fonte ou dados. «libary»: denota uma biblioteca dinâmica ou estática. «table»: denota uma tabela de uma base de dados.

Diagramas de Componentes Um diagrama de componentes ilustra as dependências entre vários componentes de software. entre outros, incluem-se nesta definição lata artefactos: de código fonte, de código binário, de código executável, procedimentos de negócio e documentos. Observação ... Um diagrama de componentes representa apenas tipos de componentes e nunca instâncias de componentes. Para ilustrar instâncias de componentes deve ser usado um diagrama de instalação E apenas se ilustram componentes executáveis...

Diagramas de Componentes Componentes de Instalação e Interfaces… A relação entre interface e componente designa-se por realização

Diagramas de Componentes Relação entre Componentes

Diagramas de Componentes Representação de vários detalhes de um componente

Diagramas de Componentes Componentes c/ Componentes… Uma componente pode conter outras componentes: inclusão física wordsmith.dll Speller.obj Thesaurus.obj  Speller.obj wordsmith.dll Thesaurus.obj

Diagramas de Componentes Exemplo (1) - Página Web com um applet Java demo/applets/Animator/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 (1) - Página Web com um applet Java

Diagramas de Componentes Exemplo (2) - Aplicação WinCOR para Windows Considere a aplicação WinCOR desenvolvida sobre ambiente Windows e responsável pela gestão de correspondência (entrada e saida) de uma organização. A aplicação consiste num conjunto variado de componentes de instalação, nomeadamente: wincor.exe: ficheiro que contêm o executável da aplicação pblib32.dll, sde32.dll, sdemdb32.dll: bibliotecas com código binário que providenciam funcionalidades adicionais wincor.hlp: ficheiro de ajuda sobre a aplicação. wincor.ini: ficheiro de configuração da aplicação entrada.db, saida.db: ficheiros/tabelas da base de dados de suporte Pretende-se o respectivo diagrama de componentes

Diagramas de Componentes Exemplo (2) - Aplicação WinCOR para Windows

Diagramas de Componentes Exercício (1) - Programa em C para ambiente Unix Makefile CC = gcc CFLAGS = -g ex-pipes : ex-pipes.o util.o server.o client.o $(CC) -g -o ex-pipes ex-pipes.o util.o server.o client.o server.o : server.c util.h comms.lib $(CC) -o server.c util.h comms.lib client.o : client.c util.h comms.lib

Diagramas de Componentes Exercício (2) - Página HTML/JSP PUC: http://www.puc.pt/ index.jsp <head> <title> Personal Unified Communication (PUC) </title> <link rel="stylesheet" href="style1.css"> </head> <body> <jsp:include page="/genericJSP/top.jsp" flush="true" /> <jsp:include page="/genericJSP/middle.jsp" flush="true" /> <jsp:include page="/genericJSP/bottom.jsp" flush="true" /> </body> </html>

Diagramas de Instalação O objectivo dos diagramas de instalação é mostrar a configuração hardware de um sistema, consistindo na identificação de: nós (computadores, periféricos, …) Instâncias de componentes de software, e objectos Bem como nos canais de comunicação existentes entre esses nós.

Diagramas de Instalação - Nós Um nó é um objecto físico que representa uma recurso de processamento, geralmente tendo capacidades de memória e de processamento.

Diagramas de Instalação - Nós Os nós podem consistir em recursos computacionais (hardware) humanos organizacionais processamento mecânico Nós e Componentes Semelhanças podem participar em relações de generalização, dependência e associação podem ser aninhados podem ter instâncias podem participar em interacções Diferenças componentes são coisas que participam na execução de um sistema; nós são coisas que executam componentes componentes representam agrupamento fisico de elementos lógicos; nós representam a instalação fisica de componentes

Diagramas de Instalação Nós e Componentes Podem-se representar as componentes relevantes que existem ou são suportadas em determinado nó… (relação de dependência, de estereótipo «support»)

Diagramas de Instalação “connection” associação representa a ligação fisica entre nós Nós e Componentes Embora a ligação seja o tipo de associação mais comum entre dois nós, outros tipos de associações (e.g., agregação e dependência) são também possíveis.

Diagramas de Instalação - Exemplo (1) “O sistema de trabalho doméstico”: Diagrama de instalação Modelar processadores e devices

Diagramas de Instalação - Exemplo (1) “O sistema de trabalho doméstico”: Diagrama de instalação com componentes Modelar processadores e devices

Diagramas de Instalação - Exemplo (2) PC com SIG-C-Gás e GestãoGIS PC com acesso ao SIG-C-Gás, via Web Browser Web Browser (e.g., IE) Editor SIG-C-Gás (e.g., baseado em ArcEditor, Map, GeoMedia) HTTP HTTP Servidor SIG-C-Gás Servidor Map (e.g., Ficheiro SIG (e.g., ArcIMS, MapGuide) .shp, .dwg) Interfaces Web (e.g., Componentes Aplicacionais Base HTML, JSP, ASPX) (e.g., .NET, EJB) Dados Servidor Web Servidor Aplicacional (e.g. Servidor Base Dados (e.g., (e.g., IIS, Apache) .NET/COM+, J2EE) Oracle, SQL Server)

Diagramas de Instalação - Exercício (1) MyGlobalNews é um jornal electrónico personalizado, baseado em agentes de software e distribuído. O servidor corre na máquina “xpto.ist.utl.pt” e consiste em várias componentes, designadamente: o servidor MyGlobalNews (aplicação Java) e a base de dados MGN (gerida pelo SQL Server 2000). O cliente corre sobre sistema operativo Windows, em qualquer máquina do domínio “ist.utl.pt” e consiste na aplicação GlobalNews.exe. O cliente MyGlobalNews acede ao servidor através do protocolo HTTP, e este acede à base de dados MGN via Java JDBC. Todas as máquinas do domínio “ist.utl.pt” encontram-se ligadas através de Ethernet.

Diagramas de Instalação - Exercício (2) A empresa Euro2004 pretende desenvolver um conjunto de sistemas na área da segurança para preparar e gerir adequadamente a organização do Euro2004. Considere que o sistema “Planeamento, Controlo e Segurança dos Jogos” (PCS-Jogos-2004) é suportado por múltiplas plataformas distribuídas e suportadas por várias entidades: A empresa Euro2004, entidade responsável por operar a aplicação PCS-Euro2004, a qual comunica com a BD BD-PCS-Central (suportada pelo SGBD Oracle 10i). - Os vários donos/gestores dos estádios onde os jogos se realizam. Em cada estádio deverá existir a aplicação PCS-Estádio, que supervisiona todos os acontecimentos relativos à segurança de cada estádio, tais como captura de imagens de video, análise de sensores de incêndio, e o controlo de acessos ao estádio. A aplicação PCS-Estádio mantém informação na BD BD-PCS-Estádio (a qual é suportada pelo SGBD SQL Server). A aplicação PCS-Estádio comunica com PCS-Euro2004 através de um protocolo proprietário e codificado baseado em HTTP, conhecido por PCS-HTTP.

Diagramas de Instalação - Exercício (3) Fazer o diagrama de instalação da infraestrutura computacional de apoio à formação. Não esquecer: - servidor Web, servidor BD, - ferramentas de trabalho (e.g., CASE, IDE, …) - descrição dos postos de trabalho - ...