Aspect-Oriented Programming AOP. Comentários Sérgio Crespo
|
|
- Bernadete Franca Caiado
- 8 Há anos
- Visualizações:
Transcrição
1 Aspect-Oriented Programming AOP Comentários Sérgio Crespo
2 Separation of Concerns O princípio de Separation of Concerns já é utilizado por engenheiros de software para o gerenciar a complexidade de sistemas de software. Concern o que é? Segundo o Webster(dicionário): s. negócio, assunto, interesse, incumbência, solicitude, cuidado, inquietação, preocupação. Vt. Pertencer, dizer respeito a, preocupar, afligir, interessar, relacionar-se.
3 Separation of Concerns Separation of Concerns??? É um conceito central em engenharia de software. Ele trata da habilidade de identificar, encapsular e manipular assuntos relavantes de um software para um objetivo particular. Este conceito permite que softwares possam ser organizados e decompostos em assuntos gerenciáveis e de fácil manipulação.
4 OOP - revisão UFBA Departameto de Ciência da Computação junho 2003
5 OOP - Limitações
6 OOP - Limitações UFBA Departameto de Ciência da Computação junho 2003
7 OOP - Limitações UFBA Departameto de Ciência da Computação junho 2003
8 OOP - Limitações UFBA Departameto de Ciência da Computação junho 2003
9 OOP - Limitações UFBA Departameto de Ciência da Computação junho 2003
10 OOP - Limitações UFBA Departameto de Ciência da Computação junho 2003
11 OOP - Limitações Solução usando Padrões! UFBA Departameto de Ciência da Computação junho 2003
12 AOP: Definição Aspect Oriented Programming é uma nova técnica de programação que oferece uma linguagem explicita para suporte a modularização de decisões de design que atalha (cross-cut) as funcionalidades de um programa.
13 Programming Aspect Oriented Programming é uma nova técnica de programação que oferece uma linguagem explicita para suporte a modularização de decisões de design que atalha (cross-cut) as funcionalidades de um programa. Como isso se reflete em PROGRAMAS???
14 Programming Representação no mundo binário Objetos São uma boa alternativa para facilitar separation of concerns. Eles nos permitem utilizar o conceito de encapsulamento de unidades de funcionalidades em várias níveis, de simples estruturas de dados a GUI até servidores de rede, dentro de classes bem definidas! MAS objetos são limitados em suas habilidades para modularizar concerns que não estejam localizados dentro de classes!
15 AOP - Motivação
16 AOP - Motivação
17 AOP Motivação Por exemplo, considere uma aplicação bancária escrita em Java que possui um método que simplesmente transfere um valor de uma conta para outra:
18 AOP Motivação Porém, numa aplicação bancária construída para o mundo real, este método de transferência está longe do adequado. É necessário incluir verificações de segurança, que determinam se o usuário possui autorização para realizar a operação. É preciso também "envolver" a operação em uma transação para prevenir perda de dados. Finalmente, é preciso fazer o log dos dados da aplicação. Uma versão simplificada que contém estes novos objetivos (concerns) é mostrada a seguir:
19 AOP Motivação
20 AOP Motivação
21 Programming O que é um Aspect? É uma nova unidade de software, que aparece para oferecer melhor manipulação e atalhos de concerns. Assim como objetos, Aspects podem tanto ser utilizados nas etapas de design bem como de implementação. Design: permite se pensar mais facilmente em definir composição e ou atalhos sobre concerns. Implementação: AOP Languages permite implementar mais facilmente os atalhos definidos no design.
22 Programming Um Aspect NÃO está presente dentro de uma classe! Logo um Aspect oferece mais semântica a uma classe presente em um design. Um Aspect modulariza o código para um determinado concern e descreve como o código do concern deve ser integrado ou entrelaçado no código do sistema de software.
23 Programming O que AOP pode realizar? Capturar o histórico, depurar e oferecer instrumentos de suporte para sistemas complexos por meio de pequenos ou poucos Aspects, em vez de multiplos fragmentos de códigos macarronicos dentro de classes. Capturar recursos que podem ser compartilhados em algoritmos envolvendo várias classes por meio de um simples Aspect. Capturar erros de manipulação de protocolos etc..
24 Programming Sistema de software Design Aspects Aspects Aspects
25 Crosscutting A AOP permite ao programador separar os interesses comuns do sistema (que fogem a típica divisão de classes). Esses comportamentos não se encaixam naturalmente dentro de um modulo de um programa. Esse tipo de comportamento é conhecido como um comportamento que crosscutting (atravessa) o sistema Na OOP a unidade natural de modularização é a classe, e um comportamento do tipo crosscutting está espalhado em varias classes
26 Crosscutting UFBA Departameto de Ciência da Computação junho 2003
27 Aplicações da AOP Logging, tracing e profiling Garantir o cumprimento de regras arquiteturais Otimização: pooling e caching Acesso a recursos compartilhados em sistemas concorrentes Autenticação e autorização Acesso transacional
28 Benefícios da programação orientada a aspectos Menos responsabilidades em cada parte - Como interesses entrecortantes são separados em seus próprios módulos, as partes do programa que lidam com a lógica de negócios não ficam poluídas com código que lida com interesses periféricos. Melhor modularização - Como os módulos em AOP não se chamam diretamente, há uma redução no nível de acomplamento. Evolução facilitada - Novos aspectos podem ser acrescentados facilmente sem necessidade de alterar o código existente Mais possibilidades de reutilização - Como o código não mistura interesses, aumentam-se as possibilidades de se reutilizar módulos em sistemas diferentes.
29 AOP Elementos Básicos Um ponto de junção é qualquer ponto identificável durante a execução de um programa. Aspectos podem ser associados a pontos de junção e executados antes, depois, ou ao invés deles. Existem diversos pontos de junção reconhecidos pelo AspectJ: Chamada de métodos Execução de métodos Construtores Acesso aos campos Tratamento de exceções Inicialização de classes
30 AOP Elementos Básicos Pontos de corte (pointcuts) Um ponto de corte (pointcut) é uma construção sintática para se agrupar um conjunto de pontos de junção. Sua sintaxe básica é a seguinte (ilustrada com um exemplo): public pointcut nome() : call (void Receita.print()) A primeira parte é a declaração de restrição de acesso nesse caso, public, mas pointcuts podem ser private ou protected. A palavra chave pointcut denota que estamos declarando um ponto de corte. Todo pointcut tem um nome qualquer, e pode receber parâmetros nesse caso, o pointcut não recebe parâmetros. Depois dos dois pontos (:) obrigatórios vem o tipo dos pontos de junção agrupados pelo pointcut nesse caso temos um pointcut do tipo call, que indica uma chamada de método. Finalmente vem a assinatura do pointcut, uma especificação dos pontos de junção aos quais o pointcut se refere.
31 AOP Elementos Básicos Pontos de corte (pointcuts)
32 AOP Elementos Básicos Advice Advice é uma estrutura que denota o que um aspecto deve fazer, ou seja, qual o comportamento do aspecto. Em termos mais formais, o advice designa a semântica comportamental do aspecto. Todo advice está associado a um pointcut, que define pontos de junção. Há três tipos de advice: before: executa antes do ponto de junção after: executa depois do ponto de junção around: executa "em volta" do ponto de junção; esse tipo de advice serve para substituir a execução do ponto de junção pela execução do advice, ou executar parte do advice antes do ponto de junção e outra parte depois. UFBA Departameto de Ciência da Computação junho 2003
33 Relembrando Ponto de junção: um ponto de junção (join point) é qualquer ponto identificável durante a execução de um programa (Chamada de métodos, Execução de métodos, Construtores, Acesso aos campos,tratamento de exceções, Inicialização de classes) Pontos de corte: Um ponto de corte (pointcut) é uma construção sintática para se agrupar um conjunto de pontos de junção. Advice: é uma estrutura que denota o que um aspecto deve fazer, ou seja, qual o comportamento do aspecto. Em termos mais formais, o advice designa a semântica comportamental do aspecto. Todo advice está associado a um pointcut, que define pontos de junção. advice é definido de maneira similar ao método. Porém, o advice nunca é invocado explicitamente. Ele é invocado somente quando um pointcut ligado a ele tem resultado igual a true (verdadeiro)
34 Exemplo UFBA Departameto de Ciência da Computação junho 2003
35 Exemplo UFBA Departameto de Ciência da Computação junho 2003
36 Arquiteturas Orientadas a AOP
37 Arquiteturas Orientadas a AOP Uma Arquitetura de Software é composta por um conjunto de aspectos Neste caso,um aspecto é um componente composto e o join point é um conector! Ponto de junção: um ponto de junção (join point) é qualquer ponto identificável durante a execução de um programa (Chamada de métodos, Execução de métodos, Construtores, Acesso aos campos,tratamento de exceções, Inicialização de classes)
38 Arquiteturas Orientadas a AOP
39 Ferramentas - Ambientes
40 AspectJ AspectJ é uma linguagem de aspecto, ela é uma extensão da linguagem Java. Conta com um montador (Weaver) para unir o programa de componente com o programa de aspecto.
41 AspectJ
42 AspectJ - Site
43 AOSD - Site
44
45
46
47
48
49
50
51
52
53
54 AOP: temas correlatos Subject Oriented Programming Meta-Programação Programação Adaptativa Filter Composition
55 AOP: Referências Site do software AspectJ que extende Java para suportar o conceito de Aspects. Connections between Demeter/Adaptive Programming and Aspect-Oriented Programming (AOP) Evaluating Emerging Software Development Technologies Lessons Learned from Assessing Aspect-oriented Programming
56 AOP: Artigos interessantes Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-oriented Programmaning Mik Kerrsten and Gail C. Murphy Aspect-Oriented Programming Gregor Kiczales, john Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, John Irwin An Initial Assessment of Aspect-oriented Programming Robert J. Walker, Elisa L.A. baniassad and Gail Murphy FAQ e Overview do site da xerox
2 Desenvolvimento de Software Orientado a Aspectos
2 Desenvolvimento de Software Orientado a Aspectos Separação de concerns é um princípio bem estabelecido da engenharia de software que diz que, para se dominar a complexidade do desenvolvimento de software,
Leia maisProgramação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com
Programação Orientada a Aspectos Aplicada. Charles Wellington de Oliveira Fortes chalkmaster@gmail.com Resumo: Demonstrar de forma clara e prática como a Programação Orientada a Aspectos pode ajudar a
Leia maisProgramação Orientada a Aspectos
Programação Orientada a Aspectos Uma Breve Introdução Universidade Estadual do Oeste do Paraná Centro de Ciências Exatas e Tecnológicas Colegiado de Informática Prof. Luiz Antonio Roteiro Introdução Evolução
Leia maisImplementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Leia maisProgramação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos
Programação Estruturada e Orientada a Objetos Fundamentos Orientação a Objetos 2013 O que veremos hoje? Introdução aos fundamentos de Orientação a Objetos Transparências baseadas no material do Prof. Jailton
Leia maisParadigmas de Linguagens de Programação
Paradigmas de Linguagens de Programação Faculdade Nova Roma Cursos de Ciências da Computação (6 Período) Prof Adriano Avelar - Site: wwwadrianoavelarcom Email: edsonavelar@yahoocombr PROGRAMAÇÃO ORIENTADA
Leia maisIdentificação de Interesses Transversais: Uma Visão Geral
Identificação de Interesses Transversais: Uma Visão Geral Paulo Afonso Parreira Júnior paulojunior@jatai.ufg.br 24 de Maio de 2013 Agenda Breve Histórico sobre Desenvolvimento de Software Separação de
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Curso: Sistemas de Informação Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 3 Introdução à Arquitetura de Software (continuação)
Leia maisENGENHARIA DE SOFTWARE I
ENGENHARIA DE SOFTWARE I Prof. Cássio Huggentobler de Costa [cassio.costa@ulbra.br] Twitter: www.twitter.com/cassiocosta_ Agenda da Aula (002) Metodologias de Desenvolvimento de Softwares Métodos Ágeis
Leia maisAspectJ em 20 minutos
AspectJ em 20 minutos Diogo Vinícius Winck (diogo.winck@gmail.com) Vicente Goetten (goetten@gmail.com) 1. Introdução A Orientação a Objetos está consolidada. Entretanto, nem todas as promessas que este
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisApesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:
1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que
Leia maisRoteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido
Arquitetura Roteiro Arquitetura Tipos de Arquitetura Centralizado Descentralizado Hibrido Questionário 2 Arquitetura Figura 1: Planta baixa de uma casa 3 Arquitetura Engenharia de Software A arquitetura
Leia maisDesenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA
Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA RESUMO Ricardo Della Libera Marzochi A introdução ao Service Component Architecture (SCA) diz respeito ao estudo dos principais fundamentos
Leia maisSeparação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código
Análise e Projeto Orientados a Aspectos Alcides Pamplona alcides.pamplona@gmail.com Tópicos Separação de Interesses Programação Estruturada e Entrelaçamento de Código Espalhamento de Código 1 Separação
Leia maisOUTROS PARADIGMAS: PROGRAMAÇÃO
OUTROS PARADIGMAS: PROGRAMAÇÃO CONCORRENTE, MODELO DE DADOS RELACIONAL (SQL), REDES DE PETRI, ORIENTAÇÃO A ASPECTOS Luenne Nailam e Uendson Teles PROGRAMAÇÃO CONCORRENTE PROGRAMA O que é um Programa? O
Leia maisTecnologias Web. Padrões de Projeto - Camada de Apresentação
Tecnologias Web Padrões de Projeto - Camada de Apresentação Cristiano Lehrer, M.Sc. Padrões da Camada de Apresentação (1/2) Intercepting Filter Viabiliza pré e pós processamento de requisições. Front Controller
Leia maisAnálise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 1 Prof. Cristóvão Cunha Objetivos de aprendizagem
Leia maisProcessos Técnicos - Aulas 4 e 5
Processos Técnicos - Aulas 4 e 5 Trabalho / PEM Tema: Frameworks Públicos Grupo: equipe do TCC Entrega: versão digital, 1ª semana de Abril (de 31/03 a 04/04), no e-mail do professor (rodrigues.yuri@yahoo.com.br)
Leia maisSoftwares Aplicativos Banco de Dados
Softwares Aplicativos Banco de Dados INTRODUÇÃO À ENGENHARIA DA COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Serviços 3. Usuários 4. Evolução 5. Exemplos 03 Banco
Leia maisWilson Moraes Góes. Novatec
Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,
Leia maisLINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
Leia maisLaboratório de Redes. Professora Marcela Santos marcela@edu.estacio.br
Laboratório de Redes Professora Marcela Santos marcela@edu.estacio.br Active Directory (AD) Samba Máquina virtual Criação de uma máquina virtual Instalação do Windows Server O Active Directory (AD) é um
Leia mais3 SCS: Sistema de Componentes de Software
3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário
Leia maisHistórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial
1 of 14 27/01/2014 17:33 Sistema de Paginação de Esportes Universitários Documento de Arquitetura de Software Versão 1.0 Histórico da Revisão Data 30 de novembro de 1999 Versão Descrição Autor 1.0 Versão
Leia maisATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS
ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o
Leia maisOrientação à Objetos. Aécio Costa
Aécio Costa O paradigma da orientação à objetos Paradigma? Um paradigma é uma forma de abordar um problema. No contexto da modelagem de um sistema de software, um paradigma tem a ver com a forma pela qual
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisIBM Software Demos The Front-End to SOA
Hoje em dia, as pequenas e grandes empresas utilizam software baseado em uma arquitetura voltada para serviços, ou SOA, para promover a inovação, otimizar processos comerciais e aumentar a eficiência.
Leia maisBARRAMENTO DO SISTEMA
BARRAMENTO DO SISTEMA Memória Principal Processador Barramento local Memória cachê/ ponte Barramento de sistema SCSI FireWire Dispositivo gráfico Controlador de vídeo Rede Local Barramento de alta velocidade
Leia maisSistemas Distribuídos
Sistemas Distribuídos Comunicação Remota Gustavo Reis gustavo.reis@ifsudestemg.edu.br 1 Comunicação entre processos está no coração de todo sistema distribuído. Não tem sentido estudar sistemas distribuídos
Leia maisMÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS
MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS Quando falamos em arquitetura, normalmente utilizamos esse termo para referenciar a forma como os aplicativos computacionais são estruturados e os hardwares
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisORGANIZAÇÃO DE COMPUTADORES MÓDULO 8
ORGANIZAÇÃO DE COMPUTADORES MÓDULO 8 Índice 1. A Organização do Computador - Continuação...3 1.1. Processadores - II... 3 1.1.1. Princípios de projeto para computadores modernos... 3 1.1.2. Paralelismo...
Leia maisModelos de Qualidade de Produto de Software
CBCC Bacharelado em Ciência da Computação CBSI Bacharelado em Sistemas de Informação Modelos de Qualidade de Produto de Software Prof. Dr. Sandro Ronaldo Bezerra Oliveira srbo@ufpa.br www.ufpa.br/srbo
Leia maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Leia maisEngenharia de Requisitos Estudo de Caso
Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este
Leia maisDisciplina de Banco de Dados Introdução
Disciplina de Banco de Dados Introdução Prof. Elisa Maria Pivetta CAFW - UFSM Banco de Dados: Conceitos A empresa JJ. Gomes tem uma lista com mais ou menos 4.000 nomes de clientes bem como seus dados pessoais.
Leia mais1.6. Tratamento de Exceções
Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER
Leia maisModelagemde Software Orientadaa Objetos com UML
Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para
Leia maisRoteiro para a escrita do documento de Especificação de Requisitos de Software (ERS)
Roteiro para a escrita do documento de Especificação de Requisitos de Software (ERS) Definição Geral: Disciplina de Compiladores Prof. Jorge Bidarra (UNIOESTE) A especificação de requisitos tem como objetivo
Leia maisComo foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.
5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo
Leia maisOrientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
Leia maisOrientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Leia maisPROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Leia maisProjeto de Sistemas I
Instituto Federal de Educação, Ciência e Tecnologia de São Paulo Projeto de Sistemas I Professora: Kelly de Paula Cunha E-mail:kellypcsoares@ifsp.edu.br Requisitos: base para todo projeto, definindo o
Leia maisDocumento de Análise e Projeto VideoSystem
Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento
Leia maisPlanejando o aplicativo
Um aplicativo do Visual FoxPro geralmente inclui um ou mais bancos de dados, um programa principal que configura o ambiente de sistema do aplicativo, além de uma interface com os usuários composta por
Leia maisSeparaçã. ção Multi-Dimensional de Interesses
OD 2002 Uma nova abordagem para modelagem de requisitos Separaçã ção Multi-Dimensional de Interesses Helder da Rocha (helder@acm.org) argonavis.com.br Objetivos 1. Discutir as limitações existentes no
Leia maisAspectos técnicos do desenvolvimento baseado em componentes
Aspectos técnicos do desenvolvimento baseado em componentes Um novo processo de desenvolvimento O uso de componentes traz mudanças no processo de desenvolvimento Além de desenvolver um produto, queremos
Leia maisArquitetura de Rede de Computadores
TCP/IP Roteamento Arquitetura de Rede de Prof. Pedro Neto Aracaju Sergipe - 2011 Ementa da Disciplina 4. Roteamento i. Máscara de Rede ii. Sub-Redes iii. Números Binários e Máscara de Sub-Rede iv. O Roteador
Leia maisCapítulo 2. Processos de Software. 2011 Pearson Prentice Hall. Todos os direitos reservados. slide 1
Capítulo 2 Processos de Software slide 1 Tópicos apresentados Modelos de processo de software. Atividades de processo. Lidando com mudanças. Rational Unified Process (RUP). Um exemplo de um processo de
Leia maisAprenda as melhores práticas para construir um completo sistema de teste automatizado
Aprenda as melhores práticas para construir um completo sistema de teste automatizado Renan Azevedo Engenheiro de Produto de Teste e Medição -Américas Aprenda as melhores práticas para construir um completo
Leia maisARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
Leia maisSistemas Distribuídos
Sistemas Distribuídos Modelo Cliente-Servidor: Introdução aos tipos de servidores e clientes Prof. MSc. Hugo Souza Iniciando o módulo 03 da primeira unidade, iremos abordar sobre o Modelo Cliente-Servidor
Leia maisPROGRAMANDO EM C# ORIENTADO A OBJETOS
PROGRAMANDO EM C# ORIENTADO A OBJETOS AGENDA MÓDULO 2 Domínio e Aplicação Objetos, Atributos e Métodos Classes em C# Criando Objetos em C# Referências em C# Manipulando Atributos Valores Padrão Exercícios
Leia maisArquitecturas de Software Licenciatura em Engenharia Informática e de Computadores
UNIVERSIDADE TÉCNICA DE LISBOA INSTITUTO SUPERIOR TÉCNICO Arquitecturas de Software Licenciatura em Engenharia Informática e de Computadores Primeiro Teste 21 de Outubro de 2006, 9:00H 10:30H Nome: Número:
Leia maisFeature-Driven Development
FDD Feature-Driven Development Descrição dos Processos Requisitos Concepção e Planejamento Mais forma que conteúdo Desenvolver um Modelo Abrangente Construir a Lista de Features Planejar por
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisCSAU 10.0. Guia: Manual do CSAU 10.0 como implementar e utilizar.
CSAU 10.0 Guia: Manual do CSAU 10.0 como implementar e utilizar. Data do Documento: Janeiro de 2012 Sumário 1. Sobre o manual do CSAU... 3 2. Interface do CSAU 10.0... 4 2.1. Início... 4 2.2. Update...
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia maisAULA 4 VISÃO BÁSICA DE CLASSES EM PHP
AULA 4 VISÃO BÁSICA DE CLASSES EM PHP Antes de mais nada, vamos conhecer alguns conceitos, que serão importantes para o entendimento mais efetivos dos assuntos que trataremos durante a leitura desta apostila.
Leia maisExtensão da UML para Modelagem Orientada a Aspectos Baseada em AspectJ
Extensão da UML para Modelagem Orientada a Aspectos Baseada em AspectJ IGOR FÁBIO STEINMACHER 1 ITANA MARIA DE SOUZA GIMENES 2 JOSÉ VALDENI DE LIMA 1 1 UFRGS Universidade Federal do Rio Grande do Sul II
Leia maisEsta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi
5 Conclusão Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi permitir que scripts Lua instanciem e usem
Leia maisUnidade 2.1 Modelos de Referência
Faculdade INED Curso Superior de Tecnologia: Banco de Dados Redes de Computadores Disciplina: Redes de Computadores Prof.: Fernando Hadad Zaidan 1 Unidade 2.1 Modelos de Referência 2 Bibliografia da disciplina
Leia maisUML - Unified Modeling Language
UML - Unified Modeling Language Casos de Uso Marcio E. F. Maia Disciplina: Engenharia de Software Professora: Rossana M. C. Andrade Curso: Ciências da Computação Universidade Federal do Ceará 24 de abril
Leia maisELAINE DA SILVA MONTEIRO. Implementação de um Aplicativo Utilizando AODM, Java e AspectJ
ELAINE DA SILVA MONTEIRO Implementação de um Aplicativo Utilizando AODM, Java e AspectJ Palmas TO 2004 ii ELAINE DA SILVA MONTEIRO Implementação de um Aplicativo Utilizando AODM, Java e AspectJ Monografia
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisFBV - Linguagem de Programação II. Um pouco sobre Java
FBV - Linguagem de Programação II Um pouco sobre Java História 1992: um grupo de engenheiros da Sun Microsystems desenvolve uma linguagem para pequenos dispositivos, batizada de Oak Desenvolvida com base
Leia mais3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio
32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio
Leia maisMódulo 4: Gerenciamento de Dados
Módulo 4: Gerenciamento de Dados 1 1. CONCEITOS Os dados são um recurso organizacional decisivo que precisa ser administrado como outros importantes ativos das empresas. A maioria das organizações não
Leia maisTópicos de Ambiente Web. Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres
Tópicos de Ambiente Web Modulo 2 Processo de desenvolvimento de um site Professora: Sheila Cáceres Roteiro Motivação Desenvolvimento de um site Etapas no desenvolvimento de software (software:site) Analise
Leia maisO que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.
O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador. Linguagem de Programação Uma linguagem de programação é um método padronizado para expressar
Leia maisModelagem de Processos. Prof.: Fernando Ascani
Modelagem de Processos Prof.: Fernando Ascani Modelagem da arquitetura de negócios Arquitetura Definições Aurélio: Informática: Estrutura e organização lógica de funcionamento de um sistema computacional.
Leia maisIntrodução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de Software AULA NÚMERO: 10 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir os conceitos de coesão e acoplamento. DESENVOLVIMENTO Projetar
Leia maisALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
Leia maisIntrodução ao Paradigma Orientado a Objetos. Principais conceitos
Introdução ao Paradigma Orientado a Objetos Principais conceitos Paradigmas de Programação PROGRAMAÇÃO ESTRUTURADA X PROGRAMAÇÃO ORIENTADA A OBJETOS Paradigma Programação estruturada Na programação estrutura
Leia mais4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?
Prova de 2011-02 1. Descreva duas maneiras de estabelecer uma conexão entre processos na camada de transporte sem o conhecimento da porta (TSAP) ao qual o servidor remoto esteja associado. 2. Estabelecer
Leia maisUML Aspectos de projetos em Diagramas de classes
UML Aspectos de projetos em Diagramas de classes Após ser definido o contexto da aplicação a ser gerada. Devemos pensar em detalhar o Diagrama de Classes com informações visando uma implementação Orientada
Leia maisClasse A: Apenas o primeiro octeto identifica a rede e os três últimos identificam os Hosts.
MÓDULO 9 Endereçamento IP Em uma rede TCP/IP, cada computador possui um endereço IP que o identifica na rede, esse endereço é composto por uma seqüência de bits divididos em 4 grupos de 8 bits que recebem
Leia maisUniversidade Paulista
Universidade Paulista Ciência da Computação Sistemas de Informação Gestão da Qualidade Principais pontos da NBR ISO/IEC 12207 - Tecnologia da Informação Processos de ciclo de vida de software Sergio Petersen
Leia maisPRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)
RELATÓRIO DE ENTREGA DO PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB) PARA A ELABORAÇÃO DOS PLANOS MUNICIPAIS DE GESTÃO INTEGRADA DE RESÍDUOS SÓLIDOS PMGIRS PARA OS MUNICÍPIOS DE NOVO HORIZONTE, JUPIÁ, GALVÃO,
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Leia maisUML Aula III Diagramas de Estado, Atividades, Componentes e Instalação
UML Aula III Diagramas de Estado, Atividades, Componentes e Instalação Ricardo Argenton Ramos Engenharia de Software II 2013.1 Diagrama de Estado Um diagrama de estados (statechart), também conhecido por
Leia maisTópicos em Engenharia de Computação
Tópicos em Engenharia de Computação Introdução / Revisão UML e POO (JAVA) Prof. Ivan Prof. Zagari UML Linguagem Unificada. Não é metodologia, processo ou método. Versão atual 2.0 3 categorias de Diagramas
Leia maisARQUITETURA DE SOFTWARE
ARQUITETURA DE SOFTWARE Em seu livro, que constitui um referencial sobre o assunto, Shaw e Garlan discutem arquitetura de software da seguinte maneira: Desde quando o primeiro programa foi dividido em
Leia maisagility made possible
RESUMO DA SOLUÇÃO Utilitário ConfigXpress no CA IdentityMinder a minha solução de gerenciamento de identidades pode se adaptar rapidamente aos requisitos e processos de negócio em constante mudança? agility
Leia maisBanco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. jef@ime.usp.br DCC-IME-USP
Banco de Dados Introdução João Eduardo Ferreira Osvaldo Kotaro Takai jef@ime.usp.br DCC-IME-USP Importância dos Bancos de Dados A competitividade das empresas depende de dados precisos e atualizados. Conforme
Leia maisProgramação de Computadores - I. Profª Beatriz Profº Israel
Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo
Leia maisSISTEMA GERENCIADOR DE BANCO DE DADOS
BANCO DE DADOS Universidade do Estado de Santa Catarina Centro de Ciências Tecnológicas Departamento de Ciência da Computação Prof. Alexandre Veloso de Matos alexandre.matos@udesc.br SISTEMA GERENCIADOR
Leia maisIntrodução ao GED Simone de Abreu
Introdução ao GED Simone de Abreu GED O que é isso? O conhecimento teve, ao longo da história, diferentes significados e funções. No tempo das cavernas nossos antepassados transmitiam aos seus descendentes
Leia maishttp://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho
vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS
Leia maisArquitetura de Banco de Dados
Arquitetura de Banco de Dados Daniela Barreiro Claro MAT A60 DCC/IM/UFBA Arquitetura de Banco de dados Final de 1972, ANSI/X3/SPARC estabeleceram o relatório final do STUDY GROUP Objetivos do Study Group
Leia mais