Baixe o app para aproveitar ainda mais
Prévia do material em texto
RESUMO O objetivo desse projeto consiste no desenvolvimento de uma aplicação web utilizando a framework ASP.NET para gerenciamento de tarefas acadêmicas. No conteúdo do trabalho foram utilizados os conhecimentos adquiridos nas disciplinas de Gerenciamento de Projetos de Software, Desenvolvimento de Software para Internet e Tópicos Especiais de Programação Orientada a Objetos. No conteúdo do mesmo foram abordadas às questões de escopo do projeto, elaboração da Estrutura Analítica de Projeto (EAP), desenvolvimento do cronograma, apresentação do plano de risco e definição dos padrões de qualidade da aplicação web. Em todos os tópicos estão demonstradas as particularidades de um desenvolvimento da aplicação web e exemplos das principais atividades que devem ser seguidas para ter um bom gerenciamento de projeto, como prazos, métodos de desenvolvimento, testes e a entrega do produto final atingindo todos os requisitos com qualidade. Foi desenvolvido um protótipo de telas para ter como base no desenvolvimento do sistema. Com esse protótipo foi possível elaborar os diagramas de classe, diagrama de sequência e diagrama de atividades. Seguindo os diagramas o banco de dados Access foi criado seguindo um padrão de nomenclatura para melhor entendimento no desenvolvimento da codificação. Baseado nos diagramas foi desenvolvido o sistema usando todo o conhecimento adquirido nas disciplinas do bimestre entre outras disciplinas e as pesquisas feitas na internet. No desenvolvimento do sistema eram feitos os testes necessários para verificar se o código escrito está funcionando e realizando o que realmente foi destinado a fazer, mas após o término do sistema foi realizado vários testes de todas as funcionalidades para identificar os possíveis erros ou falta de requisitos no sistema, chegando ao produto final e atendendo as necessidades proposta no projeto. Palavras chave: Tarefas Acadêmicas, Protótipo, ASP.NET. ABSTRACT The purpose of this project is to develop a web application using the ASP.NET framework for managing academic tasks. In the content of the work was used the knowledge acquired in the disciplines of Software Project Management, Software Development for Internet and Special Topics of Object-Oriented Programming. The content of the project was addressed to project scope issues, elaboration of the Project Analytical Framework (EAP), development of the schedule, presentation of the risk plan and definition of the quality standards of the web application. The topics of a web application development and examples of the main activities that must be followed to have a good project management, such as deadlines, development methods, testing and final product delivery, meet all requirements with quality. A prototype of screens was developed to be based on the development of the system. With this prototype it was possible to elaborate the class diagrams, sequence diagram and activity diagram. Following the diagrams, the Access database was created following a naming pattern for a better understanding of coding development. Based on the diagrams, the system was developed using all the knowledge acquired in the subjects of the bimester among other disciplines and the research done on the internet. In the development of the system the necessary tests were made to verify if the written code is working and doing what it was really intended to do, but after the system was finished several tests of all the functionalities were made to identify the possible errors or lack of requirements in the system, reaching the final product and meeting the needs proposed in the project. Keywords: Academic Tasks, Prototype, ASP.NET. SUMÁRIO 1. INTRODUÇÃO ............................................................................................... 7 2. PLANEJAMENTO DE PROJETO .................................................................. 8 2.1. Cenário Atual .................................................................................................. 9 2.1.1. Atividades de Gerenciamento do Projeto: ................................... 9 2.1.2. Sistema Web em ASP.NET: ........................................................ 9 3. Escolhas Tecnológicas .............................................................................. 10 4. DESCREVENDO O ESCOPO DO PROJETO ............................................. 12 4.1. Definição do Escopo ..................................................................................... 12 4.2. Estrutura Analítica do Projeto (EAP) ............................................................. 13 4.1. Protótipo do sistema ..................................................................................... 14 5. DESENVOLVENDO O CRONOGRAMA ...................................................... 16 6. PLANO DE RISCO ....................................................................................... 18 6.1. Gerenciamento de riscos .............................................................................. 18 6.2. Identificando os riscos .................................................................................. 19 6.3. Plano de respostas aos riscos ...................................................................... 19 7. PADRÕES DE QUALIDADE ........................................................................ 21 7.1. Ações de controle de qualidade ................................................................... 22 8. DESENVOLVIMENTO DA PARTE PRÁTICA DO SISTEMA ...................... 24 8.1. Explicando a Codificação do Sistema ........................................................... 24 8.2. Explicando as Telas do Sistema ................................................................... 25 CONCLUSÃO ........................................................................................................... 30 REFERÊNCIAS BIBLIOGRÁFICAS ......................................................................... 31 ANEXO ..................................................................................................................... 32 LISTA DE FIGURAS Figura 1 - Plataforma ASP.NET .............................................................................. 11 Figura 2 – Estrutura Analítica de Projeto (EAP) ................................................... 14 Figura 3 – Protótipo do Sistema ............................................................................ 15 Figura 4 – Solution Explore .................................................................................... 24 Figura 5 – Tela de Login ......................................................................................... 25 Figura 6 – Tela Principlal ........................................................................................ 26 Figura 7 – Barra de Botões ..................................................................................... 26 Figura 8 – Lista de Tarefas .................................................................................... 27 Figura 9 – Tela de Cadastro .................................................................................... 27 Figura 10 – Tela de Edição ..................................................................................... 28 Figura 11 – Tela de Exclusão ................................................................................. 29 Figura 12 – Tarefa a Entregar ................................................................................. 29 TABELA Tabela 1 – Cronograma ...........................................................................................16 ANEXO Figura 13 – Diagrama de Caso de Uso .................................................................. 32 Figura 14 – Diagrama de Classes .......................................................................... 32 7 1. INTRODUÇÃO O objetivo desse trabalho é apresentar o conhecimento adquirido com as disciplinas: “Gerenciamento de Projetos de Software”, “Desenvolvimento de Software para Internet” e “Tópicos Especiais de Programação Orientada a Objetos”, este projeto está elaborado de acordo com o tema proposto: “O desenvolvimento da aplicação em ASP.NET”, que tem como cenário gerenciamento das tarefas acadêmicas. O início do desenvolvimento do trabalho foi a elaboração do planejamento do projeto usando os conhecimentos adquiridos na disciplina Gerenciamento de Projeto de Software. Esse planejamento foi analisar toda a parte teoria do projeto, documentando todo o processo antes do desenvolvimento do sistema e procurando evitar todo o tipo de falha no desenvolvimento prático. Analisando os riscos para prevenir eventuais problemas do seu projeto evitando que tenha surpresas durante a execução do projeto. Foi definido o escopo do projeto, pois através dele é possível fazer uma descrição inicial de como será feito o projeto, demonstrando as funcionalidades esperadas e todas as partes que deve ou não fazer parte do escopo. Através do desenvolvimento de um projeto, é necessário seguir as regras que foram apresentadas e aprovadas pelo cliente, sempre deixando o mesmo informado de tudo o que for feito no projeto através de meios de comunicações adequados. Foi utilizar a arquitetura WebForm com MVC (Model, View, Controller) e a linguagem utilizada foi ASP.NET que foi um dos requisitos proposto para a elaboração do sistema. Está destacado alguns pontos importantes do desenvolvimento da aplicação web, que demonstra as noções básicas de processos de como o sistema funciona, como o protótipo, telas, controles de navegação, tudo isso feito através de um bom planejamento. Com o gerenciamento dessas informações, foi possível desenvolver o sistema de gestão acadêmica, atingindo o objetivo proposto para o trabalho. 8 2. PLANEJAMENTO DE PROJETO Todo projeto é dividido em fases, por menor que seja, um projeto possui uma fase de início, uma fase intermediária e uma fase final. O número de fases depende da dificuldade de fazer o projeto e de sua área de aplicação. Através da disciplina Gerenciamento de Projeto de Software, aprendemos que um dos pontos deste trabalho, desde o início do levantamento de requisitos, foi avaliar a elaboração do proposto sistema de gerenciamento de tarefas acadêmicas de forma que se torne algo de fácil manutenção e expansão futuras. Existe a preocupação com a continuidade do projeto, tornando possível com o passar do tempo, o aumento da produtividade do sistema e, o mais importante, auxiliando o cliente a se tornar mais produtivo. Conforme estudado nessa disciplina, é possível definir o sucesso ou fracasso de um projeto. Diferente das atividades rotineiras que são permanentes e repetitivas, um projeto é um trabalho único com início e fim, sendo acompanhado e desenvolvido por pessoas para a criação de um novo produto ou serviço. Na disciplina de Desenvolvimento de Software para Internet é possível ter uma visão integrada da arquitetura web, programação de páginas e será feito uma apresentação sobre os componentes de desenvolvimento de aplicações para web utilizando HTML (Hypertext Markup Language), logo após serão introduzidos Java Script e CSS. Integrando essas linguagens, será possível desenvolver páginas que permitem layouts precisos, ações de páginas que tornam uma boa apresentação e respostas que facilitam a identificação de toda a ação tomada pelo usuário no site. Será usado a arquitetura WebForm com MVC (Model, View, Controller), que permite ao desenvolvedor trabalhar de maneira didática a composição das camadas, dessa forma os códigos ficam padronizados. Conforme foi estudado na disciplina Tópicos Especiais de Programação Orientada a Objetos, é possível conhecer o paradigma que é voltado para a segurança e reaproveitamento de códigos, o que é muito importante no desenvolvimento de um projeto. A Programação Orientada a Objetos (POO) é um padrão de desenvolvimento que é seguido por muitas linguagens, como C#, Java e PHP. 9 2.1. Cenário Atual Esse projeto que está dividido em duas partes, uma teórica e outra prática. A parte prática deverá desenvolver uma aplicação web em ASP.NET para o gerenciamento das tarefas acadêmicas (trabalhos, provas, atividades complementares, DP, etc.). O desenvolvimento da aplicação em ASP.NET deverá ser gerenciado desde a definição do escopo até a entrega deste trabalho, que será a parte teórica e deverá conter: 2.1.1. Atividades de Gerenciamento do Projeto: • Descrever o escopo do projeto; • Elaborar a EAP; • Desenvolver o cronograma; • Apresentar o plano de risco; • Definir os padrões de qualidade esperados. 2.1.2. Sistema Web em ASP.NET: • Permitir o cadastro das tarefas acadêmicas (com opções para excluir e alterar cada tarefa); • Data limite para realização de cada tarefa; • Alerta (em tela) quando atingir a data de entrega da tarefa; • Utilizar banco de dados Microsoft Access. Através dos conhecimentos adquiridos nas disciplinas Gerenciamento de Projeto de Software, Desenvolvimento de Software para Internet e Tópicos Especiais de Programação Orientada a Objetos, será desenvolvido a parte prática e a teórica com a intenção de construir um sistema acadêmico com o objetivo principal de substituir algumas operações manuais. Pensar em desenvolvimento web é ter a noção básica de diversos artefatos apresentados, tais como: IP, arquitetura e seus conhecimentos de desenvolvimento, como Javascript e CSS. Um grande passo para a evolução dos sites atuais foi a disseminação de protótipos dentro do cenário mundial de desenvolvimento. Conceitos de cores, telas, controles e navegação são oriundos de um planejamento, mas principalmente de uma excelente análise efetuada. (Marinho, 2015). 10 3. ESCOLHAS TECNOLÓGICAS Escolheu-se a Análise Orientada a Objetos, por ser uma metodologia amplamente utilizada e de fácil compreensão e manutenção. Além disso, uma das maiores vantagens da orientação a objetos é a reutilização do código, possibilitada em sua maior parte graças ao recurso de herança de classes, onde classes específicas podem se aproveitar de recursos de classes mais genéricas, evitando repetições desnecessárias de código. Como o sistema proposto é para ser desenvolvido em ASP.NET, que é uma plataforma web que fornece vários serviços necessários para desenvolver aplicativos para web, foi escolhido a utilização do Visual Studio 2015 na criação do sistema de gerenciamento de tarefas acadêmicas, onde é utilizado as tecnologias do .NET Framework se tornando muito simples o desenvolvimento. Entretanto, muitas vezes nem se sabe o que todos esses elementos nos oferecem. A linguagem utilizada para o desenvolvimento foi o C#, é de fácil utilização para orientação a objetos e tem como principal foco o desenvolvimento para Web e dispositivos móveis. Além de ser uma linguagem robusta para gerenciar a memória automaticamente, o C# possui algumas vantagens como: mecanismo único de tratamento de erros, verificação de todas as conversões entre tipos de dados, segurança contra overflow (estouro de tamanho de variáveis, tabelas, arrays, etc.), pois sempre valida qualquer atributo de valor, impossibilidade de ambiguidade e facilidade de documentaçãodo código. Tudo isso evita falhas de codificação, execução e segurança, além de tornar o desenvolvimento mais produtivo. A plataforma .NET é formada por uma série de componentes que, juntos permitem a criação de todos os tipos de aplicações em todos os tipos de sistemas operacionais e utilizam todos os tipos de linguagens de programação. Este tipo de linguagem nos ajudará a construir o sistema de gerenciamento acadêmico com mais segurança e perfeição. Logo abaixo será demonstrado uma plataforma ASP.NET: 11 Figura 1 - Plataforma ASP.NET 12 4. DESCREVENDO O ESCOPO DO PROJETO Depois de ter feito o processo de levantamento de requisitos e realizado as escolhas tecnológicas, iremos direcionar ao foco principal do trabalho, que é o desenvolvimento de uma aplicação web utilizando a framework ASP.NET para o Sistema para Gerenciar Tarefas Acadêmicas. Será feita a elaboração da Estrutura Analítica de Projeto (EAP), o desenvolvimento do cronograma, apresentação do plano de risco e os padrões de qualidade da aplicação web. O escopo foi elaborado como Central de Gestão Acadêmica para manter o padrão de qualidade oferecido à comunidade acadêmica. 4.1. Definição do Escopo Escopo é o trabalho que deve ser feito para liberar o produto com as funcionalidades esperadas além de confirmar as funções que devem ou não fazer parte do escopo. Uma definição de escopo mal feito resultará em um projeto malsucedido. O escopo juntamente com a EAP, será a base para os outros processos das outras áreas de conhecimento. Para que um escopo seja bem elaborado é necessário obter declarações dos componentes detalhados que são: descrição detalhada do escopo, limites do projeto, entregas do escopo, premissas, restrições, marcos de projeto, exclusão do escopo, objetivo do escopo, acompanhamento do projeto, organização da equipe, pontos de controle em relação a prazos, riscos iniciais identificados e as limitações financeiras. Terminada a declaração de escopo, ela deve ser apresentada ao cliente para que seja validado. Logo a seguir a linha de base do escopo, que é a compreensão do escopo entre a equipe do projeto e cliente, deve decidir o que será incluído ou não dentro do projeto, obter as orientações básicas para a realização do projeto e manter referências sobre qualquer mudança que possa acontecer no projeto. Para o projeto do sistema, ficaram definidos os seguintes pontos chave: • O sistema tem que possibilitar o CRUD das tarefas possibilitado o gerenciamento das mesmas; • Mostra um aleta nas telas quando houver alguma tarefa que está vencendo a data de entrega. • Deve ser bem elaborado e conter um código coeso e de fácil manutenção e expansão. 13 4.2. Estrutura Analítica do Projeto (EAP) A EAP melhora a comunicação entre as equipes, ajuda na identificação dos riscos e contribui para o entendimento das etapas e do andamento do projeto, ela também fornece uma visão estruturada das entregas do projeto e é um ótimo instrumento para integrar todas as áreas. Todos os documentos gerados no projeto devem referenciar ao código da EAP, normalmente representada de forma gráfica para facilitar o entendimento e a visualização. Dividindo as partes podemos entender que: • Estrutura: é algo arrumado em um padrão definido na organização; • Analítica: é dividida em partes; • Projeto: é o esforço para se alcançar um resultado. Decidimos incluir no projeto a EAP, pois foi necessário subdividir o trabalho em pequenas partes para facilitar o gerenciamento, assim cada parte será dividida obtendo detalhes específicos sobre o projeto. A EAP facilitou a elaboração do cronograma, as estimativas de custos além de mostrar uma visão estruturada e gráfica de todo o escopo do projeto e seus controles de planejamento contidos nos componentes de nível mais baixo, os chamados pacotes de trabalho, que são os itens no mais baixo nível da estrutura analítica do projeto que contem e representam: • Um produto de entrega ao usuário; • Um único responsável pela entrega; • Os recursos necessários para a execução; • Uma duração máxima de 32 dias o projeto todo; • Uma duração máxima de 18 horas por pacote; • Um custo pré-estabelecido; • Critério de aceitação do trabalho. Abaixo segue a EAP do nosso projeto de Gerenciamento de Tarefas Acadêmicas por fase do projeto seguindo o modelo em cascata: 14 Figura 2 - Estrutura Analítica de Projeto (EAP) Fonte: Elaborado pelo autor 4.1. Protótipo do sistema O protótipo faz parte da fase de projeto, ele traz uma ideia de como o sistema ficará facilitando o desenvolvimento na prática. O protótipo mostra como o sistema vai ficar e como o fluxo de tela vão ocorrer, conforme ilustrado na figura 3. Nesse caso está sendo representado somente o fluxo de CRUD das tarefas, mas todas CRUDs das outras funcionalidades vão funcionar da mesma forma. Ao executar do sistema, vai abrir uma janela de login exigindo que o ator faça o login para ter acesso no sistema. Feito o login é aberto uma página principal com uma barra superior e vários botões vão aparecer de acordo com o nível de permissão. Seguindo o protótipo, ao clicar no botão tarefas, irá aparecer vários botões com cada tipo de tarefa. Ao selecionar “Tarefas”, o sistema abre uma tela onde pode conter uma lista de tarefas dentro daquele bimestre ou semestre e na frente de cada tarefa terá o botão de “Editar” e “Excluir”, que serve para o usurário selecionar uma dessas tarefas para fazer alteração ou exclusão da mesma. 15 Figura 3 - Protótipo do Sistema Fonte: Elaborado pelo autor Em cada parte do sistema as telas vão ter o mesmo fluxo do que foi apresentado na figura 3, mas cada uma das partes tem suas particularidades. 16 5. DESENVOLVENDO O CRONOGRAMA O objetivo é analisar as sequencias das atividades, suas durações, recursos necessários e restrições visando criar o cronograma até chegar ao final do projeto. O gerente de projeto deve levar em consideração as limitações de recursos financeiros e humanos disponíveis no projeto. Os seguintes tópicos fazem parte deste cronograma: • Pontos de controle (Milestones), pontos de verificação utilizados dentro do cronograma para controlar o andamento das entregas das atividades; • Critical Path Method (CPM) é um método utilizando o cronograma com data de início e fim com base na dependência termino-início; • Folga livre ou Free Slack é o tempo livre que se pode atrasar dentro de uma atividade sem atrasar o início da próxima; • Folga total ou Total slack que é o tempo livre de uma atividade que pode se atrasar sem atrasar o prazo final do projeto; • Caminho crítico é o processo com mais longa duração de todo o plano de atividades do projeto onde a folga é igual a zero, ou seja, as atividades se iniciam assim que a anterior terminar. O cronograma foi elaborado tendo em vista o tempo necessário para análise, validação, implementação, testes e implantação do sistema de software. Segue abaixo o cronograma do projeto: Tabela 1 - Cronograma Ordem Atividade Duração Dependência 1 Análise dos Requisitos 2 dias 1TI 2 Definição do Escopo 3 dias 1TI 3 Mapear Funcionalidades e Classes 5 dias 2TI 4 Codificação 10 dias 3TI 5 Testes Unitários 10 dias 3TI 6 Validação de Entregas 5 dias 3TI 7 Implantação do Software 3 dias 5TI Fonte: Elabora pelo autor Depois de várias reuniões percebemos que o desenvolvimento de um cronograma de projeto aceitável foi frequentemente um processo repetitivo. Determinado as datas planejadas de início e de términopara as atividades e marcos do projeto. Foram feitas várias revisões e manutenções para que o cronograma continuasse sendo executado durante todo o projeto, à medida que o trabalho foi 17 progredindo, o plano de gerenciamento do projeto teve mudanças e a natureza dos eventos de riscos foram crescendo cada vez mais. 18 6. PLANO DE RISCO Quando começa um projeto ou uma atividade em equipe sempre existe a chance de um problema se concretizar e gerar um efeito negativo no andamento do projeto. Esse efeito pode ser catastrófico e é por isso que devemos procurar sempre uma abordagem proativa para diminuir o risco. Na gestão de projetos é prioridade a análise de riscos, pois evita danos ao projeto, aumenta a produtividade e diminui o retrabalho. 6.1. Gerenciamento de riscos No gerenciamento de riscos foi possível identificar, analisar e responder aos riscos, aumentando os resultados positivos e diminuindo os impactos negativos. Com isso obtivemos ações preventivas e não ações reativas que são feitas somente quando o problema já aconteceu. Por ser um projeto com vários índices de riscos um dos membros da equipe ficou responsável por gerenciar o projeto, para observar os componentes que são: o evento que pode desencadear um risco, a sua probabilidade de ocorrer, a gravidade do impacto ou suas consequências e a análise do seu nível de controle. O nível de controle de risco e o envolvimento do cliente e da administração, falta de comprometimento da alta administração, envolvimento inadequado dos envolvidos não podem ser controlados pelo gerente de projetos. De fato, a equipe desse projeto é formada por 6 pessoas, todos estavam envolvidos no projeto, mas nem todos estavam comprometidos. Isso se tornou um risco muito grande para o desenvolvimento, pois sem o comprometimento de todos o projeto pode atrasar muito na entrega, mas foi possível gerenciar a situação e trabalhar dentro do prazo estipulado no cronograma. Dentro do escopo e requisitos, houve falta de entendimento dos requisitos, gerenciamento inadequado das mudanças de escopo, mas foram controlados pelo gerente de projeto. No início execução do projeto foi usado recursos inadequados ou insuficientes, falta de metodologia, estimativas incorretas, porém foram controladas pelo gerente de projetos. 19 6.2. Identificando os riscos Na identificação dos ricos, pode-se determinar e documentar quais são os possíveis riscos dentro de um projeto que é de suma importância, e deve ser feito do início ao fim de um projeto, abordando o assunto em reuniões e quando houver mudanças no projeto. Este processo deve ser abordado pelo gerente de projeto, a equipe e o cliente. Os riscos podem ser identificados e analisados através de suas categorias, que serão classificadas dentro do projeto. Logo abaixo estão as categorias: • Riscos técnicos: são riscos relacionados as tecnologias empregadas e o conhecimento técnico da equipe; • Riscos organizacionais: são aqueles relacionados à estrutura da empresa que está desenvolvendo o projeto; • Riscos externos: são gerados por fatores externos; • Riscos de custos: riscos que podem afetar diretamente os custos estimados incialmente; • Riscos de cronograma: riscos que afetam o cronograma do projeto. Foi usado o guia PMBOK que mostra algumas técnicas que podem ser utilizadas para auxiliar na identificação destes riscos, que são: Brainstorming, entrevistas, análise SWOT, análise das premissas, análise de causa e efeito. 6.3. Plano de respostas aos riscos Com os riscos já identificados, priorizados e analisados, incluímos o plano de respostas aos riscos que deve criar, determinar as opções e ações para diminuir o impacto e como tratar tais riscos. Nessa fase, o plano de respostas deve ser elaborado junto com a equipe do projeto e os riscos devem ter uma ação preventiva. Através de estratégias serão tomadas ações para que o risco não ocorra e contingências que são ações tomadas caso o risco ocorra. Por motivo de prevenção, foi resolvido atribuir um responsável para cada um dos riscos com liberdade de ação para que tenha uma resposta rápida e eficiente. Existem quatro ações importantes para cada risco no sentido de tratar seu impacto no projeto, que são: • Evitar o risco: modificar o plano do projeto para eliminar completamente o risco, protegendo os objetivos do projeto dos impactos deste risco eliminado. 20 • Transferir o risco: transferir o risco para um terceiro, transferindo os impactos e a responsabilidade, mesmo assim o risco não é eliminado, quase sempre envolve pagamento de prêmios a parte que está assumindo o risco; • Mitigar o risco: diminuir a probabilidade de um risco até um nível aceitável; • Aceitar o risco: quando não é possível inserir nenhuma das outras estratégias, e a equipe do projeto decide correr o risco. Percebemos que é muito importante que nenhum risco fique sem estratégia de resposta, e o mais importante, que os riscos sejam comentados durante as reuniões de projeto para se ter um bom acompanhamento e monitoramento da situação, se estivermos preparados para um eventual risco, conseguiremos evitar sérios problemas durante o projeto. 21 7. PADRÕES DE QUALIDADE O gerente de projetos deve se preocupar com algumas atividades para garantir um processo com qualidade, levando em consideração o que for definido em conjunto com a equipe para que eles se comprometam a incluir no projeto o que foi sugerido. Ele também executa o planejamento de cada etapa e define as metas e os objetivos a serem alcançados, avaliando qual a melhor metodologia para o perfil do projeto. Conforme as recomendações sobre a qualidade de software, este sistema de software para gerenciamento de atividades acadêmicas foi desenvolvido atendendo às normas ISO9126 e 25010, quanto a funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade. Logo abaixo foi feita uma breve descrição de como os padrões de qualidade foram determinados para o sistema de software mencionado neste projeto: • Funcionalidade: atendam às necessidades do usuário com atenção ao conjunto de funcionalidades, à precisão das informações sobre as atividades cadastradas, à disponibilidade e acesso ao sistema de software, à segurança quanto as informações serem relacionadas ao usuário e, a padronização de disposição do layout do sistema de software conforme o ambiente virtual de aprendizagem da instituição; • Confiabilidade: com as melhores práticas para o desenvolvimento de sistemas de software, buscamos elaborar o sistema de maneira a aplicar a experiência em criar aplicativos para gerenciamento de atividades com comportamento para ajuste de possíveis falhas de forma a não impactar negativamente a utilização do sistema pelo usuário, como mensagens sobre erros, opções para recuperação de falhas e tempo hábil para realizações das ações de cadastro, consulta, alteração e exclusão de atividades; • Usabilidade: o layout do sistema foi feito para permitir aprendizado, entendimento e navegabilidade ao usuário. A estética e acessibilidade foi criada de maneira a favorecer ao usuário uma experiência confortável na utilização do aplicativo; • Eficiência: a execução do software foi realizada para atender a expectativa de tempo de resposta que não impacte a navegação e 22 utilização do aplicativo e os recursos de menus que será disponibilizado permitindo melhor acessibilidade aos componentes; • Manutenibilidade: o sistema de software será desenvolvido para permitir a manutenção preventiva e reativa, tendo como base os arquivosque acompanharão a implantação do sistema de software. Os testes funcionais que constam nesse documento, atestam que as funcionalidades determinadas pelos requisitos solicitados pelo cliente foram atendidas em suas totalidades; • Portabilidade: o desenvolvimento deste sistema de software foi baseado na plataforma desktop, porém dispositivos como tablets e smartphones poderão acessar o aplicativo por meio do Ambiente Virtual de Aprendizagem disponibilizado pela instituição de ensino, desde que o equipamento e seu sistema operacional de navegação da internet possua a funcionalidade de acessar páginas da web em formato desktop. Com todas essas atividades realizadas foi notado que o trabalho em conjunto e a comunicação entre todos do grupo melhoraram a qualidade durante o desenvolvimento do projeto, reduzindo o retrabalho e a perda de tempo. Dessa maneira o projeto ficará dentro das necessidades do cliente. 7.1. Ações de controle de qualidade Controle da qualidade são ações realizadas pela equipe do projeto como: • Revisão por partes; • Revisão no final de cada fase ou processo; • Revisão da equipe; • Revisão de documentos. Tudo isso nos deu a oportunidade de conferir o trabalho detalhadamente e nos ajudou a elaborar um projeto de alta qualidade. Atraves de pesquisas percebemos que muitos projetos são conduzidos sem que tenha sido estabelecida uma política de qualidade. O resultado disso é o descumprimento de prazos, o aumento do custo previsto, a entrega de produtos ou serviços incompletos ou com falhas, causando a insatisfação do cliente. 23 Devido a esses problemas indesejados, resolvemos implantar no projeto um controle de qualidade, porque é ele que define um processo com métodos e organização para acompanhar o andamento das atividades para que tudo saia conforme o planejado. Para que o controle de qualidade tenha resultado esperados, utilizamos como método para padronização do desenvolvimento da aplicação assim gerando qualidade no produto final o método CMMI (Capability Maturity Model Integration) que significa Modelo Integrado de Capacidade e Maturidade, é um modelo de referência que contém práticas necessárias à maturidade de processos de software. O objetivo maior, considerando o CMMI e seus diferentes conceitos, está justamente na produção de software com maior qualidade e menos propenso a erros. Seguindo todos esses passos conseguiremos produzir um plano de qualidade que define como a qualidade será gerenciada em nosso projeto e nos dará passos concreto a fim de alcançar um resultado que atenda às expectativas do cliente final. 24 8. DESENVOLVIMENTO DA PARTE PRÁTICA DO SISTEMA 8.1. Explicando a Codificação do Sistema Como mencionando anteriormente, a ferramenta utilizada para o desenvolvimento do sistema foi Visual Studio 2015, por ela ser uma ferramenta muito poderosa e ter várias formas de fazer um projeto web, foi difícil no começo acertar qual template utilizar para poder acessar o banco de dados Access. Já com o template correte escolhido o sistema foi iniciado com o template WebForm e MVC, o visual criou o projeto base para o início de toda a codificação. O sistema foi desenvolvido em 4 camadas, Visão, Controle, Modelo e Persistência. Toda parte da camada Visão fica na Solution dentro da pasta “Views”, onde está dividia em subpastas para cada modelo. Foi criado um projeto para cada uma das outras camadas que fica fora da Solution e dentro do projeto geral e o banco de dados fica na pasta App_Data, conforme ilustrado na figura 4. Figura 4 -: Solution Explore Fonte: Elaborado pelo autor 25 Seguindo os diagramas de classe, o início do desenvolvimento foi a criação do banco de dados no Access, em seguida começou o desenvolvimento da classe Pessoa, Matricula, Turma, Curso, Disciplina, Tarefa e Tipo Atividade. Cada uma delas com os relacionamentos entre si, mas houve dificuldade em trazer o relacionamento e exibir na tela. Pois cada classe é um objeto e não é possível inserir informação dentro do objeto de outro objeto. 8.2. Explicando as Telas do Sistema Seguindo o protótipo foi desenvolvido o sistema de gerenciamento de tarefas acadêmicas. Ao executar o sistema a tela de login é mostrada para o usuário inserir suas credenciais, conforme ilustrado na figura 5. Figura 5 - Tela de Login Fonte: Elaborado pelo autor Ao fazer a validação no sistema, o usuário é direcionado para a tela principal do sistema, mostrando algumas informações na tela e em toda a página é verificado se existe tarefa a ser entregue ou atrasada, essa mensagem aparece com fundo laranja para destacar e chamar a atenção do usuário, conforme ilustrado na figura 6. 26 Figura 6: Tela Principal Fonte: Elaborado pelo autor Uma barra fixa no topo da página com botões de navegação é mostrada após o login. Os botões levam para outra página ou abre um menu com alguns botões, conforme ilustrado na figura 7. Esses botões servem para acessar os registros do sistema. Independente em qual tela o usuário estiver poderá ir para outro local do sistema apenas escolhendo um dos botões sem precisar voltar a tela principal. Figura 7: Barra de Botões Fonte: Elaborado pelo auto Como o objetivo do projeto é o gerenciamento de tarefas, então vamos explicar todo o sistema usando as telas de gerenciamento de tarefas. Ao clica no botão “Gestão Acadêmica” é mostrado os botões de acessar a parte acadêmica do sistema, conforme ilustrado na figura 6. Selecionando o botão “Tarefas” o sistema direciona para a tela principal de tarefas, filtrado todas as tarefas na tela e na frente de cada registro é inserido um botão de “Edição” e outro de 27 “Exclusão” com cores diferentes. Em caso existir alguma tarefa a ser entregue, é mostrado uma mensagem, conforme ilustrado na figura 8. Figura 8 - Lista de Tarefas Fonte: Elaborado pelo auto Selecionando o botão “Cadastrar”, o sistema abre a tela de cadastro trazendo os campos necessários a ser preenchidos, conforme ilustrado na figura 9. Figura 9 - Tela de Cadastro Fonte: Elaborado pelo auto O campo “Descrição” é para inserir qual o título da tarefa a ser feito, em seguida tem um “Dropboxlist” trazendo as matrículas cadastrada no sistema para escolher de qual aluno é a tarefa. No campo seguinte tem outro “Dropboxlist” trazendo a lista de tipo de atividade para indicar qual atividade é, no campo “Nota” é para inserir a nota tirada pelo aluno, mas só será inserida após a correção, então é possível salvar sem o valor da nota e por última o campo “Data da Atividade” para inserir a data a ser 28 entregue da tarefa. Após os campos ser preenchidos e clicar no botão “Salvar” o sistema volta para a tela da lista de tarefas com a nova tarefa na lista. Na página principal das tarefas, ao escolher um registro desejado selecionando o botão “Editar”, que está representado por um lápis, o sistema abre a tela de edição que é igual a tela de cadastros com todos os dados preenchidos nos campos, e somente o campo “Código” não é possível fazer alteração. O usuário pode salvar as alterações no botão “Salvar” ou clicar do botão “Voltar” que o sistema cancela a alteração e volta para a tela da lista de tarefas, conforme ilustração da figura Figura 10 - Tela de Edição Fonte: Elaborado pelo auto Novamente partindo da tela da lista de tarefas, caso o usuário deseje excluir um registro é só pressionar o botão “Excluir” que o sistema abre a tela de exclusão com os dados preenchidos nos campos, mostrando uma mensagem se o usuário quer excluir o registro. O usuário pode excluiro registro no botão “Excluir” ou clicar do botão “Voltar” que o sistema cancela a exclusão e volta para a tela da lista de tarefas, conforme ilustração da figura 11. 29 Figura 11 - Tela de Exclusão Fonte: Elaborado pelo auto Quando há alguma tarefa vencendo ou vencida, a mensagem e exibida logo abaixo da barra de botões de navegação seguida de um botão. Pressionando esse botão o sistema abre uma tela listando todas as tarefas a ser entregue, conforme ilustrado na figura 12. Figura 12 – Tarefa a Entregar Fonte: Elaborado pelo auto As outras partes do sistema o CRUD funciona da mesma forma que as de tarefas, mas cada uma com os seus dados específicos e particularidade. Não será explicado nesse projeto, pois não é o foco mostrar todas as funcionalidades do sistema e sim focar no gerenciamento das tarefas. Mas o sistema está funcionando em todas as partes corretamente. 30 CONCLUSÃO Para tentar superar as expectativas do cliente, foram usados todos os conhecimentos adquiridos nas disciplinas para atingir o objetivo do trabalho. Os conhecimentos foram cruciais para o desenvolvimento do software para gerenciamento de atividades acadêmicas e foi baseado nas experiências e estudos das melhores práticas referentes a qualidade em desenvolvimento de software. Usando todo conhecimento foi elaborado o planejamento no software seguindo as boas práticas de desenvolvimento, analisando o cenário do projeto, estudando cuidadosamente os requisitos, montando o cronograma, criando o protótipo do sistema e criando os diagramas. Já na parte prática houve várias dificuldades na codificação por parte de formatação de tipos de variáveis para outro tipo. Apesar das linguagens ser bem parecida, mas cada uma tem suas particularidades na formatação de variáveis, muitos exemplos clarearam bem. Por esse fato foi necessário fazer muita pesquisa sobre o assunto para chegar a codificação correta, por outro lado as pesquisas trouxeram maior conhecimento na linguagem que valeu apena ter pesquisado muito. E durante toda a codificação foi feito os testes necessários para encontrar possíveis erros e falhas no sistema. Seguindo os testes funcionais contidos em documentos, os testes foram realizados após a finalização do desenvolvimento do sistema para verificar todas as validações e o aceite de tudo o que foi possível entregar por parte do cliente, segundo os requisitos conseguidos pelo cliente que foram a base para a elaboração do escopo deste projeto. Com base neste estudo, conclui-se que as escolhas tecnológicas foram satisfatórias e a base do sistema pôde ser elaborada, podendo o mesmo ser expandido futuramente de acordo com as necessidades da instituição. 31 REFERÊNCIAS BIBLIOGRÁFICAS DUARTE, Jefferson. Estrutura Analítica Do Projeto – Como se Tornar Um Expert em EAP. Disponível <https://www.gp4us.com.br/estrutura-analitica-do- projeto/> Acesso em 22/10/2018. FERREIRA, Pablo Coelho. EAP - Estrutura Analítica de Projetos Disponível <https://www.youtube.com/watch?v=Cpffygavkx4> Acesso em 22/10/2018 GUNJI, José Cassiano Grassi. Tópicos Especiais de Programação Orientada a Objetos. São Paulo, Editora Sol, 2015. MARINHO, Salatiel Luz. Desenvolvimentos de Software para Internet. São Paulo, Editora Sol, 2015. MICROSOFT, ASP.NET e Visual Studio para Web, 2016. Disponível em <https://msdn.microsoft.com/pt-br/library/dd566231.aspx>. Acesso em 15/10/2018. Wikipedia, ASP.NET, 2016. Disponível em <https://pt.wikipedia.org/wiki/ASP.NET>. Acesso em 15/10/2018. MOLINARI, Leonardo. Testes De Software: Produzindo Sistemas Melhores e Mais Confiáveis. Informatizar Para Que? Portal Bonde, 2005. Disponível em: <http://www.bonde.com.br/colunistas/colunistasd.php?id_artigo=1742>. Acesso em: 27/10/2018. ORLANDINI, Leandro. Introdução ao C# 2.0. Microsoft Portugal, 2005. Disponível em: <http://www.microsoft.com/portugal/techdays/2005/conteudostematicos/ferramdesen v.mspx> Acesso em: 29/10/2018. RIBEIRO, André Luiz. Gerenciamento de Projetos. São Paulo, Editora Sol, 2015. 32 ANEXO Figura 13 -: Diagrama de Caso de Uso Fonte: Elaborado pelo autor Figura 14 -: Diagrama de Classes Fonte: Elaborado pelo autor
Compartilhar