22 setembro 2009

Paráfrase ou cópia?


Razões segundo o professor Palazzo do porque os alunos fraudam...
leia mais...

"Este problema está crescendo e precisamos entender os motivos que levam um grande número de alunos a praticarem um deslavado plagiarismo. De uma parte a sobrecarga de professores não permite a repressão necessária, é preciso dizer não às atitudes não éticas, mas para isto é preciso tempo para a detecção, por outro lado a compreensão do problema facilita o encaminhamento de uma orientação e prevenção desta atitude. Vejamos os motivos do plagiarismo."

As principais razões:

  1. Ignorância;
  2. Pressão por resultados;
  3. Falta de tempo;
  4. Cursos irrelevantes;
  5. Professores medíocres;
  6. Afrontar o sistema.
As explicações de cada vocês podem ler na fonte original. Acredito ainda que os motivos sejam a grande quantidade de informações disponíveis na internet. É mais fácil e rápido copiar e colar. Entretanto, deve-se fazer isso de maneira consciente e crítica, citando a fonte por exemplo, ou ainda, parafraseando a texto em questão.

Admito que já copiei textos da internet algumas vezes (na graduação), comentendo esse grave erro. Embora, não tenha sido pego, isso não agregou em nada para meu conhecimento, pelo contrário. Afirmo isso porque quando precisei demonstrar conhecimentos anos depois, sobre tal assunto, tive que estudar profundamente, então percebi que esse tipo de prática deve ser evitada e combatida.

Descobri por conta própria, e também por sugestões de professores (na época), dicas de como tornar a prática da cópia em benefício próprio, através da utilização da paráfrase. Uma reescrita da cópia ou citação com as suas palavras. Isso é uma "cópia" aceita. Portanto, tenha cuidado e use paráfrases em tudo que copiar por ai.

Sugestões de leituras:

10 setembro 2009

Aviso de defesa de dissertação de mestrado (CIn/UFPE)



Chegou minha vez de defender, assim, divulgo a todos.

Título: “DemoTool: ferramenta integrada em Plataforma de Desenvolvimento de Software de Celular para Reusar Aplicativos

Aluno: Douglas Daniel Del Frari
Orientador: Silvio Romero de Lemos Meira
Sergio Soares (UFPE)
Jones Albuquerque (UFRPE)

Data e local: 11 de Setembro de 2009 às 08:15, no Centro de Informática da UFPE (auditório do CIn).

Resumo. Existe uma explosão do uso do celular em quase todos os cantos do mundo. A inovação no setor tem focado sobre o desenvolvimento da infra-estrutura de redes para os telefones celulares, sustentado pelas operadoras de celular, bem como a fabricação de dispositivos liderando o esforço, impulsionadas por seus fabricantes. Por conta das commodities do tráfego de voz, as empresas estão buscando ofertar conteúdos, como aposta de maior lucratividade. O que permite inferir que a tendência da indústria será incrementar o foco sobre a oferta de conteúdos, e o topo disso, é através das Plataformas de Software de Celular (PSC) e o hardware dos fabricantes.

Podemos observar que as empresas envolvidas nesta indústria requerem soluções que explorem novos modelos de negócio, voltado para aplicativos e conteúdos na forma de dados, e que tais soluções, são operacionalizadas através do desenvolvimento de software usando as PSC. As PSC permitem construir e canalizar as ofertas de dados, de acordo com as exigências dos usuários. Contudo, as empresas de mídia envolvidas utilizam as PSC em ambiente confuso, várias plataformas existentes, dispositivos diferentes, e que competem por definições de padrões na indústria. Neste sentido, os desenvolvedores de software precisam se adaptar às diferentes tecnologias das PSC. Por exemplo, elas dão suporte à linguagens de programação diferentes, e por vezes, incompatíveis entre si, dificultando a curva de aprendizado, bem como, restringindo a portabilidade das aplicações produzidas. Além disso, existem muitas restrições que impedem, e dificultam, a manipulação dos recursos do celular usando as bibliotecas de software de programação (API)s. Se por um lado, existem diversas tecnologias das PSC disponíveis aos desenvolvedores, por outro, cada escolha impõe diferentes restrições, tais como: variedade de ambientes de desenvolvimento e incompatibilidade entre si.

A proposta deste trabalho caracteriza-se nas ferramentas de desenvolvimento (SDK), projetadas pela fabricante de celular Motorola, e sua PSC, voltada para o desenvolvimento de aplicativos da linguagem Java. Através da ferramenta proposta DemoTool, objetiva-se alcançar uma redução de esforço de assimilação e compreensão do processo de desenvolvimento de aplicativos para celular, realizado por desenvolvedores de terceiros, através do reuso de aplicativos, bem como, da integração no ambiente de desenvolvimento com PSC do fabricante. Esta dissertação também apresenta um estudo de caso envolvendo o DemoTool, assim como, uma pesquisa de campo com usuários de celular. Com base na análise realizada, DemoTool apresenta indícios de que seja uma ferramenta viável para reusar aplicativos.

*Palavras-chave:* Reuso de Software, Computação Móvel, Oferta de Dados para Celular

07 setembro 2009

Desenvolvimento de software para Celular - parte 1

Sempre que vou trabalhar com a disciplina de laboratório de programação (atualmente trabalhando com desenvolvimento de aplicativos para celular), abordo um pouco sobre as problemáticas existentes. Assim, este post objetiva dar uma visão geral sobre isso.





De forma geral, o desenvolvimento de software é um processo de criação de programas para quaisquer dispositivos computacionais, capaz de projetar e produzir tarefas automatizadas, sistematizadas ou pré concebidas, para realização de alguma atividade por meio do uso dos recursos de harware e software existentes.

O processo de desenvolvimento de sofware para celular tende a ser bastante influenciado pelas escolhas das tecnologias utilizadas, desde a Plataformas de Software de Celular (PSC) e dos seus dispositivos-alvos, bem como, de ferramentas de desenvolvimento utilizando tecnologias das Plataformas de Desenvolvimento de Celular (PDC). Podemos citar como exemplos os seguintes casos:

  • PSC (ex. Symbian, Windows Mobile, iPhone OS, Android);
  • PDC (ex. Java ME, BREW, Flash Lite).

Essencialmente, uma PDC é uma solução tecnológica para garantir compatibilidades
para implementações de software nas PSC. Embora, de maneira geral, portar aplicativos para outras PSC é um processo custoso.

O desenvolvimento de aplicativos para as PSC podem ser divididos de três diferentes formas:
  • aplicações nativas: aplicações voltadas exclusivamente para a PSC;
  • aplicações intermediárias: voltada para PDC;
  • aplicaçoes Web (widgets): rodam dentro dos navegadores web dos dispositivos.

Os aplicativos nativos, são tecnicamente mais complexos de desenvolver, e são dependentes da tecnologia da PSC. Por exemplo, aplicações nativas de Symbian devem usar a linguagem Symbian C++, e o seu conjunto de bibliotecas disponíveis. Em geral, a vantagem é que todos os recursos do celular podem ser utilizados sem quaisquer restrições. Porém, a principal desvantagem recai sobre a curva de aprendizado das PSC específicas, bem como, a dificuldade de portabilidade futura.

As aplicações intermediários são voltados para as PDC, propondo melhorar a portabilidade e compatibilidade das aplicações desenvolvidas nas diferentes PSC. Por outro lado, existem dificuldades para acessar todos os recursos do dispositivo, uma vez que cada fabricante oferece uma implementação de suporte para a PDC, sensivelmente diferentes ou específicas para um conjunto de hardware de seu portfólio. Isso acaba por restringir as possibilidades que um aplicativo poderia explorar, diante das aplicações nativas. O maior benefício deve-se à boa curva de aprendizado por parte dos desenvolvedores.

As limitações dos navegadores e o tamanho das telas fazem com que a maior parte dos aplicativos intermediários fiquem inutilizáveis. Ou seja, alguns tipos de aplicações como Gmail continuam acessíveis, enquanto que serviços como Google Talk, não.

Já os software que rodam dentro de navegadores (web), são conhecidos como widgets, e podem incluir serviços como Gmail, Meebo, entre outras, e são voltados para as PSC. Alguns exemplos bastante utilizados são widgets para iPhone e Opera Widgets. Os widgets são, em geral, aplicativos simples, que exibem algumas informações específicas. Alguns widgets, embora rodem dentro do navegador, substituem as funções e até mesmo, a aparência de aplicativos nativos, mas não permitem ir muito longe em termos de programação. A principal vantagem é a portabilidade, pois basta o celular ter um navegador compatível. Porém, será necessário conexão com a internet, pois os widgets são projetados para interações com serviços na web. De forma geral, para tarefas mais complexas, a melhor opção é desenvolver um aplicativo nativo.

O desenvolvimento de serviços e aplicações para celular são baseados em arquiteturas específicas, usando componentes não-reutilizáveis. Em razão disso, faz-se necessário considerar a PSC, o celular-alvo e, ferramentas de desenvolvimento específicas. Além disso, por conta da grande variedade de dispositivos, há uma grande diversidade de plataformas e, consequentemente, diferentes ferramentas de desenvolvimento.

O desenvolvimento de uma aplicação para celular possui algumas dependências e representa inúmeros desafios para os desenvolvedores. As dependências técnicas existentes são a principal fonte dos problemas, e estão presentes na cadeia de valor de uma aplicação de celular. Ou seja, tipicamente uma aplicação de celular é restrita para uma combinação específica de PSC, o dispositivo de celular, além da rede da operadora.

Existem pelo menos três maneiras diferentes para desenvolver aplicativos no celular:

  1. via desenvolvimento de códigos nativos da PSC;
  2. usando aplicações intermediárias através das PDC;
  3. utilizando widgets para rodar pequenas aplicações dentro do navegador do celular.

Além disso, a escolha das tecnologias de PSC, os dispositivos-alvos e a infra-estrutura de rede
da operadora, influenciam positiva ou negativamente no desenvolvimento do software.

Em futuro post, apresentarei o ciclo de desenvolvimento de software para celular.
Posted by Picasa