Trabalho semestral: Linguagens para Aplicação Comercial (UFBA 2009.1)
Contents
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:
- Java.
- Visual Basic .NET.
- PHP: Hypertext Preprocessor.
- C#.
- Delphi (Delphi Object Oriented Language).
- Ruby.
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:
Sobre a linguagem e o framework:
- Contexto de criação?
- Quais os principais nomes (pessoas ou empresas) envolvidos?
- Quantas versões anteriores possuiu? Quais as principais evoluções que ocorreram? (Preferencialmente, desenvolver um quadro comparativo entre as versões como o )
- Quais aplicações comerciais já foram desenvolvidas com esta linguagem? (Incluir site para as mesmas.)
- 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 respeito do framework:
- Qual foi a motivação dos desenvolvedores para construirem este produto?
- Quais as principais características, capacidades e restrições deste framework?
- Sob qual licença ele se encontra? (Proprietária, GPL, QPL, Creative Commons, etc.)
- Quais as principais restrições e exigências desta licença?
- Quais as obrigações do desenvolvedor que utilizar este framework?
- Quais plataformas e sistemas operacionais suportados?
- Quais os procedimentos necessários para se compilar um programa simples em C que utilize este framework?
A respeito da linguagem:
- Foi desenvolvida para ser interpretada ou compilada? “Independente de máquina”?
- Sintaxe/modo de uso dos principais elementos e estruturas, incluindo:
- Tipos básicos existentes e forma de declaração.
- Formas de declaração e uso de estruturas, vetores e matrizes.
- 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.).
- Uso de bibliotecas/controles feitos na própria linguagem.
- 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?
- A linguagem possui utilitários ou formas de automação/auxílio na documentação?
- Pode ser utilizado para desenvolver aplicações Web? E “desktop”?
- Permite desenvolver controles personalizados? Como?
- 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.
- 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 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.
Pontuação e Avaliação
A avaliação deste trabalho considerará os seguintes critérios:
- Primeira etapa
- Resposta correta às questões propostas (90%).
- Atendimento à norma culta da língua portuguesa (10%).
- Segunda etapa
- 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%).