Preview only show first 10 pages with watermark. For full document please download

Engenharia De Software - Aula 9

Engenharia de software Luís A. Alexandre UBI, 25 de Fevereiro de 2008

   EMBED


Share

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