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

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Trabalho de APSI II Diagrama de Instalação Victor Campolino Moussallem
1 Programação Orientada aos COMponentes Quartas à Tarde no DEI 12 de Abril de 2000.
Rational Unified Process
Engenharia de Software
Laboratório de Informática Introdução ao JavaScript 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
UML Visões – Parte 2.
15/1/2014 Professor Leomir J. Borba- – 1 Tec. Em Analise e desenvolv. De Sistemas analise.
(Unified Modeling Language)
> Fases de Engenharia de SW > Gestão de Projectos de SW
Orientação por Objectos > Modelo de Processo OO > Identificação de Classe e Objectos Aula 12.
Planeamento Temporal e Monitorização do Projecto de SW
Planificação do Projecto de SW
Producto x Processo x Projecto
Unified Modeling Language (UML) - Modelação da Arquitectura -
Adriano Teixeira João Vide Luís Silva Maria Pedroto
Diagramas de Seqüência
Orientação a Objetos: Encapsulamento e Classificação
Metodologia de Desenvolvimento de Software
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.
Modelo de Arquitetura Diagrama de Componentes
Introdução ao paradigma de programação: Orientado a Objetos
Introdução a diagrama de classes e UML
Programação orientada a objetos com Java
Análise e Projeto de Sistemas
14. Componentes e implantação
Como Desenvolver Sistemas de Informação
Documentação da Neptus Framework
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Projeto Final - APGS Adriana P. de Medeiros
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Diagrama de Instalação
Diagramas de Seqüência
DIAGRAMA DE COMPONENTES
Engenharia de Software e Sistemas de Informação e Gestão
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
Visão Geral do RUP.
Cap 2 – Processo de Software
Object Oriented Software Construction (MEYER, Bertrand)
Modelação Conceptual de Sistemas
Modelação Conceptual de Sistemas
Universidade São Marcos Curso: Gestão de Negócios Internacionais
Como escrever um Documento de Projecto para Redes Informáticas
TIC 10º ano de escolaridade
. Smalltalk HISTÓRICO . Década de 60 – POO . Dynabook (Alan Kay)
Análise e Projeto de Sistemas
LABORATÓRIOS DE INFORMÁTICA IV ENGENHARIA DE SOFTWARE: DA TEORIA À PRÁTICA GRUPO 13.
Arquitetura do Software
Prof. Alexandre Vasconcelos
1.
Referências: Booch, G. et al. The Unified Modeling Language User Guide
Projeto de Banco de Dados
1 Gestão de Desejos Engenharia de Software numa empresa certificada de Telecomunicações José Bonnet FCUP, 2003.Mai.19.
UML - Unified Modeling Language
Nome alunos 1 Título UC. Título – slide 2 Conteúdo Conteúdo 2.
Abr-17 Atividades, Artefatos e Responsáveis da Disciplina de Análise e Projeto Fluxo de análise e projeto.
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Planear um Website Principais etapas.
Diagrama de Componentes
Modelando aspectos de Implementação
Desenvolvimento de Software Dirigido a Modelos
Análise e Projeto de Sistemas Unified Modeling Language Renata Araujo Ricardo Storino Núcleo de Computação Eletrônica Curso de Programação de Computadores.
A linguagem unificada de modelagem
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
CIn-UFPE1 UML Uma linguagem unificada de modelagem Visão Geral.
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.
Engenharia de Software II
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 Silva / José Borbinha

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

Diagramas de Arquitectura Diagramas de arquitectura (ou estrutura) 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.

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

Componentes (de software) Um componente de software é uma agregação de várias peças de software. Um componente pode concretizar uma ou mais classes. Vantagens e 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 orientação que lhe permite trabalhar de forma controlada a equipa de documentação e ajudas (help) podem entender melhor o âmbito do seu trabalho promove-se a reutilização ...

Componentes

Componentes e Interfaces (outra vez...) 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

Componentes e Interfaces (outra vez...) exemplo de interfaces de uma componente em Active-X... WP.exe wordsmith.dll <<Interface>> ISpell WP.exe wordsmith.dll ISpell

Componentes e Interfaces IThesaurus ISpell wordsmith.dll IUnknown componente 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 um componente por outro, se o novo componente providenciar as interfaces do anterior Pode-se reutilizar um componente noutro sistema, se o novo sistema puder aceder e reutilizar o 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 (ficheiros com código fonte, ficheiros de dados, documentos, ...) Componentes de instalação, constituem a base dos sistemas executáveis (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 dos componentes de instalação (processos, threads, agentes de software, ...) NOTA: Os componentes de execução 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.

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

Diagramas de Componentes Um diagrama de componentes ilustra as dependências entre vários componentes de software. Incluem-se nesta definição lata, por exemplo, artefactos: de código fonte, de código binário, de código executável, procedimentos de negócio, documentos... Notas: Um diagrama de componentes representa apenas tipos de componentes e nunca instâncias de componentes (para ilustrar instâncias de componentes devem ser usados diagramas de instalação) 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 com Componentes… Um componente pode conter outros componentes: inclusão física wordsmith.dll Speller.obj Thesaurus.obj  Speller.obj wordsmith.dll Thesaurus.obj

Diagramas de Componentes Exemplo1: Página Web com um applet Java demo/applets/Animator/example1.html <html> <head> <title>The Animator Applet - example 1</title> </head> <body> <h1>The Animator Applet - example 1</h1> <applet codebase=".“ code=Animator.class width=46 height=160> </applet> <a href="Animator.java">The source.</a> <hr> </body> </html>

Diagramas de Componentes Exemplo: Pretende-se o diagrama de componentes da aplicação WinCOR, desenvolvida sobre ambiente Windows, para gestão de correspondência de uma organização, que consiste no seguinte conjunto de componentes de instalação: wincor.exe: ficheiro que contêm o executável da aplicação pblib32.dll, sde32.dll, sdemdb32.dll: bibliotecas com código binário de 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

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

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

Nós e instâncias

Nós Os nós podem consistir em recursos Nós e Componentes Semelhanças computacionais (hardware) humanos organizacionais processamento mecânico Nós e Componentes Semelhanças Ambos podem participar em relações de generalização, dependência e associação Ambos podem ser aninhados Ambos podem ter instâncias Ambos 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 de elementos lógicos  Nós representam a instalação fisica de componentes

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

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

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

Diagramas de Instalação “connection”: associação que representa a ligação fisica entre nós 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 Nós e Componentes

Diagramas de Instalação - Exemplo “O sistema de trabalho doméstico”: Diagrama de componentes e Diagrama de instalação com componentes

Diagramas de Instalação...

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)

Relações entre Diagramas de Componentes e de Instalação Exemplo: Sistema de informação de uma universidade

Exemplo: Diagrama de Componentes do Sistema de informação de uma universidade

Exemplo: Diagrama de Instalação do Sistema de informação de uma universidade

Exemplo: Sistema de informação de uma universidade

A propósito dos Diagramas de Arquitectura Estes diagramas podem também ser aplicados na modelação de negócios e de organizações em que os componentes de “código” representam os procedimentos e regras de negócio; os nós (isto é, os componentes não digitais) representam a infra- estrutura da organização através de um conjunto de recursos do negócio (humanos e outros).

Extra à matéria da cadeira ...!!! Extra à matéria da cadeira !!!... Diagrama de Estrutura Composta (“Composite Structure Diagram”) Diagrama para representar a estrutura interna de alguns elementos (classes, componentes, nós, ...) usando: Partes (instâncias que compõem o elemento) Portos (pontos de interacção entre as Partes) Conectores (“links” entre Partes ou Portos) Pode ser equivalente aos diagramas de classes, mas mostra as partes individuais das classes, em vez das classes no seu todo...