1. INTRODUÇÃO. 1.1 Contextualização e Motivação

Tamanho: px
Começar a partir da página:

Download "1. INTRODUÇÃO. 1.1 Contextualização e Motivação"

Transcrição

1 1. INTRODUÇÃO Neste capítulo é apresentado, primeiramente, a contextualização que envolve o conjunto de circunstâncias para a elaboração do trabalho e a motivação de realizá-lo. Segundo, para um melhor entendimento do trabalho, são apresentados os objetivos. 1.1 Contextualização e Motivação Um dos objetivos da Engenharia de Software é construir sistemas extensíveis e de qualidade. Além disso, a busca da redução de custos e do aumento da produtividade na construção de software é constante. No entanto, com o passar do tempo, a complexidade do software produzido tem aumentado em escala, dificultando ainda mais esses objetivos. Em certas ocasiões para desenvolver um projeto, desenvolvedores aplicam muito tempo na atividade de programação, que poderia ser aplicado em outras atividades do projeto. Então surge a necessidade de pessoas estudarem a geração automática de código, com o objetivo de ajudar os programadores de software.

2 Em aplicações web, uma atividade que necessita de geração automática de código é o desenvolvimento de interfaces gráficas. Os desenvolvedores, levam muito tempo na implementação delas. Então surge a necessidade de desenvolver ferramentas para esse propósito. Neste contexto, uma ferramenta que ajuda bastante na geração de interfaces gráficas, é a UML (Unified Modeling Language). Uma linguagem para padronizar modelagem de software, com visualização gráfica. Um dos diagramas UML que é mais utilizado, é o diagrama de classes, que podem representar todas as classes de um sistema e com isto representar as informações que são utilizadas na geração de interfaces gráficas. A responsabilidade pelo trabalho de padronização associado ao UML foi entregue ao consórcio OMG (Object Management Group), que reúne, virtualmente todas as grandes empresas da indústria mundial de computação e centenas de empresas pequenas (Object Management Group, 2009). Existem ferramentas que geram automaticamente interfaces gráficas, que utilizam o paradigma MDA (Model Driven Architecture). Por meio da utilização do MDA, constrói-se código rapidamente de forma consistente, bem-arquitetada e autônomo de plataforma, utilizando modelos. Para utilizar o MDA precisa-se definir um processo de software que guie os desenvolvedores na preparação e geração dos modelos MDA. Um processo de software pode ser visto como um conjunto de atividades e resultados associados que levam à confecção de um produto de software. Além disso, um processo MDA requer uma seleção de metamodelos e regras de mapeamentos para geração da cadeia de modelos que levam até o código da aplicação (MARINHO, 2009). É uma ferramenta poderosa, mas quem a utiliza, fica muito preso a seus modelos, tendo que seguir suas regras. Então surge a necessidade de desenvolver uma ferramenta de 2

3 geração automática de interfaces gráficas sem muitas complicações, não sendo necessário a invenção de um novo modelo ou diagrama. O código gerado será apenas o conteúdo e a informação, a arte sendo feita à parte. 1.2 Objetivos O objetivo do trabalho é desenvolver uma ferramenta para geração automática de interfaces gráficas, a partir de diagramas de classes UML. A partir do diagrama de classes UML, que representa o domínio da aplicação, será criado um novo diagrama, representando a organização da informação obtida. Esse novo diagrama seguirá uma arquitetura pré-definida de interfaces. A interface gerada deverá ser extensível e configurável, aceitando plugins e folhas de estilo. Foi realizado um estudo sobre um gerador de código já construído e foi acrescentado ferramentas nele para chegar ao objetivo principal que é a geração automática de interfaces gráficas. 3

4 2 Referencial Teórico Neste capítulo são apresentadas todas as informações necessárias para complementar o entendimento da metodologia e da solução proposta neste trabalho. Algumas tecnologias são apresentadas. O JSF (JavaServer Faces), utilizada para facilitar o desenvolvimento de páginas web. O ICEfaces e o RichFaces, componentes JSF que utilizam Ajax, tornando páginas mais dinâmicas e interativas. O Greenbox e o Velocity, em conjunto, utilizados na geração automática de código. 2.1 Tecnologia Ajax Ajax (Asynchronous JavaScript and XML) é uma tecnologia de desenvolvimento web para criar softwares de interação. A tecnologia usa combinações do HTML (HyperText Markup Language), XML (Extensible Markup Language) e CSS (Cascading Style Sheets) para apresentar as informações, trocando dados assincronamente com o servidor web. Ou seja, enquanto o usuário está visualizando ou utilizando algo em algum site, são feitas inúmeras requisições ao servidor sem prévio aviso (VIEIRA, 2009).

5 Fazendo com que a exibição do site se torne uma visualização em tempo real. Apenas partes do site, que estão sendo requisitadas por algum usuário, são carregados no navegador. Isso se difere de modelos convencionais, em que quando o usuário, manda requisições ao servidor, a página é toda carregada, sem necessidade de carregá-la totalmente. 2.2 MVC MVC (Model View Controller) é um modelo de arquitetura de software. É utilizada por algumas tecnologias de desenvolvimento de páginas web, como JavaServer Faces (seção 2.3), e seus componentes ICEFaces e RichFaces (seção e 2.4.2). É separada em três camadas para melhor organização de uma aplicação. Ocorre a separação entre os dados (Model), e o layout (View). Então alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout. A camada View inclui elementos de exibição de clientes (arquivos HTML, XML), é a camada de interface com o usuário e é usada para receber a entrada de dados e apresentar o resultado. A camada Model, é o coração da aplicação. Modela os dados e o comportamento por trás do processo de negócios, se preocupa apenas com o armazenamento, manipulação e geração de dados e é um encapsulamento de dados e de comportamento independente da apresentação. A camada Control, determina o fluxo da apresentação servindo como uma camada intermediária entre a camada de apresentação e lógica (MACORATTI, 2009). 5

6 2.3 Java Server Faces Este framework é o resultado de um projeto apoiado pela Sun Microsystem e teve sua primeira versão apresentada em setembro de 2002 (GEARYHORSTMANN, 2005). O JavaServer Faces atua principalmente nas camadas de Visão e Controle do modelo MVC (FOWLER, 2003), e tem como principal objetivo facilitar o trabalho dos desenvolvedores na construção das páginas dos sistemas web. Para isso, disponibiliza aos usuários uma biblioteca de componentes prontos para serem utilizados. Além disso, possui um modelo de programação dirigido a eventos, tentando se aproximar das aplicações desktops. Alguns utilitários compõem esse framework para seu funcionamento, são eles : 1) Ciclo de Vida das Requisições JSF : é o caminho percorrido por uma requisição JSF, desde a sua criação, com a realização de um evento, até a renderização da página a ser exibida para o usuário. 2) FacesServlet: recebe todas as requisições do cliente, prepara, determina a operação na aplicação que será executada e redireciona de volta a resposta; 3) Action Handlers e Event Listeners: são os manipuladores dos eventos disparados na interface. Eles são os responsáveis por invocar a execução das implementações que representam cada evento; 6

7 4)View ID: É uma árvore de informações de todos os componentes de uma página que instanciou uma requisição. 5) FacesContext: Este objeto é o responsável por armazenar as View ID e todas as informações necessárias para o framework JSF gerenciar os componentes de uma página; 6) Component Tree: a representação hierárquica dos componentes da interface gráfica de usuário. Cada página renderizada pelo JSF é representada em uma árvore composta por componentes; 7) Converters: cada componente de uma interface gráfica de usuário pode possuir um conversor de tipos. Eles auxiliam na tradução de tipos complexos para String (e vice-versa ). 8) Validators: os componentes de uma interface gráfica de usuário também possuem validações específicas. O valor associado ao componente é validado de acordo com a configuração do mesmo. 9) Renderers: são responsáveis pela exibição do conjunto dos componentes na resposta do servidor ao cliente, e pela tradução dos mesmos componentes para o controlador no momento na requisição do 7

8 cliente. 10) Backing Beans: São classes as quais contêm parte ou todas as informações dos valores de uma página (GEARY;HORSTANN, 2005). É a representação do formulário HTML na forma de um objeto Java. 11)Faces-Config.xml: Este é o principal arquivo de configuração do framework JSF, no qual se deve definir todos os backing beans e as regras de navegação das páginas que serão utilizadas na aplicação. Para um melhor entendimento de uma requisição JSF, a Figura 1 mostra uma visão geral do seu funcionamento. Figura 1 Visão geral de uma requisição JSF. 8

9 Cada requisição JSF, passa pelo FacesServlet, responsável por determinar e preparar as operações de uma requisição. Os Action Handlers e Event Listeners são os responsáveis por invocar a execução das implementações que representam cada evento. Um evento pode ser ações de botões, por exemplo. É montado um Component Tree, uma árvore de componentes de uma GUI (Interface Gráfica do Usuário). Uma GUI pode possuir Converters, Validators e Renderers. Eles são responsáveis pela conversão de tipos, validação de campos e exibição dos componentes JSF de uma GUI, respectivamente. 2.4 Rich Internet Applications RIA (Rich Internet Applications) é mais um passo no processo evolutivo da Internet. Essas aplicações se parecem com as aplicações desktop, fazendo com que o seu uso seja mais facilitado, oferecendo uma interface mais rica aos usuários. (LOOSLEY, 2006). RIA é a revolução das aplicações web, é mais que tecnologia é um conceito. É o uso da Internet e das tecnologias disponíveis para criar uma experiência de uso de aplicação mais intuitiva e eficiente para o usuário. É uma nova forma de pensar e desenvolver sistemas web. É a combinação da interatividade e funcionalidade do desktop com a abrangência e flexibilidade da web (BRIDEE, 2007). Em aplicações RIA, tudo que é interface deve ser processado no cliente e o que for lógica do negócio deve ser processado no servidor (BRIDEE, 2007). 9

10 Os usuários que interagem com a aplicação, obtêm uma reação imediata da aplicação, quando são solicitados novos dados. Não há necessidade de renderizar a página totalmente. Os dados da aplicação são atualizados sem que a tela fique em branco. A aplicação utiliza alguns controles de interface de usuário mais modernos como menu, menu em árvore, painel de abas, entre outros elementos gráficos de interface que não são utilizados em aplicações web tradicionais. Permite o uso de operações comuns em aplicações desktop, como Drag & Drop, redimensionar, uso de animações, entre outras (BRIDEE, 2007) Tecnologia ICEfaces É um dos RIA mais populares entre as empresas de desenvolvimento de software. O framework ICEfaces (ICESOFT, 2006) pertence à empresa Rich Web Company que tem como principal foco desenvolver soluções para tornar as aplicações para a web mais ricas em funcionalidades. Esta empresa tem papel importante no mercado mundial de desenvolvimento de componentes que utilizam a tecnologia AJAX. Excedendo sessenta e cinco mil desenvolvedores em mais de trinta e seis cidades no mundo (ICESOFT, 2009). A Figura 2 representa a integração das tecnologias JSF e AJAX utilizada pela biblioteca ICEfaces. 10

11 Figura 2 - Integração das tecnologias JSF e AJAX utilizada pela biblioteca ICEfaces. Fonte: (ICESOFT, 2006). Esta biblioteca integra a parte de JavaScript no browser do cliente com as camadas de Visão e Controle do modelo MVC do servidor por meio de um módulo ICEfaces chamado de Ajax Bridge. As principais classes da arquitetura ICEfaces são : 1 Persistent Faces Servlet: Todas as requisições iniciais advindas de arquivos *.iceface são encaminhadas para a classe PersistentFacesServlet. Esta fica responsável por repassar a requisição ao servidor que executará todas as etapas do ciclo de vida de uma requisição JSF. 11

12 2 Blocking Servlet: Depois de a página ser renderizada pela primeira vez, todas as requisições do browser passam pelo AJAX Bridge do cliente e são encaminhadas para AJAX Blocking Bridge Servlet. Esta classe tem a função de repassar a requisição caso esta seja um submit diretamente ao servidor; caso contrário, a requisição deve ser encaminhada ao AJAX Bridge do servidor. 3 D2D View Handler: Classe responsável por estabelecer a renderização direta com o DOM (Document Object Model). O DOM permite uma maneira comum de se acessar e alterar objetos HTML via Javascript. Com isto, navegadores que suportam o DOM, não terão problemas em mostrar os componentes ICEFaces. A classe possui entre outras atividades: a inicialização de um objeto da classe DOM Response Writer e a invocação de um objeto da classe D2DParser na primeira vez em que uma página é renderizada a fim de que seja feito o parser da árvore de componentes JSF. 4 D2D Parser: Cada vez que uma nova página é renderizada um objeto da classe D2D Parser é chamado para que execute o parser do arquivo e construa a árvore de componentes JSF. 5 D2D RenderKit: A principal função dessa classe é renderizar a árvore de componentes dentro do DOM. 12

13 6 DOM Response Writer: Esta classe é responsável por escrever a árvore de componentes no DOM e encaminhar essas alterações ao DOM Updater. 7 DOM Serializer: A principal função desta classe é a de serializar o objeto DOM para as páginas na primeira vez que é renderizada. 8 DOM Updater: A classe DOM Updater é responsável por capturar o objeto DOM atualizado e enviar esta instância para o AJAX Bridge localizado no browser do cliente para que seja renderizado. Enquanto a tela com a árvore de componentes não for repassada ao AJAX Bridge do browser, o DOM Updater bloqueia qualquer requisição advinda da classe DOM Response Writer. 9 Client-side AJAX Bridge: Esta característica é implementada utilizando-se JavaScript e carregada automaticamente quando o browser renderiza uma página. As principais funções do Client-side AJAX Bridge são: repassar requisições (submit ou Partial submit) para a classe AJAX Bridge Blocking Servlet e receber objetos DOM atualizados para serem renderizados para o usuário. 13

14 10 Server-side AJAX Bridge: Já as classes que pertencem ao módulo AJAX Bridge que ficam no servidor fazem parte da biblioteca ICEfaces e portanto são desenvolvidas em Java. As principais atividades desenvolvidas por este módulo são: receber as requisições do Client-side AJAX Bridge, como por exemplo, submit e partial submit, que devem ser repassados à aplicação JSF; e obter objetos DOM atualizados que devem ser enviados para o AJAX Bridge do cliente Ajax4jsf O framework Ajax4jsf é um projeto patrocinado pela empresa Exadel (EXADEL, 2006) sediada na cidade de Concord, Califórnia. O diferencial do Ajax4JSF é a facilidade de desenvolvimento de sistemas devido à total integração desse framework com a IDE (Integrated Development Enviroment), chamada de Exadel Studio. Exadel também desenvolveu uma biblioteca de componentes JSF que utilizam a tecnologia AJAX, chamada de RichFaces (EXADEL, 2006), a qual é uma extensão do framework Ajax4jsf. Na Figura 3 representa os principais elementos que pertencem ao framework Ajax4jsf : 14

15 Figura 3 Representação dos principais elementos da biblioteca Ajax4jsf. Fonte: [EXADEL, 2009]. 1) Ajax Filter : Este tipo de filtro tem como principal função a de receber as requisições e, de acordo com o tipo, encaminhá-las para serem executadas de maneira correta. Caso seja uma requisição JSF, o Ajax Filter deve reconstruir toda a página que deve ser exibida ao usuário; caso seja uma requisição AJAX somente devem ser atualizados os componentes desejados pelo desenvolvedor. 15

16 2) Ajax Container: É uma interface que contém quais partes da página JSF devem ser renderizadas após a execução de uma requisição. 3) Ajax4jsf JavaScript Engine: Este é o responsável por administrar quais campos da página JSF do cliente deverão sofrer modificações quando uma requisição é executada. 4) Skinability: Esta é uma característica desta biblioteca, que permite que algumas características gráficas sejam definidas com o uso de parâmetros do sistema; com isso o usuário pode definir a cor de fundo, o estilo e a fonte das letras, entre outros atributos, durante a execução do programa. 5) Ajax Action Components: Existem basicamente três componentes que podem enviar requisições AJAX a partir do browser do cliente: AjaxCommandButton, AjaxCommandLink e AjaxSupport. Uma falha encontrada na versão utilizada do Ajax4Jsf é que este framework não está ainda totalmente integrado aos diversos browsers (principalmente Internet Explorer e Mozilla Firefox) considerando que no exemplo desenvolvido os componentes ficam perfeitamente alinhados em um browser, enquanto em outro acontece o desalinhamento. 16

17 2.5 UML A UML (Unified Modeling Language) é, atualmente, a linguagem para documentação e modelagem de software mais difundida entre os desenvolvedores. Através dos modelos e diagramas encontrados na UML, pode-se obter diferentes visões de um software. O diagrama mais utilizado entre os desenvolvedores e analistas é o diagrama de classes. Esse diagrama é muito útil para um sistema, pois define todas classes que necessita possuir e é a base para a construção dos outro diagramas. As classes correspondentes em um determinado diagrama de classes, podem conter relações como: herança, associações, por exemplo. Isto possui características semelhantes ao modelo relacional em banco de dados, em que as tabelas mantêm relações com outras tabelas. Em alguns sistemas, às vezes fica mais fácil, criarmos apenas classes representando as entidades do sistema, para ficar mais simples quando for modelar as relações entre classes nos diagramas. No MVC essas classes representam a camada Model. A UML é uma linguagem padrão para especificar, visualizar, documentar e construir artefatos de um sistema e pode ser utilizada com todos os processos ao longo do ciclo de desenvolvimento e através de diferentes tecnologias de implementação. Ela representa uma coleção das melhores experiências na área de modelagem de sistemas orientado a objetos, as quais tem obtido sucesso na modelagem de grandes e complexos sistemas (Furlan, 1998). 17

18 Segundo (Furlan, 1998), a UML pode ser usada para: a) mostrar as fronteiras de um sistema e suas funções principais utilizando atores e casa de uso; b) ilustrar a realização de casos de uso com diagramas de interação; c) representar uma estrutura estática de um sistema utilizando diagramas de classes; d) modelar o comportamento de objetos com diagramas de transição de estado; e) revelar a arquitetura de implementação física com diagramas de componentes e de implantação; 2.6 Linguagens de descrição de dados Nesta seção é apresentada uma visão geral das linguagens XML e XMI utilizadas para descrever os diagramas de classes UML do projeto Extensible Markup Language A Extensive Markup Language (XML) é uma linguagem de marcação de dados (meta markup language) que provê um formato para descrever dados estruturados. Isso facilita declarações mais precisas do conteúdo e resultados mais significativos de busca através de múltiplas plataformas. 18

19 A XML também permite o surgimento de uma nova geração de aplicações de manipulação e visualização de dados via internet. A XML não é uma simples linguagem de marcação pré-definida, mas sim uma metalinguagem uma linguagem que descreve outras linguagens que permite definir sua própria marcação (Laurent, 1999). De acordo com (Laurent, 1999), alguns pontos fortes da XML são: a) Manutenção: a XML é fácil de manter. Ela contém somente idéias e marcações. Folhas de estilos e links vêm em separado, e não escondidas no documento. Cada um pode ser alterado separadamente quando for preciso com fácil acesso e fáceis mudanças; b) Permite a definição de suas próprias tags conforme a necessidade do usuário; c) Adaptação: a XML é a linguagem mãe de outras linguagens. Marcações personalizadas podem ser criadas para qualquer necessidade; d) Aplicações padronizadas para XML possibilitam que diferentes aplicativos trabalhem em conjunto trocando informações, proporcionando maior interoperabilidade; XML Metadata Interchange O XMI (XML Metadata Interchange) é uma linguagem baseada em XML e seu principal objetivo é facilitar o intercâmbio de metadados. Com ele conseguimos descrever informações entre ferramentas de 19

20 modelagem baseadas em UML. XMI baseia-se na tecnologia Meta Object Facility (MOF), que foi adotada pelo Object Management Group (OMG) para a definição de metadados. Como a UML também é baseada na MOF, a XMI se apresenta como um formato de intercâmbio para a UML. A XMI é usada para a troca de dados de modelos entre diferentes ferramentas de desenvolvedores e utiliza a sintaxe XML para descrever os dados. Ela também possibilita a troca de modelos entre ferramentas UML, mas para isso elas precisam saber como importar XMI e misturar partes importadas em um modelo existente. Esta tecnologia pode ser usada como uma etapa intermediária, se falando de geração de definições da XMI a partir da UML ( Daum e Metter, 2002 ). Segundo (Groose, 2002), alguns benefícios imediatos ao uso do XMI, são eles: a) XMI define uma padrão de representação de objetos em XML, viabilizando ainda mais o intercâmbio de definições de modelos e modelos entre ferramentas específicas; b) XMI especifica como criar Schemas a partir de modelos; c) XMI permite a evolução do grau de detalhismo de sua aplicação; d)xmi permite evoluir documentos previamente criados, diminuindo o grau de abstração; e) XMI permite lidar com XML sem se tornar um mestre em XML, porém o desenvolvedor pode se sentir a vontade para melhorar o que foi desenvolvido com o auxílio do XMI utilizando o conhecimento que tiver sobre XML; 20

21 2.7 Tecnologia Velocity O Velocity é uma ferramenta de desenvolvimento de templates desenvolvido em Java. Templates são arquivos com extensão.vm, que através da sintaxe Velocity embutida dentro desses arquivos, consegue-se gerar qualquer tipo de arquivo, em qualquer linguagem desejada. A tecnologia Velocity possui algumas diretivas que podem compor esses templates, com o objetivo de gerar qualquer tipo de arquivos. Para melhor explicar como o template é, a Figura 4 mostra um exemplo de um template. <!-- imprimir nomes de hoteis de lavras cadastrados <!-- imprimir nomes dos hotéis <HTML> <HEAD> <TITLE>EXEMPLO TEMPLATE VELOCITY</TITLE> </HEAD> <BODY> <TABLE> <tr> #foreach($name in $listnomeshoteis) <td>name : $name </td> #end </tr> </TABLE> </BODY> </HTML> Figura 4 : templateexample.vm 21

22 Nesta figura é apresentado um arquivo HTML com código do Velocity. Uma diretiva importante da linguagem Velocity, é o #foreach, usado para percorrer elementos de um array. Todas diretivas dessa linguagem, começam com #. Em toda linguagem de programação, para representarmos uma variável, utilizamos alguma letra ou caracter sublinhado. Neste caso, na linguagem Velocity, é utilizado o $. Notamos que inserimos sintaxe do Velocity, dentro de um arquivo HTML. Isso pode ser feito dentro de qualquer tipo de arquivo. Isto quer dizer que é possível gerar qualquer tipo de arquivo com a tecnologia Velocity Neste exemplo, a partir de um arquivo Java, podemos imprimir todos nomes de hotéis de um array preenchidos neste arquivo abaixo apresentado na Figura 5. 22

23 public class CadastroHoteis { ArrayList hoteis = newarraylist(arrays.aslist(new String[] { })); "Pinguin", "Califórnia", "Otton" VelocityContext context = new VelocityContext(); public void processamento(){ velocity.init(); context.put("listnomeshoteis", hoteis); Template template = velocity.gettemplate(); template.merge(context, output); } Figura 5 CadastroHoteis.java A Figura 5, apresenta uma classe Java contendo métodos correspondentes às variáveis que estão sendo acessadas através do Velocity da Figura 4. Foi criado nesta classe, um array chamado hoteis e inicializamos ele com três nomes. Criamos um objeto da classe VelocityContext, chamado context, para realizar a passagem de informações da classe java para o template. No método processamento, inicilazamos o velocity com o método init(). Com o método put(), colocamos o contexto do array hotéis em listnomeshoteis para ser acessado no template da Figura 4 com este nome. Depois selecionamos um determinado template que será utilizado, que será aquele da Figura 4. Posteriormente o método merge() é 23

24 utilizado para colocar esse contexto em um arquivo qualquer de saída output, pode ser um arquivo JSP ou texto por exemplo. Neste caso nosso arquivo de saída será HTML, pois queremos gerar um arquivo HTML. Quando esse arquivo for gerado, ficará da sequinte forma : <HTML> <HEAD> <TITLE>EXEMPLO TEMPLATE VELOCITY</TITLE> </HEAD> <BODY> <TABLE> <tr> <td>name : Pinguin </td> <td>name : Califórnia </td> <td>name : Otton </td> </tr> </TABLE> </BODY> </HTML> Figura 6 : exemplo.html Aquele código HTML da Figura 4 que possuía diretivas Velocity, agora possui somente código HTML. Os nomes dos hotéis foram processados do arquivo CadastroHoteis.java e acessados nesse arquivo exemplo.html da Figura 6. O Velocity consegue atribuir objetos Java dentro de qualquer tipo de 24

25 arquivos. É com isto que conseguimos gerar qualquer tipo de arquivo. 2.8 Geradores de código A geração automática de código define a capacidade de gerar automaticamente um software funcional ou compilável diretamente de uma especificação de projeto. A geração automática do código, integral ou parcial, fornece as seguintes vantagens: redução do tempo de desenvolvimento, pois minimiza a necessidade de codificação manual, e aumento da confiabilidade do código gerado, o qual foi produzido por uma ferramenta depurada e testada (Fisher, 1990) Greenbox O Greenbox é um framework de geração de códigos, baseado em Velocity e técnicas de Metamodel, permitindo ler modelos estáticos como banco de dados e XMI e gerar códigos para qualquer linguagem. Abaixo, segue a Figura 7, correspondente ao sistema Greenbox. 25

26 Figura 7 Sistema Greenbox Esse sistema funciona de maneira simples. Com arquivos XMI, ou schemas de banco de dados, que são as entradas desse sistema, o Greenbox consegue processar esses dados juntos com templates Velocity e assim, gerar o código em qualquer linguagem desejada. 26

27 3. Metodologia Neste capítulo são apresentados os passos para o desenvolvimento do projeto. Primeiramente é abordado o estudo do gerador de código e das tecnologias utilizadas, e o motivo de escolhê-las. Em seguida, é analisada a estrutura de pacotes utilizada para a modelagem das classes. Posteriormente, é analisado como deve ser as relações entre as classes da aplicação. Em seguida, é analisado as interfaces gráficas geradas. Depois, é analisada uma interface utilitária para a escolha dos templates e locais de geração dos arquivos. Posteriormente, é apresentado o desenvolvimento dos templates responsáveis pela geração das interfaces gráficas e de outros arquivos. 3.1 Gerador de Código Foi estudado um gerador de código implementado anteriormente por um grupo de desenvolvedores. Esse gerador já consegue fazer o parser do arquivo XMI obtido por alguma ferramenta de diagramas UML escolhida pelo usuário. Com isso, nomes das classes, o caminho de pacotes pertencentes a cada classe, associações, herança, nomes e tipos de atributos de classes já são obtidos.

28 Foi utilizado o framework Greenbox como uma ferramenta do gerador de código. Foram acrescentadas ao gerador classes utilitárias para a ajuda na geração de código, tanto da interface pré-definida, quanto para gerar as interfaces gráficas e os outros arquivos, como os backing beans. Foi feito um estudo sobre este gerador, para ser utilizado para a construção dos templates responsáveis par atingir o objetivo do projeto. 3.2 Tecnologias Utilizadas Na construção das interfaces gráficas foi utilizado o framework ICEfaces. Ele é uma ferramenta utilizada por muitas empresas no mundo inteiro. É fácil de utilizar e possui muitas ferramentas que servirão bem para o nosso projeto. Na construção dos templates foi utlizado a ferramenta Velocity. O Greenbox foi utilizado para auziliar na geraçao automática de código. 3.3 Estrutura de Pacotes Todas classes e diagrama de classes criadas por algum usuário, deverão ser modeladas em algum software de gerenciamento UML. Este software deverá conter uma ferramenta para exportar o arquivo XMI 28

29 correspondente de cada aplicação modelada. Foi inventada, uma estrutura de pacotes hierárquico, para organizar a criação dessas classes. A Figura 8 mostra a estrutura de pacotes escolhida, modelada no software Poseidon. Figura 8 Estrutura de pacotes 29

30 na Figura 9. A representação hierárquica dessa estrutura de pacotes está ilustrada Figura 9 Representação estrutura de pacotes. O pacote entity engloba todas entidades da aplicação. Essas classes são o modelo de domínio da aplicação. Neste exemplo, possuímos as entidades: Estagiário, Professor e User. O pacote view é criado para representar as telas que serão geradas. Dentro do pacote view, temos as pranchetas, abas, cartões e selos. Neste caso, temos a prancheta empresa e faculdade. A prancheta empresa, possui as abas estagiário e funcionário. A prancheta faculdade, possui a aba professor. A aba estagiário, possui o cartão NewEstagiario. A aba funcionário, possui os cartões NewUser e NewUsers. A aba professor, possui o cartão NewProfessor. Cada cartão corresponde a 30

31 cada classe criada. Os selos correspondem ao conteúdo de cada cartão. Cada usuário deve utilizar essa estrutura de pacotes para obter as interfaces gráficas desejadas. 3.4 Relações entre as classes Na modelagem do diagrama de classes, cada classe deve possuir uma relação direcionada com as entidades correspondentes. Pois as entidades não tem nada a ver com as interfaces geradas. São as interfaces que representam as entidades. 3.5 Conteúdo de cada cartão O conteúdo de cada cartão vai depender do tipo de relação entre a sua classe e as outras classes do diagrama de classes UML modelado. Na Figura 10, ocorre uma relação direcionada um para um entre a classe X e a entidade Y. 31

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

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 araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes

Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Ferramenta para Geração de Código a partir da Especialização do Diagrama de Classes Alexandro Deschamps (Ápice) alexandro@apicesoft.com Everaldo Artur Grahl (FURB/DSC) egrahl@furb.br Resumo. Uma das grandes

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP

Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Use a Cabeça! FREEMAN, Eric e Elisabeth. HTML com CSS e XHTML BASHMAN, Brian / SIERRA Kathy / BATES, Bert. Servlets & JSP Software cliente: browser e outros Protocolo HTTP Infraestrutura de transporte

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCE-557 Técnicas de Programação para WEB Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br 1 Cronograma Fundamentos sobre servidores e clientes Linguagens Server e Client side

Leia mais

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

Introdução à Tecnologia Web

Introdução à Tecnologia Web Introdução à Tecnologia Web JavaScript Histórico e Características Índice 1 JAVASCRIPT... 2 1.1 Histórico... 2 1.2 Aplicações de JavaScript... 2 a) Interatividade... 2 b) Validação de formulários... 2

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

Aplicativo 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 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 mais

PRODUTO 1 (CONSTRUÇÃO DE PORTAL WEB)

PRODUTO 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 mais

Universidade da Beira Interior

Universidade da Beira Interior Universidade da Beira Interior Relatório Apresentação Java Server Pages Adolfo Peixinho nº4067 Nuno Reis nº 3955 Índice O que é uma aplicação Web?... 3 Tecnologia Java EE... 4 Ciclo de Vida de uma Aplicação

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL Manoel Theodoro Fagundes Cunha Sergio Scheer Universidade Federal do Paraná, Setor de Tecnologia, Centro de Estudos de Engenharia

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB

TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB TECNOLOGIAS E FRAMEWORKS PARA O DESENVOLMENTO DE INTERFACES WEB Marcelo Rodrigo da Silva Ribeiro 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil marcelo.rodrigo@live.com,

Leia mais

Orientada a serviços: JAX-WS SOAP API

Orientada a serviços: JAX-WS SOAP API Orientadaa apresentação: uma aplicação webde apresentação orientada gera páginas webinterativascom vários tipos de linguagem de marcação (HTML, XML, e assim por diante) e conteúdo dinâmico em resposta

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2010

CURSO DESENVOLVEDOR JAVA Edição 2010 CURSO DESENVOLVEDOR JAVA Edição 2010 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF

INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF INTRODUÇÃO E CONFIGURAÇÃO DO PRIMEFACES MOBILE EM APLICAÇÕES JSF Guilherme Macedo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil guilhermemacedo28@gmail.com, jaime@unipar.br Resumo.

Leia mais

Engenharia de Software I

Engenharia 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 mais

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia

DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP. VitorFariasCoreia DESENVOLVIMENTODE APLICAÇÕESPARAINTERNET:PHP VitorFariasCoreia INFORMAÇÃOECOMUNICAÇÃO Autor Vitor Farias Correia Graduado em Sistemas de Informação pela FACITEC e especialista em desenvolvimento de jogos

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA)

SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA) SISTEMA DE CONTROLE INTERNO DE FLUXO DE CAIXA DO SETOR DE APOIO FINANCEIRO (ULBRA GUAÍBA) Alessandra Lubbe 1 Alexandre Evangelista 2 Jeandro Perceval 3 José Ramiro Pereira 4 Luiz Gustavo Mahlmann 5 RESUMO

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

Histó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 mais

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES Aluno: André Luis Becker Orientador: Prof. Everaldo Artur Grahl. Mestre Orientador, FURB Roteiro da Apresentação Introdução;

Leia mais

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML.

Palavras-Chaves: Arquitetura, Modelagem Orientada a Objetos, UML. MODELAGEM ORIENTADA A OBJETOS APLICADA À ANÁLISE E AO PROJETO DE SISTEMA DE VENDAS ALTEMIR FERNANDES DE ARAÚJO Discente da AEMS Faculdades Integradas de Três Lagoas ANDRE LUIZ DA CUNHA DIAS Discente da

Leia mais

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64

Geração e execução de scripts de teste em aplicações web a partir de casos de uso direcionados por comportamento 64 direcionados por comportamento 64 5 Estudo de caso Neste capítulo serão apresentadas as aplicações web utilizadas na aplicação da abordagem proposta, bem como a tecnologia em que foram desenvolvidas, o

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007

( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Tutorial JUDE ( JUDE Community 5.1 2006/2007 ) Por Denize Terra Pimenta Outubro/2007 Ferramenta CASE UML Índice Introdução... 2 Download e Instalação... 2 Apresentação da Ferramenta... 2 Salvando o Projeto...

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

2 Geração Dinâmica de Conteúdo e Templates de Composição

2 Geração Dinâmica de Conteúdo e Templates de Composição 2 Geração Dinâmica de Conteúdo e Templates de Composição Alguns dos aspectos mais importantes na arquitetura proposta nesta dissertação são: a geração dinâmica de conteúdo e a utilização de templates de

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

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.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

UNIVERSIDADE 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 mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde 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 mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Tutorial 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 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 mais

MÓDULO Programação para Web 2

MÓDULO Programação para Web 2 MÓDULO Programação para Web 2 Sistemas Web na JEE OBJETIVO DO MÓDULO Arquitetura Web em aplicações JEE Conceitos iniciais Desenvolvimento Web Aplicações web tornam-se mais e mais importantes Mais e mais

Leia mais

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

ARQUITETURA DO SISTEMA ERP PEGASUS

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...

Leia mais

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programaçã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 mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

Leia mais

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2 Objetivo. O objetivo da disciplina é conhecer os princípios da programação de

Leia mais

Arquitetura de uma Webapp

Arquitetura de uma Webapp Arquitetura de uma Webapp Arquitetura J2EE Containers e componentes MVC: introdução Frederico Costa Guedes Pereira 2006 fredguedespereira@gmail.com Plataforma J2EE World Wide Web e a Economia da Informação

Leia mais

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento PHP Profissional APRENDA A DESENVOLVER SISTEMAS PROFISSIONAIS ORIENTADOS A OBJETOS COM PADRÕES DE PROJETO Alexandre Altair de Melo Mauricio G. F. Nascimento Novatec Sumário Agradecimentos...13 Sobre os

Leia mais

Desenvolvimento de Sites. Subtítulo

Desenvolvimento de Sites. Subtítulo Desenvolvimento de Sites Subtítulo Sobre a APTECH A Aptech é uma instituição global, modelo em capacitação profissional, que dispõe de diversos cursos com objetivo de preparar seus alunos para carreiras

Leia mais

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o que é uma Aplicação Rica para Internet Contextualizar tais aplicações na Web e os desafios

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet.

Está apto a utilizar o sistema, o usuário que tenha conhecimentos básicos de informática e navegação na internet. 1. Descrição Geral Este manual descreve as operações disponíveis no módulo VTWEB Client, cuja finalidade é gerenciar cadastros de funcionários, realização de pedidos e controle financeiro dos pedidos.

Leia mais

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831

Rational Quality Manager. Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 Rational Quality Manager Nome: Raphael Castellano Campus: AKXE Matrícula: 200601124831 1 Informações Gerais Informações Gerais sobre o RQM http://www-01.ibm.com/software/awdtools/rqm/ Link para o RQM https://rqmtreina.mvrec.local:9443/jazz/web/console

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme

Aula 1 Desenvolvimento Web. Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Aula 1 Desenvolvimento Web Curso: Técnico em Informática / 2º módulo Disciplina: Desenvolvimento Web Professora: Luciana Balieiro Cosme Plano de Aula Ementa Avaliação Ementa Noções sobre Internet. HTML

Leia mais

Coleção - Análises de email marketing em clientes de email

Coleção - Análises de email marketing em clientes de email Coleção - Análises de email marketing em clientes de email Thunderbird e Terra Nesta terceira edição da Coletânea de Análises de Email Marketing em Clientes de Email, apresentamos os estudos do webmail

Leia mais

Sistemas para internet e software livre

Sistemas para internet e software livre Sistemas para internet e software livre Metodologia de modelagem de aplicações WEB Image: FreeDigitalPhotos.net Domínio: Elementos de aplicação WEB Páginas Web Scripts Formulários Applets e ActiveX Motivação

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013.

Curso de atualização Educação Integral e Integrada. Tutorial Moodle. Belo Horizonte, 2013. Curso de atualização Educação Integral e Integrada Tutorial Moodle Belo Horizonte, 2013. 1. INTRODUÇÃO... 3 2. ACESSANDO O AMBIENTE... 4 3. CONHECENDO O AMBIENTE... 5 3.1. CAIXAS DE UTILIDADES... 5 4.

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

Codificar Sistemas Tecnológicos

Codificar Sistemas Tecnológicos Codificar Sistemas Tecnológicos Especificação dos Requisitos do Software Sistema de gestão para a Empresa Cliente SlimSys Autor: Equipe Codificar Belo Horizonte MG Especificação dos Requisitos do Software

Leia mais

SAPENS - Sistema Automático de Páginas de Ensino

SAPENS - Sistema Automático de Páginas de Ensino SAPENS - Sistema Automático de Páginas de Ensino Eduardo Kokubo kokubo@inf.univali.br Fabiane Barreto Vavassori, MSc fabiane@inf.univali.br Universidade do Vale do Itajaí - UNIVALI Centro de Ensino Superior

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar 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 mais

CARDS - Jogo Educativo na Internet para Ensino a Distância

CARDS - Jogo Educativo na Internet para Ensino a Distância CARDS - Jogo Educativo na Internet para Ensino a Distância 1 Introdução Bruno Astuto Arouche Nunes Sergio Barbosa Villas-Boas 1 Henrique Falleiros Tendo em vista que o processo de ensino, nos dias de hoje,

Leia mais

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE Agosto 2007 Sumário de Informações do Documento Tipo do Documento: Manual Título do Documento: MANUAL DE UTILIZAÇÃO DO

Leia mais

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN

DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN DESENVOLVIMENTO DE SOFTWARE DE VOTAÇÃO WEB UTILIZANDO TECNOLOGIA TOUCHSCREEN José Agostinho Petry Filho 1 ; Rodrigo de Moraes 2 ; Silvio Regis da Silva Junior 3 ; Yuri Jean Fabris 4 ; Fernando Augusto

Leia mais

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância

5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância 5 Framework para coordenação e mediação de Web Services para ambientes de aprendizado à distância O capítulo anterior apresentou uma discussão sobre a inclusão dos chamados learning services no processo

Leia mais

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br

WebWork 2. João Carlos Pinheiro. jcpinheiro@cefet-ma.br WebWork 2 João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 0.5 Última Atualização: Agosto/2005 1 Agenda Introdução WebWork 2 & XWork Actions Views Interceptadores Validação Inversão de Controle (IoC)

Leia mais

Desenvolvedor Web Docente André Luiz Silva de Moraes

Desenvolvedor Web Docente André Luiz Silva de Moraes Roteiro 2: Introdução a Linguagem HTML Neste roteiro é explorada a linguagem HTML. A linguagem HTML (Hypertext Markup Language) é amplamente utilizada na construção de páginas de internet e é responsável

Leia mais

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo

Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário - VisPublica Melise Paula Fernanda Ribeiro Bárbara Pimenta Clóvis Noronha Luan Costa Mário Macedo Manual do Usuário VisPublica Visualização de Dados Públicos Desenvolvido por: Instituto

Leia mais

1. Introdução. 2. A área de trabalho

1. Introdução. 2. A área de trabalho Curso Criiar web siites com o Dreamweaver Parrttee II 1. Introdução O Macromedia DreamWeaver é um editor de HTML profissional para desenhar, codificar e desenvolver sites, páginas e aplicativos para a

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 FRAMEWORK PARA TREINAMENTOS NA WEB BASEADO EM VÍDEO SOBRE DEMANDA Ícaro Carlos Andrade Costa 1 Igor Antônio Andrade Costa 2 Ricardo Ariel Correa Rabelo 3 Renata Azevedo Santos Carvalho 4 RESUMO A educação

Leia mais

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Anexo III Funcionamento detalhado do Sistema Montador de Autoria 1 Sumário Anexo III Funcionamento detalhado do Sistema Montador de Autoria Anexo III Funcionamento detalhado do Sistema Montador de Autoria... 1 1 Sumário... 1 2 Lista de Figuras... 5 3 A Janela principal...

Leia mais