Transcript
Javadoc Desenho de interfaces Conclus˜ ao
Engenharia de software Lu´ıs A. Alexandre
UBI, 12 de Maio de 2008
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Conte´udo
I
Documenta¸c˜ao de c´ odigo usando Javadoc.
I
T´opicos sobre desenho de interfaces.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Javadoc
I
O Javadoc ´e um sub-sistema do Java Development Kit que permite a documenta¸c˜ao do c´ odigo de forma simples.
I
O javadoc extrai informa¸c˜ao de coment´arios que o programador coloca no c´ odigo.
I
Os coment´arios Javadoc come¸cam com /** e terminam com */ e cada linha entre estas come¸ca com um asterisco.
I
Um coment´ario Javadoc deve aparecer imediatamente antes daquilo a que se refere.
I
Os coment´arios mais u ´teis s˜ao os relativos a classes e m´etodos p´ ublicos.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Etiquetas javadoc
I
As etiquetas a usar devem ser introduzidas por ordem (pela ordem que ser˜ao apresentadas abaixo) e s˜ao as que se descrevem de seguida: I I I I
@param (classes, interfaces, m´etodos e construtores apenas) @return (para m´etodos apenas) @exception (@throws ´e sin´ onimo) @author (para classes e interfaces apenas, obrigat´orio)
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Etiquetas javadoc (cont.)
I I I I I I
@version (para classes e interfaces apenas, obrigat´orio) @see (acrescenta um link para outro ponto da documenta¸c˜ao) @since (indica desde que vers˜ao existe esta caracter´ıstica) @serial (ou @serialField ou @serialData) @deprecated (caracter´ıstica que n˜ao dever´a ser usada)
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Exemplo /** * A classe Pilha representa uma pilha LIFO de objectos. * @author Lu´ıs Alexandre * @version 1.0, Maio 2006 */ public class Pilha { /** * Remove o objecto no topo e devolve-o. * @return O objecto no topo da pilha. * @exception NaoExisteElementoException se a pilha est´ a vazia. */ public Object pop() throws NaoExisteElementoException { int comprimento = this.elementos.tamanho(); if (comprimento == 0) throw new NaoExisteElementoException(); return this.elementos.remove(comprimento - 1); } } Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Gerar documenta¸c˜ao
I
Ap´os o uso das etiquetas no c´ odigo, a documenta¸c˜ao ´e gerada usando o comando javadoc ficheiro.java
I
Vejamos o resultado deste comando quando aplicado ao ficheiro que cont´em apenas o c´ odigo que foi apresentado no acetato anterior.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Gerar documenta¸c˜ao
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Javadoc
Gerar documenta¸c˜ao
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Desenho de interfaces
I
O desenho de interface ´e um aspecto fundamental no desenvolvimento de uma aplica¸c˜ao.
I
Se o utilizador n˜ao conseguir interagir de forma f´acil e intuitiva com o software ´e prov´avel que n˜ao o queira usar. Iremos abordar o desenho de:
I
I I
formul´arios e relat´ orios; di´alogos.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Formul´arios e relat´orios
I
A introdu¸c˜ao de informa¸c˜ao ´e normalmente feita atrav´es de formul´arios: documentos feitos para serem preenchidos.
I
A sa´ıda de informa¸c˜ao ´e feita via relat´ orios: documentos feitos apenas para serem lidos e que contˆem campos de dados pr´e-definidos. Exemplos:
I
I
I
formul´arios: encomenda, modelo 3 IRS, pedido de informa¸c˜ao na net relat´ orios: facturas, extractos banc´arios, horas de trabalho de um funcion´ario
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para desenho de formul´arios e relat´orios
I
Usar t´ıtulos significativos: I
I
I
I
o t´ıtulo deve ser claro e especificar o conte´ udo e utiliza¸c˜ao do formul´ario ou relat´ orio uma data de revis˜ao ou um c´ odigo devem ser usados para distinguir vers˜ oes diferentes dos documentos a data actual deve ser introduzida para clarificar o dia em que a informa¸c˜ao foi produzida (relat´ orios)
Incluir apenas informa¸c˜ao significativa: mostrar de entre toda a poss´ıvel informa¸c˜ao apenas aquela que ´e relevante.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para desenho de formul´arios e relat´orios (cont.)
I
Equilibrar o aspecto: I I I
I
a informa¸c˜ao deve aparecer de forma equilibrada devem ser usados espa¸camentos e margens adequados todos os campos devem estar devidamente etiquetados
Deve existir um sistema de navega¸c˜ao simples: I I
I
mostrar claramente como mover para tr´as e para a frente mostrar claramente o ponto onde nos encontramos (ex.:pag. 2 de 5) avisar o utilizador quando este se encontra na u ´ltima p´agina de uma sequˆencia.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para exibir texto
I
Mostrar o texto usando tanto mai´ usculas como min´ usculas e usar pontua¸c˜ao normal.
I
Usar espa¸camento duplo quando poss´ıvel sen˜ao usar pelo menos uma linha em branco entre par´agrafos.
I
O texto deve estar alinhado `a esquerda.
I
Evitar partir palavras (uso de h´ıfen)
I
Usar acr´onimos e abrevia¸c˜ oes apenas quando o seu significado ´e amplamente conhecido e forem significativamente menores que o texto por extenso.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para exibir tabelas e listas I
Usar etiquetas com sentido. I I
I
I
Todas as linhas e coluna devem ter etiquetas explicativas. As etiquetas devem distinguir-se do restante texto usando algum tipo de modifica¸c˜ao do seu aspecto (tipo de letra diferente, tamanho, cor, sublinhado, etc.) Mostrar de novo as etiquetas quando os dados ocupam mais de um ecr˜a ou p´agina.
Formatar dados num´ericos e textuais: I
I
I
Ajustar `a direita os dados num´ericos e alinhar pelos pontos decimais. Ajustar `a esquerda os dados textuais e usar 30 a 40 caracteres por linha Partir sequˆencias longas de caracteres alfanum´ericos em grupos de 3 ou 4. Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para exibir tabelas e listas (cont.) I
Formatar colunas, linhas e texto: I
I
I
I I
I
I
Ordenar de forma significativa (ex.:por ordem alfab´etica, ou ascendente) Colocar uma linha em branco entre cada 5 linhas quando as colunas s˜ao extensas. Informa¸c˜ao do mesmo tipo deve ser colocada em colunas e n˜ao em linhas, i.e., a leitura deve ser feita de cima para baixo e n˜ao da esquerda para a direita. As colunas devem ter pelo menos dois espa¸cos entre elas. Deixar espa¸co (margens largas) nos relat´ orio de papel para que o utilizador possa tomas notas. Usar apenas um tipo de letra (exceptuando os casos de em que se pretende dar ˆenfase) Evitar uso excessivo da cor. Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Validar dados introduzidos
I
Testar se os dados s˜ao do tipo adequado (ex.: s´o n´ umeros, s´o letras, ou misto)
I
Testar se as combina¸c˜ oes de 2 ou mais campos fazem sentido (ex.: a quantidade escolhida faz sentido face ao produto em causa ?)
I
Verificar se todos os campos necess´arios foram preenchidos.
I
Verificar se todos os dados obedecem a um formato esperado (ex.: o username tem primeiro uma letra seguido de 5 d´ıgitos ?)
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Validar dados introduzidos (cont.)
I
Verificar se os dados se encontram dentro da gama permitida (ex.: a idade ´e maior que zero e menor que 120 ?)
I
Verificar se existe excesso ou falta de caracteres (ex.: as passwords devem ter pelo menos 6 d´ıgitos)
I
Verificar se os valores provˆem dum subconjunto adequado (ex.: nem todas as sequˆencias de 4 d´ıgitos s˜ao c´odigos postais v´alidos)
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Mensagens de erro I
M´as mensagens: I I I I
I
Erro 56 na abertura de ficheiro. Escolha errada. Erro na entrada de informa¸c˜ao. Erro na cria¸c˜ao de ficheiro.
Mensagens melhoradas: I
I I
I
O ficheiro que escolheu n˜ao foi encontrado. Prima F1 para ver uma lista de nomes v´alidos. Por favor escolha uma op¸c˜ao do menu. O valor introduzido est´a fora dos limites permitidos. Prima F9 para uma lista de valores aceit´aveis. O nome de ficheiro escolhido j´a existe. Prima F2 se quiser escrever por cima e F3 para escolher um novo nome.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Lu´ıs A. Alexandre
Engenharia de software
Imagem de George et al. 2004
Mau exemplo
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Problemas no exemplo anterior
I
Colunas sem t´ıtulos
I
As colunas contˆem v´arios tipos de dados diferentes
I
Dados num´ericos alinhados `a esquerda
I
T´ıtulo vago
I
Sem informa¸c˜ao de navega¸c˜ao
I
Sem sum´arios
I
Informa¸c˜ao muito agrupada
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Imagem de George et al. 2004
Exemplo melhorado
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Desenho de di´alogos
I
Um di´alogo consiste numa sequˆencia de interac¸c˜oes entre o sistema e o utilizador.
I
Esta sequˆencia pode servir tanto para fornecer como para obter informa¸c˜ao do utilizador.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para o desenho de di´alogos I
Consistˆencia: devem ser usadas as mesmas etiquetas para as mesmas opera¸c˜oes em todos os ecr˜as e deve ser usada a mesma localiza¸c˜ao para informa¸c˜ao semelhante em todos os ecr˜as
I
Feedback: deve ser dada informa¸c˜ao ap´ os cada ac¸c˜ao do utilizador (confirmar que o ficheiro foi guardado, o registo apagado, etc.)
I
Tratamento de erros: todos os erros devem ser detectados e devem ser relatados. Devem ser dadas sugest˜oes para prosseguir.
I
Reversibilidade: sempre que poss´ıvel deve-se poder voltar atr´as (desfazer uma ou mais ac¸c˜ oes) Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Regras para o desenho de di´alogos
I
Controlo: os di´alogos devem fazer o utilizador sentir que ele est´a a controlar o processo: as respostas e ac¸c˜oes n˜ao devem ser nem demasiado r´apidas nem demasiado lentas.
I
Facilidade: deve ser f´acil introduzir informa¸c˜ao e navegar entre os ecr˜as.
I
Unidade: os di´alogos devem estar agrupados em termos l´ogicos e devem ter um in´ıcio, um meio e um fim. O u ´ltimo ecr˜a deve informar que n˜ao existem ecr˜as subsequentes.
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Formul´ arios e relat´ orios Desenho de di´ alogos
Diagrama de di´alogo 11
I
Janela de login Login Sistema
I 2
Cada caixa corresponde a um ecr˜a. Cada caixa cont´em (de cima para baixo):
Menu principal
I
1, Sistema
I 3
4
5
Clientes
Encomendas
Relatórios
2
2
I
2
I 6 Escolher cliente
uma referˆencia u ´nica uma descri¸c˜ao um conjunto de referˆencias das caixas para onde se pode voltar
De uma caixa pode seguir-se para aquelas `as quais existe liga¸c˜ao por linha no diagrama.
3,2
Lu´ıs A. Alexandre
Engenharia de software
Javadoc Desenho de interfaces Conclus˜ ao
Leituras complementares
Leituras complementares
I
Manual do Javadoc (num sistema linux: man javadoc).
I
http: //java.sun.com/j2se/javadoc/writingdoccomments/
I
”Object-Oriented Systems Analysis and Design”, J.F. George, D. Batra, J.S. Valacich, J.A. Hoffer, Prentice Hall, 2004. Cap.13 (Interfaces)
Lu´ıs A. Alexandre
Engenharia de software