Geração Automática de Código Android Eficiente a partir de Modelos UML
|
|
- Gustavo Pedroso Carmona
- 8 Há anos
- Visualizações:
Transcrição
1 Geração Automática de Código Android Eficiente a partir de Modelos UML Abilio Gambim Parada Aline Rodrigues Tonini Lisane Brisolara de Brisolara Grupo de Arquiteturas e Circuitos Integrados - GACI Universidade Federal de Pelotas - UFPel Pelotas-Brasil 1 / 43
2 Sumário 1 Introdução 2 Geração de Código 3 Estudo de Caso 4 Conclusões 2 / 43
3 Introdução Alternativa ao uso de computadores pessoais Crescente demanda no mercado por novos aplicativos Existem várias plataformas para dispositivos móveis: Symbian, Android, ios, BlackBerry... 3 / 43
4 Introdução O desenvolvimento de aplicativos para dispositivos móvies também trazem preocupações extras como: Eficiência! Estas aplicações devem fazer um bom uso dos recursos do dispositivo Um aspecto importante é o desempenho da aplicação! 4 / 43
5 Introdução Visando um melhor desempenho de aplicativos, frequentemente são adotadas algumas boas práticas Boas práticas: dicas para obter a melhor forma de realizar uma tarefa A Google propos um conjunto de boas práticas para Android com este objetivo! 5 / 43
6 Motivação Android Uma das plataformas mais utilizadas Desenvolvida pela Google Solução completa de código livre Suporte a vários dispositivos Ferramentas de apoio ao desenvolvedor 6 / 43
7 Motivação A Google indica uma serie de boas práticas para obter um melhor desempenho das aplicações Android, como: 1 Evitar a criação de objetos desnecessários 2 Preferir métodos estáticos, invocação 15% a 20% mais rápidos É recomendado a definição de constantes como static Para as de tipo primitivo e String static final 7 / 43
8 Motivação 4 Evitar o uso de métodos getters e setters O tempo de acesso direto ao atributo é três vezes mais rápido 5 Sintaxe apropriada para o for 6 Visibilidade package para classe interna 8 / 43
9 Motivação Java Máquina virtual Dalvik, no lugar da tradicional JVM Constante reação com as interações do usuário Programação orientada a eventos e serviços Características estas que aumentam a complexidade do projeto! 9 / 43
10 Motivação MDE: Engenharia Dirigida por Modelos Modelos principal artefato na construção do sistema Utiliza UML como linguagem padrão de modelagem Abstração, automação, foco no problema, rapidez no desenvolvimento, produtividade, corretudo, manutenção Diminui em 70% o tempo de desenvolvimento, segundo estudos realizados na Motorola em 2007 Ferramentas de apoio para geração de código a partir de modelos 10 / 43
11 Geração de Código Abordagem proposta Geração de código Android eficiente, aplicando as boas práticas, baseado em MDE Utiliza diagramas de Classe e de Sequência Permite representação estrutural e comportamental do sistema Considera as características Android, propondo modelagem especial para estas Aplica boas práticas de desempenho durante a geração de código 11 / 43
12 Geração de Código 12 / 43
13 Modelagem Estrutural A estrutura da aplicação é representada por Diagrama de Classe UML Classes, atributos, operações e relacionamentos Na modelagem estrutural Android também é observado componetes como Activity e Service! 13 / 43
14 Activity Activity é utilizado para representar a tela de um aplicativo (ex: como a interface de um player de audio) Métodos para Activity: oncreate onstart onresume onpause onstop ondestroy / 43
15 Service Service é responsável por atividades que executam em segundo plano, podendo estas serem padrão ou do usuário (ex: a atividade de tocar o audio) Métodos para Service: oncreate onstart onbind ondestroy / 43
16 Modelagem Estrutural Definição de Activity e Service como subclasses Relacionamento de especialização Indicação no modelo quais métodos serão customizados 16 / 43
17 Geração de Código Estrutural A geração para métodos como Activity e Service difere de métodos normais Para estes métodos, código padrão pode ser gerado conforme as particularidades de cada método Exemplo: Método oncreate de uma Activity; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } 17 / 43
18 Boas práticas estruturais Na geração estrutural da aplicação Android são aplicadas boas práticas como: Modificadores static e static final static para constantes static final para tipos primitivos e String Eliminação de métodos de acesso (getters e setters) e modificação da visibilidade do atributo 18 / 43
19 Modelagem Comportamental O comportamento da aplicação é representado por Diagramas de Sequência UML: Troca de mensagens, iterações, condicionais... Além disso, em Android temos conceitos como: Intent: fornece acesso a um recurso (ex: Bluetooth); 19 / 43
20 Modelagem Comportamental Criação da Intent a ser usada Invocação do método. Intent intent = new Intent(BluetoothDevice.ACTION FOUND); startactivity(intent); 20 / 43
21 Boas práticas comportamentais Na geração comportamental também são aplicadas boas práticas como: Substituição da invocação dos métodos getters e setters Escolha da sintaxe apropriada para o for for-each: para coleções for-length: para vetores 21 / 43
22 Estudo de Caso Aplicação Snake, código livre disponível no site de apoio ao desenvolvedor Android Engenharia reversa Modelos construidos na ferramenta Papyrus Comparação de desempenho do código original e o código automaticamente gerado com as otimizações 22 / 43
23 Estudo de Caso: Metodologia Para avaliar da eficiência entre os códigos foi utilizada a ferramenta DDMS (Dalvik Debug Monitor Server) A DDMS fornece resultados relativos ao tempo de execução do código Android CPU Include Time: considera o tempo de execução do método analisado, incluindo os métodos chamados por este CPU Exclude Time: considera apenas o tempo de execução do método analisado 23 / 43
24 Estudo de Caso: Metodologia Testes executados na plataforma Android Todos os testes foram repetidos 30 vezes, obtendo assim uma média, utilizada nas comparações realizadas Para avaliar se a comparação das médias é válida, foi utilizado o teste estatístico t de student 24 / 43
25 Estudo de Caso: Visão Estrutural Representada por diagrama de Classe Classes Android destacas em cinza Relacionamento de epecialização/generalização 25 / 43
26 Estudo de Caso: Código Estrutural Trecho de código original, setter: private TextView textview;... public void settextview(textview textview){ this.textview = textview; } Trecho de código gerado aplicando a boa prática: public TextView textview; 26 / 43
27 Estudo de Caso: Código Comportamental Trecho de código original, invocação do método de acesso: msnakeview.settextview(findviewbyid(r.id.text)); Trecho de código gerado aplicando a boa prática: msnakeview.textview = findviewbyid(r.id.text); 27 / 43
28 Estudo de Caso: Desempenho Avaliação da boa prática de método de acesso 1 Incl CPU Time (ms) Com Setter Sem Setter Sem Setter melhora de 4.76% no desempenho 28 / 43
29 Estudo de Caso: Visão Comportamental Representada por diagramas de sequência Comportamento do método enqueuedirection Iterações, condicionais, troca de mensagens 29 / 43
30 Estudo de Caso: Código Comportamental Trecho de código original: private void enqueuedirection (int direction) { for(int i=0; i < mnextdirectionarray.size(); i++) if(mnextdirectionarray.get(i) == 0) { mnextdirectionarray.add(i,direction); break; } } } 30 / 43
31 Estudo de Caso: Código Comportamental Trecho de código aplicando a boa prática for-length: private void enqueuedirection (int direction) { int count = mnextdirectionarray.length(); for(int i=0; i < count; i++) if(mnextdirectionarray.get(i) == 0) { mnextdirectionarray.add(i,direction); break; } } } 31 / 43
32 Estudo de Caso: Código Comportamental Trecho de código aplicando a boa prática for-each: private void enqueuedirection (int direction) { for(integer count: mnextdirectionarray) if(count.equals(0)) { mnextdirectionarray.add(direction); break; } } } 32 / 43
33 Estudo de Caso: Desempenho Avaliação entre as sintaxes para for Excl CPU Time (ms) For normal For-length For-each 33 / 43
34 Estudo de Caso: Desempenho Melhora no desempenho do for-length e for-each em comparação com for normal For normal % For-length For-each 34 / 43
35 Conclusões Este trabalho apresenta uma abordagem MDE para geração de código Android Considera as características Android Aplica automaticamente boas práticas Geração de código otimizado fornecendo abstração para o desenvolvedor Visão Estrutural: Diagrama de Classe Visão Comportamental: Diagrama de Sequência 35 / 43
36 Trabalhos Futuros Diagramas de sequência limitam a geração de código comportamental proposto até o nível de chamada de método Para obter código completo outros diagramas precisam ser considerados na geração de código Atualmente é implementado três das boas práticas sugeridas pela Google Estender a abordagem para considerar outras boas práticas 36 / 43
37 Agradecimentos Suporte Financeiro CNPq NESS (PRONEX-10/0043-0) 37 / 43
38 Geração Automática de Código Android Eficiente a partir de Modelos UML Muchas gracias! Abilio Gambim Parada agparada@inf.ufpel.edu.br 38 / 43
39 Dados Boa prática Setter Testes Com Setter Sem Setter Média σ / 43
40 Dados Boa prática Setter Com Setter Sem Setter Valor p: Diferença entre Médias Intervalo de Confiança a 95% to Conclusão: A diferença é extremamente significativa Testes executados na plataforma Android / 43
41 Dados Boa prática For Testes For Normal For-Lenght For-Each Média σ / 43
42 Dados Boa prática For For Normal For Lenght Valor p: Diferença entre Médias Intervalo de Confiança a 95% to Conclusão: A diferença é extremamente significativa Testes executados na plataforma Android / 43
43 Dados Boa prática For For Normal For Each Valor p: Diferença entre Médias Intervalo de Confiança a 95% to Conclusão: A diferença é extremamente significativa Testes executados na plataforma Android / 43
Geração Automática de Código Android Eficiente a partir de Modelos UML
Geração Automática de Código Android Eficiente a partir de Modelos UML Abilio Gambim Parada, Aline Rodrigues Tonini, Lisane Brisolara de Brisolara Ciência da Computação, Grupo de Arquiteturas e Circuitos
Leia maisAndroid: Ciclo de vida da Activity
Se sua aplicação estiver em execução e o celular receber uma ligação? O que acontecerá com seu aplicativo? Quais métodos serão executados e em qual ordem? Para respondermos essas perguntas e entendermos
Leia maisAPI's e Aplicações para Android
API's e Aplicações para Android Computação Móvel Prof. Me. Eng. Adauto Mendes adauto.inatel@gmail.com Introdução As API s estabelecidas para Android permitem total modificação por meio de programação do
Leia maisJava. 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
Leia mais2 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
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 maisProgramação para Android. Aula 06: Activity, menus e action bar
Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 04 Anatomia de uma aplicação Android Dalton Martins dmartins@gmail.com São Paulo, Fevereiro, 2012 24/02/12
Leia maisAvaliação das boas práticas Android para desempenho
Universidade Federal de Pelotas Ciência da Computação Grupo de Arquiteturas e Circuitos Integrados Avaliação das boas práticas Android para desempenho Aline Tonini, Marco Beckmann, Julio Mattos, Lisane
Leia maisProgramação para Dispositivos Móveis. Activities
Programação para Dispositivos Móveis Activities Activity Uma activity é uma tarefa, muito focada, do que um usuário pode fazer. Quase todas as atividades interagem com o usu ário, então uma classe de atividade
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 maisDESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID
DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID Maik Olher CHAVES 1 ; Daniela Costa Terra 2. 1 Graduado no curso de Tecnologia em Análise e Desenvolvimento de Sistemas
Leia maisLaboratório I Aula 2
Laboratório I Aula 2 Prof. Msc. Anderson da Cruz Fases da Programação Implementação de Linguagens de Programação Compilação geração de código executável dependente da plataforma de execução tradução lenta
Leia maisTópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619
Tópicos em Engenharia de Software (Optativa III) AULA 2 Prof. Andrêza Leite andreza.lba@gmail.com (81 )9801-6619 Engenharia de Software Objetivo da aula Depois desta aula você terá uma revisão sobre o
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 maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será
Leia maisIntrodução ao Android
Introdução ao Android André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida Parte 1 Conhecendo o Sistema e Primeiro Programa Roteiro Pré-requisitos Conceitos Básicos Configurando o Ambiente
Leia maisSobre o Professor Dr. Sylvio Barbon Junior
5COP088 Laboratório de Programação Aula 1 Java Prof. Dr. Sylvio Barbon Junior Sylvio Barbon Jr barbon@uel.br 1 Sobre o Professor Dr. Sylvio Barbon Junior Formação: Ciência e Engenharia da Computação (2005
Leia maisBRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:
BRAlarmExpert Software para Gerenciamento de Alarmes A TriSolutions conta com um produto diferenciado para gerenciamento de alarmes que é totalmente flexível e amigável. O software BRAlarmExpert é uma
Leia maisUma abordagem para Engenharia de Requisitos no Domínio de Software Embarcado
Workshop on Requirements Engineering WER 2013 Uma abordagem para Engenharia de Requisitos no Domínio de Software Embarcado Milena Marques, Eliane Siegert, Lisane Brisolara Universidade Federal de Pelotas
Leia maisProjeto de Software Orientado a Objeto
Projeto de Software Orientado a Objeto Ciclo de Vida de Produto de Software (PLC) Analisando um problema e modelando uma solução Prof. Gilberto B. Oliveira Estágios do Ciclo de Vida de Produto de Software
Leia maisPROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Introdução Modelos de Processo de Desenvolvimento de Software Os modelos de processos de desenvolvimento de software surgiram pela necessidade de dar resposta às
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 06 Controlando o fluxo de eventos e passando parametro para Activities. Dalton Martins dmartins@gmail.com
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
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 maisProgramação em Java para a Plataforma Android AULA 1. Primeiros Passos
Programação em Java para a Plataforma Android AULA 1 Primeiros Passos O que é Android Como é o desenvolvimento de aplicações para esse ambiente O que é preciso para começar a programar ABvidades, o início
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 maisObjetivos: 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 bruno.gomes@ifrn.edu.br 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
Leia maisUnisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER
Objetivo dessa aula é descrever as características e a simbologia dos diagramas UML e MER na modelagem de sistemas de informação de uma forma a permitir a comunicação entre técnicos e gestores. Modelagem
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 maisESCOLHA UM TESTE PARA EXECUTAR
ESCOLHA UM TESTE PARA EXECUTAR Acompanhe o ritmo de aceleração dos ciclos de lançamento. Descubra a automatização com um toque humano EXECUTE UM TESTE 26032015 Com a Borland, tanto analistas de negócios
Leia maisINTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. ADS 6º Período
INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ADS 6º Período Activity INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS INTRODUÇÃO À PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Activity A classe activity
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 maisMetodologia e Gerenciamento do Projeto na Fábrica de Software v.2
.:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento
Leia maisProgramação para a Plataforma Android Aula 7. Mul$mídia
Programação para a Plataforma Android Aula 7 Mul$mídia Como executar aplicações que contêm músicas? Como abrir vídeos em Android? Quais formatos de músicas são aceitos? Quais formatos de vídeo? Como o$mizar
Leia maisProfº. Enrique Pimentel Leite de Oliveira
Profº. Enrique Pimentel Leite de Oliveira O termo orientação a objetos significa organizar o mundo real como uma coleção de objetos que incorporam estrutura de dados e um conjunto de operações que manipulam
Leia maisProgramação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Leia maisPROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar
Leia maisProf. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
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 maisRevISTa: Publicação técnico-científica do IST-Rio. nº 05 Data: Dezembro / 2012 ISSN 2178-5589.
Tutorial de Instalação e Uso do Eclipse Alexandre V. S. Lage, Caio de O. Leal, Eduardo A. F. da Silva, Felipe C. C. Trindade, Gutierre da C. Oliveira e Miguel G. P. de Carvalho. INTRODUÇÃO O Eclipse (2012)
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 maisPDS - DATASUS. Processo de Desenvolvimento de Software do DATASUS
PDS - DATASUS Processo de Desenvolvimento de Software do DATASUS Coordenação Geral de Arquitetura e Engenharia Tecnológica Coordenação de Padronização e Qualidade de Software Gerência de Padrões e Software
Leia maisDesenvolvimento para Android Prá9ca 2. Prof. Markus Endler
Desenvolvimento para Android Prá9ca 2 Prof. Markus Endler Criando o primeiro projeto Android Com o ambiente de desenvolvimento preparado, vá em File - > New - > Project... Na janela que abrir, selecione
Leia maisCapítulo 22. Associações entre Classes. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Capítulo 22 Associações entre Classes Objetivos do Capítulo Indicar os diferentes aspectos de um relacionamento entre classes que podem ser expressos através de uma associação. Descrever o significado
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 maisUNIVERSIDADE DO ESTADO DE SANTA CATARINA - UDESC DCC Departamento de Ciência da Computação Joinville-SC
CURSO: Bacharelado em Ciência da Computação DISCIPLINA: ANPS Análise e Projeto de Sistemas AULA NÚMERO: 3 DATA: PROFESSOR: Murakami Sumário 1 APRESENTAÇÃO...1 2 DESENVOLVIMENTO...1 2.1 Revisão...1 2.1.1
Leia maisRUP. Evolução. Principais Características do RUP. Principais Características do RUP RUP
RUP Rational Unified Process ( Unificado de Desenvolvimento da Rational) Conjunto de passos que tem como objetivo atingir uma meta de software na ES, processo que visa a produzir o software - de modo eficiente
Leia maisREVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
REVISÃO ENGENHARIA DO SOFTWARE Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Software Sequencia de Instruções a serem seguidas ou executadas Dados e rotinas desenvolvidos por computadores Programas
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 maisModelos de Sistema. 2007 by Pearson Education. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1.
Modelos de Sistema Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 8 Slide 1 Objetivos Explicar por que o contexto de um sistema deve ser modelado como parte do processo de RE Descrever
Leia maisGuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG
GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG Bruno Alberto Soares Oliveira 1,3 ; Lucas Vieira Murilo 1,3 ; Maik Olher Chaves 2,3 1 Estudante de Engenharia de
Leia maisMetodologia de Desenvolvimento de Software. Prof. M.Sc. Sílvio Bacalá Jr
Metodologia de Desenvolvimento de Software Prof. M.Sc. Sílvio Bacalá Jr Objetivos Discutir aspectos de Engenharia de Software Aplicar um método de desenvolvimento para especificação e projeto de software
Leia mais2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
Leia maisSISTEMA INFORMATIZADO PARA CONTROLE DE JOGO E GERAÇÃO DE SÚMULAS DE HANDEBOL
SISTEMA INFORMATIZADO PARA CONTROLE DE JOGO E GERAÇÃO DE SÚMULAS DE HANDEBOL ¹ Hélder SANTOS; ² Bruno FERREIRA; ¹ Estudante de Análise e Desenvolvimento de Sistemas. IFMG campus Bambuí ² Professor do curso
Leia maisTRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES
TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES [Observação: O template a seguir é utilizado como roteiro para projeto de sistemas orientado
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 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 maisEngenharia de Software
Prof. M.Sc. Ronaldo C. de Oliveira ronaldooliveira@facom.ufu.br FACOM - 2011 UML Linguagem Unificada de Modelagem Análise Orientada a Objetos com UML Análise Orientada a Objetos com UML Diagrama de Caso
Leia maisMetodologia e Gerenciamento do Projeto na Fábrica de Software
.:: Universidade Estadual de Maringá Bacharelado em Informática Eng. de Software III :. Sistema de Gerenciamento de Eventos - Equipe 09 EPSI Event Programming System Interface Metodologia e Gerenciamento
Leia maisNotas de Aula 04: Casos de uso de um sistema
Notas de Aula 04: Casos de uso de um sistema Objetivos da aula: Aprender os elementos básicos da modelagem por casos de uso Utilizar as associações entre casos de uso, atores e demais artefatos Compreender
Leia maisModelagem de Casos de Uso (Parte 1)
Modelagem de Casos de Uso (Parte 1) Roteiro Introdução Descrição: Sistema de Ponto de Vendas Casos de Usos Atores Fluxo de Eventos Cenários Formato de Documentação de Casos de Uso Diagramas de Casos de
Leia maisGuia 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.
Leia maisA Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação
A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los
Leia maisAplicativo web para definição do modelo lógico no projeto de banco de dados relacional
Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento
Leia maisCurso 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
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS
CC 3º Período Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br www.diemesleno.com.br Unidade I - Objetos e Classes em Java Conceito de Objeto; Conceito de Classe; Atributos; Métodos; Representação
Leia maisTutorial para atividades do Trabalho Prático da disciplina DCC 603 Engenharia de Software
Tutorial para atividades do Trabalho Prático da disciplina DCC 603 Engenharia de Software Antes de iniciar o tutorial, baixar os seguintes arquivos da página do Prof. Wilson: Plataforma reutilizável: http://homepages.dcc.ufmg.br/~wilson/praxis/3.0/praxis.zip
Leia maisEngenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com
Engenharia de Software: conceitos e aplicações Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com 1 Objetivos da aula Apresentar os conceitos de Engenharia de Software e explicar a sua importância.
Leia maisLinguagem 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
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 maisEngenharia de Software I
Engenharia de Software I Rogério Eduardo Garcia (rogerio@fct.unesp.br) Bacharelado em Ciência da Computação Aula 05 Material preparado por Fernanda Madeiral Delfim Tópicos Aula 5 Contextualização UML Astah
Leia maisModelagem de Software Prof. Flávio de Oliveira Silva, Ph.D.
UML Diagramas Um diagrama é a apresentação gráfica de um conjunto de elementos, onde os vértices são ITENS e os arcos RELACIONAMENTOS UML 2.0 possui os seguintes diagramas: Diagrama de Classes (Class Diagram)
Leia maisProgramação para Dispositivos Móveis
Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012
Leia maisUNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas
UNIDADE 4. Introdução à Metodologia de Desenvolvimento de Sistemas 4.1 Motivação Sistemas de Informação são usados em diversos níveis dentro de uma organização, apoiando a tomada de decisão; Precisam estar
Leia maisUm modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo.
UML - Motivação - O que é um modelo? Um modelo é uma simplificação da realidade. Construímos modelos para compreender melhor o sistema que estamos desenvolvendo. O que é um modelo? O que é um modelo? O
Leia maisDesenvolvimento de aplicações na plataforma Google Android
Desenvolvimento de aplicações na plataforma Google Android Rafael M. Lins Manoel Taenan Prof. Dr. Fábio Gomes Design by Rafael M. Lins Autores Rafael Madureira Lins de Araújo Bla bla bla Manoel Taenan
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 maisUso da linguagem de especificação SDL como alternativa ao diagrama de estados proposto pela linguagem UML
Uso da linguagem de especificação SDL como alternativa ao diagrama de estados proposto pela linguagem UML Carla Geovana Macário Marcos Chaim carla@cnptia.embrapa.br, chaim@cnptia.embrapa.br Novembro -
Leia maisEMENTA DO CURSO. Tópicos:
EMENTA DO CURSO O Curso Preparatório para a Certificação Oracle Certified Professional, Java SE 6 Programmer (Java Básico) será dividido em 2 módulos e deverá ter os seguintes objetivos e conter os seguintes
Leia maisProgramação para Android. Aula 08: Persistência de dados SQL
Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente
Leia mais2 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 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 maisAnálise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Leia maisEXERCÍ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
Leia maisSistema de partículas para dispositivos móveis na plataforma Android. Acadêmico: Angel Vitor Lopes Orientador: Mauro Marcelo Mattos
Sistema de partículas para dispositivos móveis na plataforma Android Acadêmico: Angel Vitor Lopes Orientador: Mauro Marcelo Mattos Roteiro Introdução Identificação do problema Objetivos Fundamentação teórica
Leia maisProgramação online em Java
Universidade Federal do ABC Disciplina: Processamento da Informação Assunto: Programação online em Java Programação online em Java Conteúdo Conteúdo...1 Introdução... 1 1.1.Programas necessários... 1 1.2.Visão
Leia maisEtapas e Desafios. plataforma de BPM corporativa. BPMS Showcase 2014. Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.
BPMS Showcase 2014 Etapas e Desafios na seleção de uma plataforma de BPM corporativa Apresentado por: Kelly Sganderla Consultora de Processos, CBPP Kelly.sganderla@iprocess.com.br Apresentando a iprocess
Leia maisCurso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Leia maisMAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick
MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento
Leia maisQualidade de Software
Qualidade de Software O software é algo abstrato, pois são as instruções que quando executadas atingem o propósito desejado no sistema computacional. (Algoritmo). As principais características são: Complexidade:
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos
Leia maisANÁLISE E PROJETO ORIENTADO A OBJETOS. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
ANÁLISE E PROJETO ORIENTADO A OBJETOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Análise Descrição do problema a ser implementado Descrição dos objetos e classes que fazem parte do problema, Descrição
Leia maisIntrodução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega
Android Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Universidade Federal de Santa Catarina November 18, 2008 Agenda 1 Introdução 2 Dalvik 3 Linux 2.6 Introdução
Leia maisTipos de teste de software
Tipos de teste de software Volnys Borges Bernal volnys@lsi.usp.br Adilson Hira ayhira@lsi.usp.br Laboratório de Sistemas Integráveis Departamento de Sistemas Eletrônicos Escola Politécnica da USP Sumário
Leia mais