Difference between revisions of "Trabalho semestral: Linguagens para Aplicação Comercial (UFBA 2009.1)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == Objetivo == Conhecer, através da pesquisa e da experiência prática, uma linguagem de programação para aplicações comercias e, opcionalmente, um framework de desenvolvimento. == ...)
 
(Avaliação)
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
== Sobre este documento ==
 +
Este documento descreve e esclarece as regras para o desenvolvimento e a avaliação do trabalho semestral da disciplina Linguagens para Aplicação Comercial.
 +
 +
Aconselha-se leitura on-line deste documento. Desaconselha-se a impressão.
 +
 
== Objetivo ==
 
== Objetivo ==
 
Conhecer, através da pesquisa e da experiência prática, uma linguagem de programação para aplicações comercias e, opcionalmente, um framework de desenvolvimento.
 
Conhecer, através da pesquisa e da experiência prática, uma linguagem de programação para aplicações comercias e, opcionalmente, um framework de desenvolvimento.
Line 7: Line 12:
 
A responsabilidade de execução do trabalho deve ser compartilhada pelos componentes de uma equipe. As equipes podem ser formadas livremente, com qualquer número de componentes a critério dos alunos.
 
A responsabilidade de execução do trabalho deve ser compartilhada pelos componentes de uma equipe. As equipes podem ser formadas livremente, com qualquer número de componentes a critério dos alunos.
  
O trabalho pode ser feito com qualquer linguagem de programação comercialmente utilizada, dando-se preferência para um das seguintes:
+
O trabalho pode ser feito com qualquer linguagem de programação comercialmente utilizada, dando-se preferência para uma das seguintes:
  
 
*[http://java.sun.com/javase/ Java].
 
*[http://java.sun.com/javase/ Java].
Line 13: Line 18:
 
**[http://java.sun.com/javase/technologies/desktop/ Java SE Desktop].
 
**[http://java.sun.com/javase/technologies/desktop/ Java SE Desktop].
 
**[http://java.sun.com/docs/books/tutorial/uiswing/ Swing].
 
**[http://java.sun.com/docs/books/tutorial/uiswing/ Swing].
 +
**[http://java.sun.com/javame/index.jsp Java ME].
 
*[http://msdn.microsoft.com/en-us/vbasic/default.aspx Visual Basic .NET].
 
*[http://msdn.microsoft.com/en-us/vbasic/default.aspx Visual Basic .NET].
 
*[http://www.php.net/ PHP: Hypertext Preprocessor].
 
*[http://www.php.net/ PHP: Hypertext Preprocessor].
 
*[http://msdn.microsoft.com/en-us/vcsharp/default.aspx C#].
 
*[http://msdn.microsoft.com/en-us/vcsharp/default.aspx C#].
**GTK.
+
**[http://msdn.microsoft.com/en-us/library/system.windows.forms.aspx System.Windows.Forms].
**ASP.NET.
+
**[http://gtk-sharp.sourceforge.net/ GTK].
*Delphi.
+
**[http://www.asp.net/ ASP.NET].
*JavaScript.
+
*[http://www.codegear.com/products/delphi Delphi] ([http://www.delphibasics.co.uk/ Delphi Object Oriented Language]).
*Ruby.
+
*[http://ruby-lang.org/ Ruby].
 +
**[http://rubyonrails.org/ Ruby on Rails].
  
Não serão aceitas mais de uma equipe por linguagem, exceto se utilizarem framework e/ou plataformas diferentes.
+
Não será aceito mais de uma equipe por linguagem, exceto se utilizarem framework e/ou plataformas diferentes.
  
 
=== Etapa teórica ===
 
=== Etapa teórica ===
Na etapa teórica, os componentes do grupo devem construir um hipertexto no Wiki  http://www.adonaimedrado.pro.br/wiki.
+
Na etapa teórica, os componentes do grupo devem produzir conforme NBR 14.724 um documento texto que deve ser enviado para o e-mail linhadireta@adonaimedrado.pro.br em PDF.
  
O hipertexto deve conter as principais caraterísticas da linguagem escolhida, incluindo respostas às seguintes questões:
+
A produção deve conter as principais caraterísticas da linguagem '''e''' do framework escolhido, incluindo respostas às seguintes questões:
#Em que contexto a linguagem surgiu?
+
 
#Quais os principais nomes (pessoas ou empresas) envolvidos na criação da linguagem?
+
#A respeito do framework:
#Quantas versões anteriores possuiu a linguagem? Quais as principais evoluções que ocorreram? (Deve-se desenvolver um quadro comparativo entre as versões.)
+
##Qual foi a motivação dos desenvolvedores para construirem este produto?
#Quais aplicações comerciais já foram desenvolvidas com esta linguagem? (Incluir site para as mesmas.)
+
##Quais as principais características, capacidades e restrições deste framework?
#A linguagem foi desenvolvida para ser interpretada ou compilada? “Independente de máquina”? Quais os requisitos mínimos e desejáveis para se executar um programa nesta linguagem? (Exemplo: precisa-se das bibliotecas runtime X, servidor de página Y na versão X ou superior.)
+
##Sob qual licença ele se encontra? (Proprietária, GPL, QPL, Creative Commons, etc.)
#Sintaxe/modo de uso dos principais elementos e estruturas da linguagem, incluindo:
+
###Quais as principais restrições e exigências desta licença?
##Instruções condicionais.
+
###Quais as obrigações do desenvolvedor que utilizar este framework?
##Instruções de repetição.
+
##Quais plataformas e sistemas operacionais suportados?
##Definição de função/objetos.
+
##Quais os procedimentos necessários para se compilar um programa simples que utilize este framework?
##Definição de comentários.
+
#A respeito da linguagem:
##Mecanismo de controle de erros (exceção).
+
##Qual foi o contexto de criação?
##Mecanismo de acesso ao banco de dados e arquivos.
+
##Quais os principais nomes (pessoas ou empresas) envolvidos?
##Mecanismo de acesso aos dispositivos externos (Exemplo: dispositivos biométricos, impressoras, scanners, etc.).
+
##Quantas versões anteriores possuiu? Quais as principais evoluções que ocorreram? (Se possível desenvolver quadro comparativo.)
##Uso de bibliotecas/controles feitos na própria linguagem.
+
##Quais os concursos públicos que exigem/exigiram conhecimento desta linguagem? (Se possível anexar 5 questões com análise das respostas.)
##Forma e disponibilidade para acesso a bibliotecas/controles desenvolvidos em outras linguagens (método de interação entre sistemas) – Exemplo: a linguagem de programação escolhida pode acessar bibliotecas em C++? E em Java?
+
##Quais os requisitos mínimos e desejáveis para se execução de um programa? (Exemplo: precisa-se das bibliotecas runtime X, servidor de página Y na versão X ou superior.)
#A linguagem possui utilitários ou formas de automação/auxílio na documentação?
+
##Foi desenvolvida para ser interpretada ou compilada? “Independente de máquina”?
#Pode ser utilizado para desenvolver aplicações Web? E “desktop”?
+
##Qual a sintaxe/modo de uso dos principais elementos e estruturas, incluindo:
#Permite desenvolver controles personalizados? Como?
+
###Tipos básicos existentes e forma de declaração.
#Quais os ambientes de desenvolvimento integrados (IDEs) disponíveis? - Informar fabricante, site, tipo de licença, características e valor (se for o caso) de cada uma delas.
+
###Formas de declaração e uso de estruturas, vetores e matrizes.
#A linguagem é padronizada (ANSI/ISO)? Qual a referência (documento, data, ano)?
+
###Instruções condicionais.
 +
###Instruções de repetição.
 +
###Definição de função/objetos.
 +
###Definição de comentários.
 +
###Mecanismo de controle de erros (exceção).
 +
###Mecanismo de acesso ao banco de dados e arquivos.
 +
###Mecanismo de acesso aos dispositivos externos (Exemplo: dispositivos biométricos, impressoras, scanners, etc.).
 +
##Utilizando-se a linguagem como se faz a conexão com um banco de dados?
 +
##Como é feita a interação com bibliotecas desenvolvidas em outras linguagens?
 +
##A linguagem possui utilitários ou formas de automação/auxílio na documentação?
 +
##Pode ser utilizado para desenvolver aplicações web/desktop?
 +
##Quais os ambientes de desenvolvimento integrado (IDE) disponíveis? - Informar fabricante, site, tipo de licença, características e valor (se for o caso) de cada uma delas.
 +
##A linguagem é padronizada (ANSI/ISO)? Qual a referência (documento, data, ano)?
  
 
=== Etapa prática ===
 
=== Etapa prática ===
Na etapa prática deve-se desenvolver um sistema de controle de estoque (SCE) conforme [[Sistema de Controle de Estoque|especificação]].
+
Na etapa prática deve-se desenvolver um sistema de ponto de venda (SPDV) conforme [[Sistema de Ponto de Venda|especificação]].
  
== Pontuação e Avaliação ==
+
== Observações sobre pontuação ==
Este trabalho terá pontuação máxima de 5,0 e sua avaliação considerará os seguintes itens:
+
Será atribuida pontuação nula aos trabalhos que na parte ou no todo tenham sido plagiados.
*Primeira etapa
+
 
 +
Cópias de trechos de textos e/ou códigos sem aspas ou sem a devida marcação de autoria também serão considerados plágios.
 +
 
 +
*Para texto: utilize a NBR 10520 e a NBR 6023 para citação e referência.
 +
*Para código:
 +
**consulte a possibilidade legal na licença de uso do código para o propósito desejado.
 +
**siga as instruções do autor/licença ou, caso estas estejam ausentes, coloque indicações claras de inicio e fim do bloco de código de terceiro, bem como nome do autor e link do código original.
 +
 
 +
== Avaliação ==
 +
A avaliação deste trabalho considerará os seguintes critérios:
 +
*Primeira etapa (30%)
 
**Resposta correta às questões propostas (90%).
 
**Resposta correta às questões propostas (90%).
 
**Atendimento à norma culta da língua portuguesa (10%).
 
**Atendimento à norma culta da língua portuguesa (10%).
*Segunda etapa
+
*Segunda etapa (70%)
**Executa o que foi solicitado (60%).
+
**Executa o que foi solicitado (50%).
**Qualidade e Legibilidade do código apresentado (20%).
+
**Qualidade e legibilidade do código apresentado (20%).
 
**Recursos da linguagem utilizados conforme sugestão do manual do fabricante (10%).
 
**Recursos da linguagem utilizados conforme sugestão do manual do fabricante (10%).
 
**Usabilidade (10%).
 
**Usabilidade (10%).
 
+
**Funcionamento do link do site ou do instalador do programa(10%).
== Observação Importante ==
+
'''Em quaisquer das etapas, se for constatado plágio de qualquer parte do código ou texto será atribuído à ETAPA DO TRABALHO pontuação nula (zero).'''
+
* Principalmente na primeira etapa é essencial informar as referências das informações coletadas.
+
* Caso deseje utilizar procedimentos criados por terceiros, primeiro consulte a possibilidade legal (direitos autorais) e depois faça citação à fonte.
+
 
+
== Orientação/acompanhamento do trabalho ==
+
Em todas as aulas será reservado, a critério do professor, os últimos 60 ou 30 minutos para orientação/acompanhamento dos trabalhos. Os alunos devem utilizar este tempo para planejar e/ou executar o trabalho.
+

Latest revision as of 20:36, 2 March 2009

Sobre este documento

Este documento descreve e esclarece as regras para o desenvolvimento e a avaliação do trabalho semestral da disciplina Linguagens para Aplicação Comercial.

Aconselha-se leitura on-line deste documento. Desaconselha-se a impressão.

Objetivo

Conhecer, através da pesquisa e da experiência prática, uma linguagem de programação para aplicações comercias e, opcionalmente, um framework de desenvolvimento.

Descrição do trabalho

O trabalho será composto de duas etapas, uma predominantemente teórica e outra predominantemente prática. As duas etapas poderão ser executadas simultaneamente, porém a apresentação de cada etapa deverá seguir o cronograma da disciplina.

A responsabilidade de execução do trabalho deve ser compartilhada pelos componentes de uma equipe. As equipes podem ser formadas livremente, com qualquer número de componentes a critério dos alunos.

O trabalho pode ser feito com qualquer linguagem de programação comercialmente utilizada, dando-se preferência para uma das seguintes:

Não será aceito mais de uma equipe por linguagem, exceto se utilizarem framework e/ou plataformas diferentes.

Etapa teórica

Na etapa teórica, os componentes do grupo devem produzir conforme NBR 14.724 um documento texto que deve ser enviado para o e-mail linhadireta@adonaimedrado.pro.br em PDF.

A produção deve conter as principais caraterísticas da linguagem e do framework escolhido, incluindo respostas às seguintes questões:

  1. A respeito do framework:
    1. Qual foi a motivação dos desenvolvedores para construirem este produto?
    2. Quais as principais características, capacidades e restrições deste framework?
    3. Sob qual licença ele se encontra? (Proprietária, GPL, QPL, Creative Commons, etc.)
      1. Quais as principais restrições e exigências desta licença?
      2. Quais as obrigações do desenvolvedor que utilizar este framework?
    4. Quais plataformas e sistemas operacionais suportados?
    5. Quais os procedimentos necessários para se compilar um programa simples que utilize este framework?
  2. A respeito da linguagem:
    1. Qual foi o contexto de criação?
    2. Quais os principais nomes (pessoas ou empresas) envolvidos?
    3. Quantas versões anteriores possuiu? Quais as principais evoluções que ocorreram? (Se possível desenvolver quadro comparativo.)
    4. Quais os concursos públicos que exigem/exigiram conhecimento desta linguagem? (Se possível anexar 5 questões com análise das respostas.)
    5. Quais os requisitos mínimos e desejáveis para se execução de um programa? (Exemplo: precisa-se das bibliotecas runtime X, servidor de página Y na versão X ou superior.)
    6. Foi desenvolvida para ser interpretada ou compilada? “Independente de máquina”?
    7. Qual a sintaxe/modo de uso dos principais elementos e estruturas, incluindo:
      1. Tipos básicos existentes e forma de declaração.
      2. Formas de declaração e uso de estruturas, vetores e matrizes.
      3. Instruções condicionais.
      4. Instruções de repetição.
      5. Definição de função/objetos.
      6. Definição de comentários.
      7. Mecanismo de controle de erros (exceção).
      8. Mecanismo de acesso ao banco de dados e arquivos.
      9. Mecanismo de acesso aos dispositivos externos (Exemplo: dispositivos biométricos, impressoras, scanners, etc.).
    8. Utilizando-se a linguagem como se faz a conexão com um banco de dados?
    9. Como é feita a interação com bibliotecas desenvolvidas em outras linguagens?
    10. A linguagem possui utilitários ou formas de automação/auxílio na documentação?
    11. Pode ser utilizado para desenvolver aplicações web/desktop?
    12. Quais os ambientes de desenvolvimento integrado (IDE) disponíveis? - Informar fabricante, site, tipo de licença, características e valor (se for o caso) de cada uma delas.
    13. A linguagem é padronizada (ANSI/ISO)? Qual a referência (documento, data, ano)?

Etapa prática

Na etapa prática deve-se desenvolver um sistema de ponto de venda (SPDV) conforme especificação.

Observações sobre pontuação

Será atribuida pontuação nula aos trabalhos que na parte ou no todo tenham sido plagiados.

Cópias de trechos de textos e/ou códigos sem aspas ou sem a devida marcação de autoria também serão considerados plágios.

  • Para texto: utilize a NBR 10520 e a NBR 6023 para citação e referência.
  • Para código:
    • consulte a possibilidade legal na licença de uso do código para o propósito desejado.
    • siga as instruções do autor/licença ou, caso estas estejam ausentes, coloque indicações claras de inicio e fim do bloco de código de terceiro, bem como nome do autor e link do código original.

Avaliação

A avaliação deste trabalho considerará os seguintes critérios:

  • Primeira etapa (30%)
    • Resposta correta às questões propostas (90%).
    • Atendimento à norma culta da língua portuguesa (10%).
  • Segunda etapa (70%)
    • Executa o que foi solicitado (50%).
    • Qualidade e legibilidade do código apresentado (20%).
    • Recursos da linguagem utilizados conforme sugestão do manual do fabricante (10%).
    • Usabilidade (10%).
    • Funcionamento do link do site ou do instalador do programa(10%).