This project is read-only.

Desenvolvimento

O projeto foi efetivamente iniciado no dia 17 de maio de 2012. Após o convite e aceite dos cinco alunos que vieram a compor o grupo, as ideias iniciais foram apresentadas. A organização cliente foi contatada e uma reunião realizada para levantamento da situação, necessidades e o escopo que o novo sistema deveria contemplar. No dia seguinte, a equipe se reuniu e após extensa discussão e alinhamento das expectativas o aceite foi previamente feito com o cliente.

Com a equipe e projeto já definidos, foi feita uma votação para a escolha do(a) orientador(a) a ser convidado, o convite foi feito a professora Juliana Jenny Kolb que gentilmente aceitou o convite. Na data estipulada pela instituição foi protocolado nosso pedido de aceite quanto ao numero e membros da equipe, orientadora e escopo do projeto sugerido. Dias depois fomos informados pela instituição do deferimento de nosso projeto, e uma primeira reunião foi marcada para discutirmos os primeiros passos oficiais.

Por se tratar de um projeto de tecnologia e pela base adquirida em uma das matérias cursadas na instituição, optamos por um modelo de gerenciamento de projeto com base no PMBok. A fim de definir nosso planejamento de comunicação, um líder de equipe foi eleito, que faria a coordenação das atividades e teria maior contato com a orientadora para alinhamento das expectativas, foram definidas também reuniões presencias semanais de duas horas com todos os membros da equipe e utilização de meios eletrônicos como: correio eletrônico, programas de bate-papo e vídeo conferencia, que seriam utilizados diariamente para o alinhamento e atualização dos estados das atividades. Uma ferramenta on-line seria para servir de repositório dos documentos, matérias teóricos e versionamento do código fonte (www.codeplex.com), que poderia ser acessado de qualquer localidade através da internet por todos os membros da equipe.

Desenvolvemos a estrutura analítica do projeto (EAP), para elencar os módulos e funcionalidades macros do sistema. Com base nas informações da orientadora distribuímos entre todos os membros da equipe, atividades para a produção dos demais documentos e fundamentações teóricas necessárias.
Com a EAP e outros documentos criados, analisados e aprovados como: escopos contemplados e não contemplados, requisitos funcionais e não funcionais, termo de abertura, linha base do escopo e modelo de gerenciamento de qualidade, as ferramentas de programação puderam ser mais bem analisadas e posteriormente definitivamente definidas.

Um dos grandes desafios desse projeto foi a escolha e a implementação do hardware que faria a comunicação entre o computador que executa o sistema e a pista, e também gerencia o controle de voltas e tensões de cada uma das fendas. O NetDuino Plus foi então escolhido devido a sua facilidade de programação por possuir suporte ao .Net MicroFramework. O nome do projeto inclusive é uma junção do nome do hardware NetDuino Plus com a denominação de modelismo de fenda na língua inglesa: Slot Racing, surgindo então o SlotDuino.

A linguagem utilizada para o desenvolvimento tanto do sistema embarcado no NetDuino Plus como para o sistema de gerenciamento executado no computador do usuário foi C#, uma vez que ambos trabalham com a biblioteca de objetos .Net Framework e .Net Microframework.

A IDE escolhida foi o Visual Studio 2010 Ultimate, um dos motivos da escolha se deve pelo fato da instituição possuir parceria com a Microsoft que garante aos alunos no período de graduação a utilização gratuita desta ferramenta. Outros dois motivos foram a viabilização da integração do código fonte do projeto com o portal CodePlex, o que nos permitiu usufruir do controlador de versão on-line, e o suporte a tecnologia WPF, também utilizada no projeto para permitir um melhor refinamento gráfico da aplicação e facilitar a interação entre a aplicação e os dados a serem consultados e alterados no banco de dados.

Foi também adotado o banco de dados: Microsoft SQL Server 2008, devido a sua compatibilidade com o Microsoft Visual Studio 2010. E a versão empregada será a Express. Uma das versões gratuitas do banco de dados, desenvolvida para aplicações em desktops ou pequenos servidores, e redistribuições por empresas e/ou produtores independentes de software. Esta versão possui uma série de limitações em relação às outras edições pagas, porém atenderá ao projeto perfeitamente suprindo as necessidades de escalabilidade, desempenho, gerenciamento e segurança exigidos.

Após análises e um melhor dimensionamento das necessidades, o meio físico de conexão escolhido entre o sistema cliente e o embarcado no NetDuino Plus, foi a interface de rede ethernet e sendo o TCP o protocolo utilizado para a implementação da comunicação, devido ao fato do mesmo implementar sequenciamento e garantir a entrega dos pacotes de dados e controles de correção de erros, bem como por se tratar de um modelo amplamente suportado. O protocolo UDP também foi utilizado, porém apenas para atender a necessidade de transmissões de broadcast executadas para fazer a busca na rede do NetDuino.

Graças à sugestão de um dos membros da equipe, conhecemos o aplicativo Latex, que com a adição de algumas marcações aos textos produzidos e publicados no CodePlex e com a ajuda de um script desenvolvido por outro membro da equipe, era capaz de navegar através dos artigos, transferir as informações para o Latex, que por sua vez com o uso das macros conhecidas como abnTeX foi possível gerar o documento em formato PDF, já formatado no padrão ABNT exigido.

No dia 17 de agosto de 2012 foi apresentado o seminário de nosso projeto para a instituição, após apresentarmos slides com as principais informações e objetivos do projeto e respectivas explanações, o orientador e professores convidados que estavam presentes, proveram boas avaliações e sugestões de melhorias. Com este respaldo, correções mínimas foram efetuadas e demos inicio a produção dos casos de uso do sistema que viriam a ser amplamente utilizados na fase efetiva de codificação do sistema, que já estava sendo desenvolvido em paralelo com a documentação.

Estando esta em vias de finalização, a equipe foi dividida em duas frentes de produção, uma denominada simplesmente de equipe verde que estaria focada no desenvolvimento da interface do usuário, formulários, validações e persistência dos dados no banco de dados e outra equipe denominada equipe azul que ficou no desenvolvimento do sistema embarcado no NetDuino Plus, para controle das tensões das fendas, recebimento e envio das informações entre a pista e o sistema e também a formatação dos pacotes de dados que seriam trafegados pela rede. Concluídas as tarefas da equipe azul, a mesma uniu-se novamente a equipe verde, para que as demais telas e funcionalidades fossem desenvolvidas.

Com a documentação finalizada, revisada e aprovada pela orientadora, foi então entregue e protocolada junto à instituição no prazo previsto.

No período de um mês que antecedia a apresentação da banca e entrega final do código do projeto, a equipe deu prosseguimento ao desenvolvimento com base nos seguintes casos de uso dos principais módulos do sistema:
  • UC001 - Gerenciar Pilotos. Disponibiliza a lista de pilotos (clientes) já cadastrados no sistema, contando com um fluxo principal de cadastro de novos pilotos e fluxos alternativos para pesquisa, edição e exclusão. Fluxos de exceção tratam de inconsistências dos dados nas operações;
  • UC002 - Gerenciar Operadores. Disponibiliza para o administrador a lista de operados do sistema já cadastrados, contando com um fluxo principal de cadastro de novos operadores e fluxos alternativos para pesquisa, edição e exclusão. Fluxos de exceção tratam de inconsistências dos dados nas operações;
  • UC003 - Configurar Pista. Permite ao administrador do sistema no fluxo principal configurar a pista, selecionar o numero de fendas e respectivas cores. O fluxo de alternativo permite habilitar o controle de tensão caso das fendas caso o mesmo seja suportado pela pista. Fluxos de exceção tratam de inconsistências nas configurações e possíveis conflitos.
  • UC004 - Criar Corrida. Permite que o operador ou administrador do sistema possa criar uma nova corrida como fluxo principal, utilizando-se das fendas disponíveis. Fluxo alternativo refere-se a possibilidade de uso dos cadastros de pilotos anônimos caso o cliente não queira se cadastras. Fluxos de exceção tratam de inconsistências das configurações de uma corrida e possíveis conflitos.
  • UC005 - Criar Campeonato. Como fluxo principal, o operador ou administrador podem criar um novo campeonato utilizando-se dos modelos existentes, definir a duração e selecionar os pilotos participantes. Fluxos alternativos tratam de alterações dos modelos quanto a tempos de intervalo e tomada tempo, manutenção da lista de pilotos inscritos e possibilidade de salvar um campeonato que tenha inicio em uma data posterior. Fluxos de exceção tratam de inconsistências das configurações de uma corrida e possíveis conflitos.

O tempo de desenvolvimento exigido para a implementação do sistema, contemplando todo o escopo foi de aproximadamente 125 dias. Testes e melhorias foram realizados durante todo o processo.

O esforço empregue para o desenvolvimento, documentação, reuniões de equipe, revisões e correções sugeridas pela orientadora, seminário e apresentação à banca tiveram de ser conciliadas com horários e a disponibilidade de todos os envolvidos, tampo quanto ao que se refere a carreira profissional e compromissos familiares como quanto as demais obrigações de todos com as matérias e respectivas aulas, trabalhos e provas do curso de graduação.

Last edited Dec 5, 2012 at 12:12 AM by firegunkiller, version 24

Comments

No comments yet.