CENTRO UNIVERSITÁRIO ADVENTISTA DE SÃO PAULO ENGENHEIRO COELHO JESEEL ROCHA ALBUQUERQUE SISTEMA PARA ESCOLA DE FUTEBOL ENGENHEIRO COELHO - SP 2012 JESEEL ROCHA ALBUQUERQUE SISTEMA PARA ESCOLA DE FUTEBOL Trabalho de Conclusão de Curso do Centro Universitário Adventista de São Paulo do curso de Tecnologia em Sistema para Internet sob orientação do Prof. Me. Percival Silva de Lucena ENGENHEIRO COELHO 2012 Dedico este trabalho primeiramente a Deus, fonte conhecimento. E também à minha esposa, pelo total apoio. AGRADECIMENTOS ● Agradeço a Deus por me dar sabedoria, conhecimento e habilidades para desenvolver o projeto. ● Agradeço muito a minha esposa, por seu amor, dedicação, paciência e compreensão durante o desenvolvimento do projeto, pois foi fundamental. ● A minha mãe por sempre ser uma guerreira e com seu testemunho de vida me ensinou a não desistir. ● Agradeço ao Prof. Me. Percival, por acreditar no projeto, que futuramente será útil a muitas pessoas. ● Agradeço ao Elton Doerner, por auxiliar no desenvolvimento. Qualquer atividade se torna criativa quando quem a exerce se preocupa em fazê-la direito ou melhor.” John Updike RESUMO Alguns setores especializados de pequeno comércio não possuem soluções de informatização de baixa complexidade e preço acessível. Através de uma pesquisa qualitativa, observou-se que algumas escolas de futebol ainda não possuem sistemas para controle de atividades. Estes pequenos estabelecimentos de prática e ensino desportivo costumam utilizar fichas para armazenar as informações sobre os alunos. As informações armazenadas costumam incluir: o cadastro dos alunos, cadastro dos seus responsáveis, controle de pagamento, política de descontos e controle de insumos como uniformes dos alunos. Este trabalho apresenta o projeto de um sistema para automatizar as necessidades de negócio de uma escola de futebol. O trabalho detalhará todas as etapas necessárias ao projeto incluindo a obtenção dos requisitos, modelagem da implementação, desenvolvimento do código, projeto e implementação de bancos de dados e testes do sistema. Por fim será apresentada uma breve análise dos resultados obtidos. Palavras Chave: Sistema de automação; ASP.NET MVC; Entity Framework. ABSTRACT Small business sometimes does not have low complex and affordable solutions for IT systems. Through a qualitative research, it was observed that some football schools do not yet have systems to control their business activities. These small establishments often use paper to store information about students. Information stored typically include: the registration of students, registration of parental information, payment control, discount policy and control inputs such as students uniforms. This work presents the design of a system to automate the business needs a football school. This work will detail all the steps necessary to achieve the project including requirements, modeling, implementation, code development, design and implementation of databases and system tests. Finally a brief analysis of the results will be presented. Keywords: system to automate; ASP.NET MVC; Entity Framework. LISTA DE ILUSTRAÇÕES FIGURA 1 - TELA DE INFORMAÇÕES CADASTRAIS DO ALUNO, SCHOOLTOOL ................................. 17 FIGURA 2 - TELA CALENDÁRIO DO ALUNO, SCHOOLTOOL ............................................................. 18 FIGURA 3 – TELA DO ALUNO, QUICKSCHOOLS.............................................................................. 19 FIGURA 4 – DIAGRAMA DE CASO DE USO .................................................................................... 24 FIGURA 5 – DIAGRAMA DE CLASSE .............................................................................................. 35 FIGURA 6 – MODELO ER .............................................................................................................. 37 FIGURA 7 – TELA RESPONSÁVEL .................................................................................................. 38 FIGURA 8 – TELA ENDEREÇO........................................................................................................ 39 FIGURA 9 – TELA ALUNO ............................................................................................................. 39 FIGURA 10 - MATRÍCULA DO ALUNO ........................................................................................... 40 FIGURA 11 – MENSALIDADE DO ALUNO ...................................................................................... 40 FIGURA 12 – TURMAS DO ALUNO ............................................................................................... 41 FIGURA 13 – PRODUTO ............................................................................................................... 41 FIGURA 14 – PEDIDO................................................................................................................... 42 FIGURA 15 – ITEM DO PEDIDO .................................................................................................... 42 LISTA DE TABELAS TABELA 1 - INCLUIR ALUNO ......................................................................................................... 25 TABELA 2 - ALTERAR ALUNO ....................................................................................................... 25 TABELA 3 – APAGAR ALUNO ....................................................................................................... 26 TABELA 4 – INCLUIR RESPONSÁVEL ............................................................................................. 26 TABELA 5 – ALTERAR RESPONSÁVEL ............................................................................................ 27 TABELA 6 – APAGAR RESPONSÁVEL............................................................................................. 27 TABELA 7 – INCLUIR PRODUTO .................................................................................................... 28 TABELA 8 – ALTERAR PRODUTO .................................................................................................. 28 TABELA 9 – APAGAR PRODUTO ................................................................................................... 29 TABELA 10 – INCLUIR MATRÍCULA ............................................................................................... 29 TABELA 11 – ALTERAR MATRÍCULA.............................................................................................. 30 TABELA 12 – APAGAR MATRÍCULA .............................................................................................. 30 TABELA 13 – INCLUIR TURMA...................................................................................................... 31 TABELA 14 – ALTERAR TURMA .................................................................................................... 31 TABELA 15 – APAGAR TURMA ..................................................................................................... 32 TABELA 16 – INCLUIR PEDIDO ..................................................................................................... 32 TABELA 17 – ALTERAR PEDIDO .................................................................................................... 33 TABELA 18 – APAGAR PEDIDO ..................................................................................................... 33 LISTA DE ABREVIATURAS, SIGLAS OU TERMOS OPERACIONAIS ADO.NET - (Active Date Objects) ASP- (Active Server Page) EDM - (Modelo de Dados de Entidade) GNU General Public License – (Licença Pública Geral) IDE - Integrated Development Environment (Ambiente Integrado de Desenvolvimento) LINQ - (Language-Integrated Query) OLTP – (Online Transaction Processing) PDF - Portable Document Format (Formato de Documento Portátil) SGBD – (Sistema Gerencial de Banco de Dados) SQL - Structured Query Language (Linguagem de Consulta Estruturada) XML - (eXtensible Markup Language) SUMÁRIO 1 INTRODUÇÃO .......................................................................................................................... 12 1.1 Contextualizações da temática .............................................................................................. 12 1.2 Problemáticas da pesquisa .................................................................................................... 12 1.3 Hipóteses.............................................................................................................................. 13 1.4 Objetivos .............................................................................................................................. 13 1.4.1 Objetivo geral .................................................................................................................... 13 1.4.2 Objetivos específicos .......................................................................................................... 13 2 METODOLOGIA ........................................................................................................................ 14 2.1 Materiais .............................................................................................................................. 15 3 REVISÃO BIBLIOGRÁFICA .......................................................................................................... 16 3.1 SchoolTool ............................................................................................................................ 16 3.1.1 Tela do aluno SchoolTool .................................................................................................... 16 3.1.2 Tela calendário SchoolTool ................................................................................................. 17 3.2 QuickSchools ........................................................................................................................ 18 3.2.1 Tela do aluno QuickSchools ............................................................................................... 19 3.3 Linguagem C # ....................................................................................................................... 20 3.4 Entity framework ................................................................................................................. 20 3.5 Visual Studio 2010................................................................................................................. 21 3.6 SQL Server 2008 .................................................................................................................... 21 3.7 ASP.NET MVC........................................................................................................................ 21 4 DESENVOLVIMENTO ................................................................................................................ 23 4.1 Requisitos ............................................................................................................................. 23 4.2 Caso de uso........................................................................................................................... 23 4.3 Diagrama de Classe ............................................................................................................... 34 4.4 Modelo E-R (Entidade – Relacionamento) ............................................................................. 36 4.5 Implementação do sistema ................................................................................................... 38 5 CONCLUSÃO ............................................................................................................................ 43 5.1 Trabalhos futuros .................................................................................................................. 43 6 REFERÊNCIAS ........................................................................................................................... 44 12 1 INTRODUÇÃO Alguns setores especializados de pequeno comércio não possuem soluções de informatização de baixa complexidade e preço acessível. Existem sistemas de automação comercial complexo que são financeiramente inviáveis, ou complexos demais para serem adaptados a processos simples de negócios. A condução de pequenos negócios utilizando processos não automatizados baseados em papel resulta em ineficiência financeira e operacional para a empresa. A dificuldade de se obter informações e gerar relatórios dificulta a tomada de decisões e planejamento da empresa. O foco deste trabalho visa prover uma solução de automação simples para escolas de futebol. Tal segmento foi escolhido através de uma rápida pesquisa qualitativa feita na cidade de Artur Nogueira-SP. 1.1 Contextualização da temática A Escolinha de Futebol São Caetano, localizada na cidade de Artur Nogueira, oferece treinamento para alunos e locação de campo de futebol society para terceiros. Apesar da tradição e tempo de mercado, até hoje todo o controle dos dados é feito por meio de arquivos em papel. Um sistema simples e eficaz poderia resolver vários problemas e melhorar o controle interno de dados. 1.2 Problemática da pesquisa Este trabalho propõe analisar alguns sistemas utilizados em diversas instituições de ensino e sua possível adequação ao uso as reais necessidades da empresa. Devido às necessidades específicas da Escolinha de Futebol São Caetano os softwares analisados não satisfaziam as necessidades específicas e não possuíam suporte para manutenção em caso de eventuais problemas. Por este motivo este trabalho propôs a criação de um software personalizado, simplificado que atenda especificamente às necessidades da Escolinha de Futebol São Caetano. 13 1.3 Hipóteses Na conjuntura atual, qualquer empresa, por menor que seja, necessita de um sistema de automação para atender seus clientes e administrar o controle dos seus negócios. No caso da Escolinha de Futebol, o sistema oferecerá praticidade no controle da entrada e saída de alunos, necessidade de uniformes, balanço financeiro e acompanhamento do pagamento e rastreio de alunos inadimplentes. O sistema oferecerá um relatório com todas as pendências de cada aluno, e assim não haverá mais a necessidade da pesquisa manual em arquivos de papel. Além da economia do tempo e o ganho em produtividade, haverá maior controle financeiro evitando pagamentos duplicados e alertando a inadimplência dos alunos. 1.4 Objetivos 1.4.1 Objetivo geral Este projeto tem com objetivo principal desenvolver um sistema que atenda às necessidades específicas de automação de uma pequena empresa, no ramo educacional e esportivo. 1.4.2 Objetivos específicos ● Desenvolver uma ferramenta com relação custo X benefício adequada para uma escola de futebol; ● Gerar facilidade no cadastro de aluno novo e pesquisa de alunos e turmas inadimplentes; ● Facilitar controle de total recebido por turma; Gerenciar a venda de uniformes para os alunos e a necessidade de novos itens. 14 2 METODOLOGIA Segundo SOMMERVILLE (2007), não é possível elaborar um sistema sem o conhecimento sobre engenharia do software. Para o autor, “Um mau gerenciamento resulta em falha de projeto”. Para o desenvolvimento do sistema de automação da Escola de Futebol, optou-se por um processo de desenvolvimento simples, Cascata. Lista de requisitos: Cadastro do aluno, responsável, endereço, produto e matrícula do aluno. Realizar pedido do produto para cada aluno. Criar uma conta com o valor da mensalidade Efetuar e verificar o pagamento na conta do aluno. Caso de Uso Cadastro dos alunos Cadastro dos responsáveis Cadastro de endereço Cadastro das matrículas Cadastro da Conta Cadastro do produto Cadastro dos pedidos Tarefas a realizar Modelo ER Diagrama de classe Implementação do sistema Produto final Sistema para escola de futebol 15 O projeto será realizado a partir de um relatório feito junto à direção da escola de futebol. Com os dados iniciais coletados, serão feitos os levantamentos de requisitos e a priorização dos mesmos. Já com os requisitos coletados, será feita a modelagem, implementação e teste do sistema (SUMMERVILLE 2007, p. 61). 2.1 Materiais A ferramenta de desenvolvimento Visual Studio 2010 e o Banco de Dados SQL Server foram escolhidos por apresentarem alta produtividade no desenvolvimento de projetos. A arquitetura de desenvolvimento escolhida inclui o framework web ASP.NET MVC, a linguagem C SHARP , Entity Framework e SQL Server. 16 3 REVISÃO BIBLIOGRÁFICA 3.1 SchoolTool SchoolTool é um software de automatização global de informação de aluno. É um sistema de utilização livre feito para web, qualquer um pode utilizá-lo e também contribuir no seu desenvolvimento. O software possui traduções para diversos idiomas incluindo o Português (SCHOOLTOOL, 2012). SchoolTool tem um forte suporte na tradução do aplicativo, possui o próprio servidor web e banco de dados. Todos os componentes necessários para utilização estão distribuídos para os usuários na forma de pacote, que se encontra facilmente no instalador localizado no gerenciamento de pacotes do Ubuntu Linux. SchoolTool é 100% gratuito, entretanto foi construído sob a licença GNU (General Public License) e foi desenvolvido através das tecnologias Python usando o frameWork Zobe 3. Ele também pode ser usado como framework para criação de novos aplicativos para escola(SCHOOLTOOL, 2012). 3.1.1 Tela do aluno SchoolTool O SchoolTool possui funcionalidades básicas de cadastros de aluno, professor e responsável, gerar relatórios, alterar preferências como ilustra a figura 1. 17 Figura 1 - Tela de informações cadastrais do aluno, SchoolTool Fonte: http://www.schooltool.org 3.1.2 Tela calendário SchoolTool O calendário ilustrado na figura 2 mostra os horários cadastrados para cada aluno de acordo com os cursos da grade do aluno. Os calendários são privados, mas há calendário de seção, grupo e classe que são visíveis para seus membros (SCHOOLTOOL, 2012). 18 Figura 2 - Tela calendário do aluno, SchoolTool Fonte: http://www.schooltool.org Embora possua muitos recursos, o SchoolTool não possui suporte a parte de administração financeira não satisfazendo todos os requisitos da Escolinha de Futebol São Caetano. 3.2 QuickSchools QuickSchools é um software online, comercializado no sistema SaaS, desenvolvido especialmente para escola menores. Os alunos podem acessar através de uma área exclusiva as suas informações, notas das disciplinas, atividades extracurriculares, relatórios, informações pessoais dos professores e sua agenda. Os pais têm acesso às informações dos 19 alunos e podem visualizar os boletins publicados. Eles também são informados acerca qualquer problema disciplinar e são notificados a respeito de participações extracurriculares (QUICKSCHOOLS, 2012). 3.2.1 Tela do aluno QuickSchools Figura 3 – Tela do aluno, QuickSchools Fonte: http://www.schooltool.org O menu agenda está disponível tanto para alunos quanto para professores. Estes podem programar as aulas facilmente e aqueles podem ver horários das mesmas, além dos nomes dos professores responsáveis e sala de aula. Também pode gerar relatórios no formado de PDF com as informações. 20 Embora o software quase disponibilize todos os recursos solicitados pela Escolinha São Caetano, ele só esta disponível em Inglês e possui custo mínimo de $1/mês por aluno, o que pode ser muito caro em longo prazo (QUICKSCHOOLS, 2012). 3.3 Linguagem C# Projetado pela Microsoft, C# ou C Sharp é uma linguagem de programação orientada a objeto da plataforma .NET que foi baseada em Java e C++. O Framework .NET foi projetado em um novo ambiente para se desenvolver aplicações nativas Windows, bem como aplicativos Web e mobile. O Framework .NET vem crescendo e evoluindo rapidamente. A versão atual disponível para download é a 4.5 compatível com a ferramenta de desenvolvimento Visual Studio 2012 Ultimate (MICROSOFT, 2012). 3.4 Entity Framework O Entity Framework é uma ferramenta de mapeamento Objeto-Relacional transparente baseado em um conjunto de tecnologias do ADO.NET. O framework garante aos programadores desenvolver com dados na forma de propriedades e objetos específicos de domínio, sem se preocupar como faram os armazenamentos das tabelas, colunas do banco de dados, mecanismo de armazenamento de dados ou esquema relacional. Entity Framework consiste em um modelo conceitual e um de armazenamento, além do mapeando ambos. Para satisfazer um EDM (Modelo de Dados de Entidade) de um banco de dados existente, existem ferramentas que geram e validam EDM e criam classes com base no modelo conceitual. Através do EDM, o ADO.NET expõe as entidades com objetos no ambiente .NET. Isso fará a camada de objeto um destino para suportar o LINQ (consulta integrada à linguagem). O LINQ to Entities permite desenvolver consultas mais flexíveis de tipos com base no contexto de objeto do Entity diretamente no ambiente de desenvolvimento (MICROSOFT, 2012). 21 3.5 Visual Studio 2010 O Microsoft Visual Studio 2010 Ultimate é um conjunto completo de ferramentas de gerenciamento para construir aplicações para web, desktop e aplicativos móveis. Suporta várias linguagens de programação como Visual Basic, Visual C#, Visual C++, entre outras. O Visual Studio permite compartilhamento de ferramentas, facilitando criação e solução misturando as linguagens. Ele vem embutido com as funcionalidades do .NET Framework, oferecendo acesso as tecnologias chaves que simplificam o desenvolvimento de aplicativos Web em ASP e serviços Web XML. O Visual Studio 2010 Ultimate inclui novas ferramentas com suporte a computação paralela e em nuvem (MICROSOFT, 2012). 3.6 SQL Server 2008 SQL Server é um SGDB (Sistema Gerencial de Banco de Dados). O database Engine, que é o principal serviço fornecido pelo SQL Server, permite armazenar, recuperar, processar e proteger as informações, principalmente nos processamento de transações online (OLTP, online transaction processing). O Storage Engine é o mecanismo de armazenamento estabelecido no SQL Server, controlando o modo do armazenamento de dados no disco baseado nas definições de tabelas e tipo de dados das colunas e disponibilizando para as aplicações. O SQL Server 2008 disponibiliza uma infraestrutura de segurança poderosa e flexível que garante a proteção de intrusos nos dados e instâncias. Para controlar a forma de autenticação dos clientes, SQL Server obriga autenticar usando credenciais do Windows ou logins internos do SQL Server. O suporte a replicações permite que o SQL Server seja capaz de distribuir cópias de dados mantendo-as sincronizados com conjunto de dados principais (HOTEK Mike, p.31-35). 3.7 ASP.NET MVC ASP.NET é uma biblioteca de programação orientado a objeto para desenvolvimento Web disponível para as linguagens do framework .NET como VB e C#. Seus serviços são em 22 tempo de execução junto com uma biblioteca de classe para otimizar o desenvolvimento Web. O ASP.NET pode ser programado com a IDE Visual Studio que oferece vários Wizards e integração as bibliotecas do Framework e ao servidor de aplicação IIS (SHEPHERD GEORGE, p. X, 2009). ASP.NET MVC foi criado para facilitar as partes mais complexas no desenvolvimento de Web Forms, retendo o poder e a flexibilidade do ASP.NET. ASP.NET MVC fornece o suporte para desenvolvimento para aplicação Modelo, Visão e Controlador. Nesse framework é claramente dividido a lógica da aplicação em uma classe isoladas das dependências fortes relacionado a apresentação dos dados. As paginas de visualização (View) que são HTML aguardando para inserir os objetos (modelos) para ser passado pelo controlador, que gerencia qual será a resposta apropriada para a requisição feita (PALERMO Jeffrey; SCHEIRMAN Ben; BOGARD Jimmy. p.29 – p.31). 23 4 DESENVOLVIMENTO 4.1 Requisitos São descrições dos serviços do sistema e as suas restrições operacionais. Eles refletem a necessidade dos clientes de um sistema, que ajudará a resolver problemas ou, em alguns casos, simplesmente uma declaração de uma funcionalidade do sistema ou restrição. Requisitos são classificados em 3 partes: 1. Requisitos Funcionais descreve o que o sistema deve fazer e descreve detalhadamente as entradas, saídas e exceções; 2. Requisitos não funcionais não são diretamente relacionados às funções específicas do sistema, como confiabilidade, tempo de resposta e espaço de armazenamento; 3. Requisitos de domínio (SOMMERVILE, p. 80-81, 2007). Os requisitos foram obtidos através de uma entrevista com a secretária da Escolinha de Futebol São Caetano. Os principais requisitos identificados foram: cadastro dos alunos, cadastro dos responsáveis e cadastrar um aluno em uma matrícula, essa matrícula estar em uma turma e essa turma te horários. Na matrícula conter uma conta do aluno/responsável para poder saber se foi paga a mensalidade, cadastro de produtos e pedido dos produtos por aluno. 4.2 Caso de uso O diagrama de caso de uso serve para documentar e visualizar o sistema. Com o diagrama, fica mais fácil entender tanto para os usuários que irão utilizar o sistema quanto para os desenvolvedores (BOOCH Grady; RUMBAUGH James ; JACOBSON Uvan. 2005, p.241). Na figura 4 está diagrama do caso de uso do sistema proposto. Pode-se identificar facilmente, uma visão geral das ações que o sistema proporcionará. O funcionário poderá incluir alterar atualizar e deletar as informações. Nenhum responsável ou aluno tem acesso ao sistema, pois as funcionalidades somente serão feitas pelo ator secretária. 24 Figura 4 – Diagrama de caso de uso A seguir serão detalhados os casos de uso com as descrições completas das ações que o ator funcionário desenvolve. 25 TABELA 1 - Incluir aluno Nome do Caso de Uso: Cadastro Aluno Funcionalidade: Incluir aluno Ator(es) Envolvido(s): Secretária Pré Condição Dados do aluno. Descrição do Caso Selecionar um responsável para aluno. Insere os dados do aluno. Grava aluno. Pós Condição Incluir aluno. TABELA 2 - Alterar aluno Nome do Caso de Uso: Cadastro Aluno Funcionalidade: Alterar aluno Ator(es) Envolvido(s): Secretária Pré Condição Ter um aluno cadastrado. Selecionar aluno. Descrição do Caso Alterar e incluir novas informações do aluno. Incluir e gravar. Pós Condição Alterado as informações do aluno. 26 TABELA 3 – Apagar aluno Nome do Caso de Uso: Cadastro Aluno Funcionalidade: Apagar aluno Ator(es) Envolvido(s): Secretária Pré Condição Selecionar aluno Descrição do Caso Selecionar aluno. Se for selecionado exclui aluno. Pós Condição Aluno removido. TABELA 4 – Incluir responsável Nome do Caso de Uso: Cadastrar Responsável Funcionalidade: Incluir responsável Ator(es) Envolvido(s): Secretária Pré Condição Dados do responsável. Descrição do Caso Inclui os dados. Grava responsável Pós Condição Incluir responsável. 27 TABELA 5 – Alterar responsável Nome do Caso de Uso: Cadastrar Responsável Funcionalidade: Alterar dados do responsável Ator(es) Envolvido(s): Secretária Pré Condição Selecionar responsável. Ter responsável cadastrado. Descrição do Caso Alterar informação do responsável. Alterar endereço Incluir as alterações e gravar. Pós Condição Alterado as informações do responsável. TABELA 6 – Apagar responsável Nome do Caso de Uso: Cadastrar Responsável Funcionalidade: Apagar cadastro do responsável Ator(es) Envolvido(s): Secretária Pré Condição Selecionar responsável na pesquisa. Descrição do Caso Selecionar responsável. exclui responsável. Pós Condição Responsável removido. 28 TABELA 7 – Incluir produto Nome do Caso de Uso: Cadastrar Produto Funcionalidade: Incluir produto Ator(es) Envolvido(s): Secretária Pré Condição Dados do produto. Descrição do Caso Inclui os dados. Grava Produto Pós Condição Incluir Produto. TABELA 8 – Alterar produto Nome do Caso de Uso: Cadastrar Produto Funcionalidade: Alterar dados do produto Ator(es) Envolvido(s): Secretária Pré Condição Selecionar produto. Ter produto cadastrado. Descrição do Caso Alterar informação do produto selecionado. Incluir as alterações e gravar. Pós Condição Alterado as informações do produto. 29 TABELA 9 – Apagar produto Nome do Caso de Uso: Cadastrar Produto Funcionalidade: Apagar cadastro do produto Ator(es) Envolvido(s): Secretária Pré Condição Selecionar produto na pesquisa. Descrição do Caso Selecionar Produto. Exclui produto. Pós Condição Produto removido. TABELA 10 – Incluir matrícula Nome do Caso de Uso: Criar Matrícula Funcionalidade: Cadastrar matrícula para aluno Ator(es) Envolvido(s): Secretária Pré Condição Selecionar um aluno cadastrado. Descrição do Caso Icluir dados da matrícula. Seleciona turma Seleciona Aluno Grava matrícula Pós Condição Incluir produto. 30 TABELA 11 – Alterar matrícula Nome do Caso de Uso: Criar matrícula Funcionalidade: Alterar dados da matrícula Ator(es) Envolvido(s): Secretária Pré Condição Selecionar matrícula. Descrição do Caso Alterar informação da matrícula. Incluir as alterações e gravar. Pós Condição Alterado as informações da matrícula. TABELA 12 – Apagar matrícula Nome do Caso de Uso: Criar matrícula Funcionalidade: Apagar matrícula Ator(es) Envolvido(s): Secretária Pré Condição Selecionar matrícula na pesquisa. Descrição do Caso Selecionar matrícula. Exclui matrícula. Pós Condição Matrícula removida. 31 TABELA 13 – Incluir turma Nome do Caso de Uso: Cadastrar Turma Funcionalidade: Cadastrar turma Ator(es) Envolvido(s): Secretária Pré Condição Dados da turma. Descrição do Caso Incluir dados da turma. Grava turma Pós Condição Incluir turma. TABELA 14 – Alterar turma Nome do Caso de Uso: Cadastrar Turma Funcionalidade: Alterar dados da turma Ator(es) Envolvido(s): Secretária Pré Condição Selecionar turma. Descrição do Caso Alterar informação da turma. Incluir as alterações e gravar. Pós Condição Informações da turma alteradas. 32 TABELA 15 – Apagar turma Nome do Caso de Uso: Cadastrar Turma Funcionalidade: Apagar turma Ator(es) Envolvido(s): Secretária Pré Condição Selecionar turma Descrição do Caso Selecionar turma. Exclui turma. Pós Condição Turma removida. TABELA 16 – Incluir pedido Nome do Caso de Uso: Fazer Pedido Funcionalidade: Cadastrar pedido Ator(es) Envolvido(s): Secretária Pré Condição Selecionar um ou mais produtos Descrição do Caso Incluir produto. Incluir itens Grava pedido Pós Condição Pedido gravado. 33 TABELA 17 – Alterar pedido Nome do Caso de Uso: Fazer Pedido Funcionalidade: Alterar pedido Ator(es) Envolvido(s): Secretária Pré Condição Selecionar pedido. Descrição do Caso Alterar informação do pedido. Incluir as alterações e gravar. Pós Condição Alterado as informações do pedido. TABELA 18 – Apagar pedido Nome do Caso de Uso: Fazer Pedido Funcionalidade: Apagar pedido Ator(es) Envolvido(s): Secretária Pré Condição Selecionar pedido Descrição do Caso Selecionar pedido. Exclui pedido. Pós Condição Turma pedido. 34 4.3 Diagrama de classe As classes são uma descrição do conjunto de objeto que contém atributos, métodos, relacionamento e semântica. Elas são a parte mais importante de um sistema orientado a objeto. As classes são utilizadas para preencher o conjunto de termos do sistema que está em desenvolvimento. Com representação do diagrama de classe não é preciso uma linguagem especifica de programação para dar ênfase as partes mais importantes de atributos e métodos (BOOCH Grady; RUMBAUGH James ; JACOBSON Uvan. 2005, p.49 – p.51). A figura 5 descreve todas as classes e todos os atributos do sistema desenvolvido, pelos requisitos e casos de uso anteriormente descritos. Utilizou a ferramenta Visual Studio 2010 Ultimate para desenvolver o diagrama de classe. 35 Figura 5 – Diagrama de classe 36 4.4 Modelo E-R (Entidade – Relacionamento) Segundo SUMMERVILLE (2007, p.118 – p119) a técnica de modelagem de dados mais amplamente usada é a modelagem Entidade e Relacionamento, que mostra a relação dos atributos, métodos e relação entre entidades, facilitando o desenvolvimento do projeto de banco de dados. A figura 6 descreve todas as tabelas do banco de dados, seus relacionamentos e suas restrições associadas. Uma entrada representado o responsável deve ser inicialmente criada. A seguir é cadastrado o endereço e somente depois o aluno. Tal fluxo e restrições garante a integridade dos dados. O diagrama abaixo foi desenvolvido na ferramenta Embarcadero. 37 Figura 6 – Modelo ER 38 4.5 Implementação do sistema O protótipo do sistema foi desenvolvido utilizado a ferramenta Visual Studio 2010 Ultimate, a linguagem C Sharp e o framework ASP.NET MVC. O armazenamento de dados do sistema utilizou o SGDB SQL Server 2008. O relacionamento objeto relacional foi baseado no Entity Framework. A figura 7 ilustra os dados principais do responsável, permitindo alterar, deletar e visualizar detalhes do responsável. Figura 7 – Tela Responsável A figura 8 permite associar os dados de um endereço a um responsável. Pode-se alterar, deletar e visualizar detalhes do endereço. 39 Figura 8 – Tela Endereço A figura 9 ilustra o processo de cadastramento de alunos, é possível alterar, excluir e visualizar detalhes do aluno. Figura 9 – Tela Aluno 40 A figura 10 ilustra o processo de matrícula de um aluno. É possível alterar, excluir e visualizar detalhes da matrícula. Figura 10 – Matrícula do aluno A figura 11 ilustra o histórico financeiro do aluno. Pode-se alterar, excluir e visualizar detalhes das mensalidades pagas a escola. Figura 11 – Mensalidade do aluno 41 A figura 12 ilustra os dados das turmas de acordo com o ano que nasceu. Pode-se alterar, excluir e visualizar detalhes das turmas. Figura 12 – Turmas do aluno A figura 13 ilustra os dados dos produtos esportivos comercializados pela escola de Futebol. Pode-se alterar, excluir e visualizar detalhes dos produtos. Figura 13 – Produto 42 A figura 14 ilustra todos os detalhes de um pedido de produtos esportivos. É possível alterar, excluir e visualizar os detalhes dos pedidos. Figura 14 – Pedido A figura 15 ilustra os detalhes dos itens de pedido. Figura 15 – Item do pedido 43 5 CONCLUSÃO Inicialmente foi observada a necessidade de desenvolver um software de automação para uma escola de futebol. Após uma reunião com os stakeholders foram recolhidos os requisitos para desenvolver o sistema. O processo de modelagem do sistema envolveu a elaboração de casos de uso, diagrama de classes e modelo de banco de dados. A implementação do sistema foi feita com ASP.NET MVC e a persistência com entity framework. O teste de caixa preta comprovou que as principais funcionalidades apresentaram os resultados esperados. Espera-se, portanto que o sistema possa ser implementado de maneira satisfatória no estabelecimento comercial responsável. 5.1 Trabalhos Futuros O protótipo do sistema desenvolvido pode ser melhorado de diversas maneiras. Para melhorar a segurança de acesso deverá ser desenvolvido um sistema de login e implementar segurança de perfis de usuários. O controle de informações de alunos também poderá ser melhorado incluindo as habilidades de cada aluno, informações sobre treinos, etc. O controle de presenças também pode ser criado utilizando um leitor biométrico como forma de autenticação. Com a implementação do sistema em outras escolas, os responsáveis poderão contribuir com novas sugestões para ampliação e melhoria do sistema desenvolvido. 44 6 REFEÊNCIAS BOOCH Grady; RUMBAUGH James ; JACOBSON Uvan. UML Guia do usuário. Rio de Janeiro: Elsevier Editora Ltda, 2006. HOTEK Mike. SQL Server 2008 Passo a Passo, 1ed. Porto Alegre: Bookman, 2010. MICROSOFT, Entity Framework (SQL Server Compact). Disponível em: <http://technet.microsoft.com/pt-br/library/cc835494.aspx> Acessado em: 2 de maio de 2012. MICROSOFT, Introdução ao Visual Studio. Disponível em: <http://msdn.microsoft.com/ptbr/library/fx6bk1f4.aspx> . Acessado em: 04 de Junho 2012. MICROSOFT, Visual Studio 2010 Ultimate. Disponível em: <http://www.microsoft.com/visualstudio/pt-br/products/2010-editions/ultimate> .Acessado em: 30 de maio de 2012. OPENSORCE. In: Dextra: O que é Open Source. Disponível em <http://www.dextra.com.br/empresa/opensource/os-introducao.htm>. Acessado em: 7 de março 2012. PALERMO Jeffrey; SCHEIRMAN Ben; BOGARD Jimmy. ASP.NET MVC Em Ação, 1ed. São Paulo: Novatec, 2010. PDF, In Adobe: História do PDF Adobe. Disponível em: <http://www.adobe.com/br/products/acrobat/adobepdf.html>. Acessado em 1 de maio de 2012. QUICKSCHOOLS, The World's First Fully Online School Management System. Disponível em: <http://www.quickschools.com>. Acessado em: 1 de maio de 2012. REDAÇÃO OFICINA DA NET, C# csharp o que é está linguagem?. Disponível em: <http://www.oficinadanet.com.br/artigo/526/c_sharp_csharp_o_que_e_esta_linguagem>. Acessado em: 30 de maio de 2012. 45 ROBINSON, Simon; SCOTT K. Allen, CORNES, Ollie ; GLYNN, Jay; GREENVOSS, Zach; HARVEY, Burton; NAGEL Christian; SKYNNER Morgan; WATSON Karli. Professional C# (Programmer to Programmer), 1ed. São Paulo: Pearson Education do Brasil, 2004. SCHOOLTOOL. SchoolTool: the Global Student Information System. Disponível em: <http://book.schooltool.org >. Acessado em: 1 de maio de 2012. SHEPHERD GEORGE. Microsoft ASP.NET 3.5 passo a passo, 1ed. Porto Alegre: Bookman, 2009. SOMMERVILLE, I. Engenharia de software, 8 ed. São Paulo: Pearson Addison-Wesley, 2007.