INTERNACIONALIZAÇÃO DE INTERFACE

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

Download "INTERNACIONALIZAÇÃO DE INTERFACE"

Transcrição

1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO TECNOLÓGICO PROJETO FINAL BERNARD CORRÊA PEREIRA INTERNACIONALIZAÇÃO DE INTERFACE VITÓRIA 2007

2 BERNARD CORRÊA PEREIRA 2 INTERNACIONALIZAÇÃO DE INTERFACE Projeto Final apresentado ao Centro Tecnológico da Universidade Federal do Espírito Santo, como requisito para obtenção do Grau de Bacharel em Ciências da Computação. Orientador: Prof o D.Sc. Orivaldo de Lira Tavares. VITÓRIA 2007

3 3

4 SUMÁRIO 4 RESUMO... 8 TABELA DE FIGURAS... 9 CAPÍTULO 01: O INTERNACIONALIZADOR DE INTERFACES Introdução Justificativas Objetivos Metodologias Estrutura da Monografia...12 CAPITULO 02 TRABALHOS CORRELATOS: TÉCNICAS E TECNOLOGIAS DE INTERNACIONALIZAÇÃO DE SOFTWARE Introdução: GNU-GetText Internacionalizando com o GNU-GetText Como funciona o GNU gettext: Vantagens do GNU-gettext Desvantagens do GNU-gettext Arquivos de Recursos do ASP.NET Internacionalizando com o ASP.NET Vantagens da Internacionalização por Arquivos de Recursos Desvantagens da Internacionalização por Arquivos de Recursos Apache Struts Internacionalização no Struts Vantagens da Internacionalização proposta pelo Struts Desvantagens da Internacionalização proposta pelo Struts...21 CAPÍTULO 03 - LEVANTAMENTO DE REQUISITOS Este capítulo apresenta o levantamento de requisitos do sistema de internacionalização Requisitos não Funcionais do Sistema Atores do Sistema Programador Tradutor Humano Servidor de Aplicação Funcionalidades da Aplicação Funcionalidades para Programação Associar Interface Trabalhar Mensagens Selecionar Localidade da Aplicação Funcionalidade Elementar do Sistema de Internacionalização Construir Sistema de Dados Funcionalidades de Tradução Cadastrar Idiomas Cadastrar Termos Ligar Termos Traduzir Interface Validar Interface...28

5 3.3.4 Funcionalidades de Serviço Exibir Interface Internacionalizar Gerar Interface...30 CAPÍTULO 04 ANÁLISE DO SISTEMA Introdução Entidades do Sistema Idioma Termo Termo Semântico assinternacionalizador Internacionalizador Mensagem Elementos de Interface eilabel eibotao eilink eiimagem Page, Session e WebControl Casos de Uso Funcionalidades para Programação Associar Interface Trabalhar Mensagens Selecionar Localidade na Aplicação Funcionalidades Elementares do Sistema de Internacionalização Construir Sistema de Dados Funcionalidades de Tradução Cadastrar Idiomas Cadastrar Termos Ligar Termos Traduzir Interface Validar Interface Funcionalidades de Serviço Exibir Interface Internacionalizar Gerar Interface...40 CAPÍTULO 05: PROJETO DO SISTEMA Introdução Plataforma Adotada Arquitetura ASP.NET Objetos do sistema Session Page WebControls A Linguagem C# Db4O, Banco de Dados Orientados a Objetos A concepção do sistema MVC Camada de modelo Modelo de Dados Persistência da Camada de Modelo

6 5.3.3 Camada de controle appcadastraridioma appcadastrartermo apptraduzirinterface appcontrolarsistemadados assinternacionalizador Camada de vista Casos de Uso Funcionalidades para Programação Associar Interface Selecionar Localidade da Aplicação Funcionalidades Elementares do Sistema de Internacionalização Construir Sistema de Dados Funcionalidades de Tradução Cadastrar Idiomas Cadastrar Termos Ligar Termos Traduzir Interface Validar Interface Exibir Interface Internacionalizar Gerar Interface...66 CAPÍTULO 06 IMPLEMENTAÇÃO Introdução Análise e Projeto Implementação Plataforma Banco de Dados IDE O Internacionalizador de Interface Alterações de Projeto Interfaces do Sistema Cadastro de Idioma Cadastro de Termo Ligar Termos Traduzir e Validar Casos de uso sem Interface Casos de uso do Programador Validação de Interfaces Construção do Sistema de Dados Exibir a Interface Internacionalizar Conclusões...77 CAPÍTULO 07 LÊ GRAND FINALLE Introdução Resultados O Desejado O Alcançado Aprendizagem ASP.NET C#

7 7.3.3 Db4o Jude UML IDEs de Desenvolvimento Etapas do desenvolvimento Direções Futuras Elementos de Interface Tradução Automática Casa de ferreiro, espeto de pau Componentização Controles de acesso Considerações Finais

8 RESUMO 8 O projeto Internacionalização de Interface se propõe a desvincular a tradução da programação na construção de sistemas internacionalizados. Incorporando conhecimentos adquiridos em outros projetos, a solução a ser criada seguirá pelas etapas de especificação de requisitos, análise, projeto, implementação e testes até alcançar um resultado satisfatório com um sistema de informação que desvincule totalmente o tradutor das atividades executadas pelos outros desenvolvedores de software.

9 TABELA DE FIGURAS 9 Número Título 1.1 Site do Google em Japonês, Francês, Espanhol e Chinês. 2.1 Formato de um arquivo de informações do GNU gettext 2.2 Chamada de método sem Internacionalização. 2.3 Chamada de método buscando a internacionalização 2.4 Exemplos do conteúdo dos arquivos de internacionalização 2.5 Exemplo de um arquivo.resx com informações de internacionalização 2.6 Arquivo de Internacionalização 2.7 Tag asp que utiliza a informação do arquivo de internacionalização 2.8 Arquivo de recurso para a localidade EN-US 2.9 Arquivo de internacionalização lido pelo struts Utilização dos rótulos de internacionalização 3.1 Diagrama de Casos de Uso da aplicação 3.2 Diagrama de Casos de Uso de Programação 3.3 Diagrama de caso de uso da funcionalidade elementar 3.4 Diagrama de caso de uso de Tradução 3.5 Diagrama de caso de uso de Funcionalidades de Serviço 4.1 Entidades do sistema 5.1 Modelo de Dados: Associar Interface 5.2 Modelo de Dados: Trabalhar Mensagem 5.3 Modelo de Dados: Seleciona Localidade da Aplicação 5.4 Modelo de Dados: Construir Sistema de Dados 5.5 Modelo de Dados: Cadastrar Idiomas 5.6 Modelo de Dados: Cadastrar Termos 5.7 Modelo de Dados: Ligar Termos 5.8 Modelo de Dados: Traduzir Interface 5.9 Modelo de Dados: Validar Interface 5.10 Modelo de Dados: Internacionalizar 5.11 Modelo de Dados: Gerar Interface 6.1 Listagem de idioma 6.2 Cadastro de idioma 6.3 Listagem de termo 6.4 Cadastro de termo 6.5 Edição de Conjuntos Semânticos. 6.6 Seleção de termos para inserção no conjunto semântico 6.7 Listagem das interfaces internacionalizadas do sistema 6.8 Tradução de elementos de interface 6.9 Tradução de Mensagens da Interface 6.10 Tela de validação de interfaces 6.11 Casos de uso Cadastrar Interface e Trabalhar Mensagem 6.12 Manipulação das localidades da aplicação

10 CAPÍTULO 01: O INTERNACIONALIZADOR DE INTERFACES Introdução A expansão da Internet permitiu que informações fossem acessadas de qualquer ponto do globo com imensa facilidade. O avanço tecnológico crescente aumentou a conectividade entre as pessoas e as organizações expondo barreiras referentes à comunicação humana. Com a diversidade de idiomas e dialetos a construção de sistemas on-lines que possam ter abrangência global torna-se um desafio que escapa do domínio técnico das tecnologias de informação. Uma página da Internet consegue mais facilmente ter uma abrangência internacional se esta for capaz de se comunicar na linguagem de seus usuários. A figura 1.1 mostra como exemplo o sítio web do google exibido em 4 idiomas. Figura 1.1 Sítio do Google em Japonês, Francês, Espanhol e Chinês.

11 Justificativas O projeto Internacionalização de Interface surge na intenção de estudar as tecnologias de internacionalização de interface, propondo uma solução para este problema tão comum do desenvolvimento de sistemas web internacionais, a comunicação com o usuário. 1.3 Objetivos A descoberta sobre os macetes e artimanhas da internacionalização de software e o desenvolvimento de um protótipo com tal finalidade servirá como amplificador para o horizonte na construção de programas, ampliando ainda mais o leque de alternativas para o desenvolvimento internacional de aplicações. Com o conhecimento produzido neste estudo objetiva-se incrementar o desenvolvimento de aplicações em ambientes empresariais e acadêmicos de forma a concentrar o esforço no objeto de real interesse, a lógica de funcionamento, sem que o sistema fique restrito a uma única cultura. No âmbito acadêmico podemos imaginar um maior intercambio de conhecimento entre diversas Universidades e Centros de Pesquisas espalhados pelo mundo através de projetos unificados onde cada entidade contribui com uma parte do sistema, não se preocupando com os futuros usuários não locais, durante a construção do sistema. Um dos focos deste projeto visa a redução da responsabilidade, compreendendo as técnicas existentes e trabalhando-as para maior simplicidade no uso das operações de internacionalização no momento de construção e tradução do programa. A materialização dos objetivos acima propõe a construção de um mecanismo de internacionalização de interfaces na qual os elementos da tela sejam reconhecidos automaticamente e o tradutor possa usar um ambiente que o desvincule das tarefas de programação. 1.4 Metodologias O projeto de internacionalização de interface seguirá a seguinte metodologia: Levantamento de trabalhos correlatos, especificação de requisitos, análise e projeto de sistemas orientados a objetos, implementação e testes. O paradigma orientado a objetos estará presente da análise à implementação, sendo que

12 12 nesta fase será usado um BDOO 1 no sistema de armazenamento de dados. Focado em sistema web, o ASP.NET 2.0 (seção 5.2.1) foi a tecnologia escolhida para a construção do protótipo. Com o levantamento de trabalhos correlatos detectar-se-ão problemas já conhecidos e suas propostas de soluções. A maturação destes conhecimentos que se encontram disponibilizados combinados com os objetivos irá contribuir qualitativamente para criação do internacionalizador. A especificação de requisito reparte o problema e determina os micro-objetivos que precisam ser alcançados para a conquista do sistema planejado. Na fase de análise construir-se-á o modelo conceitual da aplicação, detalhando cada caso de uso previsto na especificação. O detalhamento completo virá na fase de projeto onde as classes auxiliares serão especificadas e todas as relações serão explicadas. Após os testes, serão analisados os resultados obtidos, o aprendizado e as propostas de melhorias que possam ser aplicadas neste projeto. 1.5 Estrutura da Monografia O primeiro capítulo apresenta uma breve visão do trabalho, suas justificativas, objetivos esperados e as metodologias utilizadas. No segundo constam os trabalhos correlatos de internacionalização. Nesse capítulo também serão descritas as técnicas e estratégias utilizadas na internacionalização de outros sistemas de informação. O terceiro, quarto e o quinto apresentam, respectivamente, especificação, análise e projeto orientado a objetos do sistema que será implementado. O sexto traz a descrição da implementação, descrevendo as ferramentas e tecnologias adotadas. O sétimo e último capítulo apresenta o desfecho do projeto descrevendo o aprendizado obtido e as propostas para melhorias futuras que possam ser aplicadas. 1 BDOO: Banco de Dados Orientados a Objetos

13 CAPITULO 02 TRABALHOS CORRELATOS: TÉCNICAS E TECNOLOGIAS DE INTERNACIONALIZAÇÃO DE SOFTWARE Introdução: A globalização no final do século XX e a expansão do mercado de computadores pessoais expuseram a indústria de software ao problema da distribuição internacional de seus produtos, e com o avanço da Internet, de serviços. Os Softwares precisaram romper a barreira internacional, cujo principal entrave tem sido a comunicação humana, e por causa disto soluções para internacionalização tiveram de ser inventadas com o intuito de facilitar a vida do desenvolvedor e prover maior usabilidade para o usuário. Essas soluções de internacionalização visam romper as barreiras criadas por idiomas e dialetos na utilização dos softwares. Esse capítulo abordará alguns mecanismos, explicando seu funcionamento e seus métodos de utilização para internacionalização de software: O GNU-GetText, o Struts e os arquivos de recursos do ASP.NET 2.0. Esse capítulo constantemente mostrará o termo localidade que deve ser entendido como os idiomas ou seus dialetos. Suas codificações são especificadas pelos padrões das normas da ISO 2 : ISO-3166 e ISO GNU-GetText A primeira solução que analisada é um software livre sobre a licença GPL, datado de 1998, é muito rústico quando refletido sobre os aspectos de sua utilização, porém tecnicamente é muito interessante. Foi construído para ser usado originalmente com a linguagem C e depois migrado para suportar diversas linguagens Internacionalizando com o GNU-GetText Para se internacionalizar um sistema com o GNU-GetText usa-se arquivos de informações que normalmente tem como extensão.po, com o formato apresentado na figura ISO: é uma organização internacional que aprova normas para 148 paises em diversos campos técnicos" [http://pt.wikipedia.org/wiki/isso,12/2006]. O site oficial desta organização é

14 14 # comentários do tradutor #. comentários automáticos #: referência #, flag... msgid string-não-traduzida msgstr string-traduzida msgid string-não-traduzida2 msgstr string-traduzida2 Figura 2.1 Formato de um arquivo de informações do GNU-gettext No código fonte do programa, nos pontos onde irá ser chamada alguma mensagem, usa-se o retorno do gettext passando o msgid como parâmetro para a obtenção da mensagem desejada. Veja no exemplo das figuras 2.2 e 2.3. main() { } printf( Bem Vindo ); Figura 2.2 Chamada de método sem Internacionalização. main() { } printf(gettext( Bem Vindo )); Figura 2.3 Chamada de método buscando a internacionalização. Os dois exemplos acima (figuras 2.2 e 2.3) ilustram a diferença na construção do programa quando o GNU-gettext é usado como mecanismo de internacionalização e não. Para a internacionalização realmente ter efeito é necessário construir os arquivos.po onde estarão os rótulos e seus significados, como mostramos abaixo na figura 2.4: bemvindo.po bemvindo_en.po bemvindo_fr-fr.po bemvindo_it.po

15 15 bemvindo.po bemvindo_en.po bemvindo_fr-fr.po bemvindo_it.po #português #inglês #francês #italiano msgid bem vindo msgid bem vindo msgid bem vindo msgid bem vindo msgstr bem vindo msgstr welcome msgstr bienvenue msgstr benvenuto Figura 2.4 Exemplos do conteúdo dos arquivos de internacionalização Como funciona o GNU gettext: Os arquivos.po, anteriormente mencionados, devem ser compilados e gerando um arquivo de dados com a extensão.mo. Esse arquivo.mo é lido pelo GNU-gettext durante a execução da aplicação que construirá um dicionário de dados (tabela hash 3 ). Este tipo de implementação gera um menor overhead 4 na aplicação ao internacionalizar, visto que as características determinadas pela implementação (uso de tabela hash) afetam diretamente a recuperação de informações, que nesta estrutura de dados é muito eficiente. Quando invocado pela aplicação, o gettext consulta a tabela hash, que é carregada na leitura do arquivo.mo, o rotulo passado como parâmetro e retorna sua tradução registrada no dicionário Vantagens do GNU-gettext Os detalhes claros em sua documentação oficial, que se encontra no site mostram que sua implementação priorizou muito o desempenho, visto em fatores como a escolha de estruturas de dados eficientes e a implementação de um sistema de arquivo compilado para armazenamento da informação. A tabela hash, estrutura escolhida para suportar a recuperação de informações, principal funcionalidade na internacionalização, que sob hipóteses razoáveis para a busca por um elemento (em uma tabela hash) é O(1) [Cormen, Thomas H Algoritmo: Teoria e Prática, 2002 ]. 3 Tabela Hash: Tipo Abstrato de Dados que armazena a informação em uma tabela onde a função h, chamada de função hash que mapeia a chave k [Grooobich, Michael T. Projetos de Algoritmo: Fundamentos, Análise e Exemplos da internet, 2004] possibilitando a recuperação do elemento associado a k. 4 Overhead: Conjunto de processamento efetuado adicionalmente na aplicação que não possui nenhuma relação direta na obtenção da saída da operação executada. Em geral são provenientes de requisitos não funcionais.

16 Desvantagens do GNU-gettext Muitos conceitos amadurecidos e largamente utilizados por desenvolvedores atualmente, como por exemplo, a orientação a objetos e a utilização de sistemas de banco de dados em preferência à criação de sistemas de arquivos proprietários fez com que o GNU-gettext fosse construído num paradigma que deixa muita responsabilidade na mão do programador e do tradutor, que precisam se adequar às normas para o correto funcionamento do sistema Arquivos de Recursos do ASP.NET 2.0 O.Net é uma iniciativa da Microsoft para permitir a portabilidade no desenvolvimento de software. Sua arquitetura é composta de um conjunto de compiladores de linguagens de alto nível (VB.NET, C#, J#, Boo, C++) cujo resultado de seu trabalho é uma linguagem intermediária chamada de CLR (Common Languagem Runtime) em vez de código binário. Depois de compilado, essa linguagem intermediária é executada pelo Framework.NET, uma espécie de máquina virtual que a compila usando o compilador JIT (Compilador em Tempo de Execução) que gerará o código binário que é capaz de ser executado na plataforma utilizada [http://pt.wipedia.org/wiki/microsoft_.net, 11/2006 ]. O ASP.NET é parte desta plataforma voltada para a construção de aplicações para WEB. Ele permite a construção de páginas web e os chamados web-services Internacionalizando com o ASP.NET 2.0 A internacionalização de aplicações no ASP.NET 2.0 utiliza-se dos chamados arquivos de recursos com extensões.resx. Esses arquivos já existiam na versão 1.1, porém essa forma de utilização foi inserida recentemente a partir da versão 2.0. O processo de internacionalização inicia-se escrevendo o arquivo de recurso para o idioma padrão da aplicação usando o formato XML, armazenando nesse arquivo as chaves, os tipos e os valores dele para aquele idioma. O termo chave consiste em uma forma de identificar aquele rótulo e é por onde se recupera as informações. A figura 2.5 apresenta o trecho do arquivo.resx onde se encontram as informações de internacionalização. 5 web-service: [XML WebService] aplicação acessada através da de protocolos web [...] que são independente de plataformas [e linguagens] e usam o XML para se comunicar. (Souza, J. de G., 2003 )

17 17 <data name="lblola" type= string > <value>olá</value> </data> Figura 2.5 Exemplo de um arquivo.resx com informações de internacionalização. A utilização dessa informação no ASP.NET 2.0 pode ser feita pelo programador por meio de tags do tipo asp, inserindo no atributo meta:resourcekey o valor da chave, como mostrado na figura 2.6 e 2.7. De acordo com a chave, quando essa possuir sub-chaves referentes aos atributos do objeto de destino, o.net efetuará a ligação automaticamente. Default.aspx.resx <data name="labelola.text" type= string > <value>olá</value> </data> <data name="labelola.tooltip" type= string > <value>mensagem do sistema</value> </data> Figura 2.6 Arquivo de Internacionalização. Na tag asp (figura 2.7) o internacionalizador irá sobrescrever o valor das propriedades, como por exemplo, Text, que se encontra sublinhada, terá o seu valor (Nome) sobrescrito quando o arquivo de recursos, mostrado na figura 2.6 é invocado. <asp:label ID="Label1" meta:resourcekey="labelola" runat="server" Font-Size="Larger" Text= Nome ></asp:label> Figura 2.7 Tag asp que utiliza a informação do arquivo de internacionalização. Para se gerar novos idiomas na internacionalização, cria-se arquivos de recursos seguindo a seguinte nomenclatura: [nome-do-arquivo].resx para o idioma padrão da aplicação, e [nome-doarquivo].[localização].resx. Usando a estrutura do arquivo de recurso (figura 2.6) pode-se criar

18 18 arquivos para as demais localidades, o arquivo de recurso em inglês para a mesma aplicação é mostrado na figura 2.8. Default.aspx.EN-US.resx <data name="labelolatext" type= string > <value>hi</value> </data> <data name="labelola.tooltip" type= string > <value>system Message</value> </data> Figura 2.8 Arquivo de recurso para a localidade EN-US (Inglês Estados Unidos) Vantagens da Internacionalização por Arquivos de Recursos. O arquivo de Recurso que consiste em um arquivo do formato XML permite algumas alterações em sua estrutura, desde que mantida a árvore de nós, como a inclusão de informações e o uso para outras funcionalidades além da internacionalização. Recursos Desvantagens da Internacionalização por Arquivos de A edição deste arquivo manualmente, devido à sobrecarga de elementos textuais, é pouco produtiva e obscura induzindo muitos erros do desenvolvedor ou tradutor, sendo ideal que se crie um editor gráfico para isso na ferramenta de desenvolvimento Apache Struts O Struts é uma framework livre para o desenvolvimento de software web, construída pela Apache Software Foudation ( ). Funciona sobre a plataforma JSP (JavaServer Pages) e é baseado no Modelo-2 que é uma variação do Modelo MVC (http://struts.apache.org, 2006).

19 19 O objetivo do Struts é prover um conjunto de funcionalidades onde o desenvolvedor, de forma mais ágil, pode construir uma aplicação para web (Husted, Ted. Struts em Ação, 2002). Porém, como todas os Frameworks ele enrijece o processo de construção de software exigindo que o programador a construa de acordo com as regras pré-estabelecidas. O padrão estabelecido consiste em separar as apresentações, que serão armazenada em um ActionForm e que se conectará ao RegisterAction, responsável por validar as entradas, invocar as lógicas de negócio e enviar a saída para o ActionFoward, mecanismo responsável por emitir a saída do processamento da página corrente Internacionalização no Struts A plataforma JAVA provê ao usuário 3 classes principais na internacionalização que são: 1. Java.util.Locale responsável por distinguir as diferentes localidades; 2. java.util.resourcebundle que armazena as mensagens e etiquetas associando-as as suas localidades e 3. java.text.messageformat responsável pelo tipo de formatação dos elementos sensíveis a localidade. A classe Locale é utilizada pelas outras 2 para indicar a sua localização (idioma/dialeto) ajudando-as a efetuarem tarefas para internacionalização (Husted, Ted. Struts em Ação, 2002). Os mecanismos de internacionalização providos pelo JAVA são muitos limitados para as atividades do dia a dia no desenvolvimento de sistemas WEB. Por isso, o Struts precisou prover uma maneira mais eficaz: a localização é armazenada numa variável de sessão, onde cada usuário obtém a sua no momento que se conecta na aplicação. Para armazenamento na sessão desse atributo de localização o struts provê a classe org.apache.struts.util.locale. A classe org.apache.struts.util.messageresources é a responsável pela recuperação das mensagens durante a execução de java.text.messageformat. O struts, por meio da MessageResources permite a recuperação de diversos mecanismos de armazenamento como arquivosxml e Banco de Dados, mas por padrão costuma-se utilizar um arquivo de texto. A construção da internacionalização é feita escrevendo um arquivo, que por hábito é chamado de ApplicationResources.properties para o idioma padrão da aplicação e para cada localidade (Locale) adicional será construído um arquivo com o nome ApplicationResources_XX.properties, onde o XX representa o nome da localidade internacionalizada (ver exemplo da figura 2.9). Este arquivo conterá as informações que serão escritas da seguinte maneira: chave.subchave = texto. Para se utilizar as informações armazenadas

20 20 nos arquivos de internacionalização (ApplicationResources_XX.properties) coloca-se como origem as informações do campo Keys da tag jsp (o valor de chave.subchave referente ao elemento). ApplicationResources. Properties lblola=olá lblbemvindo=bem Vindo message.ola=olá garota message.erro= TILTI ApplicationResources_EN. properties lblola=hi lblbemvindo=wellcome message.ola=hi girl message.erro= TILTI ApplicationResources_IT. Properties lblola=tcau lblbemvindo=bevenuto message.ola=tcau ragazza message.erro= TILTI Figura 2.9 Arquivo de internacionalização lido pelo struts. Sob demanda, cada rótulo é carregado na memória e permanecerá durante toda a execução, quando requisitado por meio do uso de tags JSP ou pelas classes ActionMessage e ActionErros (figura 2.10). Tag JSP <bean:message key="lblola"/> ActionErros errors.add(action.errors.global_error, new Action.Errors( message.erro )); ActionMessage messages.add(actionmessages.global_message,new ActionMessage( message.ola )); Figura 2.10 Utilização dos rótulos de internacionalização Vantagens da Internacionalização proposta pelo Struts A sintaxe do arquivo.properties, usado para armazenar a informação pelo struts, é a mais simples dos mecanismos apresentados, o que facilita muito seu uso pelo tradutor. A chamada de rótulos por demanda e sua permanência em memória provê um ganho de desempenho no acesso às informações internacionalizadas.

21 Desvantagens da Internacionalização proposta pelo Struts 21 A edição manual dos arquivos de internacionalização gera aumento na complexidade do processo de tradução das interfaces, pedindo ao tradutor que se responsabilize pela construção correta dos arquivos de internacionalização. A documentação não deixa claro como os rótulos, que são carregados em memória, são dês-alocados para evitar uma possível sobrecarga no sistema com a perda de espaço útil da aplicação para elementos que são acessados raramente.

22 CAPÍTULO 03 - LEVANTAMENTO DE REQUISITOS 22 Este capítulo apresenta o levantamento de requisitos do sistema de internacionalização. 3.1 Requisitos não Funcionais do Sistema Como descrito no capítulo 1, sobre as metodologias a serem usadas no desenvolvimento ficou definido o uso da plataforma MONO e a plataforma.net 6. Visando desempenho, far-se-á necessária a construção de um sistema de dados que agilize o processo de recuperação da informação traduzida no momento da exibição da interface internacionalizada. A confiabilidade das traduções precisa ser garantida, assim uma interface deve somente entrar em produção quando esta se encontrar totalmente corrigida. 3.2 Atores do Sistema Serão três atores interagindo para o funcionamento correto do projeto, cada qual com seu papel dentro do sistema, sendo que os dois primeiro são humanos: o programador e o tradutor. E o último é uma representação da entidade do sistema que corresponde ao servidor de aplicação Programador O Ator do sistema invocado pelo nome de programador representa o desenvolvedor de software que pretende utilizar o internacionalizador de interfaces no sistema de informação que pretende construir Tradutor Humano As interfaces previstas para o sistema serão construídas para este ator, sobre sua responsabilidade estará a tradução e validação de todas as interfaces.este ator também cadastrará idiomas para a aplicação, e poderá construir manualmente a memória de termos do sistema Servidor de Aplicação 6 MONO e.net: Em teoria, uma aplicação construía sem código gerenciado para alguma plataforma destas deveriam ser capaz de rodar na outra.

23 23 O servidor da aplicação no sistema de internacionalização de interface é representado como um ator. Na plataforma.net este ator é o servidor de aplicações corresponde IIS 7 (Internet Information Server) e no MONO, sobre o Linux será o servidor de aplicação XPS2 8. Este ator dispara uma série de casos de usos que fornecem a automação do sistema. 3.3 Funcionalidades da Aplicação Figura 3.1 Diagrama de Casos de Uso da aplicação. Esta seção apresenta as funcionalidades previstas para a aplicação divididas em categorias que apresentam semelhanças em seus objetivos. O diagrama (Figura 3.1) exibe o acesso ao caso de usos feitos pelos usuários do sistema Funcionalidades para Programação 7 ISS: Servidor de aplicações web para a tecnologia ASP.NET construído e mantido pela Microsoft. 8 XSP2: Servidor de aplicação para ASP.NET que é implementado e mantido pela comunidade software livre, é executável em diversos sistemas operacionais como o Linux e Windows.

24 24 Figura 3.2 Diagrama de Casos de Uso de Programação. Os casos de uso a seguir são acessados, como visto no diagrama (Figura 3.2) somente pelo programador que acessará eles no momento em que desenvolve a aplicação internacionalizada. Quando mencionada a implementação, para eles, significa que são os requisitos para a preparação do ambiente em que estes casos de usos serão executados Associar Interface A idéia desse caso de uso é desvincular o programador da tarefa de traduzir a interface, criando um mecanismo no qual ele registre as interfaces, e o sistema de Internacionalização de Interfaces opere por traz, detectando os elementos internacionalizáveis automaticamente, preparando o caminho do tradutor em suas atividades de tradução e publicação de telas. Esse caso de uso deve minimizar a complexidade de seu uso, provendo um mecanismo ágil e simples para o programador. Sua implementação deve seguir os princípios: Atuação Reduzida do ator. Simplicidade de Uso Trabalhar Mensagens Esse caso de uso é uma extensão do caso de uso anterior, Associar Interface sua implementação deve seguir os mesmos princípios citados: Atuação Reduzida do ator. Simplicidade de Uso.

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

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

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

1- ASP.NET - HTML Server Controls

1- ASP.NET - HTML Server Controls 1- ASP.NET - HTML Server Controls Os controles de servidor - Server Controls - HTML são tags HTML padrão, com exceção de possuirem o atributo : runat="server". Vejamos um código que ilustra isto: O atributo

Leia mais

DMS Documento de Modelagem de Sistema. Versão: 1.4

DMS Documento de Modelagem de Sistema. Versão: 1.4 DMS Documento de Modelagem de Sistema Versão: 1.4 VERANEIO Gibson Macedo Denis Carvalho Matheus Pedro Ingrid Cavalcanti Rafael Ribeiro Tabela de Revisões Versão Principais Autores da Versão Data de Término

Leia mais

Introdução ao C# . Visão geral do.net Framework

Introdução ao C# . Visão geral do.net Framework Introdução ao C# Microsoft.NET (comumente conhecido por.net Framework - em inglês: dotnet) é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

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

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML

Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Protótipo de um sistema para licenciamento de aplicativos Microsoft.NET baseado em assinatura digital XML Acadêmico: Leonardo Chagas D Ippolito Orientador: Prof. Marcel Hugo Blumenau, Dezembro de 2004

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

Infracontrol versão 1.0

Infracontrol versão 1.0 Infracontrol versão 1.0 ¹Rafael Victória Chevarria ¹Tecnologia em Redes de Computadores - Faculdade de Tecnologia SENAC (Serviço Nacional de Aprendizagem Comercial) Rua Gonçalves Chaves 602-A Centro 96015-560

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

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

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Aplicação Prática de Lua para Web

Aplicação Prática de Lua para Web Aplicação Prática de Lua para Web Aluno: Diego Malone Orientador: Sérgio Lifschitz Introdução A linguagem Lua vem sendo desenvolvida desde 1993 por pesquisadores do Departamento de Informática da PUC-Rio

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

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

A CMNet disponibilizou no dia 24 de junho para download no Mensageiro a nova versão do Padrão dos Sistemas CMNet.

A CMNet disponibilizou no dia 24 de junho para download no Mensageiro a nova versão do Padrão dos Sistemas CMNet. Prezado Cliente, A CMNet disponibilizou no dia 24 de junho para download no Mensageiro a nova versão do Padrão dos Sistemas CMNet. No Padrão 9 você encontrará novas funcionalidades, além de alterações

Leia mais

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes ASP.NET 2.0 e PHP Autor: Glauber de Almeida e Juarez Fernandes Linguagens pesquisadas ASP.NET 2.0 e PHP. 1 - ASP.NET 2.0 ASP.NET não é nem uma linguagem de programação como VBScript, php, nem um servidor

Leia mais

PROJETO DE REDES www.projetoderedes.com.br

PROJETO DE REDES www.projetoderedes.com.br PROJETO DE REDES www.projetoderedes.com.br Centro Universitário de Volta Redonda - UniFOA Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro

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

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

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

QUESTÕES PROVA 2 (28 a 44)

QUESTÕES PROVA 2 (28 a 44) QUESTÕES PROVA 2 (28 a 44) 28) A orientação a objetos é uma forma abstrata de pensar um problema utilizando-se conceitos do mundo real e não, apenas, conceitos computacionais. Nessa perspectiva, a adoção

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

Especificação dos Requisitos do Software. White Label

Especificação dos Requisitos do Software. White Label Ubee Especificação dos Requisitos do Software White Label Review 0.3 Autores: Airton Sampaio de Sobral (asds@cin.ufpe.br) Alan Gomes Alvino (aga@cin.ufpe.br) Glauco Roberto Pires dos Santos (grps@cin.ufpe.br)

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

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

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

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

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

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Exemplos práticos do uso de RMI em sistemas distribuídos

Exemplos práticos do uso de RMI em sistemas distribuídos Exemplos práticos do uso de RMI em sistemas distribuídos Elder de Macedo Rodrigues, Guilherme Montez Guindani, Leonardo Albernaz Amaral 1 Fábio Delamare 2 Pontifícia Universidade Católica do Rio Grande

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

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

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Sistema de Memorandos On-Line. (Projeto Arquitetural)

Sistema de Memorandos On-Line. (Projeto Arquitetural) Universidade Federal de Campina Grande Pb Departamento de Sistemas e Computação Disciplina: Projeto em Computação I 2111185 Professora: Francilene Procópio Garcia, P.Sc Alunos: Arnaldo de Sena Santos;

Leia mais

Programação Web Prof. Wladimir

Programação Web Prof. Wladimir Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação

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

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

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

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

2 Auto-sintonia de Bancos de Dados e Agentes de Software

2 Auto-sintonia de Bancos de Dados e Agentes de Software 2 Auto-sintonia de Bancos de Dados e Agentes de Software A uso da abordagem de agentes de software 1 pode trazer benefícios a áreas de aplicação em que é necessário construir sistemas autônomos, ou seja,

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

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

Softwares de Sistemas e de Aplicação

Softwares de Sistemas e de Aplicação Fundamentos dos Sistemas de Informação Softwares de Sistemas e de Aplicação Profª. Esp. Milena Resende - milenaresende@fimes.edu.br Visão Geral de Software O que é um software? Qual a função do software?

Leia mais

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert

Sistema Gerenciador de Hotel. Adriano Douglas Girardello. Ana Paula Fredrich. Tiago Alexandre Schulz Sippert UNIOESTE Universidade Estadual do Oeste do Paraná CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS Colegiado de Informática Curso de Bacharelado em Informática Sistema Gerenciador de Hotel Adriano Douglas Girardello

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C#

FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães 2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil sanchesnavarro@gmail.com wmagalhaes@unipar.br

Leia mais

Curso de Aprendizado Industrial Desenvolvedor WEB

Curso de Aprendizado Industrial Desenvolvedor WEB Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos II Professor: Cheli dos S. Mendes da Costa Modelo Cliente- Servidor Modelo de Aplicação Cliente-servidor Os

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS

CSF Designer Intuition SOLUÇÕES DE OUTPUT FIS SOLUÇÕES DE OUTPUT FIS O CSF Designer Intuition TM da FIS ajuda organizações que lidam com o cliente a criar, de forma instantânea e interativa, documentos comerciais respeitando as regulações vigentes,

Leia mais

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

DESENVOLVIMENTO DE ALGORITMO PARA FUNÇÃO MULTILÍNGUE DO SOFTWARE TROPLUX

DESENVOLVIMENTO DE ALGORITMO PARA FUNÇÃO MULTILÍNGUE DO SOFTWARE TROPLUX DESENVOLVIMENTO DE ALGORITMO PARA FUNÇÃO MULTILÍNGUE DO SOFTWARE TROPLUX Pedro Vítor Sousa Ribeiro Universidade Federal de Alagoas pedrovsribeiro@gmail.com Ricardo Carvalho Cabús Universidade federal de

Leia mais

Conteúdo Programático de PHP

Conteúdo Programático de PHP Conteúdo Programático de PHP 1 Por que PHP? No mercado atual existem diversas tecnologias especializadas na integração de banco de dados com a WEB, sendo o PHP a linguagem que mais se desenvolve, tendo

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

AULA 1 PHP O QUE É APACHE FRIENDS

AULA 1 PHP O QUE É APACHE FRIENDS O QUE É PHP Se você já programa PHP, aconselho que pule para o capítulo 7 desse livro. Pois até esse capitulo iremos abordar algoritmos em PHP até a construção de uma classe com seus métodos e atributos

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Aula 03 - Projeto Java Web

Aula 03 - Projeto Java Web Aula 03 - Projeto Java Web Para criação de um projeto java web, vá em File/New. Escolha o projeto: Em seguida, na caixa Categorias selecione Java Web. Feito isso, na caixa à direita selecione Aplicação

Leia mais

Uma Proposta de Tecnologia Embarcada na Internação Domiciliar Capítulo 3 Implementação do SMD 93

Uma Proposta de Tecnologia Embarcada na Internação Domiciliar Capítulo 3 Implementação do SMD 93 Capítulo 3 Implementação do SMD 93 CAPÍTULO 3 IMPLEMENTAÇÃO DO SMD Este capítulo reserva-se à apresentação da implementação do SMD tomando como partida o desenvolvimento do Projeto Preliminar que consta

Leia mais

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer lugar e independente da plataforma, bastando para isso

Leia mais

Plano de Gerenciamento do Projeto

Plano de Gerenciamento do Projeto Projeto para Soluções Contábeis 2015 Plano de Gerenciamento do Projeto Baseado na 5ª edição do Guia PMBOK Brendon Genssinger o e Elcimar Silva Higor Muniz Juliermes Henrique 23/11/2015 1 Histórico de alterações

Leia mais

Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II

Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II Programação para Internet Orientada a Objetos com PHP & MySQL Visão Geral de Programação Orientada a Objetos com PHP & MySQL II Prof. MSc. Hugo Souza Na última aula falamos um pouco da necessidade do surgimento

Leia mais

Prefeitura de Belo Horizonte. Sistema de Controle de Protocolo

Prefeitura de Belo Horizonte. Sistema de Controle de Protocolo Prefeitura de Belo Horizonte Sistema de Controle de Protocolo Relatório apresentado para concorrer ao 2º Prêmio Inovar BH conforme Edital SMARH nº 001/2014 Belo Horizonte Julho de 2014 Resumo Sendo grande

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

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

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente

10. Defina Sistemas Distribuídos: Um conjunto de computadores independentes que se apresenta a seus usuários como um sistema único e coerente 1. Quais os componentes de um sistema cliente-servidor? Clientes e servidores 2. Na visão do hardware, defina o que é cliente e o que é servidor: Clientes. Qualquer computador conectado ao sistema via

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

Documento de Projeto de Software

Documento de Projeto de Software Documento de Projeto de Software Projeto: Vídeo Locadora Passatempo Versão: 1.0 Responsável: Ricardo de Almeida Falbo 1. Introdução Este documento apresenta o documento de projeto (design) do sistema de

Leia mais

MANUAL DO USUÁRIO SUMÁRIO

MANUAL DO USUÁRIO SUMÁRIO SUMÁRIO 1. Home -------------------------------------------------------------------------------------------------------- 7 2. Cadastros -------------------------------------------------------------------------------------------------

Leia mais

DOCUMENTO DE REQUISITOS

DOCUMENTO DE REQUISITOS DOCUMENTO DE REQUISITOS ID documento: Data: / / Versão : Responsável pelo documento: ID Projeto: HISTÓRICO DE REVISÕES Data de criação/ atualização Descrição da(s) Mudança(s) Ocorrida(s) Autor Versão do

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Documento de Projeto de Sistema

Documento de Projeto de Sistema Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,

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

Programação para Web Artefato 01. AT5 Conceitos da Internet

Programação para Web Artefato 01. AT5 Conceitos da Internet Programação para Web Artefato 01 AT5 Conceitos da Internet Histórico de revisões Data Versão Descrição Autor 24/10/2014 1.0 Criação da primeira versão HEngholmJr Instrutor Hélio Engholm Jr Livros publicados

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

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

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software.

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software. 1 - Sumário 1 - Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 4 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem

UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem UNIDADE II Conhecendo o Ambiente Virtual de Aprendizagem 2.1 Introdução Caro Pós-Graduando, Nesta unidade, abordaremos o Ambiente Virtual de Aprendizagem (AVA) que será utilizado no curso: o Moodle. Serão

Leia mais

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação

FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação FACULDADE DE ADMINISTRAÇÃO E NEGÓCIOS DE SERGIPE - FANESE CURSO SUPERIOR DE TECNOLOGIA em Gestão da Tecnologia da Informação 1 Ruironaldi dos Santos Cruz ARTIGO ARQUITETURA ORIENTADA A SERVIÇO SOA SERVICE

Leia mais

GISWEB - Informação Geográfica ao Alcance de Todos

GISWEB - Informação Geográfica ao Alcance de Todos GISWEB - Informação Geográfica ao Alcance de Todos Bruno Perboni Qualityware Conselheiro Laurindo 825 cj. 412 centro Curitiba PR fone: 3232-1126 bruno@qualityware.com.br Maysa Portugal de Oliveira Furquim

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

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com

Java II. Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Java II Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Por quê JSP? Com Servlets é fácil Ler dados de um formulário Recuperar dados de uma requisição Gerar informação de resposta Fazer gerenciamento

Leia mais

Presskit Guia Rápido. Release 2.0. Presskit

Presskit Guia Rápido. Release 2.0. Presskit Presskit Guia Rápido Release 2.0 Presskit 06/07/2009 Sumário 1 Login 2 Login e Senha...................................... 2 Esqueci minha senha.................................. 2 Fale Com o Suporte...................................

Leia mais

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador Sistemas de Informação Prof. Anderson D. Moura Um programa de computador é composto por uma seqüência de instruções, que é interpretada e executada por um processador ou por uma máquina virtual. Em um

Leia mais

Processo de Engenharia de Software II

Processo de Engenharia de Software II UNIOESTE - Universidade Estadual do Oeste do Paraná CCET Centro de ciências Exatas e Tecnológicas Colegiado de Ciência da Computação Curso de Bacharelado em Ciência da Computação Processo de Engenharia

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

Leia mais

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO

MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO MAPEAMENTO OBJETO RELACIONAL: UM ESTUDO DE CASO UTILIZANDO O HIBERNATE Rafael Laurino GUERRA, Dra. Luciana Aparecida Martinez ZAINA Faculdade de Tecnologia de Indaiatuba FATEC-ID 1 RESUMO Este artigo apresenta

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

Prova de pré-requisito

Prova de pré-requisito Prova de pré-requisito Curso Python e Django 1. Ao se acessar o site www.google.com qual comando e parâmetros são enviados para o servidor pelo navegador? a. GET / b. GET www.google.com c. PAGE index.html

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