Buscar

PIM IV - Sistema de Controle de Notas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 16 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIP INTERATIVA
Projeto Integrado Multidisciplinar – PIM IV
Cursos Superiores de Tecnologia
Desenvolvimento de Sistema em Linguagem C
Sistema de Gerenciamento de Notas
UNIP INTERATIVA
2016
UNIP INTERATIVA
Projeto Integrado Multidisciplinar – PIM III
Cursos Superiores de Tecnologia
Desenvolvimento de Sistema em Linguagem C
Sistema de Gerenciamento de Notas
	Curso:Análise e Desenvolvimento de Sistemas
UNIP INTERATIVA
2016
RESUMO
Este projeto consiste no desenvolvimento, em linguagem C, de programa para um professor do ensino fundamental cadastrar alunos, cadastrar notas, calcular média e exibir em tela uma lista de aprovados.
Após análise de requisitos optou-se pelo modelo clássico de ciclo de vida, devido a simplicidade do programa. O criou-se um fluxograma que balizou a criação da interface e aparência do programa. A codificação e compilação foi feita no programa Dev C++ no sistema operacional Windows.
Palavras-chave:Requisitos,aluno, notas, design, código, clássico.
ABSTRACT
This project consists of the development, in C language, of a program for a primary school teacher to register students, register notes, calculate average and display a list of approved.
After analysis of requirements, the classic lifecycle model was chosen due to the simplicity of the program. A flowchart was created to guide the creation of the program interface and appearance. The coding and compilation was done in the Dev C ++ program on the Windows operating system.
Key-words:Requirements, student, notes, design, code, classic .
	INTRODUÇÃO
O cliente, um professor do ensino fundamental, necessita de um sistema para gerenciar as notas de uma turma de alunos.
O projeto é o desenvolvimento de um programa com as funções solicitadas pelo cliente, para tanto foi utilizado o aprendizado nas disciplinas “Engenharia de Software I” e “Linguagem e Técnicas de Programação”.
Foi requisitado pelo cliente um programa com as funções de cadastrar alunos e notas, calcular médias e exibir relatório de desempenho. 
O programa foi escrito na linguagem C e compilado com programa DEV C++. O modelo de ciclo de vida escolhido foi o clássico, devido a simplicidade do sistema e a clareza dos requisitos.
	DESENVOLVIMENTO
	Engenharia de software
A simplicidade do projeto, bem como o fato de os requisitos estarem bem definidos me fez optar pelo modelo clássico de ciclo de vida de software. O processo foi dividido em cinco etapas.
Primeira etapa: Requerimento.
Foi solicitado pelo cliente um programa capaz de cadastrar alunos e notas, calcular médias e exibir relatório de desempenho. 
Segunda etapa: Projeto e design do sistema.
O programa, para o cumprimento das funções exigidas deve iniciar uma estrutura de dados do aluno, contendo nome, matrícula, notas de cinco provas e média ponderada das notas, sendo que a prova um tem peso um, a prova dois tem peso dois, a prova três tem peso três, a prova quatro tem peso quatro e uma prova substitutiva que deve substituir a menor nota.
O menu conterá opção de cadastrar aluno, as notas serão cadastradas no momento que for cadastrado o aluno. Uma segunda opção para exibir lista de alunos cadastrados, suas notas e médias. Como terceira opção o usuário poderá exibir a lista dos alunos aprovados, que são aqueles com nota maior ou igual a cinco. A quarta opção fechará o programa.
Após a visualização da tela inicial do programa, este deve solicitar que o usuário escolha a opção desejada através dos números de um a quatro.
No caso do usuário selecionar uma opção inválida o programa deve solicitar que escolha novamente, o programa somente deve encerrar quando o usuário escolher a opção quatro.
É desejável que durante toda a execução do programa esteja visível um cabeçalho com o nome do programa, por razões estéticas e comerciais.
Pelas mesmas razões é desejável que o console apareça em cores, para não causar estranheza ao usuário com o tradicional background preto com letras brancas.
	Fluxograma do sistema:
	
Terceira etapa: Codificação.
Etapa da construção propriamente dita do programa.
O fluxograma elaborado na etapa de projeto deu uma visão macro do funcionamento do programa.
A programa deve ser escrito em linguagem C através da ferramenta Dev C++.
Quarta etapa: Verificação.
Após a conclusão do programa deve haver um A verificação de todas as funcionalidades do programa antes de sua entrega. Será testado o comportamento do software nas diversas situações possíveis para garantir que produza resultados de acordo com os requisitos especificados pelo cliente.
Quinta etapa: Manutenção.
Após a entrega do produto ao cliente, os problemas que surgirem durante sua utilização devem ser corrigidos.
Caso seja requisitado, a implementação de novas funcionalidades também faz parte desta etapa.
	2.3	Linguagens e Técnicas de Programação
	
Utilizando-se a descrição do projeto e o fluxograma apresentado durante a segunda etapa do processo, o desenvolvimento do programa, que foi nomeado “Sistema de Gerenciamento de Turma”, capaz de cadastrar alunos e notas, exibir lista de alunos suas notas e médias e lista de aprovados.
Embora o programa a ser desenvolvido seja pequeno, ele exige a utilização de diversas funções distintas. A medida que o programa foi sendo escrito foram surgindo novas variáveis e funções necessárias para seu correto funcionamento. todas as funções serão descritas , bem como todas as variáveis e constantes.
Primeiramente relembro que o programa foi desenvolvido em linguagem C.
No cabeçalho foram incluídas as bibliotecas padrão <stdio.h> e <stdlib.h>, a <conio.h> para a utilização da função getchar() e a <locale.h> para a utilização da função que permite a utilização do acentos do português.
Foram então definidas as constantes “max”, que limita tamanho da turma em 40 posições, “lmtnome”, que limita a string de nome de aluno em 69 caracteres e “lmtmat”, que limita a string de matrícula de aluno em dez caracteres.
Como variáveis globais foram incluídas “int contador” que é iniciada em zero e é incrementada a cada novo aluno cadastrado e fornece essa informação as listas, “int Cad”, que chama a função verificar lista para auxiliar o funcionamento das funções cadastrar, exibir e exibir aprovados.
A estrutura “aluno” é criada com as seguintes variáveis: “nome”, “matricula”, “p1”, “p2”, “p3”, “p4”, “ps” e “media”. Esta estrutura é iniciada com o nome “Cadastro”.
Então são declaradas as funções, que abaixo serão detalhadas e ilustradas:
Cabeçalho: Função de cunho estético-comercial, cuja intenção é que o nome do programa esteja visível durante toda a execução e também limpar a tela ao inicio de cada função, para melhor visualização. Portanto todas as funções do programa chamam a função “cabecalho ()” ao serem iniciadas:
A limpeza da tela é feita com o comando “system (“cls”). Assim sempre que a função cabeçalho for executada primeiramente ela apaga todo o conteúdo da tela e depois executa o printf da seguinte mensagem:
Main: É a função principal do programa.
Contém logo nas primeiras linhas o comando SYSTEM (“COLOR F9) para selecionar a cor de background e letra em que todo o programa será exibido. Essa escolha foi feita devido a estranheza do usuário comum ao se deparar com o console em preto e branco, então foi implementada esta solução para dar uma melhor impressão visual ao programa
O comando SETLOCALE (LC_ALL, “PORTUGUESE”) da biblioteca <locale.h>, para permitir o uso dos acentos da língua portuguesa. Após a primeira passagem do programa pela etapa de verificações notou-se a necessidade de incluir este comando pois, evidentemente o professor escreverá os nomes corretamente acentuados.
A tela de boas-vindas, que também foi incluída por questão de estética e comercial:
Há também uma variável local “int opcao”que servirá para o funcionamento do menu.
O menu inicial solicita ao usuário que digite a opção desejada, entre 1 e 4:
Esta opção é lida através do comando scanf. Logo após foi colocado o comando “fflush(stdin);”, que limpa o buffer do teclado. Esta medida foi implantada após a etapa de verificação, pois após ser digitado uma opção inválida ocorria um erro crítico devido ai comando scanf ler a entrara errada do buffer do teclado após ser pedido que o usuário digitasse outra opção.
Esta opção funciona com uma estrutura de tomada de decisão com os comandos SWITCH, CASE e DEFAULT da seguinte maneira:
A função SWITCH foi programada a reagir ao valor lido para a variável “opcao”.
Caso o usuário digite a opção 1, o programa inicia a função cadastrar.
Caso o usuário digite a opção 2, o programa inicia a função exibir.
Caso o usuário digite a opção 3 o programa inicia a função exibir aprovados.
Caso o usuário digite a opção 4 o programa deve mostrar uma saudação e encerrar.
Caso o usuário digite qualquer outro valor o sistema apresenta uma mensagem de opção inválida o sistema entra na condição de DEFAULT que exibe uma mensagem de erro e permite ao usuário digitar outra opção:
A função contém um laço DO-WHILE que faz com que a função principal do programa seja chamada recursivamente após o término das funções de cadastrar, exibir todos e exibir aprovados.
Este laço impõe como condição para o fechamento do programa a seleção da opção 4 na tela inicial.
Após selecionar a opção 4 o programa apresenta uma mensagem de despedida e é encerrado:
Cadastrar: Após selecionar a opção 1 no menu inicial o programa permite ao usuário a inserção dos dados de um aluno, na sequencia “matricula”, “nome”, “nota da prova 1”, “nota da prova 2”, “nota da prova 3”, “nota da prova 4” e “nota da prova substitutiva”:
Logo após receber os dados digitados pelo usuário, o programa executa a função de cálculo de média, que será detalhada adiante e encerra a função cadastrar.
Após ser executada a função cadastrar o programa volta ao menu principal e para efetuar novo cadastro o usuário deve escolher a opção 1 novamente.
Exibir: Após selecionar a opção 2 no menu inicial o programa executa a função exibir. Ela começa com a declaração da variável local “i”, então utiliza os condicionais IF/ELSE para determinar qual será o resultado a ser exibido.
Se a variável global “contador” for igual a zero é exibido uma mensagem de lista vazia:
Após a impressão da mensagem é executada uma pausa pelo comando system(“pause”). Ao pressionar qualquer tecla a função exibir é encerrada e o programa retorna ao menu principal.
Senão, ou seja, “contador” diferente de zero, o programa exibe uma lista de todos os alunos cadastrados, suas notas e médias e a quantidade de alunos cadastrados:
Para a listagem de todos os alunos cadastrados o sistema utiliza a estrutura de repetição FOR.
Essa repetição utiliza a variável local “i” e a variável global “contador” da seguinte forma: Para a variável “i” iniciando em zero, para “i” menor que “contador”, incremente “i” com passo 1, repita a operação de imprimir dados do aluno.
	Esta estrutura faz com que o programa imprima sequencialmente cada um dos alunos cadastrados, porém a execução é tão rápida que pode-se pensar que a lista foi feita em uma só ação.
Após a impressão da lista é executada novamente uma pausa no sistema. Ao pressionar qualquer tecla a função exibir é encerrada e o programa retorna ao menu principal.
Exibir Aprovados: Após selecionar a opção 3 no menu inicial o programa executa a função exibir aprovados. Está função tem um funcionamento muito semelhante ao da função exibir. Ela também utiliza a uma variável local “i”, lembrando que elas são duas variáveis diferentes que apesar de dividir o mesmo nome elas não existem simultaneamente na execução do programa, e utiliza a variável global “contador”, esta é a mesma da função anterior e uma outra variável local “aprovador” que já na sua criação é declarada com valor zero, esta variável terá um funcionamento igual ao da “contador”.
Esta função também usa uma estrutura IF/ELSE aninhados que começa com a verificação do contador, se for igual a zero exibe a mesma mensagem de lista vazia. Senão utiliza o mesmo laço de FOR da função anterior para buscar entre os alunos cadastrados aqueles com média maior ou igual a cinco. Caso encontre, imprime uma lista com nome e média dos alunos nesta condição e incrementa a variável “aprovados” em um.
Na sequencia o sistema testa a se a variável aprovados é igual a zero, caso seja mostra a seguinte mensagem:
Senão ela imprime na tela a lista de aprovados e o total de alunos aprovados:
	
Após ser executada a função exibir a lista a função pausa o sistema,aopressionar qualquer tecla o programa retorna ao menu principal.
Inicia: Inicia o vetor na posição zero, esta função auxilia a função de cadastro de alunos
Verificar lista: verifica quantos cadastros foram feitos, auxilia no controle da função cadastrar e também as funções de exibir e exibir aprovados caso as listas estejam vazias. 
Esta função é usada pela variável “Cad” e pelas funções exibir e exibir lista.
Cálculo da Média: Todos alunos fazem a prova substitutiva e sua nota deve substituir a menor nota entre as provas 1 e 4, a menos que a menor nota seja a da prova substitutiva.
Para realizar esta troca foi utilizada a estrutura de desvio condicional aninhado, que realiza testes sucessivos entre as notas para determinar qual a menor.Os testes foram estruturados de maneira que a nota de maior peso fosse substituída em caso de notas iguais. Os testes se dão da seguinte maneira:
A nota 4 é comparada com as demais, caso seja a menor ela é substituída, Senão o programa testa a nota 3, caso ela seja a menor ela é substituída. Senão o programa testa a nota 2, caso ela seja a menor, ela é substituída, Senão o programa testa a nota 1, caso ela seja a menor, ela é substituída. Senão não há substituição. 
	O sistema calcula a média após o teste acima, e registra a média do aluno.
Esta função é executada dentro da função cadastrar, porém as funções exibir e exibir lista utilizam seu resultado de média em seus relatórios.
		Conclusão
O software foi desenvolvido de acordo com os requisitos estipulados pelo cliente. 
No desenvolvimento da aplicação foi utilizado o modelo clássico de ciclo de vida de software, utilizando quatro etapas para a entrega do produto: Levantamento de requisitos, projeto do sistema, codificação, verificação de funcionalidade. Incluindo uma etapa de manutenção após a entrega do produto, para eventuais correções ou melhorias que podem ser solicitadas pelo cliente.
Foram utilizadas as técnicas constantes no livro-texto de “Linguagem e Técnicas de Programação” de descrição narrativa da operação do programa e fluxograma de suas funções.
A equipe se valeu da descrição narrativa e fluxograma para escrever o código de modo a cumprir seu objetivo. A etapa de revisão retornou o programa algumas vezes para a etapa de codificação antes de aprovar a entrega do produto.
O resultado foi o “SGT – Sistema de Gerenciamento de Turmas”, software capaz de cumprir todos os requisitos estipulados pelo cliente e receber novas funções caso seja solicitado. 
	Referências
COSTA, Ivanir. Engenharia de Software. São Paulo: Editora Sol, 2014. 168p.
IVO, Olavo. Linguagens e Técnicas de Programação. São Paulo: Editora Sol, 2014. 488p.

Continue navegando