Visões Arquiteturais. Visões Arquiteturais. Visões Arquiteturais. Visão Conceitual
|
|
- Luís Vilaverde Camelo
- 6 Há anos
- Visualizações:
Transcrição
1 Visões Arquiteturais 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. Visões Arquiteturais Quatro visões: Conceitual: descreve o sistema em termos dos elementos de design e relacionamentos entre eles Módulo: consiste na decomposição do sistema em módulos Execução: consiste no mapeamento dos componentes a entidades de execução e de hardware. Este mapeamento deve ser definido na fase de projeto arquitetural e não apenas na fase de desenvolvimento. Código: consiste na organização do código fonte em bibliotecas, binários, arquivos, versões e diretórios Visões Arquiteturais ARQUITETURA DE SOFTWARE Componentes, Conectores, Configuração restrições de Componentes, restrições execução Conectores, dos módulos Configuração Visão módulos de Novos ParticionamentosExecução Módulos, Novos dos Módulos Subsistemas, Particionamentos Camadas dos Módulos entidades de execução Mudanças em entidades de execução Código Fonte Hardware Mais próxima ao domínio da aplicação A funcionalidade do sistema é mapeada em elementos arquiteturais: Componentes, conectores, configuração Desafio: Isolar comunicação entre componentes em conectores
2 Componentes e Conectores que formam a visão conceitual são mapeados em subsistemas e módulos Dependências entre módulos devem ser minimizadas Reuso de módulos deve ser maximizado Descreve como os módulos são mapeados para elementos oferecidos pela plataforma de execução e como estes são mapeados para o hardware Define entidades de execução e seus atributos como uso de memória e de elementos de hardware Determina: como as entidades de execução da visão de execução são mapeadas a componentes a nível de implementação (p.ex. executáveis) como módulos da visão de módulo são mapeados em componentes fonte como componentes a nível de implementação são mapeados a partir dos componentes fonte Relacionamento entre as Visões Há necessidade de feedback e interação entre as visões As visões módulo, execução e código auxiliam a diminuir o gap entre o que uma ADL modela e o que uma plataforma de execução pode executar. Componentes e conectores da visão conceitual não podem ser diretamente mapeados para uma plataforma de execução As visões módulo e execução definem como componentes e conectores são mapeados para uma plataforma de execução 2
3 obedece Definir componentes, conectores e configuração Mapear comportamento funcional do sistema em componentes Mapear os aspectos de controle e comunicação em conectores Definir as instâncias dos componentes e conectores e como elas são interconectadas Estilos Arquiteturais podem ser utilizados nesta fase! Componentes Conceituais Contém PORTAS que são pontos de interação PORTAS INTERFACE Serviços Oferecidos X Serviços Requisitados Interface define serviços e operações que o componente OFERECE não o que ele USA. Portas definem tanto serviços que o componente oferece quanto os que o componente usa. Implementação Cada porta tem um protocolo associado que diz como as operações são encaminhadas Componente Conceitual CComponent CConnector CPort Protocol Elementos UML Elementos UML Caixas são classes na notação UML Linhas são relações Linhas com o diamante sólido significa composição: as classes ligadas ao diamante é decomposta ou contém as classes da outra extremidade. A multiplicidade da relação é exibida pelo número (ou um asterisco para zero ou mais) próximo ao fim da relação Voltar 3
4 obedece Conectores Conceituais Contém PAPÉIS (ROLES) que são pontos de interação Os Papéis obedecem a um protocolo associado Podem ser decompostos em Componentes e Conectores Conector Conceitual CComponent Protocol CConnector CRole Configuração Conceitual Define relações entre componentes e conectores Componentes e Conectores são interconectados através de suas portas e papéis Podem ser decompostos em Componentes e Conectores Configuração Conceitual CPort CRole cconection cbinding cbinding {cconection pode conectar cport e crole apenas quando o respectivo componente e conector são emcapsulados pelo mesmo elemento} {cconection pode conectar cport e crole apenas quando o eles tem protocolos compatíveis} Elemento UML 4
5 obedece obedece Elemento UML O elemento NOTE é usado para descrever restrições adicionais que é difícil expressar com a notação gráfica Voltar Meta-Modelo da Estrutura Configuração Conceitual CComponent CConnector CPort cbinding CRole cconection Protocol cbinding {cconection pode conectar cport e crole apenas quando o respectivo componente e conector são emcapsulados pelo mesmo elemento} {cconection pode conectar cport e crole apenas quando o eles tem protocolos compatíveis} Além de descrever a estrutura de componentes, conectores e da configuração, é necessário descrever os aspectos comportamentais UML Statechart Diagram Resumo da Representação Artefato Configuração Conceitual Protocolo de Porta ou Papel Comportamento do Componente ou do Conector Interações entre Componentes Representação Diagrama de Classes UML Diagrama de Statechart UML ou diagrama de Sequência Diagrama de Statechart UML ou descrição em ling. natural Diagrama de Sequência UML 5
6 Componentes e Conectores que formam a visão conceitual são mapeados em subsistemas e módulos Diferença da para a Visão de Módulo Cada uma torna explícito diferentes aspectos Na visão conceitual os relacionamentos funcionais devem estar explícitos A visão de módulo torna explícito como a funcionalidade é mapeada para a implementação Relacionamento x A e a são baseados em dois diferentes modelos: : componentes implementam a funcionalidade da aplicação e interagem via conectores. : toda a funcionalidade da aplicação e a comunicação devem ser mapeada em módulos Relacionamento x Dois componentes comunicam-se através de um conector com semântica call/return Representa em módulos os elementos da implementação que poderá ter duas variações: Os dois componentes na mesma máquina: o conector implementa uma chamada de procedimento local Os dois componentes em máquinas diferentes: o conector implementa chamada remota de procedimento (RPC) Definir módulos que possuem interface com os serviços oferecidos (provided) e requisitados (required) Módulos interagem invocando serviços declarados na sua interface required Módulos não possuem implementação associada 6
7 Não define uma configuração Define os módulos e seus relacionamentos mas não como eles são combinados em um produto particular (as visões conceitual e de execução define a configuração) Resultados da : Módulos, Subsistemas e Camadas Subsistema Usualmente corresponde ao componente conceitual de mais alto nível (aquele que é decomposto em outros componentes e conectores) Contém outros subsistemas e módulos Módulo Pode corresponder a um único elemento conceitual (componente, porta, conector ou papéis) ou a um conjunto deles. Podem ser decompostos em outros módulos Encapsula dados e operações para prover um serviço Módulo Serviços: Os serviços oferecidos por um módulo são definidos pelas interfaces que ele oferece (provided) Os serviços que um módulo precisa de outro módulo para realizar suas funções são os serviços requisitados e são definidos pelas interfaces que ele solicita (required) Interagem com outros apenas através das interfaces 7
8 contém contém contém Meta-modelo para Subsistemas e Módulos Subsistema provide require Módulo use Interface {Módulo A usa Módulo B quando A requisita uma interface que B oferece} Camadas Camadas organizam módulos em uma hierarquia Quando um módulo é associado a uma camada, ele pode usar outros módulos desta camada Quando um módulo necessita usar serviços de um módulo de outra camada, a interface solicita e requisitada pelos módulos devem ser também requisitas e solicitadas pelas camadas. Camadas podem ter subcamadas Meta-modelo para Camadas Módulo provide Interface assigned to require use Camada {Camada A usa camada B quando A requisita uma interface que B oferece} Camadas Utilidade Reduzir complexidade Permitir reuso atribuindo serviços comuns a camadas de serviços da aplicação Oferecer independência entre partes do sistema evitando que a mudança em uma parte afete o sistema inteiro 8
9 contém contém contém Camadas Como definir Camadas Top-down: determine as camadas baseadas na experiência. Atribua os módulos às camadas. (As camadas servem de guia para definição dos módulos) Bottom-up: determine os módulos, suas responsabilidades e dependências. Em seguida determine as camadas. Estratégia Top-Down + Bottom-Up: divida em camadas genéricas (aplicação, interface com usuário, serviços do sistema). Quando definir os módulos refine o modelo em camadas adicionando camadas que tratem da funcionalidade específica da aplicação Subsistema Módulo Meta-Modelo provide provide Interface require require use assigned to use {Camada A usa camada B quando A requisita uma interface que B oferece} Camada Tarefas Mapear os elementos da visão conceitual em CAMADAS, SUBSISTEMAS e MÓDULOS Atribuir aos módulos uma responsabilidade e determinar sua composição e seus relacionamentos Pode ser necessário adicionar módulos de suporte que não tem correspondente na visão conceitual Descrever as interfaces para cada um dos módulos e camadas Resumo da Representação Artefato Correspondência Conceitual-Módulo Subsistemas e Módulos Dependências dos Módulos Dependências de Camadas, Atribuição de Módulos a Camadas Representação Tabela Resumo das relações entre Módulos Tabela Diagrama de Classes UML Diagrama de Classes UML Diagrama de Classes UML 9
10 Descreve a estrutura do sistema em termos de elementos da plataforma de execução (p.ex. tarefas do SO, processos, threads). Recebe como entrada o Modelo Conceitual e o Modelo de Módulos É necessário conhecer a plataforma de hardware (todos os componentes de hardware disponíveis) e a plataforma de software (os softwares que estão entre o hardware e o sistema projetado SO, software de rede, middleware) Define: Entidades de execução Caminhos de Comunicação entre as entidades Configuração de execução Atividades Iniciais: Liste os componentes de hardware do ambiente de execução Liste a plataforma de software Liste os elementos da plataforma que serão usados na visão de execução Meta-Modelo dos Elementos da Plataforma Plataforma de Software Elemento da Plataforma Recurso da Plataforma contém consome assigned to Recurso de Hardware Thread Task Queue... Memória Timer... Processo Socket Espaço Ender 0
11 Entidades de Execução Após identificar os elementos da plataforma de software deve- se decidir como mapear os componentes conceituais e módulos para os elementos da plataforma Um ou mais módulos são representados por uma entidade de execução e um módulo pode ser atribuído a mais de uma entidade de execução Podem existir entidades de execução como processos servidores que não tenham correspondência direta com módulos mas são necessários para dar suporte a outras entidades de execução. Meta-modelo para Entidades de Execução Elemento da Plataforma Is a assigned to Entidade de Execução Módulo Caminho de Comunicação Meta-modelo para Comunicação Identificar os caminhos de comunicação entre as entidades de execução (mecanismos e recursos usados para comunicação) Mecanismo de Comunicação consome Elemento da Plataforma... COM RPC IPC Use mecanismo Caminho de Comunicação Is a Entidade de Execução 2.. Comunica-se através
12 Configuração de Execução Descreve a topologia de execução do sistema caracterizando as instâncias das entidades de execução e como elas são interconectadas. Há distinção entre uma entidade de execução e suas correspondentes instâncias (exceto quando só há uma instância) Configuração de Execução Deve-se determinar e descrever como a configuração muda ao longo do tempo e como estas mudanças são controladas. Resumo da Representação Artefato Configuração de Execução Configuração de Execução mapeadas a dispositivos de hardware Comportamento dinâmico da configuração, ou transição entre configurações Descrição das entidades de execução (tipos de host, replicação, etc) Protocolo de Comunicação Representação Diagrama de Classes UML Diagrama de Desenvolvimento UML Diagrama de Sequência UML Diagrama de Classes UML ou Tabela Diagrama de Sequência ou Statechart Meta-modelo da Mecanismo de Comunicação consome Mecanismo use Caminho de Comunicação Comunica-se através 2.. Plataforma de Software Elemento da Plataforma Recurso da Plataforma assigned to contém Is a Entidade de Execução consome assigned to Módulo Recurso de Hardware 2
13 Descreve como o software que implementa o sistema é organizado O objetivo principal desta visão é facilitar a construção, integração, instalação e teste do sistema respeitando a integridade das outras três visões arquiteturais Descreve como um módulo, suas interfaces e suas dependências são mapeadas a componentes e dependências específicas da linguagem. Estes mapeamentos e convenções podem variar de acordo com a linguagem de programação As visões de módulo e de execução são independentes de linguagem de programação Com um executável Visão de código reflete a estrutura da visão de módulo Com múltiplos executáveis Visão de código torna- se mais complexa e em geral diverge da visão de módulo e da visão de execução Tarefas: Mapear os elementos da visão de módulo e da visão de execução para componentes de código: Componentes Fonte Componentes Intermediários (componentes binários, Componentes de Desenvolvimento (executáveis, bibliotecas dinâmicas e descrição da configuração) 3
14 Meta-modelo dos elementos básicos Componente Componente Fonte Binário gera importa compile compile link Biblioteca Executável Descrição da Configuração link Usa na execução Componentes Fonte Tipicamente componentes fontes representam as interfaces e módulos específicos da linguagem Exemplo: em C/C++ interfaces específicas da linguagem são arquivos com nomes como.h e módulos tem nome com.c e.cpp link Componentes Fonte São relacionados com outros por dois tipos de dependências específicas da linguagem: Importação: um componente precisa importar outro. Esta relação é uma dependência de compilação. Por exemplo: a dependência de inclusão entre um componente fonte e um arquivo de cabeçalho Geração: quando um componente fonte é gerado a partir de outro componente fonte. Componentes Fonte Para identificar componentes fonte: Identificar componentes fonte e mapear os elementos e dependências da visão de módulo para componentes fonte e dependências Organizar os componentes fonte usando estruturas de armazenamentos como diretórios e arquivos É necessário definir um critério de organização dos arquivos: similaridade de funcionalidade, pessoa responsável pelo desenvolvimento, etc... 4
15 Componentes Fonte Elementos da visão de módulo são mapeados em componentes fonte específicos de linguagem que implementa- os. Por exemplo: Mapeando para C++, a interface de um módulo é mapeada em um arquivo.h e o código é mapeado em um arquivo.cpp Para módulos complexos pode ser necessário distribuir a implementação em vários arquivos Componentes Intermediários São específicos da linguagem de programação e do ambiente de desenvolvimento. Exemplo: Em C++, para cada arquivo.cpp tem um componente binário correspondente ou arquivo.obj Binários e Bibliotecas Estáticas são componentes intermediários Componentes de Desenvolvimento São componentes necessários para formar um sistema executável Executáveis, bibliotecas dinâmicas e descrições de configuração A descrição da configuração pode descrever processos e/ou recursos Resumo da Representação Artefato Correspondência Módulo-Comp.Fonte Correspondência Executável entidade de execução Descrição dos componentes da Visão de código e suas dependências Representação Tabela Tabelas Diagrama de Componentes UML 5
16 Subsistema segue Camada segue Meta-modelo Grupo de Código Módulo Componente Componente Fonte Binário Interface gera importa Biblioteca Executável Descrição da Configuração compile link link Usa na execução compile Entidade de Execução Instancia link 6
Visões Arquiteturais. Visões Arquiteturais
Visões Arquiteturais 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
Leia maisVisões Arquiteturais. Arquitetura de Software Thaís Batista
Visões Arquiteturais 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
Leia maisArquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Leia maisAs Visões. Visões arquiteturais (revisã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.
Leia maisDesenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto
Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto Engenharia de Software I Informática 2006 Profa. Dra. Itana Gimenes RUP: Projeto Artefatos Modelo de Projeto: Lista de classes de
Leia maisRUP RATIONAL UNIFIED PROCESS
O que é RUP? É um metodologia para gerenciar projetos de desenvolvimento de software que usa a UML como ferramenta para especificação de sistemas. Ele é um modelo de processo híbrido Mistura elementos
Leia maisPadrões. Arquitetura de Software Thaís Batista
Padrões Endereçam uma classe de problemas recorrentes e apresenta uma solução para eles (podem ser considerados um par problema-solução) Permitem a construção de software com propriedades definidas Ajudam
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisIntrodução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.
Diagramas UML Classe, Seqüência e Atividades Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 15 de maio
Leia maisApresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:
Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP: 8429016 Definição de MDA OMG (Object Management Group) propôs uma aplicação abrangente das práticas
Leia maisEspecificação de Sistemas de Software e a UML
Modelagem de sistema Especificação de Sistemas de Software e a UML A modelagem de sistema auxilia o analista a entender a funcionalidade do sistema Modelo => visão simplificada e abstrata de um sistema
Leia mais3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks
48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o
Leia maisUML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos
UML (Linguagem Modelagem Unificada) João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro A importância da UML para projetar sistemas. Principais características do diagrama de classes e de sequência.
Leia maisAnálise e projeto de sistemas
Análise e projeto de sistemas Conteúdo: UML O processo de desenvolvimento de software Prof. Patrícia Lucas A linguagem de modelagem unificada (UML) A UML teve origem em uma tentativa de se unificar os
Leia maisIntrodução a UML (Unified Modeling Language)
Introdução a UML (Unified Modeling Language) O que é a UML? Linguagem Gráfica de Modelagem para: Visualizar Especificar Construir Documentar Comunicar Artefatos de sistemas complexos Linguagem: vocabulário
Leia maisArquitetura de software
Arquitetura de software Problema: vamos implementar um clone do compraentrega.com.br Mantém preços atualizados Recebe encomendas e pagamento Recomenda itens a usuários Por onde começamos? Arquitetura =
Leia mais5 Processo de Reificação e de Desenvolvimento com ACCA
Uma Arquitetura para a Coordenação e a Composição de Artefatos de Software 53 5 Processo de Reificação e de Desenvolvimento com ACCA Resumo Este capítulo visa esclarecer e descrever atividades existentes
Leia mais15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Leia maisDesenvolvimento de Software Baseado em Componentes. Paulo C. Masiero
Desenvolvimento de Software Baseado em Componentes Paulo C. Masiero 1 Introdução Frustração com as promessas da Orientação a objetos em relação ao reuso de classes. Frameworks são uma solução para um domínio
Leia maisRequisitos de sistemas
Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento
Leia maisArquitetura de Software
Arquitetura de Software Ponte entre os requisitos do sistema e sua implementação Requisitos do Sistema Arquitetura Arquiteto(s) Implementação do Sistema Arquitetura de Software (AS) Abstração que ajuda
Leia maisDocumento de Arquitetura de Software- SGE
Documento de Arquitetura de Software- SGE IFG Autor: Marcelo Roldrin Barros Silva 1. Introdução 1.1 Finalidade Este documento oferece uma visão geral arquitetural abrangente do sistema SGE (Sistema de
Leia mais2 Fluxos no Ciclo de Vida do Processo Unificado. O Processo Unificado consiste da repetição de uma série de ciclos durante a vida de um sistema.
Processo Unificado Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Ciclo de Vida - Fluxos Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre
Leia mais6.1. Teste Baseado em Gramática e Outras Abordagens de Teste
6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam
Leia maisNotas de Aula 03: Introdução a Orientação a Objetos e a UML
Notas de Aula 03: Introdução a Orientação a Objetos e a UML Objetivos da aula: Introduzir os conceitos da Orientação à Objetos (O.O) Introduzir os conceitos da UML Relacionar os processos às ferramentas
Leia maisExemplos de Estilos Arquiteturais. Estilos Arquiteturais. Estilos Arquiteturais. Estilo: Pipe e Filtros
Estilos Arquiteturais Em geral sistemas seguem um estilo, ou padrão, de organização estrutural Os estilos diferem: nos tipos de componentes que usa na maneira como os componentes interagem com os outros
Leia mais4.6. UML Diagramas de componentes
Engenharia de Software 4.6. UML Diagramas de componentes Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Componentes são partes, executáveis e substituíveis, (idealmente reutilizáveis) de um sistema
Leia maisPCS3413 Engenharia de Software e Banco de Dados
PCS3413 Engenharia de Software e Banco de Dados Aula 23 Escola Politécnica da Universidade de São Paulo 1 Acoplamento! Indica dependência entre classes.! Deve ser o menor possível.! Direcionar associações
Leia maisUML (Unified Modelling Language)
UML (Unified Modelling Language) Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Booch, G. et al. The Unified Modeling Language User Guide
Leia maisPOO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos. POO Paradigma Orientado a Objetos
UEG - Universidade Estadual de Goiás (Câmpus Posse) Disciplina: Análise e Projeto de Sistemas II Turma: 4 Semestre Ano: 2016 Professor: José Ronaldo Leles Júnior O que é? É uma forma de abordar um problema.
Leia maisIntrodução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s
Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas
Leia maisProcesso de Desenvolvimento
Processo de Desenvolvimento RUP Rational Unified Process A Rational e o RUP 4 Rational é conhecida pelo seu investimento em orientação em objetos. 4 A empresa foi a criadora da Unified Modeling Language
Leia maisSOCIEDADE PARANAENSE DE ENSINO E TECNOLOGIA SPET PROGRAMA DE EVOLUÇÃO CONTÍNUA DE QUALIDADE. ES 60 DISCIPLINA: Engenharia de Software II
ES 60 DISCIPLINA: Engenharia de Software II AULA NÚMERO: 6 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar, discutir e exercitar a visão de um sistema a ser projetado. Os principais
Leia mais15/04/2013. Outro Diagrama de Classes. Primeiro Diagrama de Classes. Diagrama de Classes. Atributos. Eduardo Figueiredo
DCC / ICEx / UFMG Primeiro Diagrama de Classes Diagrama de Classes Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Professor Aluno matricula Outro Diagrama de Classes Diagrama de Classes Serve de
Leia maisIntrodução à Engenharia de Software
Introdução à Engenharia de Software Professor: Rômulo César romulodandrade@gmail.com www.romulocesar.com.br Imagem Clássica Objetivo da aula Depois desta aula você terá uma visão sobre o que é a engenharia
Leia maisEngenharia de Software. Projeto de Software. Projeto: definição. Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff
Engenharia de Software Profa. Dra. Lúcia V. L. Filgueiras Profa. Dra. Selma Shin Shimizu Melnikoff Projeto de Software Fundamentos de projeto de software Projeto estruturado Índice do documento de projeto
Leia maisPROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001
PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções
Leia maisARCHITECTURAL DESIGN. Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos
ARCHITECTURAL DESIGN Ian Sommerville, 8º edição Capítulo 11 Aula de Luiz Eduardo Guarino de Vasconcelos Objetivos Tópicos abordados Arquitetura de Software Projeto de arquitetura Vantagens de arquitetura
Leia mais3.1 Reflexão Computacional
3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente
Leia maisFUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ
FUNDAÇÃO UNIVERSIDADE ESTADUAL DE MARINGÁ Centro de Tecnologia - CTC Departamento de Informática - DIN Programa de Pós-Graduação em Ciência da Computação PCC ESTÁGIO DE DOCÊNCIA II Disciplina: Engenharia
Leia maisEngenharia de Software. Projeto de Arquitetura
Engenharia de Software Projeto de Arquitetura O que já vimos? Introdução a Engenharia de Software Processos de Software Desenvolvimento Ágil de Software Engenharia de Requisitos Modelagem de sistemas (outra
Leia maisEstilos Arquiteturais
Estilos Arquiteturais Estilos Arquiteturais A arquitetura de um sistema pode aderir a um ou mais estilos arquiteturais Um estilo define os tipos de elementos que podem aparecer em uma arquitetura e as
Leia maisPor que é importante?
Disciplina: Engenharia de Software 3 Bimestre Aula 5: ENGENHARIA DE SOFTWARE BASEADA EM COMPONENTES Para o desenvolvimento de softwares customizados, a engenharia de software baseada em componentes é uma
Leia maisDIAGRAMAS DE CLASSE UML
DIAGRAMAS DE CLASSE UML Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Calendário de Reposições Aula 1: 27/10/2017, 8h-10h, Sala 8 Aula 2: A verificar Aula 3: A verificar
Leia maisAnálise e Projeto de Software Parte II. Marcos Dósea
Análise e Projeto de Software Parte II Marcos Dósea marcosdosea@gmail.com Agenda Aula III Análise de Software Orientado à Objetos Motivação Marcos Dósea marcosdosea@gmail.com O que é análise e projeto?
Leia maisADLs. Em geral cada ADL oferece capacidades específicas
ADLs Em geral cada ADL oferece capacidades específicas AESOP: permite o uso de estilos arquiteturais ADAGE: permite a descrição de frameworks arquiteturais para sistemas de aviação C2: permite a descrição
Leia maisAnalista de Sistemas S. J. Rio Preto
RATIONAL ROSE TUTORIAL Conteúdo: 1. Bem-vindo ao Rational Rose tutorial Rational Rose é um conjunto de ferramentas de modelagem visual usadas para desenvolvimento de soluções de software eficientes, robustas,
Leia maisIntrodução à UML. Prof. Jesus José de Oliveira Neto
Introdução à UML Prof. Jesus José de Oliveira Neto UML Linguagem de Modelagem Unificada Linguagem visual utilizada para modelar softwares baseados no paradigma de orientação a objetos UML não é uma linguagem
Leia maisFrom Business Architecture to Software Architecture
O que será estudado neste captítulo? From Business Architecture to Software Architecture Luiz Luz luizluz@gmail.com Neste capítulo é apresentado como a modelagem de processo de negócio é utilizada no processo
Leia mais2
ANÁLISE DE SISTEMAS (processo de desenvolvimento de sistemas) por Antônio Maurício Pitangueira 1 2 Levantamento de requisitos Análise de requisitos Projeto Implementação Testes Implantação Foco da disciplina
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisSistemas Distribuídos
Sistemas Distribuídos Arquitetura de Sistemas Distribuídos Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 - Arquitetura Em sistemas distribuídos a meta é separar aplicações das plataformas subjacentes,
Leia mais3 Trabalhos relacionados
3 Trabalhos relacionados Adaptação e implantação dinâmicas são requisitos de aplicações em diversos domínios. Diversas abordagens são capazes de promover adaptação e implantação em tempo de execução. Alguns
Leia maisFrom Business Architecture to Software Architecture
O que será estudado neste captítulo? From Business Architecture to Software Architecture Luiz Luz luizluz@gmail.com Neste capítulo é apresentado como a modelagem de processo de negócio é utilizada no processo
Leia maisSistemas de Arquivos Distribuídos. Bruno M. Carvalho Sala: 3F2 Horário: 35M34
Sistemas de Arquivos Distribuídos Bruno M. Carvalho Sala: 3F2 Horário: 35M34 Introdução Serviço de arquivos descreve os serviços oferecidos pelo sistema de arquivos aos clientes Servidor de arquivos processo
Leia maisModelagem de Sistemas Web. Modelagem de BD
Modelagem de Sistemas Web Aula 9 Modelagem de BD OBS: Pré-requisito: noções intermediárias em BD e de modelo ER Fonte: Proj. e Mod. BD 4/E Capítulo: Análise de Req. E Mod. Dados Conceit. - Toby Teorey
Leia maisDiagramas. Abordaremos agora cada um destes tipos de diagrama: 1. Diagrama Use-Case. 2. Diagrama de Colaboração. 3. Diagrama de Sequência
Diagramas Os diagramas utilizados pela UML são compostos de nove tipos: diagrama de use case, de classes, de objecto, de estado, de sequência, de colaboração, de actividade, de componente e o de instalação/execução.
Leia maisArquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999
Arquitetura de Software Parte 1/3 Introdução* Jorge H. C. Fernandes Junho de 1999 Arquitetura de Software Este curso é baseado no livro Software Architecture in Practice, de Len Bass, Paul Clements and
Leia maisProfessor Emiliano S. Monteiro
Professor Emiliano S. Monteiro To-Do Doing Done Conhecer os processos de desenvolvimento habilita o aluno a realizar uma melhor escolha de processo para uso em projetos futuros. A vantagem de conhecer
Leia maisReuso de Software Aula Maio 2012
Reuso de Software Aula 19 Tópicos da Aula Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Componentes Modelos de Componentes
Leia maisEngenharia 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
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 Cronograma das Aulas. Hoje você está na aula Semana
Leia maisEstilo: BlackBoard. BlackBoard = repositório de dados compartilhados
Estilo: BlackBoard Útil para problemas no qual não há uma solução determinística Uma coleção de programas independentes que trabalham cooperativamente em uma estrutura de dados comum (blackboard) Vários
Leia maisAnálise de Sistemas. Aula 5
Análise de Sistemas Aula 5 Prof. Emerson Klisiewicz CONTEXTUALIZAÇÃO Aula 5 Análise Orientada a Objetos Introdução a UML Histórico e Visão Geral Ferramentas CASE O Sucesso... Clientes satisfeitos Eles
Leia maisModelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo ER; Modelo de dados relacional; Mapeamento ER para o
Universidade Estadual de Mato Grosso do Sul Ciência da Computação Banco de Dados Prof. Nilton nilton@comp.uems.br Modelagem Conceitos e arquitetura do SBD; Modelo de dados entidade-relacionamento modelo
Leia maisUNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA Sistemas Distribuídos Mestrado em Ciência da Computação 1o. Semestre / 2006 Prof. Fábio M. Costa fmc@inf.ufg.br www.inf.ufg.br/~fmc/ds-msc2006 Aula
Leia maisIntrodução ao Processo Unificado. Prof. Edjandir Corrêa Costa
Introdução ao Processo Unificado Prof. Edjandir Corrêa Costa edjandir.costa@ifsc.edu.br O Processo Unificado O processo unificado (Unified Process UP, ou em português, PU) é um processo de desenvolvimento
Leia maisARQUITETURA E DESENHO
ARQUITETURA E DESENHO DE SOFTWARE CMP 1063 Prof. Me. Fábio Assunção Parte 1 ARTEFATO Pelo dicionário: 1. Produto de trabalho mecânico; objeto, dispositivo, artigo manufaturado. 2. Aparelho, engenho, mecanismo
Leia mais5 Arquitetura de implementação
Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo
Leia mais3 Uma Arquitetura Distribuída via WEB
24 3 Uma Arquitetura Distribuída via WEB Neste capítulo será apresentada a Arquitetura de Ambiente Distribuído no qual está implementado o Gerador VRML (VRMLGer) e o fluxo de dados que há entre as diferentes
Leia maisUML Diagramas Estruturais Diagrama de Componentes
UML Diagramas Estruturais Diagrama de Componentes Representa um modelamento físico dos componentes de software de um determinado Sistema Um componente realiza um conjunto de interfaces e contém em seu
Leia mais3ª Aula. Processo de Projeto em SE Exemplo de projeto: Sistema de Mapa GPS. Introdução. PSI3441 Arquitetura de Sistemas Embarcados
PSI3441 Arquitetura de Sistemas Embarcados 3ª Aula Processo de Projeto em SE Exemplo de projeto: Sistema de Mapa GPS Introdução Nesta aula veremos a Seção 1.3. A Seção 1.3: Visão geral de projeto de SE
Leia maisCBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013
DCC / ICEx / UFMG CBSE Engenharia de Software baseada em Componentes (CBSE) Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo A CBSE foi proposta na década de 90 Foi motivado pelo limitado suporte
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA UML UNIFIED MODELING LANGUAGE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br O que é?? 2 A UML
Leia maisPROJETO DE ARQUITETURA
PROJETO DE ARQUITETURA Projeto Detalhado de Software (PDS) Profa. Cynthia Pinheiro Antes de mais nada... Próximas aulas: Seminários de Padrões de Projeto GoF 1º Dia: 10/11/2017, 08h 10h, Sala 04 2º Dia:
Leia maisEngenharia de Domínio e Desenvolvimento Baseado em Componentes. Processo DBC-Arch-DE Apoio do Ambiente Odyssey no Processo Considerações Finais
Um Processo de Engenharia de Domínio com foco no Projeto Arquitetural Baseado em Componentes Ana Paula Blois Cláudia Werner Karin Becker Agenda Motivação Engenharia de Domínio e Desenvolvimento Baseado
Leia mais5 Implementação 5.1 Plataforma 5.2 Arquitetura
5 Implementação Neste capítulo são apresentados os detalhes sobre a implementação da ferramenta. São discutidas as tecnologias envolvidas, assim como as limitações e problemas encontrados durante o desenvolvimento.
Leia maisUML. Modelando um sistema
UML Modelando um sistema Fases do desenvolvimento de Software Análise de requisitos Análise Projeto Programação Análise de Requisitos Esta fase captura as intenções e necessidades dos usuários do sistema
Leia maisUniversidade Federal de Goiás Estilos Arquiteturais
Universidade Federal de Goiás Estilos Arquiteturais Prof. Helder Brito Nascimento Instituto de Informática helderbn@gmail.com O que é um estilo de arquitetura Como você diferencia uma construção da outra?
Leia maisAnálise de Sistemas 4º Bimestre (material 3)
Análise de Sistemas 4º Bimestre (material 3) Permite a visualização das classes que irão compor o sistema com seus respectivos atributos e métodos, bem como demonstrar como elas se relacionam, complementam
Leia maisAgenda da Aula. Arquitetura de Software e Padrões Arquiteturais. Elementos de um Padrão. Arquitetura de Software. Arquitetura de Software
Reuso de Software Aula 04 Agenda da Aula Arquitetura de Software e Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com 14 Março 2012 Arquitetura de Software Padrões arquiteturais
Leia maisModelagem de Sistemas
Lista de Exercícios AV2 Luiz Leão luizleao@gmail.com http://www.luizleao.com Questão 1 Quais os elementos básicos de um Diagrama de Casos de Uso? Descreva-os Questão 1 Resposta Quais os elementos básicos
Leia maisDiagramas de Classes. ESII Profª. Andressa Falcade URI Santiago
Diagramas de Classes Conceitos Básicos O caso de uso fornece uma perspectiva do sistema de um ponto de vista externo (do ator) Internamente os objetos colaboram para atender às funcionalidades do sistema
Leia maisAula 01 Conceito de Banco de Dados e SGBD
Aula 01 Conceito de Banco de Dados e SGBD Dado: conjunto de símbolos arranjados a fim de representar a informação fora da mente humana. Elemento de Dado: subconjunto de símbolos que compõem um dado com
Leia maisArquitetura de Software
Arquitetura de Software Jair C Leite Arquitetura e Engenharia Qual o papel da arquitetura e da engenharia... Na construção civil edifícios, pontes, estradas, etc.? Na indústria automobilística? Na indústria
Leia maisEngenharia de Software Processo de Desenvolvimento. Ciclo de Vida - Modelo Cascata
Processo de Desenvolvimento Também chamado de ciclo de vida do software Reflete os passos necessários para se construir um produto de software Existem vários modelos de ciclo de vida Cascata (1956) Iterativo
Leia maisEspecificação de Sistemas e SysML
Especificação de Sistemas e SysML Centro de Informática - Universidade Federal de Pernambuco Engenharia da Computação Kiev Gama kiev@cin.ufpe.br Slides elaborados pelos professores Marcio Cornélio e Kiev
Leia maisProjeto de Arquitetura
Projeto de Arquitetura Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 11 Slide 1 Objetivos Apresentar projeto de arquitetura e discutir sua importância Explicar as decisões de projeto
Leia maisINF1404 MODELAGEM DE SISTEMAS
INF1404 MODELAGEM DE SISTEMAS Bacharelado em Sistemas de Informação Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 Princípios de Modelagem O Paradigma Funcional O Paradigma Orientado a Objetos
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia maisEstrutura do Sistema Operacional
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 04 Estrutura do Sistema Operacional 2 1 Estrutura do Sistema Operacional
Leia maisIFSC/Florianópolis - CTI - Projeto de Sistemas - prof. Herval Daminelli
Um dos diagramas mais importantes da UML; Permite visualizar as classes que comporão o sistema, seus atributos e métodos; Demonstra como as classes do diagrama se relacionam e transmitem informações entre
Leia maisINSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE CAMPUS JOÃO CÂMARA ENGENHARIA DE SOFTWARE Nickerson Fonseca Ferreira nickerson.ferreira@ifrn.edu.br Introdução 2 Antes de qualquer
Leia maisModelagem de dados usando MER. Andre Noel
Modelagem de dados usando MER Andre Noel Introdução Introdução Modelagem conceitual Introdução Modelagem conceitual Modelo Entidade-Relacionamento (MER) Modelo de dados conceitual popular de alto nível
Leia maisIntrodução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos
Introdução Laboratório de Computação para Ciências Módulo II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Mestrado Profissional
Leia maisPanorama da notação UML
Panorama da notação UML A notação UML (Unified Modeling Language linguagem de modelagem unificada) evoluiu desde que foi adotada a primeira vez como um padrão em 1997. Uma revisão maior para o padrão foi
Leia maisUML 2.0 Método, Linguagem e Ferramenta. Prof. Cesar Augusto Tacla
UML 2.0 Método, Linguagem e Ferramenta Prof. Cesar Augusto Tacla Conteúdo do Curso MÉTODO RUP FERRAMENTA Visual Paradigm Enterprise Architect LINGUAGEM UML UML: Unified Modeling Language Linguagem padrão
Leia maisCurso de Sistemas de Informação. Karla Donato Fook DESU / DComp. Modelagem de Dados UML
Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DComp 2017 Modelagem de Dados UML 2 1 Eduardo Bezerra Editora Campus/Elsevier Porcentagem de projetos que terminam dentro do
Leia maisAnálise de Sistemas 3º Bimestre (material 2)
Análise de Sistemas 3º Bimestre (material 2) Professor: José Ronaldo Leles Júnior Turma: 2º ano do curso de Sistemas de Informação UEG Universidade Estadual de Goiás Campus Posse POO Paradigma Orientado
Leia maisPROJETO DE PROGRAMAS. Projeto de Programas PPR0001
PROJETO DE PROGRAMAS Projeto de Programas PPR0001 Desenvolvimento de Software 2 3 Desenvolvimento de Software Análise de Requisitos Distinguir e dividir o sistema em componentes: Analisar os componentes
Leia mais