As Visões. Visões arquiteturais (revisão)

Documentos relacionados
Visões Arquiteturais. Arquitetura de Software Thaís Batista

Visões Arquiteturais. Visões Arquiteturais

Arquitetura de Software visão emergente

Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual

RUP RATIONAL UNIFIED PROCESS

Engenharia de Software

Análise e projeto de sistemas

ANÁLISE E PROJETO DE SISTEMAS TÓPICO IV - INTRODUÇÃO A UML

Engenharia de Software. Projeto de Arquitetura

Visão Geral Parte 2. Jair C Leite DIMAp/UFRN

Arquitetura de software

Especificação de Sistemas de Software e a UML

Professor Emiliano S. Monteiro

Introdução a UML (Unified Modeling Language)

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

1 Introdução. 1.1 Teoria dos Sistemas 23/4/2010

Processos de software

Requisitos de sistemas

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

Diagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência

ARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos

Agenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software

UML (Unified Modelling Language)

Prova Discursiva Engenharia de Software

ENGENHARIA DE SOFTWARE/ SISTEMAS DE SOFTWARE

Clientes gerentes Usuarios finais do sistema Clientes engenheiros Gerentes contratantes Arquitetos do sistema. Definicao de requisitos

Padrões. Arquitetura de Software Thaís Batista

Sistemas Distribuídos Aspectos de Projeto de SD. Aspectos de Projeto em SD. Transparência 14/03/12. ! Transparência; ! Abertura; !

Análise. Orientada a Objetos Modelo Funcional, Modelo Estrutural e Modelo Comportamental. Linguagens: Java, C++, etc.

Introdução ao método de projeto OO. Prof. Cesar Augusto Tacla

Modelos de design arquitetural

Introdução ao método de projeto OO

Introdução à Análise e Projeto de Sistemas

Introdução a Orientação a Objetos

Rational Unified Process (RUP)

INF1013 MODELAGEM DE SOFTWARE

Introdução a Engenharia de Software

From Business Architecture to Software Architecture

From Business Architecture to Software Architecture

Arquitetura de Software: Introdução

DESENHO DE CARGOS E TAREFAS

Engenharia de Software

Engenharia de Requisitos

Estilos Arquiteturais

Tópicos da Aula. A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. Introdução à UML e Diagrama de Casos de Uso.

Análise e Projeto de Software

Engenharia de Software

RUP RATIONAL UNIFIED PROCESS PRÁTICAS RECOMENDADAS. Prof. Fabiano Papaiz IFRN

INF016 Arquitetura de Software 08 - Implementação

A Linguagem UML. A Linguagem UML. De onde surgiu? Fundadores da UML. História da UML. O que é modelagem?

Notas de Aula 03: Introdução a Orientação a Objetos e a UML

Engenharia de Software.

Projeto de Desenvolvimento de Software

Aula 2 POO 1 Introdução. Profa. Elaine Faria UFU

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

Introdução à Computação

UML. Modelando um sistema

Conceitos de Sistemas Distribuídos

Prof. Fabiano Taguchi

Quando Distribuir é bom

Engenharia de Software II

SISTEMA DISTRIBUÍDO PARA GERENCIAMENTO DE LIBERAÇÃO DE RELEASES DE SOFTWARE

Complexidade do Software

Documento de Arquitetura de Software- SGE

MODELAGEM DE SISTEMAS. Introdução a Computação e Engenharia de Software. Profa. Cynthia Pinheiro

INF1404 MODELAGEM DE SISTEMAS

Projeto de Arquitetura

PCS3413 Engenharia de Software e Banco de Dados

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

Programação Paralela e Distribuída

2

Engenharia de Software 2012/3 Aula 5 Modelagem de Sistemas

Prof. Luiz A. Nascimento

Engenharia de Software e Gerência de Projetos Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Declaração de Escopo

UML - Unified Modeling Language

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Engenharia de Requisitos

Computação Distribuída

Luiz Fernando Maurício de Souza Sidemar Fidelis Cezario. FDD Desenvolvimento dirigido a funcionalidades

Sistema Distribuído. Sistema Distribuído. Aplicações Distribuídas. Conceitos Básicos

UML. Rodrigo Leite Durães.

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Quando Distribuir é bom

Projeto orientado a objetos

ENGENHARIA DE SOFTWARE

Especificação de Sistemas e SysML

Engenharia de Software II

Modelagem de Sistemas

COMPONENTES CENTRAIS DO SISTEMA OPERACIONAL. Prof. Eduardo H. S. Oliveira

Introdução à Engenharia de Software

Sistemas Distribuídos

Prof. Esp. Fabiano Taguchi

UML (Linguagem unificada de modelagem)

Documento de Especificação de Sistema IngreSys

Sistemas Distribuídos

Prof. Fábio Lúcio Meira

Arquitetura de Software

Componente de aplicação. Figura 1 - Elementos funcionais de uma aplicação sendo executados de forma distribuída

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

Transcrição:

As 4 + 1 Visões Jair C Leite Visões arquiteturais (revisão) Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da engenharia. Visões permitem reduzir a quantidade de informação que o arquiteto trata em um dado momento Muitos arquitetos de software tem usado as diferentes visões sem reconhecê-las como visões arquiteturais separadas. 1

As 4+1 visões P. Krutchen Visão lógica Visão de implementação Stakeholders Funcionalidade Diagramas: Classes, Seqüência, Colaboração Integradores Desempenho Escalabilidade Visão de Casos de Uso Programadores Gerenciamento de configuração Diagramas: Pacotes, componentes Engenheiros de Sistema Topologia do Sistema Comunicação Diagramas: Atividades, Objetos Seqüência, Colaboração Visão de processos Diagramas: Implantação Visão de implantação A visão lógica Descreve requisitos comportamentais e a decomposição do sistema em um conjunto de abstrações. Classes e objetos são os principais elementos nesta visão. Diagramas de classes, sequência e colaboração mostram os relacionamentos entre estes elementos, Diagrama de classes Diagrama de colaboração 2

Visão lógica - diagrama de sequência Visão de implementação (desenvolvimento) Usada para descrever os módulos do sistema Módulos são elementos mais abstratos que classes e objetos Pacotes e biblioteca de classes são exemplos de módulos em alguns ambientes de programação. Diagrama de pacotes 3

Visão de implantação (física) Descreve como a aplicação é instalada e como executa em uma rede de computadores. Componentes executáveis são alocados a nós processadores. Esta visão permite avaliar requisitos não-funcionais - desempenho, disponibilidade, confiabilidade, escalabilidade. Nós processadores Componentes executáveis Diagrama de implantação Visão de processos Descreve os processos do sistema e como eles se comunicam. Útil quando se tem múltiplos processos ou threads concorrentes. Permite avaliar requisitos não funcionais relacionados à execução e comunicação: Desempenho, disponibilidade Diagramas de atividades são úteis para descrever esta visão. 4

Visão +1 : casos de usos Descreve a funcionalidade do sistema. Casos de uso e cenários são considerados o ponto de partida e também de consolidação das outras visões. Detalha ações e condições em cada caso de uso. Resumo Visão Lógica Processos Implementação Implantação Casos de uso Componentes Classes Tarefas (processos e threads) Módulos e subsistemas Nó processador Step, scripts Conectores Associação, herança, contenedores Mensagem, RPC, rendezvous, broadcast Dependência, includes em C, with clause. Rede de comunicação - LAN, WAN, Containers Categoria de classe Processo Sub-sistema (biblioteca) Sub-sistema físico Web Envolvidos (Stakeholders) Usuário-final Projetista do sistema, integrador Desenvolvedor, gerente Projetista do sistema Usuário-final, desenvolvedor Interesses (concerns) Funcionalidade Desempenho, disponibilidad e, integridade, tolerância a falhas Organização, reuso, portabilidade, linha-deprodução Escalabilidade, desempenho, disponibilidade Compreensibili dade, funcionalidade 5

Referencias http://www.ibm.com/developerworks/wirele ss/library/wi-arch11/ 6