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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Potenciais de Aplicação da Metodologia AJAX

Potenciais de Aplicação da Metodologia AJAX SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 Potenciais de Aplicação da Metodologia AJAX Bruno Simões Kleverson Pereira Marcos Santos Eduardo Barrere Associação Educacional Dom Bosco - AEDB RESUMO

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

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

( 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

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

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

SCC-0263. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello http://www.icmc.usp.br/~mello mello@icmc.usp.br SCC-0263 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

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

Parte I. Demoiselle Vaadin

Parte I. Demoiselle Vaadin Parte I. Demoiselle Vaadin O Vaadin é um framework para construção de interfaces web que aplica ideias inovadoras. Apesar de usar o GWT como mecanismo para a exibição de seus componentes, eles tem características

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

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

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

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

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

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI

UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI UTILIZANDO ICONIX NO DESENVOLVIMENTO DE APLICAÇÕES DELPHI Dr. George SILVA; Dr. Gilbert SILVA; Gabriel GUIMARÃES; Rodrigo MEDEIROS; Tiago ROSSINI; Centro Federal de Educação Tecnológica do Rio Grande do

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

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

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com.

Introdução à Tecnologia Web. Ferramentas e Tecnologias de Desenvolvimento Web. Profª MSc. Elizabete Munzlinger www.elizabete.com. IntroduçãoàTecnologiaWeb FerramentaseTecnologiasde DesenvolvimentoWeb ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br FerramentaseTecnologiasde DesenvolvimentoWeb

Leia mais

Geração de códigos de interfaces de usuário a partir da linguagem UIML

Geração de códigos de interfaces de usuário a partir da linguagem UIML Geração de códigos de interfaces de usuário a partir da linguagem UIML Ayslan Trevizan Possebom, Antonio Mendes da Silva Filho, Sérgio Roberto Pereira da Silva Departamento de Informática Universidade

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

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA

XML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados

Leia mais

Algumas propriedades dos objetos:

Algumas propriedades dos objetos: Orientação a Objetos Vivemos num mundo de objetos. Esses objetos existem na natureza, nas entidades feitas pelo homem, nos negócios e nos produtos que usamos. Eles podem ser categorizados, descritos, organizados,

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

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA IMPLEMENTAÇÃO DE SOLUÇÃO PARA AUTOMATIZAR O DESENVOLVIMENTO DE SOFTWARE UTILIZANDO A LINGUAGEM C#.NET

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

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

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

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

Correção de cartões de respostas utilizando análise e processamento de imagens digitais

Correção de cartões de respostas utilizando análise e processamento de imagens digitais Correção de cartões de respostas utilizando análise e processamento de imagens digitais Vantuil José de OLIVEIRA NETO¹, Caroline Julliê de Freitas RIBEIRO¹, Samuel Pereira DIAS² ¹ Tecnólogos em Análise

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

Novemax Biblioteca OO para abstração de componentes HTML, desenvolvida em PHP

Novemax Biblioteca OO para abstração de componentes HTML, desenvolvida em PHP Novemax Biblioteca OO para abstração de componentes HTML, desenvolvida em PHP Isac Velezo de C. Aguiar isacaguiar@gmail.com Jailson Oliveira da Boa Morte jailsonboamorte@gmail.com Instituto de Matemática

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

Leia mais

DHTML - MÓDULO 1: VISÃO GERAL E INTRODUÇÃO Por Marcelo Camargo Visão geral

DHTML - MÓDULO 1: VISÃO GERAL E INTRODUÇÃO Por Marcelo Camargo Visão geral Apostila retirada de http://www.ibestmasters.com.br DHTML - MÓDULO 1: VISÃO GERAL E INTRODUÇÃO Por Marcelo Camargo Visão geral A tecnologia DHTML (Dynamic HTML) foi apresentada inicialmente como um conjunto

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

PROGRAMA INSTITUCIONAL DE INICIAÇÃO CIENTÍFICA (PIBIC) RELATÓRIO PARCIAL DE ATIVIDADES (AGOSTO/2007 A MAIO/2008) Aplicação de Padrões Web em Framework

PROGRAMA INSTITUCIONAL DE INICIAÇÃO CIENTÍFICA (PIBIC) RELATÓRIO PARCIAL DE ATIVIDADES (AGOSTO/2007 A MAIO/2008) Aplicação de Padrões Web em Framework PROGRAMA INSTITUCIONAL DE INICIAÇÃO CIENTÍFICA (PIBIC) RELATÓRIO PARCIAL DE ATIVIDADES (AGOSTO/2007 A MAIO/2008) Aplicação de Padrões Web em Framework Fernando Henrique Malaquias Drª. Simone Nasser Matos

Leia mais

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML

Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Estudo comparativo de diferentes linguagens de interfaces baseadas em XML Ricardo Alexandre G. C. Martins, José Carlos Ramalho, and Pedro Rangel Henriques \{ram,jcr,prh\}@di.uminho.pt Departamento de Informática

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA. Informatização de farmácias publicas utilizando software livre.

UNIVERSIDADE FEDERAL DE SANTA CATARINA. Informatização de farmácias publicas utilizando software livre. UNIVERSIDADE FEDERAL DE SANTA CATARINA Informatização de farmácias publicas utilizando software livre. MURILO NUNES ELIAS FLORIANÓPOLIS SC 2007/2 UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE

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

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

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

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

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

Suporte à Engenharia Reversa para o ambiente SEA

Suporte à Engenharia Reversa para o ambiente SEA Otavio Pereira Suporte à Engenharia Reversa para o ambiente SEA Orientador: Ricardo Pereira e Silva Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis

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

RichBlocks - Um Framework para Implantar Interfaces RIA em Sistemas Web

RichBlocks - Um Framework para Implantar Interfaces RIA em Sistemas Web 1 RichBlocks - Um Framework para Implantar Interfaces RIA em Sistemas Web Jaydson Nascimento Gomes, Rodrigo Prestes Machado Curso de Análise e Desenvolvimento de Sistemas Faculdade de Tecnologia Senac

Leia mais

Minha primeira aplicação utilizando Java Server Faces + Glassfish

Minha primeira aplicação utilizando Java Server Faces + Glassfish Minha primeira aplicação utilizando Java Server Faces + Glassfish Este tutorial apresenta de forma simples, como iniciar no desenvolvimento com o framework Java Server faces 1.2, utilizando-se o servidor

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

Tutorial - Programando com o MIOLO

Tutorial - Programando com o MIOLO Tutorial - Programando com o MIOLO Conceitos Básicos Antes de iniciar a programação com o Miolo é fundamental compreender alguns conceitos básicos: - Uma aplicação no Miolo é constituída de um ou mais

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE CIÊNCIAS DA COMPUTAÇÃO DIEGO LUIZ MARAFON INTEGRAÇÃO JAVASERVER FACES E AJAX ESTUDO DA INTEGRAÇÃO ENTRE AS TECNOLOGIAS

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

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

Leia mais

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza

Modelagem OO com UML. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Modelagem OO com UML Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito Santo Modelos Maneira

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

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

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

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

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

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior

Desenvolvimento WEB em JAVA. Palestrante: Lourival F. de Almeida Júnior Desenvolvimento WEB em JAVA Palestrante: Lourival F. de Almeida Júnior Agenda Introdução Servlet Arquitetura de Software Velocity Struts Conclusão Referências Introdução (antes) Programador Produto Introdução

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

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

Transformação de modelos em processos de desenvolvimento de software

Transformação de modelos em processos de desenvolvimento de software 1068 X Salão de Iniciação Científica PUCRS Transformação de modelos em processos de desenvolvimento de software Vinycio de Correa Lunelli 1, Profa. Dra. Ana Paula Terra Bacelo 1 1 Faculdade de Informática,

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

SENADO FEDERAL Secretaria Especial do Interlegis SINTER Subsecretaria de Tecnologia da Informação SSTIN. Produto I: ATU SAAP

SENADO FEDERAL Secretaria Especial do Interlegis SINTER Subsecretaria de Tecnologia da Informação SSTIN. Produto I: ATU SAAP Produto I: ATU SAAP Documento de projeto do novo sistema. Modelo de Dados, Casos de Usos e Interface Gráfica do Sistema Pablo Nogueira Oliveira Termo de Referência nº 129275 Contrato Número 2008/000988

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

Leia mais

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br

MC302A Modelagem de Sistemas com UML. Prof. Fernando Vanini vanini@ic.unicamp.br MC302A Modelagem de Sistemas com UML Prof. Fernando Vanini vanini@ic.unicamp.br Modelamento de Sistemas e Orientação a Objetos O paradigma de Orientação a Objetos oferece um conjunto de características

Leia mais

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ

08/04/2013. Agenda. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ. O Sistema CACHÉ Agenda Caché Server Pages Uma Aplicação Banco de Dados Fernando Fonseca Ana Carolina Salgado Mestrado Profissional 2 SGBD de alto desempenho e escalabilidade Servidor de dados multidimensional Arquitetura

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

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS

ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS ESPECIFICAÇÃO DO AMBIENTE EXPSEE SEGUNDO O MÉTODO CATALYSIS RESUMO Este artigo apresenta a especificação de um sistema gerenciador de workflow, o ExPSEE, de acordo com a abordagem de desenvolvimento baseado

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Introdução ao Javascript

Introdução ao Javascript Programação WEB I Introdução ao Javascript Apresentação da Disciplina,Introdução a linguagem Javascript Objetivos da Disciplina Apresentar os principais conceitos da linguagem Javascript referente à programação

Leia mais

Padrões de Interação com o Usuário

Padrões de Interação com o Usuário Padrões de Interação com o Usuário Granularidade dos Padrões Padrões estão relacionados a 3 elementos: Contexto ocorre Problema resolve Solução Problemas e Soluções podem ser observados em diferentes níveis

Leia mais

19/05/2009. Módulo 1

19/05/2009. Módulo 1 ASP.NET Módulo 1 Objetivo Mostrar os conceitos fundamentais da plataforma Microsoft.Net e suas ferramentas; Apresentar os conceitos fundamentais de aplicações web e seus elementos; Demonstrar de forma

Leia mais

Estudo de Caso Sistema de Caixa Automático

Estudo de Caso Sistema de Caixa Automático Estudo de Caso Sistema de Caixa Automático Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Referências: Notas de Aula Ulrich Schiel Notas de Aula Ariadne

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Os trabalhos relacionados podem ser classificados em três categorias: abordagens baseadas em metamodelos para a definição de formalismos, uso de metamodelos em editores de diagrama

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

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

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

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

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

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

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

Unisant Anna Gestão Empresarial com ERP 2014 Modelagem de Sistemas - UML e MER

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

Gerenciador Financeiro CITi. Gerenciador Financeiro CITi

Gerenciador Financeiro CITi. Gerenciador Financeiro CITi (Sistema de Gerenciamento Financeiro) Especificação dos Requisitos do Software Gerenciador Financeiro CITi Versão 1.0 Autores: Bruno Medeiros de Oliveira Igor Rafael Medeiros Pedro Araújo de Melo Tiago

Leia mais