Roteiro. Interfaces de Programação de Aplicações (Application Programming Interfaces) Conceitos BásicosB. ! Definição
|
|
|
- Lúcia Vitória Antas Gentil
- 10 Há anos
- Visualizações:
Transcrição
1 Roteiro Interfaces de Programação de Aplicações (Application Programming Interfaces) Cleidson R. B. Souza Departamento de Informática Universidade Federal do Pará! Definição! Vantagens! Exemplos! Utilização na Indústria! Considerações de Projeto! Evolução Conceitos BásicosB! Modularidade: a divisão de um sistema em partes para que possamos tratar estas partes isoladamente. Um mecanismo para lidar com a complexidade no desenvolvimento de produtos, não apenas software. Um sistema deve ser dividido em módulos para facilitar sua construção! Parnas* propôs o princípio de ocultamento da informação como um critério indicando como os módulos devem ser separados. Parnas, D. L. (1972). "On the Criteria to be Used in Decomposing Systems into Modules." Communications of the ACM 15(12): Conceitos BásicosB! Módulos não devem expor as suas partes que podem mudar, seus detalhes de implementação, para que eles não afetem seus clientes.! Encapsulamento: O código cliente pode usar apenas a interface para a operação. A implementação do objeto pode mudar, para corrigir erros, aumentar performance, etc sem que seja necessário modificar o código do cliente. A manutenção é mais fácil e menos custosa. Cria um programa legível e bem estruturado
2 APIs! Uma interface de programação de aplicações (em inglês API) é definida pelo Software Engineering Institute como: API é uma tecnologia que facilita a troca de mensagens our dados entre duas ou mais aplicações. Uma API é uma interface virtual entre duas funções do software como um processador e uma planilha Uma API é o software que é usado a suportar a integração de vários produtos de software off-theshelf ou aplicações recém-desenvolvidas com aplicações novas ou existentes. APIs! Na prática, uma API significa ou indica uma interface bem-definida que define um conjunto de serviços que um componente, módulo, ou aplicação fornece a outros elementos de software.! des Rivieres: Uma API é uma interface bem-definida que permite que um componente de software acesse através de seu código outro componente, e isto é suportado pela linguagem de programação. APIs! A palavra interface é usada em APIs para explicitamente indicar que esta é uma construção que existe entre dois mundos : Interface com o usuário; Interface de programação de aplicações;! No caso de APIs,, os mundos são dois elementos de software (componentes, classes, módulos) ou até mesmo duas aplicações. Exemplos de APIs! Sistemas Operacionais: Win32 Mac OS J2SE! IDEs Eclipse NetBeans! APIs bem projetadas são s duradouras;! Elas não quebram os clientes existentes - evolução com compatibilidade;! Elas deixam o código binário continuar funcionando - compatibilidade binária;
3 APIs em Java! Não confundir APIs com o conceito de interfaces em Java!! Tipicamente, em uma linguagem como Java, uma API corresponde a um conjunto de: classes + interfaces + métodos públicos + a documentação associada. APIs na indústria! APIs são adotadas pela indústria porque elas suportam a separação entre a interface e a implementação de componentes.! Pode-se separar elementos de software entre uma parte pública (a API) e a parte privada (a implementação), de tal maneira que mudanças na parte privada podem ser feitas sem afetar a parte públic,, consequentemente diminuindo a dependência (acoplamento, coupling) ) entre as o usuário da API e a API. APIs na indústria! APIs e interfaces também facilitam a coordenação das atividades dos engenheiros de software. Se dois engenheiros (João e Maria) concordam na API que integra seus components, eles podem trabalhar em paralelo. João não precisa saber dos detalhes do componente que Maria está implementando e vice-versa, desde que os dois honrem o que foi definido na API. Mas, para que isso aconteça! APIs entre amigos (dentro de uma mesma empresa) Não existem clientes externos Não precisa ser estável entre duas releases Erros podem ser corrigidos! APIs que se tornam públicasp Precisam ser estáveis porque suportam um enorme número de clientes! A API do Lotus Notes tem clientes! Quando uma API é publicada, não há como voltar atrás Mudanças que quebram a API são uma péssima política Em caso de mudanças na próxima versão,, deve-se extender a API
4 Projeto de APIs - Considerações! É necessário Informar os clientes de como usar a API API specs Escolher nomes de métodos m e classes informativos Decidir cuidadosamente entre usar classes ou interfaces! Quando uma API é publicada Ela tem de trabalhar de acordo com a estrutura que ela propôs É necessário melhorar a API sem quebrar os clientes existentes! API specs mal projetadas Confundem os clientes E quando consertadas podem piorar as coisas Projeto de APIs - Considerações! Tem de existir uma fronteira clara entre o que é parte e o que não é parte da API Exemplo: no Eclipse packages que não n são da API tem o nome internal : org.eclipse.ui ui.internalinternal! Não deve haver conexão visível entre a API e a implementação da mesma Detalhes de implementação não devem existir na API Evolução de APIs! APIs naturalmente vão v evoluir a cada nova versão Changes to API could invalidate existing clients! A evolução tem de ser feita de maneira compatível Mantenha os clientes funcionando; A API deve fornecer os mesmos serviços;! Duas considerações gerais Compatibilidade no contrato honre o contrato das APIs existentes Compatibilidade binária - o código tem de continuar funcionando; Compatibilidade no contrato! Antes /** Returna uma lista não-vazia.. */ public int[] getindices();! Depois /** Returna uma lista. Esta lista PODE ser vazia.*/ public int[] getindices();! Poderia quebrar clientes int[] d = getindices(); System.print(d[0]); // array index out of bounds! Mas,, se minha implementação faz: public int[] getindices() { ;; return result; // resultado não é vazio }
5 Compatibilidade binária! Antes public void register(string key);! Depois public void register(object key);! As chamadas existentes recompilam sem erro register( foo foo );! Mas, o código c compilado existente indicará erro register( foo foo ); // link error Porquê? Como quebrar a compatibilidade binária?! Renomear um pacote, classe, método m ou atributo;! Remover um pacote, classe,, método m ou atributo;! Diminuir a visibilidade (de public para private);! Adicionar ou remover parâmetros;! Mudar o tipo de um parâmetro;! Mudar o tipo de retorno de um método; m! Adicionar ou remover exceções de um método;! Mudar o tipo de um atributo;! Mudar o valor de uma constante; Como quebrar a compatibilidade binária?! Mude um método m de um objeto para um método da classe (ver conceito de meta-classe);! Mude um atributo de um objeto para um atributo da classe (ver( conceito de meta-classe);! Mude uma classe para uma interface ou vice- versa;! Faça uma classe final,, se os clientes podem criar subclasses dela;! Faça uma classe abstract,, se os clientes podem criar instâncias dela; Como manter a compatibilidade binária?! Adicionar packages,, classes, e interfaces;! Modificar a implementação de um método;! Modificar elementos que não n pertencem a API;! Adicionar atributos as classes e interfaces;! Adicionar métodos abstract as classes (se os clientes não criam subclasses);! Adicionar métodos as interfaces (se os clientes não implementam as interfaces);! Adicionar métodos m não abstract as classes (se os clientes herdam destas classes);! Mudar o valor de um atributo se ele não n é constante;
6 Como manter a compatibilidade binária?! Mover um método m de uma classe para sua superclasse;! Tornar uma classe final em não-final;! Tornar uma classe abstract em concreta;! Mudar o nome de um parâmetro em um método; Substituindo Métodos M em uma API! Adicione o novo método na API;! Torne o método original deprecate Faça um forward do método velho para o novo; Mas, você ê tem de garantir que o método original continua funcionando package org.eclipse.jdt.core.dom; public class Message { /** Use getstartposition() instead */ public int getsourceposition() { return getstartposition(); // forward method } public int getstartposition() { } } Referências! design.html! api-evolution.html! How to Use the Eclipse API, h t t p : / / w w w. e c l i p s e. o r g / a r t i c l e s / A r t i c l e - API%20use/eclipse-api-usage-rules.html! Requirements for Writing Java API Specifications apispecs/index.html
7 Times! Análise e Interfaces alline lemos alline peixoto leandro luiz otavio paula danielle priscila! Arquitetos adailton anderson marcelo marcio braga rafael weverton! Implementação Cleberson Dedier Diego Leonardo Marcio Kuroki Marlos Tacio! Teste aline patricia billy breno franklin harrison joseane luiz alberto pedro leandro Responsabilidades dos Times! Time 1 - Análise e Interfaces Responsável por TODAS as comunicações com o cliente! Especificação de requisitos! Use-Cases! Diagrama de transição de estados da interfaces! Usuário (fictício) típico: nome, idade, escolaridade, etc. Manual da ferramenta.! Time 2 - Arquitetos Arquitetura em Camadas da Aplicação APIs para cada camada! Diagramas de Classes, Arquitetura, etc.! Código fonte conforme discutido anteriormente; Responsabilidades dos Times! Time 3 - Implementação Código Java; Documentação em Javadoc; Terá auxílio do time de arquitetos;! Time 4 - Testes Gerência de configuração; Testes unitários para cada camada; Testes de integração do sistema;! Precisa popular um banco de dados para efetuar os testes; Observações! Cada time precisa eleger um gerente.! A única exceção é o time dos arquitetos: Adailton é o gerente. Dez minutos para vocês decidirem!
8 Observações! Cada time precisa definir as responsabilidades de cada integrante. Por exemplo: Analistas: quem irá contactar o cliente? Arquitetos: quem usará a ferramenta Rose para os diagramas? Implementação: quem instalará o banco de dados SPRING ou a ferramenta TerraLib?? Configuração do servidor CVS? Testes: quem instalará o banco de dados SPRING ou a ferramenta TerraLib? Apresentações! Time 1 - Analistas: Especificação de requisitos: 7 de fevereiro; Especificação da interface com usuário: 21 de fevereiro; Manual do Usuário: 04 de Abril! Time 2 - Arquitetos: Arquitetura: 21 de fevereiro;! Time 3 - Implementação Demonstração da ferramenta ANTES dos testes Primeira Parte: 07 de Março, 21 de Março e 04 de Abril;! Time 4 - Testes Testes Unitários: 07 de Março; Relatório de Testes Unitários: 14 de Março;! Apresentação para o Cliente 11 de Abril de Datas aproximadas! Em resumo, na próxima aula.! Professor: informações de como contactar o cliente.! Alunos: Reunião para distribuição de atividades; Preparação de uma planilha inicial com a descrição das atividades de cada integrante; Planilha deve ser entregue na aula seguinte.! Recomendação: Todos os times devem estudar aspectos da ferramenta SPRING e TerraLib. Cada time deve estudar aspectos relacionados.! Início da Aula as 3 da tarde. Perguntas?
9 Observações! Atraso na entrega e/ ou apresentação do trabalho implica no desconto de 1 pt por dia útil na pontuação o total do time
EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Tó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
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO
MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta
Análise e Projeto Orientados a Objetos Aula IV Requisitos. Prof.: Bruno E. G. Gomes IFRN
Análise e Projeto Orientados a Objetos Aula IV Requisitos Prof.: Bruno E. G. Gomes IFRN 1 Introdução Etapa relacionada a descoberta e descrição das funcionalidades do sistema Parte significativa da fase
UNIVERSIDADE 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
Especificação do 3º Trabalho
Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,
Lógica de Programação
Lógica de Programação Unidade 4 Ambiente de desenvolvimento Java QI ESCOLAS E FACULDADES Curso Técnico em Informática SUMÁRIO A LINGUAGEM JAVA... 3 JVM, JRE, JDK... 3 BYTECODE... 3 PREPARANDO O AMBIENTE
Orientaçã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
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes
Engenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2007/2008 Requisitos para a 1 a entrega Loja Virtual 1 Introdução O enunciado base do projecto conjunto das disciplinas de Engenharia de Software
3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Aspectos 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
Eduardo Bezerra. Editora Campus/Elsevier
Princípios de Análise e Projeto de Sistemas com UML 2ª edição Eduardo Bezerra Editora Campus/Elsevier Capítulo 11 Arquitetura do sistema Nada que é visto, é visto de uma vez e por completo. --EUCLIDES
Levantamento, Análise e Gestão Requisitos. Aula 12
Levantamento, Análise e Gestão Requisitos Aula 12 Agenda Miscelâneas (Parte 3): Gerenciamento dos Requisitos Mutáveis Rastreabilidade de Requisitos Processo de Gestão de Mudanças Requisitos Estáveis e
Engenharia de Software Sistemas Distribuídos
Engenharia de Software Sistemas Distribuídos 2 o Semestre de 2009/2010 FEARSe Requisitos para a 1 a entrega 18 de Março de 2010 1 Introdução O projecto conjunto das disciplinas de Engenharia de Software
ESTUDO DE CASO WINDOWS VISTA
ESTUDO DE CASO WINDOWS VISTA História Os sistemas operacionais da Microsoft para PCs desktop e portáteis e para servidores podem ser divididos em 3 famílias: MS-DOS Windows baseado em MS-DOS Windows baseado
Guia de Fatores de Qualidade de OO e Java
Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
UML: Diagrama de Casos de Uso, Diagrama de Classes
UML: Diagrama de Casos de Uso, Diagrama de Classes Diagrama de Casos de Uso O modelo de casos de uso visa responder a pergunta: Que usos (funcionalidades) o sistema terá? ou Para que aplicações o sistema
ATRIBUTOS 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
(Open System Interconnection)
O modelo OSI (Open System Interconnection) Modelo geral de comunicação Modelo de referência OSI Comparação entre o modelo OSI e o modelo TCP/IP Analisando a rede em camadas Origem, destino e pacotes de
Aná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
Programação Orientada a Objetos. Encapsulamento
Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências
Sistemas Operacionais Aula 06: Threads. Ezequiel R. Zorzal [email protected] www.ezequielzorzal.com
Sistemas Operacionais Aula 06: Threads Ezequiel R. Zorzal [email protected] www.ezequielzorzal.com Objetivos Introduzir o conceito de thread Discutir as APIs das bibliotecas de threads Pthreads, Win32
UML 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
APOO Análise e Projeto Orientado a Objetos. Requisitos
+ APOO Análise e Projeto Orientado a Objetos Requisitos Requisitos 2 n Segundo Larman: n São capacidades e condições às quais o sistema e em termos mais amplos, o projeto deve atender n Não são apenas
Herança. Alberto Costa Neto DComp - UFS
Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais
Tarciane Andrade. [email protected]
Tarciane Andrade [email protected] Contexto Análise Passando de casos de uso para diagramas de classes 2 Após a etapa de análise de requisitos, temos documentos de requisitos e os casos de uso
CONVENÇÃO DE CÓDIGO JAVA
CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2
Java com Banco de Dados Posgree
Java com Banco de Dados Posgree Prof. Luiz Claudio Ferreira de Souza www.luizclaudiofs.blogspot.com 1 Driver para ligação Java e Postgre http://jdbc.postgresql.org/download.html www.luizclaudiofs.blogspot.com
MVC e Camadas - Fragmental Bliki
1 de 5 20-03-2012 18:32 MVC e Camadas From Fragmental Bliki Conteúdo 1 Introdução 2 Camadas: Separação Entre Componentes 3 MVC: Interação Entre Componentes 4 Conclusão 5 Referências Introdução A Arquitetura
Padrão Arquitetura em Camadas
Padrão Arquitetura em Camadas Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Definição Estimula a organização
Documentação Usando o Javadoc
Documentação Usando o Javadoc Prof. MSc. João Carlos Pinheiro [email protected] Versão 2.1 Última Atualização: 04/2005 1 Comentários e Documentação Comentários em Java Existem três tipos de comentários
Introduçã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
Hardware (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,
Sumário. Uma visão mais clara da UML
Instituto Federal de Santa Catarina Câmpus Chapecó Ensino Médio Integrado em Informática Módulo V Unidade Curricular: Engenharia de Software Professora: Lara P. Z. B. Oberderfer Uma visão mais clara da
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]
PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando
ARQUITETURA DO SISTEMA ERP PEGASUS
ARQUITETURA DO SISTEMA ERP PEGASUS Elaborado por: Bruno Duarte Nogueira Arquiteto de Software Data: 05/03/2012 1 Sumário 1. Introdução... 3 2. Tecnologias... 3 2.1. Web Tier... 3 2.1.1. Facelets 1.1.14...
Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo
Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: ([email protected]) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de
Sistemas 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
Sistemas Operacionais
Sistemas Operacionais Aula 6 Estrutura de Sistemas Operacionais Prof.: Edilberto M. Silva http://www.edilms.eti.br Baseado no material disponibilizado por: SO - Prof. Edilberto Silva Prof. José Juan Espantoso
Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza
Sistemas Distribuídos Processos I Prof. MSc. Hugo Souza Até agora vimos a organização como um todo dos SDS, com o mapeamento estrutural e suas devidas características descritas em elementos, regras, conceitos,
Documento de Projeto de Sistema
Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,
Feature-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
Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição
Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:
Java. Marcio de Carvalho Victorino www.dominandoti.eng.br
Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a
Engenharia de Requisitos
Engenharia de Requisitos Introdução a Engenharia de Requisitos Professor: Ricardo Argenton Ramos Aula 08 Slide 1 Objetivos Introduzir a noção de requisitos do sistema e o processo da engenharia de requisitos.
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. [email protected]
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES [email protected] Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Engenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf ([email protected]) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Felipe Denis M. de Oliveira. Fonte: Alice e Carlos Rodrigo (Internet)
UML Felipe Denis M. de Oliveira Fonte: Alice e Carlos Rodrigo (Internet) 1 Programação O que é UML? Por quê UML? Benefícios Diagramas Use Case Class State Interaction Sequence Collaboration Activity Physical
Governança de TI. ITIL v.2&3 parte 2
Governança de TI ITIL v.2&3 parte 2 Prof. Luís Fernando Garcia [email protected] ITIL 2 BÁSICOS Suporte a Serviços: descreve os processos associados ao suporte do dia-a-dia e atividades de manutenção
Tópicos Especiais em Redes de Telecomunicações
Tópicos Especiais em Redes de Telecomunicações Redes definidas por software e Computação em Nuvem Prof. Rodrigo de Souza Couto Informações Gerais Prof. Rodrigo de Souza Couto E-mail: [email protected]
Resumo: Perguntas a fazer ao elaborar um projeto arquitetural
Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?
INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena
INF 2125 PROJETO DE SISTEMAS DE SOFTWARE Prof. Carlos J. P. de Lucena Trabalho Experimental Sistema de Gestão Hoteleira 1. Objetivo Este trabalho tem o objetivo de consolidar o conhecimento sobre UML e
Virtualização Gerencia de Redes Redes de Computadores II
Virtualização Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Eduardo Zagari Virtualização - Introdução Introduzido nos anos 60 em Mainframes Em 1980 os microcomputadores
Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming
Curso de PHP FATEC - Jundiaí A programação orientada a objetos (object-oriented oriented programming OOP) é um conjunto de técnicas t para organizar o código c em torno de entidades ou objetos representados
JDBC Java Database Connectivity
5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes
Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.
Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos
ISO/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
Aula 06 Introdução à Teste de Módulos II e Exercícios. Alessandro Garcia LES/DI/PUC-Rio Março 2014
Aula 06 Introdução à Teste de Módulos II e Exercícios Alessandro Garcia LES/DI/PUC-Rio Março 2014 Princípios Discutidos até aqui Cada módulo deveria implementar uma única abstração similarmente: cada função
LINGUAGEM C UMA INTRODUÇÃO
LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional
Programaçã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
Linguagem de Programação III
Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado
Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite [email protected] (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite [email protected] (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
3 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
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES
DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil [email protected], [email protected] Resumo.
Prof. Raul Sidnei Wazlawick UFSC-CTC-INE. Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010.
Casos de Uso de Alto Nível Prof. Raul Sidnei Wazlawick UFSC-CTC-INE 2010 Fonte: Análise e Projeto de Sistemas de Informação Orientados a Objetos, 2ª Edição, Elsevier, 2010. Contexto Na fase de concepção
2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Capítulo 4. Packages e interfaces
Capítulo 4. Packages e interfaces 1/17 Índice Indice 4.1 - Package 4.2 - Interface 2/17 Índice 4.1 Package 4.1 - Package 4.2 -- Interface 3/17 4.1 Package Package ou pacote está para o Java como as directorias
Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl
Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração
Desenvolvimento Web TCC-00.226 Turma A-1
Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Introdução ao Ambiente de Desenvolvimento Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226
Introdução à orientação a objetos. João Tito Almeida Vianna 25/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 25/05/2013 Roteiro Aula 2 Motivação Revisão dos conceitos da aula 1 Preparação para os exercícios Exercícios propostos 2 Motivação A orientação
Padrão Básico de Projeto: Interfaces e Polimorfismo
Padrão Básico de Projeto: Interfaces e Polimorfismo Herança de implementação versus herança de interface Há uma diferença grande entre uma classe e seu tipo A classe define ambos um tipo e uma implementação
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)
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
Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva
Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos
Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único
Pacotes e Encapsulamento Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Introdução Permite o agrupamento de classes em uma coleção chamada pacote Um pacote é uma coleção de classes
Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015
Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro ([email protected]) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações
Tecnologia PCI express. Introdução. Tecnologia PCI Express
Tecnologia PCI express Introdução O desenvolvimento de computadores cada vez mais rápidos e eficientes é uma necessidade constante. No que se refere ao segmento de computadores pessoais, essa necessidade
ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.
ARCO - Associação Recreativa dos Correios Sistema para Gerenciamento de Associações Recreativas Versão Histórico da Revisão Data Versão Descrição Autor Página
Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Programação de Computadores II TCC-00.309 Turma A-1
Material elaborado pelo prof. Leandro A. F. Fernandes com contribuições dos profs. Anselmo A. Montenegro e Marcos Lage Programação de Computadores II TCC-00.309 Turma A-1 Conteúdo Introdução ao Ambiente
Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais
Curso de Java Orientação a objetos e a Linguagem JAVA Roteiro A linguagem Java e a máquina virtual Objetos e Classes Encapsulamento, Herança e Polimorfismo Primeiro Exemplo A Linguagem JAVA Principais
Projeto de Arquitetura
Introdução Projeto de Arquitetura (Cap 11 - Sommerville) UNIVERSIDADE FEDERAL DE ALAGOAS Curso de Ciência da Computação Engenharia de Software I Prof. Rômulo Nunes de Oliveira Até agora, estudamos: Os
Introdução à Linguagem Java
Introdução à Linguagem Java Histórico: Início da década de 90. Pequeno grupo de projetos da Sun Microsystems, denominado Green. Criar uma nova geração de computadores portáveis, capazes de se comunicar
Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL
Urano Indústria de Balanças e Equipamentos Eletrônicos Ltda. Rua Irmão Pedro 709 Vila Rosa Canoas RS Fone: (51) 3462.8700 Fax: (51) 3477.4441 Características do Software Urano Integra 2.2 Data: 12/05/2014
Manual do usuário. Softcall Java. versão 1.0.5
Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6
ARQUITETURA DE SISTEMAS. Cleviton Monteiro ([email protected])
ARQUITETURA DE SISTEMAS Cleviton Monteiro ([email protected]) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura
Sobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr [email protected] 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures
NOVIDADES DO JAVA PARA PROGRAMADORES C
PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB NOVIDADES DO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o Conceito de Classes e Objetos Capacitar para a criação de objetos simples
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP
Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP 1) Introdução Programação Orientada a Objetos é um paradigma de programação bastante antigo. Entretanto somente nos últimos anos foi aceito realmente
Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva
1. O que são Serviços Web (Web Services)? Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva A ideia central dos Web Services parte da antiga necessidade
Gerenciamento de Requisitos
Gerenciamento de Requisitos Jaelson Castro 2013 1 Gerenciamento de requisitos Relaciona-se ao processo de gerenciar a mudança dos requisitos de um sistema As principais preocupações do gerenciamento de
MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS
MÓDULO 9 METODOLOGIAS DE DESENVOLVIMENTO DE SISTEMAS O termo metodologia não possui uma definição amplamente aceita, sendo entendido na maioria das vezes como um conjunto de passos e procedimentos que
Redes de Computadores
Redes de Computadores Prof. Macêdo Firmino Princípios de Gerência de Redes Macêdo Firmino (IFRN) Redes de Computadores Maio de 2011 1 / 13 Introdução Foi mostrado que uma rede de computadores consiste
