Objetos Distribuídos Frameworks Orientados a Objetos.

Slides:



Advertisements
Apresentações semelhantes
Projeto Qualified Curriculum
Advertisements

Desenvolvimento de aplicativos Orientados a Objetos: Definição e Características THIAGO IDEALI.
Engenharia de Software
ISO Processos do Ciclo de Vida do Software
Engenharia de Software
Engenharia de Software
Projeto de Sistemas de Software Sérgio Luiz Ruivace Cerqueira
Metodologias Equipe do Curso de ES para SMA
Component-Based Frameworks for E-Commerce Agnaldo Kiyoshi Noda.
RUP Rational Unified Process (Processo Unificado de Desenvolvimento da Rational) 1.
Introdução Questões Básicas de Projeto Requisitos do Usuário
Objetos de Negócio CORBA
Computação Distribuída
Prof. João Bosco M. Sobral
Gestão de projetos de Software GTI-16
Introdução ao paradigma de programação: Orientado a Objetos
Reutilização de Software
Fundação Aplicações de Tecnologias Críticas - Atech
Introdução Visão Geral do Método.
Aspectos Avançados em Engenharia de Software Aula 3 Fernanda Campos
RUP: Fluxo de Análise e Projeto
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Copyright Marcos L. Chaim 2005 Princípios de Projeto de Software Orientado a Objetos Segundo Semestre 2005 Marcos L. Chaim ACH Turma 02 EACH – USP.
RUP - Cap. 2 – Os 4 P’s (Pessoas, Projeto, Produto e Processo)
RUPinho Qualidade de Software
Arquitetura de software
Análise e Projeto de Sistemas
Análise e Projeto de Sistemas UNIVERSIDADE DE CRUZ ALTA Ciência da Computação 2010/1.
Engenharia de Software
Objetivos das Atividades de Implementação • Implementar as classes do modelo de projeto em termos de componentes (código fonte ou executável, etc.) •
Qualidade do Produto de Software
 Adelino Moreira Marcial Neto  Alex A. Toniatto  Gabriela Santini.
Design Pattern 4 Fundamentos da Engenharia de Software –Leonardo de França Rosa –Rodrigo de Carvalho Rocha.
Orientação a Objetos Parte I
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Introdução à Engenharia de Software
SISTEMAS DISTRIBUIDOS Aula 4
Bruno Silva Desenvolvido a partir de
O Processo Unificado (UP)
Processos.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Processos de Software.
Requisitos de Software
Desenvolvimento de Software Dirigido a Modelos
Padrões de Projeto Abstract Factory.
Padrão de desenvolvimento
© 2007 by Pearson Education ©Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reuso de Software.
Design Patterns A adoção dos padrões terá um efeito profundo e duradouro sobre a forma de escrevermos programas Ward Cunningham e Ralph Johnson.
Infra-Estrutura para Computação Distribuída
Arquitetura de Sistemas Envolve os seguintes aspectos
Padrões de projeto M.Sc. Sílvio Bacalá Jr..
Desenvolvimento Global de Software
Frameworks e Componentes Daniel Fernando Pavelec.
CloudSim Um framework para modelagem e simulação de infraestrutura e serviços de Computação em Nuvem.
Processo e Qualidade.
Análise e Projeto de Sistemas
Diagrama de Objetos.
Profa. Reane Franco Goulart. É uma representação de engenharia de algo que vai ser construído. Para a engenharia de software o projeto foca em quatro.
UML (Unified Modeling Language) Linguagem Unificada de Modelagem
PADROES DE PROJETO PROF. OSIEL MARLON. PADRÕES DE PROJETO INTRODUÇÃO Padrões de projeto têm emergido como uma das mais promissoras abordagens para a melhoria.
Engenharia de Requisitos Prof. Fábio Botelho, MSc Redes e Sistemas Distribuídos Recife, Agosto de 2012.
©2003, Alexandre Vasconcelos & Augusto Sampaio CIn-UFPE1/38 Análise e Projeto de Sistemas Introdução à Análise e ao Projeto de Software.
APSI II Análise e Projeto de Sistemas de Banco de Dados II.
IF 718 Análise e Projeto de Sistemas Augusto Sampaio Vitor Braga (Estágio docência) Camila Sá (Monitora) Parte do material cedido pela Qualiti Software.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
/ de Julho de UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática Pós-Graduação em Ciência da Computação Tópicos Avançados.
CIn-UFPE1 Análise e Projeto de Sistemas Introdução ao Projeto de Software.
Testes de Unidade. 2 Pauta Testes de Unidade; Testes de Unidade; Desenvolvimento orientado a testes; Desenvolvimento orientado a testes; Testes unitários.
Transcrição da apresentação:

Objetos Distribuídos Frameworks Orientados a Objetos

Construção de Aplicações A primeira geração de OO situou-se sobre bibliotecas de classes para empacotar objetos para reutilização. Uma abordagem mais promissora é usar um framework de objetos. Frameworks são bibliotecas de classes pré- montadas que são empacotadas para provê funcões específicas. Frameworks tornará mais fácil montar aplicações com objetos. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Abordagem de Descrição de Domínio Um framework é uma estrutura de classes interrelacionadas, que corresponde a uma implementação incompleta para um conjunto de aplicações de um domínio. Esta estrutura de classes deve ser adaptada para a geração de aplicações específicas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Abordagem de Descrição de Domínio A abordagem de frameworks orientados a objetos produz uma descrição de um domínio para ser reutilizada. Um framework é um esqueleto de implementação de uma aplicação ou de um subsistema de aplicação, em um domínio de problema particular. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Classes Abstratas e Concretas Um framework é composto de classes abstratas e concretas e provê um modelo de interação ou colaboração entre as instâncias de classes (objetos) definidas pelo framework. Um framework é uma coleção de classes abstratas e concretas e as interfaces entre elas, e é o projeto de um subsistema. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Framework Frameworks não são simplesmente coleções de classes. Ao contrário, são caracterizados com rica funcionalidade e interconexões entre classes de objetos, que provêem uma infraestrutura para o desenvolvedor. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Framework Uma classe abstrata é um projeto para um único objeto. Um framework é o projeto de um conjunto de objetos que colaboram para executar um conjunto de responsabilidades. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Uso de Framework Um framework é uitilizado através de configuração ou conexão de classes concretas e derivação de novas classes concretas a partir das classes abstratas do framework.... não apenas classes, mas a forma como as instâncias das classes colaboram... Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Framework e Reutilização A diferença fundamental entre um framework e a reutilização de classes de uma biblioteca. É que neste segundo caso são usados artefatos de software isolados, cabendo ao desenvolvedor estabelecer sua interligação, e no caso do framework, é procedida a reutilização de um conjunto de classes interrelacionadas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Desenvolvimento de Aplicações Aplicação desenvolvida totalmente. Aplicação desenvolvida reutilizando classes de biblioteca. Aplicação desenvolvida reutilizando um framework. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Caracterização de um Framework Os frameworks fornecem infraestrutura de projeto disponibilizada ao desenvolvedor da aplicação, que reduz a quantidade de código a ser desenvolvida, testada e depurada. As interconexões preestabelecidas definem a arquitetura da aplicação, liberando o desenvolvedor desta responsabilidade. O código escrito pelo desenvolvedor visa estender ou particularizar o comportamento do framework. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Caracterização de Framework Um papel do framework é fornecer o fluxo do controle da aplicação. Assim, em tempo de execução as instâncias das classes desenvolvidas esperam ser chamadas pelas instâncias das classes do framework. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Geração de Aplicações Um framework se destina a gerar diferentes aplicações para um domínio. Precisa, então, conter uma descrição dos conceitos deste domínio. As classes abstratas de um framework são os repositórios dos conceitos gerais do domínio de aplicação. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Geração de Aplicações No contexto de um framework, um método de uma classe abstrata pode ser deixado propositalmente incompleto para que sua definição seja acabada na geração de uma aplicação. Apenas os atributos a serem utilizados por todas as aplicações de um domínio são incluídos em classes abstratas. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Ótica de Reuso Os frameworks invertem a ótica de reuso das classes, da abordagem bottom-up para a abordagem top-down: o desenvolvimento inicia com o entendimento do sistema contido no projeto do framework, e segue no detalhamento das particularidades da aplicação específica, o que é definido pelo usuário do framework. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Ótica de Reuso Assim, a implementação de uma aplicação a partir do framework é feita pela adaptação de sua estrutura de classes, fazendo com que esta inclua as particularidades da aplicação. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Granularidade Nível de granularidade de um framework: 1. Podem conter o projeto genérico completo para um domínio de aplicação, ou... Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Frameworks como Patterns 2. Frameworks podem oferecer simples patterns que guiam a colaboração de objetos de modo que eles possam modelar as aplicações do mundo real. Poucas e pequenas construções de alto nível que solucionam situações comuns em projetos, a serem usadas como partes de um projeto (Design Patterns). Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro

Design Patterns Um design pattern é uma solução efetiva para um problema de projeto importante. É reutilizável, no que é aplicável a uma gama de problemas de projeto em uma ampla variedade de diferentes circunstâncias. Patterns são soluções de projeto e implementação, expressas em termos de moldes semi-implementados. Computação Distribuída UNIRONDON - Cuiabá - MT João Bosco Mangueira Sobral Daniela Barreiro Claro