Academia de Software – Pró Informática
Objetivo
Nosso curso visa trazer para dentro do ambiente acadêmico o que acontece dentro de uma fábrica de software. Durante o curso serão abordados temas comuns neste mercado, como:
Reuniões com os stakeholders
Levantamento de requisitos
Discussões sobre tecnologias utilizadas e arquitetura do sistema
Custo e escopo do projeto
Divisão de tarefas dentre a equipe de desenvolvimento
Uso de ferramentas de colaboração online, como MindMup e Trello
Versionamento do código fonte
Testes
Entrega do produto e acompanhamento
Aplicação de metodologias ágeis, Scrum e XP
O objetivo deste preparatório é ser uma ponte entre o ambiente acadêmico e o mercado de desenvolvimento de software, que está em acentuada expansão nos últimos anos.
A equipe de desenvolvimento terá consultoria e acompanhamento de profissionais experientes, que conhecem e vivenciam o processo de desenvolvimento de software.
Motivação
A Pró Informática, com 33 anos de experiência no mercado de tecnologia em Belo Horizonte, visa trazer para seus alunos e parceiros soluções que atendam às novas demandas do mercado.
Após analisar dezenas de turmas, a satisfação e recomendações dos alunos, chegamos à conclusão que a experiência prática deve fazer parte do ambiente acadêmico. Nosso curso não foca em oferecer centenas de horas de aulas desconexas e exaustivas, mas sim em oferecer um ambiente que o aluno
Durante a aula o aluno entende a tecnologia, a ferramenta, mas ele realmente aprende quando pratica, quando produz algo com o que foi ensinado.
Diferenciais
Consultoria e acompanhamento
Durante todo o curso a equipe de desenvolvimento será acompanhada pelos coordenadores. Nesta etapa está o principal diferencial do curso preparatório para o mercado de software da Pró Informática. Os alunos não terão extensas horas de aula em laboratório, abordando assuntos desconexos, mas sim serão orientados sobre como devem proceder em um ambiente real.
Os coordenadores vão fornecer dicas valiosas, orientações sobre como a equipe deve dividir suas tarefas, correção dos códigos fonte desenvolvidos, ajuda na resolução de problemas.
Equipe autossuficiente
Um diferencial no mercado de software atual e será também reproduzido em nosso curso, é ter uma equipe de desenvolvimento que se adapte às necessidades do projeto conforme as mudanças que acontecerem. Logo, focamos em deixar a equipe de desenvolvimento se auto organizar para criarmos profissionais aptos a encarar os desafios reais de uma fábrica de software.
Fases do preparatório
O projeto está dividido em fases, para que seja melhor acompanhado pelos coordenadores. Fase conceitual
Nesta fase define-se:
O que será desenvolvido
Quais tecnologias serão adotadas
Quais são os requisitos funcionais e não-funcionais do sistema
Quem são os stakeholders
Todos os pontos serão levantados por meio de reuniões com a equipe de desenvolvimento, os coordenadores, o dono do produto e quaisquer outros que tenham participação no sistema que será desenvolvido.
Os resultados desta fase são:
O DAS (Documento de Arquitetura de Software) que visa especificar a arquitetura do sistema em questão
Uma lista de histórias a serem implementadas na próxima fase
Divisão das tarefas entre os membros da equipe
Definição de prazos para as entregas parciais Duração desta fase: 2 semanas
Fase de implementação e acompanhamento
Esta é a maior fase do projeto e pode ser dividida em subfases. Aqui a equipe de desenvolvimento irá criar o produto, colocando em prática tudo o que foi especificado na primeira fase.
Como o objetivo é ensinar e praticar a equipe terá 120 horas de crédito de aulas para fazer os mais diversos cursos que precisarem relacionados ao desenvolvimento do projeto. A disposição dessas horas e quais cursos serão ministrados é uma decisão a ser tomada pela equipe de desenvolvimento, que será acordada antes do início da fase e poderá sofrer modificações conforme necessário ao longo do projeto, respeitando os devidos prazos previamente combinados.
A equipe irá executar as tarefas estipuladas na primeira fase, reavaliar essas tarefas, criar novas tarefas, reproduzindo um cenário real de desenvolvimento, onde o caminho a ser traçado pela equipe está sujeito à mudanças frequentes.
A equipe também deve ser comprometer em realizar entregas parciais, que agreguem valor para o dono do produto, ou seja, o resultado final será uma somatória de resultados parciais funcionais ao longo do desenvolvimento .
Será exigido acompanhamento dos coordenadores do treinamento, com o objetivo de corrigir falhas e orientar, como por exemplo:
Correções na maneira como a equipe se auto organiza
Correção nos códigos fonte
Remoção de impedimentos para avanço do projeto Esta fase terá a duração de 16 semanas.
Fase de entrega
O projeto será apresentado formalmente à uma banca avaliadora que, baseado no histórico da equipe, no que foi entregue e como foi entregue, irá fazer a avaliação uma unidade, ou seja, a equipe terá uma nota única. Eventualmente cada aluno poderá ser avaliado individualmente.
Caso a banca avaliadora julgue o produto como inacabado ou ineficaz diante dos requisitos propostos, a equipe poderá solicitar um prazo para correção e nova apresentação.
Nesta fase toda a documentação e histórico desenvolvido deverá ser apresentado e justificado pelos membros da equipe.
Fase de acompanhamento
O acompanhamento é um adendo à entrega do produto, que visa colocar o sistema em produção, sendo acompanhado pela equipe. Nesta última fase a própria equipe pode fazer uma auto avaliação sobre como foi o desenvolvimento, erros não detectados durante a implementação e propor melhorias.
Sistemas propostos
A Pró Informática traz um conjunto de sistemas propostos para serem desenvolvidos pela equipe. Nosso objetivo não é focar somente em um tipo de sistema ou em uma tecnologia, mas ter um leque que possa atender às mais diversas demandas.
Enfatizamos ainda a possibilidade de a equipe propor outro sistema fora do nosso portfolio que atenda à sua necessidade. Os requisitos de tecnologia a serem utilizadas, aulas que devem ser ministradas para capacitação serão ajustados conforme essa necessidade.
Abaixo detalhamos os sistemas e tecnologias em nosso portfolio. SGE (Sistema de Gerenciamento Escolar)
Descrição
Sistema voltado à atender demandas de escolas que ofereçam cursos livres
Entidades Fortes
Aluno, Turma, Curso, Professor, Cliente (PF e PF), Sala
Requisitos
CRUD de todas as entidades fortes
Emissão de relatórios em PDF
o Relatório de alunos aniversariantes do mês o Histórico de alunos
Emissão de listas de presença
Tecnologias utilizadas Java Java SE Java EE o JSF o EJB o JAX-WS o CDI PrimeFaces Banco de dados HTML (5) e CSS (3) JavaScript e JQuery iReport e JasperReport
PHP PHP Zend Framework Web Services Banco de dados HTML(5) e CSS(3)
Técnicas de gerenciamento de projetos
UML
Geração de relatórios
Prospecto de Vendas (Aplicação Mobile para Android)
Descrição
Um sistema de prospecção de vendas tem como objetivo atingir o cliente final de um determinado produto, apresentando o produto por meio de um tablet ou outro dispositivo móvel. Assim é muito mais fácil apresentar fotos, vídeos, texto e todo material multimídia que descreva o produto.
Entidades Fortes
Produto, Material multimídia (inclui vídeos, fotos, documentos PDF, textos), Vendedor, Reserva de venda.
Requisitos
Login de vendedor
Registro de reservas de cada produto
Apresentação dos materiais de cada produto
Cadastro de materiais por meio de uma aplicação web
Sincronização em tempo real com o aplicativo
Tecnologias utilizadas Java + Android Java SE Java EE o EJB o CDI o JSF o JAX-RS PrimeFaces JSON HTML (5) e CSS (3) JavaScript e jQuery iReport e JasperReport PHP + Android PHP Zend Framework
Web Service REST
HTML (5) e CSS (3)