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 📩