1 / 15

Folhas de C lculo

Problemas a resolver. Alta taxa de erros:Alguns estudos concluem que 90% das folhas de c?lculo cont?m errosDificuldade em fazer debug a folhas de c?lculo? complicado seguir grandes cadeias de formulas,pequenas falhas no inicio podem n?o ser aparentes enquanto n?o se propagarem no resultado final

zohar
Télécharger la présentation

Folhas de C lculo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


    1. Folhas de Clculo Apresentao para disciplina Programao Funcional Avanada

    2. Problemas a resolver Alta taxa de erros: Alguns estudos concluem que 90% das folhas de clculo contm erros Dificuldade em fazer debug a folhas de clculo complicado seguir grandes cadeias de formulas, pequenas falhas no inicio podem no ser aparentes enquanto no se propagarem no resultado final. No aconselhado para problemas complexos Funes aparte das j definidas no software s puderam ser definidas por programadores experientes. Um problema complexo necessitaria de muitas folhas para a sua resoluo. So fcil utilizaoSo fcil utilizao

    3. Objectivos da palestra Minimizar a possibilidade de obteno de erros nas folhas de calculo. de forma automtica, com auxilio humano. Possibilitar a criao de funes de uma forma: robusta, sem necessidade de aprendizagem aparte dos conhecimentos mnimos de folhas de clculo. Ferramenta automtica de deteco de falhas. Ferramenta manual para deteco de falhas. Ferramenta automtica de deteco de falhas. Ferramenta manual para deteco de falhas.

    4. Estratgia para Validao por inferncia de classes de Clulas A maior parte das folhas de clculo respeitam determinada estrutura: No cabealho encontra-se informao sobre os valores apresentados. No rodap encontram-se clculos sobre os valores apresentados. Para este tipo de folhas poderemos utilizar uma estratgia de validao de operaes por inferncia das classes das clulas referenciadas. Exemplo no quadro. Exemplo no quadro.

    5. Inferncia de classes de clulas cada clula de dados tem uma classe associada inferida do seu cabealho. uma classe pode derivar de outra existente no seu cabealho. exemplos de atribuio de classes:

    6. Regras a respeitar Qualquer clula que no tenha cabealho define uma classe. Uma clula com valor v (v texto) e um cabealho u define um classe u[v]. Quando no existe classes de topo comuns permitido intersectar classes Quando existe classes de topo comuns permitido unir classes. Qualquer falha detectada a estas regras origina que a clula fique pintada de vermelho assim como todas as que a referenciam.

    7. Estratgias para validao manual Para outros tipos de folhas de clculo poderemos utilizar uma validao incremental Inicialmente todas as clulas so candidatas a ter erro at serem validadas pelo utilizador. Assim que algumas clulas vo sendo validadas a probabilidade de existncia de erro nas clulas que a referenciam menor. Este mtodo prtico para validar folhas de clculo durante a sua construo. Inicialmente todas se econtram como erradas Ao serem validadas as que referencia ficam com menos probabilidade de erro. Permite que durante a contruco da folha de clculo, seja possvel ir validando.Inicialmente todas se econtram como erradas Ao serem validadas as que referencia ficam com menos probabilidade de erro. Permite que durante a contruco da folha de clculo, seja possvel ir validando.

    8. Modo de funcionamento Para a resoluo destes problemas usam-se tcnicas de dynamic/static slicing e dicing. Valores verificados so marcados com um visto e contorno azul. Valores ainda no validados encontram-se com um ponto de interrogao Valores errados so marcados com uma cruz. O fundo destas varia entre o vermelho e branco dependendo da probabilidade de existncia de erro. slicing e dicing so utilizados para inferir: backward slicing - que clulas podem conter erro e executado quando confirmado erro. forward slicing - para verificar se todos os casos foram testados. casos no testados -> coloca interrogao e contorno roxo. slicing e dicing so utilizados para inferir: backward slicing - que clulas podem conter erro e executado quando confirmado erro. forward slicing - para verificar se todos os casos foram testados. casos no testados -> coloca interrogao e contorno roxo.

    9. Exemplo prtico Quando se verifica que uma determinada clula est com um valor errado marca-se esta clula. As clulas de que este depende so marcadas a tonalidade vermelha. Uma clula que seja dependncia de uma outra marcada como vlida vai ter menos tom vermelho. Backwad Slicing - fornece a lista de elementos de que este depende. Vrios tons de erros. Caso marque key2_out a vlido -> key2_1 e key2 ficam mais claros. Exemplo a frente.Backwad Slicing - fornece a lista de elementos de que este depende. Vrios tons de erros. Caso marque key2_out a vlido -> key2_1 e key2 ficam mais claros. Exemplo a frente.

    10. Exemplo prtico Clulas parcialmente testadas tm contorno roxo. Clulas totalmente validadas tm contorno azul.

    11. Estratgia para criao amigvel de funes A ideia criar um ambiente capaz de respeitar as Cognitive Dimensions of Notacions (CDs). Este ambiente dever ser capaz de criar novas funes s com os conhecimentos comuns de folhas de clculo. Dever ser baseado nas prprias folhas de clculo. Conseguir inferir funes a partir de clulas ou conjuntos de clulas. Trabalhar com matrizes ou vectores. Dever ser fcil executar debug s funes geradas. CDs: - Se j se sabe fazer alguma coisa da liguaguem quanto do resto puder ser deduzido. - Este mtodo ter de ser possvel inferir funes de folhas j definidas. No existir obrigatoriedade de criar a funo ante de comear a inserir dados. Para que esta regra seja respeitado, no pode existir muitas + operaes. quase tudo tem de ser sem necessidade de aprender Necessidade de trabalhar com matrizes.CDs: - Se j se sabe fazer alguma coisa da liguaguem quanto do resto puder ser deduzido. - Este mtodo ter de ser possvel inferir funes de folhas j definidas. No existir obrigatoriedade de criar a funo ante de comear a inserir dados. Para que esta regra seja respeitado, no pode existir muitas + operaes. quase tudo tem de ser sem necessidade de aprender Necessidade de trabalhar com matrizes.

    12. Ambiente para a criao de funes A criao da funo passa por criar uma instance function sheet Os inputs/outputs so definidos na instace panel no fundo da janela da funo Os textos na esquerda so meras descries Da instance function sheet pode ser inferida uma arvore para a funo que por motivos de performance pode depois ser compilada. Esta funo pode ser inferida/criada de uma formula ou conjunto de formulas definidas em clulas da folha. Funes podem chamar outras funes. Funes podem chamar outras funes.

    13. Criao de funes sobre matrizes Para a criao deste tipo de funes necessria o encapsulamento das matrizes numa nica clula. Todos os vectores so transformados em matrizes com uma s linha. Valores isolados so transformados numa matriz unidimensional. possvel do mesmo modo inferir/criar funes sobre matrizes como mostrado no exemplo anterior. As matrizes so encapsuladas numa clula. Vectores transformados em matrizes -> efectuar-se opraes com matrizes Valores soltos tb so transformados em matrizes.As matrizes so encapsuladas numa clula. Vectores transformados em matrizes -> efectuar-se opraes com matrizes Valores soltos tb so transformados em matrizes.

    14. Vantagens Evita repeties no cdigo. Reduz erros de manuteno Capacidade de juntar muitas clulas numa s Distribuio de funcionalidades Proteco do cdigo Performance

    15. Bibliografia Header and Unit Inference for Spreadsheets Through Spatial Analyses, Robin Abraham and Martin Erwig. 20042. A User-Centred Approach to Functions in Excel, Simon Peyton-Jones, Alan Blackwell and Margaret Burnett, 20033. Slicing Spreadsheets: An Integrated Methodology for Spreadsheet Testing and Debugging, James Reichwein, Gregg Rothermel, Margaret Burnett, 1999

More Related