Propostas atribuídas ano letico 2025/2026

DEI - FCTUC
Gerado a 2025-12-09 07:34:14 (Europe/Lisbon).
Voltar

Titulo Estágio

Desenvolvimento de motor de Workflow

Área Tecnológica

Sistemas de Informação

Local do Estágio

Critical Software - Coimbra

Enquadramento

A Critical Software desenhou e implementou uma plataforma de desenvolvimento interna para aplicações baseadas na tecnologia Microsoft .NET.

A plataforma de desenvolvimento Critical Software, disponibiliza um vasto conjunto de funcionalidades e serviços comum aos vários sistemas de informação (autenticação, autorização, persistência, controlo de erros, GUI, etc.). Esta plataforma é regularmente utilizada como base em projectos desenvolvidos pela Critical Software nesta área tecnológica (Microsoft .NET).

Esta proposta enquadra-se no plano de evolução e manutenção da plataforma de desenvolvimento da Critical Software, nomeadamente na extensão da mesma através da integração de funcionalidade Windows Workflow Foundation (WWF).

A Critical Software possui já uma análise e prototipagem inicial dessa integração. É objectivo do estágio proposto o desenvolvimento dessa abordagem por forma a transformá-la num módulo genérico e reutilizável da plataforma de desenvolvimento interna.

O projecto de Estágio passará pela análise da plataforma de desenvolvimento interna da CSW e da prototipagem já efectuada seguida de etapas de definição de requisitos para a integração do WWF e desenho da solução de integração do módulo.

Na fase de implementação o estagiário deverá produzir o módulo de encapsulamento da funcionalidade WWF bem como funcionalidade genérica de suporte à reutilização do mesmo (configuração de fluxos, etc.)

Tratando-se de um módulo funcional destinado a integrar-se numa plataforma de desenvolvimento assume particular relevância a documentação técnica do mesmo bem como dos procedimentos de integração e deployment. Espera-se, do Estagiário, uma boa capacidade de produção de documentação técnica de elevada qualidade.

O sub-sistema de workflow deverá ser correctamente encapsulado por forma a não criar dependências desnecessárias e a acomodar especializações na forma de third-parties ou de módulos desenvolvidos internamente. Do Estagiário espera-se, assim, interesse e conhecimentos na área da Programação Orientada a Objectos e da selecção e implementação de Patterns.Tendo por objectivo integrar-se na plataforma de desenvolvimento o sub-sistema de workflow deverá ser especificado e implementado com um nível de maturidade correspondente pelo que deverá ser acompanhado de Unit Testing exaustivo bem como de guidelines de integração e reutilização completas.

O sistema a desenvolver, além de abranger muitas das áreas da práctica profissional da Engenharia de Software, tem boas oportunidades de demonstração de criatividade e integra-se numa plataforma madura e com uma equipa vasta, exigente e motivada pelo que garante um óptimo acompanhamento do Estagiário. É, também, um bom campo para demonstração de autonomia e potencial.

O trabalho a desenvolver no decurso do projecto de estágio irá permitir ao estagiário percorrer todas as etapas do processo de desenvolvimento em vigor na Critical Software.

 

Objetivo

O estagiário terá a seu cargo o desenho e definição de requisitos para a integração do WWF na plataforma de desenvolvimento interna da Critical Software. Após a fase de desenho e definição, o estagiário poderá seleccionar as funcionalidades a implementar de acordo com o esforço disponível para alocação ao projecto de estágio.

As principais actividades a executar no decurso do projecto de estágio são:

       Análise da plataforma de desenvolvimento interna da CSW e da prototipagem já efectuada para aplicação do WWF.

       Especificação de requisitos para o módulo, bem como para a sua integração na plataforma interna de desenvolvimento da CSW. Para a elaboração de requisitos estão previstas reuniões para troca de informação com elementos da equipa da plataforma.

       Implementação dos componentes especificados. A fase de implementação será acompanhada de actividades regulares de verificação, que serão realizadas em conjunto com outros elementos da Critical Software.

       Definição e execução de testes de validação dos componentes implementados.

       Produção de relatório de estágio.

 

Com o presente projecto de estágio pretende-se proporcionar aos estagiários formas de atingir os seguintes objectivos:

       Aprofundar conhecimentos e experiência ao nível dos processos de engenharia de software.

       Melhorar a capacidade e experiência no processo de levantamento e especificação de requisitos, arquitectura e desenho de sistemas de informação.

       Aprofundar conhecimentos, sobre especificação e execução de testes a sistemas de informação.

       Aprofundar a experiência na arquitectura .NET, bem como no desenvolvimento utilizando a linguagem C#.

 

É objectivo da Critical Software para o projecto de estágio a obtenção de resultados de elevada qualidade, que permitam a integração dos componentes no processo de produção.

É também objectivo da Critical Software a identificação de futuros colaboradores de elevado potencial.

~

Plano de Trabalhos - Semestre 1

T1 - Familiarização com o ambiente de desenvolvimento e com tecnologias, nomeadamente com o processo de desenvolvimento em vigor na Critical Software

T2 - Análise e especificação de requisitos e desenho.

KO = Kick-off
W = Semana

M1 (KO+4W)  Tarefa T1 terminada
M2 (KO+11W)  Tarefa T2 terminada
M3 (KO+22W)  Tarefa T3 terminada
M4 (KO+28W)  Tarefa T4 terminada
M5 (KO+32W)  Tarefa T5 terminada
M6 (KO+36W)  Tarefa T6 Terminada

 

Plano de Trabalhos - Semestre 2

T3 - Codificação da aplicação. A codificação será acompanhada das devidas inspecções de código a serem realizadas em conjunto com outros elementos da Critical Software, bem como de testes de módulo realizados pelo estagiário.

T4 - Produção de documentação técnica final.

T5 - Execução de testes de aceitação.

T6 - Produção do relatório de estágio.

KO = Kick-off
W = Semana

M1 (KO+4W)  Tarefa T1 terminada
M2 (KO+11W)  Tarefa T2 terminada
M3 (KO+22W)  Tarefa T3 terminada
M4 (KO+28W)  Tarefa T4 terminada
M5 (KO+32W)  Tarefa T5 terminada
M6 (KO+36W)  Tarefa T6 Terminada

Condições

Resultados

Os resultados do estágio serão consubstanciados num conjunto de documentos a elaborar pelo estagiário de acordo com o seguinte plano:

       R1.1: Análise de Requisitos (incluindo casos de testes).

       R2.1: Especificação detalhada do módulo e integração na plataforma de desenvolvimento da Critical Software.

       R3.1: Código do módulo e correspondente validação.

       R3.2: Documentação técnica final.

       R3.1: Relatório de estágio.

 

Para além dos resultados (entregáveis) acima mencionados, o estagiário tem a seu cargo a criação e manutenção do plano de projecto. Os documentos elaborados pelo estagiário serão sujeitos sem excepção a um rigoroso processo de peer-review em que participarão os co-orientadores do estágio e colaboradores da Critical Software a definir.

Observações

Metodologia

O desenvolvimento do projecto será suportado por um Plano de Projecto especificando todas as actividades, recursos, calendarização e resultados (software e/ou documentação). O plano de projecto detalhado será elaborado em colaboração com o orientador no inicio do projecto, no máximo até duas semanas depois do inicio do estágio.

Por outro lado, deverá ser criado um Dossier de Projecto, que concentrará toda a documentação elaborada e recolhida no decurso do projecto, incluindo o próprio plano de projecto.

A ferramenta de controlo de projecto a utilizar será o WISE - ferramenta desenvolvida pela Critical Software, na qual é gerido o avanço do projecto e o esforço utilizado. A ferramenta de controlo de versões a utilizar será o CVS.

Avaliação

O desempenho do estagiário será avaliado pela Critical:

       Em dois períodos: a meio e no final do estágio, para estágios cuja duração seja igual ou superior a 6 meses;

       No final do estágio: para estágios cuja duração seja inferior a 6 meses.



Orientador

Pedro Miguel Ventura Gomes
pedro.m.gomes@criticalsoftware.com 📩