Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-12-05 03:43:16 (Europe/Lisbon).
Voltar

Titulo Estágio

Plataforma de Gestão de Erros e Versões de Software

Área Tecnológica

Qualidade de Software

Local do Estágio

WIT Software, Coimbra

Enquadramento

O Departamento de Qualidade de Software da WIT Software foi criado há 3 anos com o objectivo de realizar testes ao software desenvolvido e assim trazer melhorias significativas na qualidade do mesmo antes de ser entregue ao cliente. Nesse sentido, foram identificadas três áreas principais que estão na base da presente proposta de estágio.

 

1. Relatório de Erros

A WIT Software desenvolve software para diversos ambientes, desde aplicações standalone para Windows, Mac e Linux, aplicações para telemóveis (iPhone, Symbian, J2ME), consolas de jogos, servidores aplicacionais, etc.. O software é disponibilizado para milhares de utilizadores com ambientes diferentes o que inevitavelmente acaba por gerar inúmeras situações diferentes de falhas. É sabido que se os programadores puderem ter relatórios automáticos e fiáveis quando existe um crash nos seus programas, isso torna mais fácil descobrir a causa do problema e encontrar a solução mais eficaz.

 

Por exemplo, a Microsoft afirma que a recolha de erros de software através da ferramenta Windows Error Reporting tem trazido uma enorme diferença na forma como o software é desenvolvido internamente. Steve Ballmer referiu publicamente que os relatórios de erros recebidos pela Microsoft permitiram às equipas de desenvolvimento corrigir 29% dos erros do Windows XP SP1; mais de 50% de todas as falhas do Microsoft Office XP foram corrigidos no Office XP SP2; e no produto Visual Studio foram corrigidos 74% dos erros reportados para o Visual Studio 2005 (Beta 1).

 

Poder-se-á dizer que o sucesso é baseado em parte na regra dos 80/20. A informação contida nos relatórios de erros revela que existe um determinado conjunto de bugs que é responsável pela maioria dos problemas percepcionados pelos utilizadores. Assim, corrigir 20% das falhas de software pode eliminar 80% ou mais dos erros encontrados pelos utilizadores.

 

Empresas de referência como Microsoft, Apple, Google, etc. têm beneficiado deste tipo de ferramentas durante as fases de amadurecimento do seu software. A existência de uma aplicação cuja função seja reportar toda a informação útil acerca dos erros (crash e excepções) encontrados pelos utilizadores é de importância fundamental para o aumento da qualidade do software.

 

2. Gestão de Versões

A criação de uma versão de software tem sempre associada um conjunto de informação relevante. Por exemplo, na presença de um relatório de erro é necessário saber quais os software symbols utilizados para determinada versão do software de forma a poder-se examinar em mais detalhe a causa do erro. No caso da WIT-Software existem diversos sub-sistemas utilizados internamente tais como, ferramentas de bug tracking, build server, etc. que necessitam ser actualizados manualmente sempre que uma nova versão é criada. A automatização destas tarefas seria uma enorme vantagem na produtividade das equipas de desenvolvimento e de gestão da empresa.

 

Por último, é de extrema importância a existência de um servidor de actualizações automáticas de software para as versões criadas. Desta forma, os utilizadores do software poderão ser notificados acerca da disponibilidade de novas versões e realizar actualizações automáticas do software que têm instalado.

 

3. Feedback do Utilizador

Um produto de software não termina aquando do seu lançamento; é normalmente o início de um longo ciclo de manutenção e actualizações. Assim que o produto está no mercado, é necessário começar a pensar em como incorporar o feedback recebido numa nova versão do produto, melhorar a usabilidade, adicionar funcionalidades e acrescentar valor.

 

Um bom produto é aquele que vai de encontro às necessidades do utilizador e ao mais alto nível de satisfação. Na presença de insatisfação do cliente/utilizador é necessário entender as razões de forma a incluir no próximo ciclo de desenvolvimento as devidas alterações. O feedback comum dos utilizadores inclui insatisfação com o interface gráfico, ausência de certas funcionalidades, funcionalidades que não funcionam como seria esperado, erros inesperados, etc. Nesse sentido, torna-se importante que a aplicação possa disponibilizar um mecanismo para que o utilizador possa expôr a sua opinião sobre o software que utiliza. Esta opinião é importante para perceber a diminuição da utilização do software ou ajudar a descobrir problemas técnicos.

Objetivo

Este estágio tem como objectivo o desenvolvimento de uma plataforma de software de gestão de relatórios de erros e versões de software com os seguintes componentes:

 

Aplicação Cliente

   * Módulo para Detecção e Envio de Relatórios de Erro

     - Captura de erros lançados pelo software (excepções, crash)

     - Criação e envio de relatório completo de erro para servidor

     - Suporte para os sistemas Windows, Mac, Linux, iPhone, Symbian e J2ME

     - Suporte para envio de erro em servidores J2SE

 

   * Módulo para actualizações automáticas de software

     - Gestão do download de actualizações de software completos/parciais recebidos do servidor

     - Suporte para os sistemas Windows, Mac, Linux e iPhone

 

   * Módulo para User Feedback

     - Envio de feedback de utilizador para servidor

     - Componente reutilizável para Customer-Care Survey

 

 

Aplicação Servidor

   * Módulo para Gestão de Relatórios de Erro (crash e excepção)

     - Analisar e identificar semelhanças de erros  (potenciais duplicados)

     - Report automático no bug tracking system existente na WIT

     - Sistema de alertas multi-nível: SMS, Email, SNMP, etc

     - Recomendar a actualização de software após receber relatório de erro, caso o erro já tenha sido resolvido.

 

   * Módulo Gestão de Releases de Software

     - Criar versões de software, associadas a software symbols.

     - Integração com sistema de bug tracking existente

     - Gestão de actualizações de software com disponibilização de upgrades de software totais e parciais.

 

   * Módulo User Feedback

     - Gestão do feedback enviado pelo utilizador

     - Sistema de reencaminhamento por email

 

Como resultado do estágio irá ser disponibilizada uma framework para a equipa de desenvolvimento assim como um back-office de gestão de relatórios de erros e versões de software.

 

O estagiário irá adquirir e aprofundar conhecimentos em diversas linguagens de programação tais como Java, C, Objective C,  Symbian e J2ME assim como noutras tecnologias ao nível da geração de alertas e técnicas de software fault-handling.

Plano de Trabalhos - Semestre 1

Setembro 2009

·         Levantamento do Estado da Arte

o   O estagiário deverá elaborar um “Documento de Estado da Arte” com as soluções existentes no mercado na área de relatórios de erros e versões de software.

·         Especificação de requisitos e testes

o   Elaboração de documento de especificação de requisitos

o   Elaboração da especificação de testes com base na especificação de requisitos.

Outubro 2009-Janeiro 2010

·         Implementação de software

o   Cliente: Módulo para Detecção e Envio de Relatórios de Erro

o   Servidor: Módulo para Gestão de Relatórios de Erro (crash e excepção)

·         Testes ao software desenvolvido

o   Documento com relatório de testes

Fevereiro 2010 (1 semana)

·         Preparação do WorkShop intermédio:

Preparação da apresentação intermédia de estágio.

Plano de Trabalhos - Semestre 2

Fevereiro-Abril 2010

·         Implementação de software

o   Cliente: Módulo para actualizações automáticas de software

o   Servidor: Módulo Gestão de Releases de Software

·         Testes ao software desenvolvido

o   Documento com relatório de testes

Maio-Junho 2010

·         Implementação de software

o   Cliente: Módulo para User Feedback

o   Servidor: Módulo Gestão de User Feedback

·         Testes ao software desenvolvido

o   Documento com relatório de testes

Julho 2010

·         Documentação final de estágio

Elaborar o relatório final de estágio e preparação para a defesa.

Condições

O local de trabalho será na sede da WIT em Coimbra. O estagiário terá ao seu dispor os equipamentos necessários (PCs, Servidores, Telemóveis) para desempenhar as suas tarefas. Terá também um orientador de estágio presente e terá contacto com uma equipa de projecto experiente que o poderá aconselhar sempre que necessite. O estágio será remunerado de acordo com a remuneração de um estágio profissional.

Observações

- Toda a documentação de projecto será em Inglês.

Orientador

Eng. Nuno Carvalho
nuno.carvalho@wit-software.com 📩