Buscar

APS 2018 completo

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

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

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ê viu 3, do total de 33 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

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

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ê viu 6, do total de 33 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

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

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ê viu 9, do total de 33 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

Prévia do material em texto

UNIVERSIDADE PAULISTA - UNIP
CURSO DE CIÊNCIA DA COMPUTAÇÃO
Atividades Práticas Supervisionadas – APS
“DESENVOLVIMENTO DE UMA APLICAÇÃO DE SISTEMA DISTRIBUÍDO PARA
DISPOSITIVO MÓVEL” 
Alexandre Vieira Winck
 
SANTOS / SP
2018
Atividades Práticas Supervisionadas – APS
 Trabalho, para a disciplina Atividades Práticas Supervisionadas – APS do 8º semestre, do curso de Ciência da Computação da Universidade Paulista.
SANTOS / SP
2018
Curso de Ciência da Computação
UNIP / Campus Santos / Período Noturno
2018
Alexandre Vieira Winck 	RA: B3645A-2 
LISTA DE FIGURAS 
Figura 01- Materiais dividido por setor	08
Figura 02 - Diagrama Caso de Uso..................................................................10
Figura 03: Tela de login....................................................................................13
Figura 04: Cadastro de usuario........................................................................13
Figura 05: Cadastro de Setor...........................................................................14
ÍNDICE 
1- Objetivo do trabalho	 01
2- Introdução 	 02
3- Fundamentos da comunicação de dados em rede (conceitos gerais):	 04
4- Plano de desenvolvimento da aplicação:	 07
5- Projeto (estrutura) do programa: 	 11
6- Apêndice:	 17
Objetivo do trabalho
O objetivo deste trabalho é apresentar um software que poderá ser utilizado para facilitar e reagrupar objetos descartados como lixos utilizados no dia a dia que possam ser reaproveitados e feitos novos materiais, assim será feito o cadastramento e separação tais materiais indicando qual material esta disponível na indústria e qual setor ele será encaminhados para reciclagem e em qual setor esta o material que já foi reciclado e está pronto para uso, tudo isso para tentar diminuir o impacto ambiental causado pelo mesmo, já que hoje são descartadas toneladas de lixo sem critério ou controle algum.
Introdução
Não é de hoje que se reutilizam materiais descartados (Lixo reciclável) para novas aplicações, mas sempre é de muito trabalho para coletores e empresas responsáveis por tais ações saberem o que e onde estão os mesmos graças as toneladas de lixo produzidos pelo pais que passam de 50 trilhões por ano, precisando assim de algo para agregar, agilizando e facilitando toda a separação e coleta. Por isso, será apresentado um software para melhoramento na distribuição e visualização de matérias recicláveis em um meio ambiente local e na sociedade próxima. O controle de lixo reciclável é muito precário em qualquer região brasileira, precisando revisar a distribuição e armazenamento de lixo que possa ser reutilizados, com o cadastramento com os diferentes tipos. 
	Segundo CARVALHO (2006). O termo reciclagem vem desde o ano de 1896 quando começaram a dar ordens para o lixo como metal, plástico, papel e vidro tinham que ser reencaminhados para a fabrica para refeitos, pois essa foi a solução da época para diminuir o impacto por todo material descartado causado pela crescente sociedade e a falta de local para armazenamento. Foi notado a excessiva do lixo em 1920 então se tornou um grande preocupação em todo pais devidos a todas as noticias e propagandas de reciclagem vindo de fora do pais.
	O Brasil viu-se com capacidade para atender a demanda de reciclagem em 1970 quando foram inventados maquinários e ferramentas apropriadas para facilitar e auxiliar na reciclagem do lixo distribuído em todo pais, isso fez com que o material pudesse retornar de forma volumosa e organizada para fabricas e indústrias responsáveis pelo mesmo, que reutilizam durante a montagem de determinados Serviços e produtos. O pais torna-se referência na reciclagem com mais de 90% de toda matéria prima realocada para as indústrias.
	A problemática é a demanda de resíduos que não param de crescer a cada dia que se passa, pois a sociedade só faz crescer e a cada medida que aumenta a quantidade de toneladas produzidas no dia tende a crescer e chegará a um ponto que poderá dobrar e se tornara quase incontrolável e não armazenável, pois todo o lixo reciclável ou não, é inapropriado a incineração causando muito mais impacto ambiental. 
Para auxiliar nesse processo já que o Brasil tornou-se referencia no processo de reciclagem, o projeto mostrará uma nova ferramenta para crescente demanda de reciclagem. Um software de cadastramento de materiais recicláveis. O Programa tem o intuito de mostrar o quão pode ser importante manter o controle de qual o material esta disponível para reciclagem e em qual setor ele esta ou será encaminhado para reutilização.
Fundamentos da comunicação de dados em rede (conceitos gerais)
	Segundo PACIEVITCH 2006. O C# é uma linguagem de programação orientada a objetos, que foi desenvolvida pela Microsoft e faz parte da plataforma .NET. Embora a linguagem C# tenha sido criada do zero, foi baseada na linguagem C++ e tem muitos elementos da linguagem Pascal e Java.
A plataforma .NET teve suas bibliotecas inicialmente feitas em Simple Managed C (SMC), porém esta limitou muito o trabalho na plataforma. No inicio de 1999 foi montada uma equipe, liderada por Anders Hejlsberg, com o objetivo de criar uma nova linguagem para a plataforma .NET. Esta linguagem seria criada para desprender a plataforma .NET de outras linguagens, pois o código das linguagens já existentes limitava o desenvolvimento da plataforma.
Esta linguagem foi desenvolvida com o nome de Cool. No momento do lançamento da plataforma .NET, mudaram o nome da linguagem para C#. A criação da linguagem C# ajudou muito no desenvolvimento do .NET, pois a plataforma não precisou se adequar a nenhum código de alguma linguagem já existente. O C# foi criado especificamente para .NET, sendo que muitas outras linguagens tem suporte á C#. Algumas destas linguagens são VB.NET, C++ e J#. Embora a linguagem C# seja considerada muito semelhante ao Java, existem também varias diferenças:
Java não tem a função de implementar propriedades nem sobrecarga de operadores, o C# tem esta função.
Java não tem a função de implementar um modo inseguro que pode ser utilizado para manipulação de ponteiros e aritmética sem checagem. Esta função é característica do C#
Java possui as exceções checadas, enquanto as exceções em C# não são checadas (assim como em C++)
Enquanto Java utiliza comentários Javadoc para gerar documentação automática, O C# Utiliza o XML.
C# tem suporte à indexadores, e o Java não.
Entre as linguagens de programação, o que mais muda é o jeito de escrever o código, e não as palavras em si. Quando uma pessoa aprende uma linguagem de programação, fica muito mais fácil aprender as demais (do .NET), pois as maiores mudanças são na sintaxe, o jeito como esta o código.
Segundo PALMEIRA 2014. Em 1991, em San Hill Road empresa filiada a Sun (da qual hoje pertence a empresa Oracle), formado pelo time de engenheiros lliderados por Patrick Naugthon, Sun Fellow e James Gosling.
O grupo estava iniciando um projeto denominado Projeto Green, que consistia na criação de tecnologias modernas de software para empresas eletrônicas de consumo. A ideia principal do Java era que os aparelhos eletrônicos se comunicassem entre si. Por exemplo, o caso de possuir um fogão, você poderia deixar assando sua comida e quando estivesse pronta iria enviar uma mensagem para o micro-ondas ligar e após isso tocar o seu despertador, sendo algo do gênero.
Com o tempo perceberam que não poderiam ficar presos aos sistemas operacionais, até porque os clientes não estavam interessados no tipo de processador que estavam utilizando, e sim na tecnologia. Portanto para o grupo criar uma versão do projeto para cada tipo de sistema era inviável, sendo assim, foi desenvolvido o sistema operacional GreenOS.
A linguagem deprogramação chamada de Oak (carvalho) foi criada pelo chefe do projeto James Gosling. A explicação da origem do nome foi que enquanto pensava numa estrutura de diretórios para a linguagem, observava pela janela um carvalho. Mas esse nome já estava registrado, então o nome acabou surgindo na cafeteria local da cidade onde tomavam café. “Java”, pois era o nome da terra de origem do café, que os programadores da equipe apreciavam nessa cafeteria, por isso que a logo do Java é um café.
Em 1993, apareceu uma oportunidade para o grupo Green. A empresa FirstPerson junto com a Time-Warner estava pedindo propostas de sistemas operacionais de decodificadores e tecnologias de vídeo sob demanda. Foi na época em que o NCSA apresentou o MOSAIC 1.0, o primeiro navegador gráfico para Web. Então a empresa FirstPerson apostou nos testes da TV da Time-Warner, mas esta empresa acabou escolhendo a tecnologia oferecida pela Silicon Graphics.
Em 1995 a Sun viu uma oportunidade na Web, nessa época nas páginas não existia muita interatividade, apenas conteúdos estáticos eram exibidos. Então nesse ano a Sun anunciou o ambiente Java, sendo um absoluto sucesso, gerando uma aceitação aos browsers populares como o Netscape Navigator e padrões tridimensionais como o VRML (Virtual Reality Modeling Language - Linguagem de Modelagem para a Realidade Virtual).
O Java foi o primeiro a utilizar decodificares de televisões interagindo em dispositivos portáteis e outros produtos eletrônicos de consumo, foi do mesmo jeito que foi iniciado em 1991, possuindo portabilidade para qualquer ambiente e do desenvolvimento para múltiplas plataformas, em ambientes de eletrônicos de consumo, desde então o Java vem liderando o mercado em termos de linguagem. 
Plano de desenvolvimento da aplicação 
A reciclagem é um processo industrial que converte o lixo descartado (matéria-prima secundária) em produto semelhante ao inicial ou outro. Reciclar é economizar energia, poupar recursos naturais e trazer de volta ao ciclo produtivo o que é jogado fora. A palavra reciclagem foi introduzida ao vocabulário internacional no final da década de 80, quando foi constatado que as fontes de petróleo e outras matérias-primas não renováveis estavam e estão se esgotando. Reciclar significa = Re (repetir) + Cycle (ciclo). 
 Para compreendermos a reciclagem, é importante "reciclarmos" o conceito que temos de lixo, deixando de enxergá-lo como uma coisa suja e inútil em sua totalidade.
Para reciclar um material é necessário que haja um processo de seleção prévia, isto é, a separação do lixo comum em papel, plástico, vidro, metal, orgânico e não recicláveis. Um processo de seleção muito conhecido atualmente é a coleta seletiva, que nada mais é do que um recolhimento de lixo feito seletivamente.
A partir desse estudo, será desenvolvido um sistema de cadastro de setor votado para materiais reciclados com objetivo de controlar os mesmos.
Foi elaborada a estrutura, através de reuniões com o professor e o grupo, estudos sobre alguns temas discutido em sala de aula, foram realizados diversas pesquisas na biblioteca, sites e então foi decidido como seria desenvolvido o programa.
O programa será dividido em quatro setores, com os seguintes nomes: Papel, Plástico, Metal e Vidro. Cada setor vai armazenar a quantidade arrecada diariamente. A figura 01 ilustra os materiais que poderão ser armazenado em cada setor.
Figura 01: Materiais dividido por setor.
Fonte: Google
A Estruturação é um programa de intervenção em cooperativas de catadores, o qual oferece uma oportunidade única para que cooperados.
	Quando o assunto é gestão de resíduos, conhecimento sobre o tema é o que não falta. Muita coisa já foi desenvolvida, mas o desafio que permanece é de como as pessoas acessam estas informações.
Primeiro com o "Inspiração" e agora com o "Realização" torna-se possível encontrar o que há de mais interessante no cenário de gestão de resíduos quando o assunto é Cooperativas de Catadores de Materiais Recicláveis.
É um software para fomentar a gestão interligada de entidades envolvidas no processo de reciclagem. O objetivo é medir todo material triado nas organizações participantes que estão envolvidas com o operacional da reciclagem, sejam associações, cooperativas ou privadas. Mede para cada colaborador interno e também de acordo com cada categoria de material triado, inclusive o rejeito. Com isso, é possível acompanhar o desempenho da entidade. 
Requisitos funcionais e não funcionais
 A construção de um software, na maioria das vezes, é a união de várias fases de desenvolvimento não apenas técnico, mas de planejamento e estratégia. Saber o que é fundamental, baseado nos problemas que o sistema precisa resolver, pode fazer a diferença entre uma ferramenta de sucesso e outra defasada.
Requisitos não funcionais:
O sistema deverá ser compatível com a plataforma Windows.
O sistema funciona nos dias úteis trabalhados
O sistema será desenvolvido C#.NET.
O banco de dados será o SQL Server 2012 
O sistema deverá ter controle sobre o lixo reciclado
Requisitos Funcionais:
Autenticação do administrador por meio de login e senha
Cadastrar os produtos 
Gerenciar estoque de produtos
Controle sobre os materiais reciclados
Através do diagrama caso de uso será ilustrado como será o programa. A seguir na imagem 2 
Figura 02 – Diagrama Caso de Uso
Fonte: O autor 
Projeto (estrutura) do programa 
O programa será desenvolvido na linguagem orientada a objeto, que permite o intercambio entre linguagens, além disso, aplicativos em C# tem o poder de interagir pela internet usando padrão de setor como o SOAP (protocolo de acesso a objetos simples) e XML (linguagem de marcação extensível). 
O ambiente de desenvolvimento do C# é o Visual Studio IDE (ambiente integrado de desenvolvimento em português) oficial da Microsoft para criação de aplicativos. Teve sua primeira versão lançada em 1997 e oferecia diferentes instalações pra cada linguagem. Com a chegada do Visual Studio .NET 2002 era possível utilizar qualquer linguagem, unificando as ferramentas e os recursos da linguagem. 
Com a analise da problemática apresentada o software Gerenciamento de setor reciclável foi desenvolvido com o modelo de projeto cascata. 
O modelo cascata é mais utilizado quando os requisitos de um determinado problema são bem compreendidos. Uma forma de utilizar o modelo cascata é quando se faz adaptações ou aperfeiçoamentos em um sistema que já existe. Exemplo disso é quando temos um sistema pronto e precisamos fazer uma adaptação porque alguma lei governamental foi criada ou alterada.
A função do programa será administrar melhor a reciclagem, tendo mais organização e controle da mesma. Assim então, espera se arrecadar mais lixo reciclado.
O SQL Server é um sistema gerenciador de banco de dados desenvolvido pela Microsoft para pequenos servidores, aplicativos web e habilitação de área de trabalho.[2: SQL Server é um SGBD – sistema gerenciador de Banco de Dados Relacional desenvolvido pela Microsoft.]
SQL Server foi escolhido como solução de gerenciamento de banco de dados do software que será desenvolvido por possuir algumas vantagens como: ter maior compatibilidade com a plataforma Windows que seus concorrentes, excelente integração com a NET e ter bom apoio para recuperação de dados.
O administrador vai ter a tela de acesso ao sistema, onde deve realizar o login como administrador padrão já cadastrado e com uma senha que também virá padrão podendo ser alterada com o primeiro acesso.
Na tela principal do sistema, onde mostra o item cadastro e operações tela cadastro ele poderá cadastrar novos setores e materiais reciclados. Na tela de cadastro dos setores que os materiais vão se encontrar.
Prints do software 
Figura 03 tela de acesso ao sistema, usuário deve logar comoadministrador padrão já cadastrado e com uma senha que também virá padrão podendo ser alterada com o primeiro acesso. Na APÊNDICE A será exibido o código fonte para compilar a figura 02.
Figura 03: Tela de login.
Figura 04 tela de cadastro de usuário, o usuário deve logar como administrador padrão já cadastrado e cadastrar um novo login e senha para o novo usuário. Na APÊNDICE B será exibido o código fonte para compilar a figura 03.
Figura 04: Cadastro de usuario.
Figura 05 é a tela de cadastro dos setores e materiais, levando em consideração que é preciso antes de cadastrar os materiais em descrição cadastrar o setor. Na APÉNDICE C será mostrado o código fonte para compilar a figura 10 setor de cadastro.
Figura 05: Cadastro de Setor.
Conclusão.
Devido ao constante e grande crescimento de pessoas na atualidade e a falta de recursos naturais atuais, a reciclagem se tornou fundamental para o continuo desenvolvimento da sociedade humana, com tudo isso foi possível mostrar que se pode aprimorar ainda mais as ferramentas para auxilio ao mesmo, já que o maior problema enfrentando pela sociedade atual é toda falta de controle e administração de todo o lixo que possa-se mostrar reciclável. Com a nova ferramenta o intuito foi dobrar a produção de reciclagem no pais devido a falta de material em exploração de novos recursos, em prol do desenvolvimento da humanidade atual e futura. 
Referencias bibliográficas.
CARVALHO, Geila Lixo: consequências, desafios e soluções. Disponível em: http://www.cenedcursos.com.br/lixo-consequencias-desafios-e-solucoes.html Acesso em: 02 de outubro de 2015
Introdução à linguagem C# e o.NET Framework. Disponível em: https://msdn.microsoft.com/pt-br/library/z1zx9t92(v=vs.110).aspx/. Acesso em: 30 de outubro de 2015.
PACIEVITCH, Yuri C#. Disponível em: http://www.infoescola.com/informatica/c-sharp/. Acesso em: 25 de setembro de 2015.
PALMEIRA, Thiago Java: história e principais conceitos. Disponível em: http://www.devmedia.com.br/java-historia-e-principais-conceitos/25178. Acesso em 01 de outubro de 2015.
SQL Server® 2012 Service Pack 2 (SP2) Express. Disponível em: https://www.microsoft.com/pt-BR/download/details.aspx?id=43351/. Acesso em: 30 de setembro de 2015.
APÊNDICES
APÉNDICE A – Código fonte para compilar a tela de acesso ao sistema.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ..Forms
{
	public partial class FrmLogin : Form
	{
		public FrmLogin()
		{
			InitializeComponent();
		}
		#region btnLogin
		private void btnLogin_Click(object sender, EventArgs e)
		{
			try
			{
				String strValidaLogin = "";
				Objetos.Usuario objUsuario = new Objetos.Usuario();
				if (txtLogin.Text == "")
				{
					MessageBox.Show("Favor informar o login", "Login", MessageBoxButtons.OK, MessageBoxIcon.Warning);
					txtLogin.Focus();
					return;
				}
				if (txtSenha.Text == "")
				{
					MessageBox.Show("Favor informar a senha", "Login", MessageBoxButtons.OK, MessageBoxIcon.Warning);
					txtSenha.Focus();
					return;
				}
				objUsuario.Login = txtLogin.Text;
				objUsuario.Senha = txtSenha.Text;
				BLL.UsuarioBLL bllUsuario = new BLL.UsuarioBLL();
				strValidaLogin = bllUsuario.Login(objUsuario);
				Forms.FrmPrincipal f = new Forms.FrmPrincipal(objUsuario);
				if (strValidaLogin == "OK")
				{
					this.DialogResult = DialogResult.OK;
					this.Close();
				}
				else
				{
					MessageBox.Show(strValidaLogin, "Login", MessageBoxButtons.OK, MessageBoxIcon.Information);
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
 #region btnSair
 private void btnSair_Click(object sender, EventArgs e)
 {
 this.Close();
 }
 #endregion
 }
}
APÉNDICE B – Código fonte para compilar a tela setor.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ..Forms
{
	public partial class FrmSetor : Form
	{
		public FrmSetor()
		{
			InitializeComponent();
		}
		#region Load
		private void FrmSetor_Load(object sender, EventArgs e)
		{
			try
			{
				CarregaSetores();			
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region btnSalvar
		private void btnSalvar_Click(object sender, EventArgs e)
		{
			try
			{
				Boolean booRetorno = false;
				if (txtSetor.Text.Trim() == "")
				{
					MessageBox.Show("Favor informar o setor.", this.Text);
					txtSetor.Focus();
					return;
				}
				if (lblId.Text == "")
				{
					if (MessageBox.Show("Confirma Cadastro do Setor?", ".", MessageBoxButtons.YesNo) == DialogResult.Yes)
					{
						BLL.SetorBLL _SetorBLL = new BLL.SetorBLL();
						booRetorno = _SetorBLL.InsereSetorBLL(txtSetor.Text.Trim());
						if (booRetorno == true)
						{
							MessageBox.Show("Setor cadastrado com sucesso.", ".");
							LimpaTela();
						}
						else
						{
							MessageBox.Show("Falha no cadastrado do setor.", ".");
						}
					}
				}
				else
				{
					if (MessageBox.Show("Confirma Atualização do Setor?", ".", MessageBoxButtons.YesNo) == DialogResult.Yes)
					{
						BLL.SetorBLL _SetorBLL = new BLL.SetorBLL();
						booRetorno = _SetorBLL.AtualizaSetorBLL(txtSetor.Text.Trim(), lblId.Text);
						if (booRetorno == true)
						{
							MessageBox.Show("Setor atualizado com sucesso.", ".");
							LimpaTela();
						}
						else
						{
							MessageBox.Show("Falha na atualização do Setor.", ".");
						}
					}
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region LimpaTela
		public void LimpaTela()
		{
			try
			{
				lblId.Text = "";
				txtSetor.Text = "";
				tabControlSetor.TabIndex = 0;
				grdSetores.Rows.Clear();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region btnNovo
		private void btnNovo_Click(object sender, EventArgs e)
		{
			try
			{
				LimpaTela();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region CarregaSetores
		public void CarregaSetores()
		{
			try
			{
				BLL.SetorBLL _SetorBLL = new BLL.SetorBLL();
				DataTable dtSetor = _SetorBLL.SelectSetorBLL();
				grdSetores.Rows.Clear();
				if (dtSetor != null && dtSetor.Rows.Count > 0)
				{
					for (int i = 0; i < dtSetor.Rows.Count; i++)
					{
						grdSetores.Rows.Add(dtSetor.Rows[i]["DS_SETOR"].ToString(), dtSetor.Rows[i]["ID"].ToString());
					}
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region grdSetores
		private void grdSetores_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
		{
			try
			{
				lblId.Text = "";
				txtSetor.Text = grdSetores.Rows[e.RowIndex].Cells[0].Value.ToString();
				lblId.Text = grdSetores.Rows[e.RowIndex].Cells[1].Value.ToString();
				tabControlSetor.SelectedIndex = 0;
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region tabControlSetor
		private void tabControlSetor_SelectedIndexChanged(object sender, EventArgs e)
		{
			try
			{
				CarregaSetores();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
	}
}
APÉNDICE C – Código fonte para compilar a tela usuários.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ..Forms
{
	public partial class FrmUsuario : Form
	{
		public FrmUsuario()
		{
			InitializeComponent();
		}
		#region Load
		private void FrmUsuario_Load(object sender, EventArgs e)
		{
			try
			{
				CarregaUsuarios();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region btnSalvar
		private void btnSalvar_Click(object sender, EventArgs e)
		{
			try
			{
				Boolean booRetorno = false;
				if (txtLogin.Text.Trim() == "")
				{
					MessageBox.Show("Favor informar o login.", this.Text);
					txtLogin.Focus();
					return;
				}
				if (txtSenha.Text.Trim() == "")
				{
					MessageBox.Show("Favor informar a senha.", this.Text);
					txtSenha.Focus();
					return;
				}
				if (lblId.Text == "")
				{
					if (MessageBox.Show("Confirma Cadastro do Usuário?", ".", MessageBoxButtons.YesNo) == DialogResult.Yes)
					{
						BLL.UsuarioBLL _UsuarioBLL = new BLL.UsuarioBLL();
						booRetorno = _UsuarioBLL.InsereUsuarioBLL(txtLogin.Text.Trim(), txtSenha.Text.Trim(), chkAdm.Checked == true ? "S" : "N", chkAtivo.Checked == true ? "A" : "I");
						if (booRetorno == true)
						{
							MessageBox.Show("Usuário cadastrado com sucesso.", ".");
							LimpaTela();
						}
						else
						{
							MessageBox.Show("Falha no cadastrado do usuário.", ".");
						}
					}
				}
				else
				{
					if (MessageBox.Show("Confirma Atualização do Usuário?", ".", MessageBoxButtons.YesNo) == DialogResult.Yes)
					{
						BLL.UsuarioBLL _UsuarioBLL = new BLL.UsuarioBLL();
						booRetorno = _UsuarioBLL.AtualizaUsuarioBLL(txtLogin.Text.Trim(), txtSenha.Text.Trim() ,chkAdm.Checked == true ? "S" : "N", chkAtivo.Checked == true ? "A" : "I", lblId.Text);
						if (booRetorno == true)
						{
							MessageBox.Show("Usuário atualizado com sucesso.", ".");
							LimpaTela();
						}
						else
						{
							MessageBox.Show("Falha na atualização do usuário.", ".");
						}
					}
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region LimpaTela
		public void LimpaTela()
		{
			try
			{
				lblId.Text = "";
				txtLogin.Text = "";
				txtSenha.Text = "";
				chkAdm.Checked = false;
				chkAtivo.Checked = false;
				tabControlUsuarios.TabIndex = 0;								
				grdUsuarios.Rows.Clear();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region btnNovo
		private void btnNovo_Click(object sender, EventArgs e)
		{
			try
			{
				LimpaTela();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region CarregaUsuarios
		public void CarregaUsuarios()
		{
			try
			{
				BLL.UsuarioBLL _UsuarioBLL = new BLL.UsuarioBLL();
				DataTable dtUsuario = _UsuarioBLL.SelectUsuarioBLL();
				grdUsuarios.Rows.Clear();
				if (dtUsuario != null && dtUsuario.Rows.Count > 0)
				{
					for (int i = 0; i < dtUsuario.Rows.Count; i++)
					{
						grdUsuarios.Rows.Add(dtUsuario.Rows[i]["NM_LOGIN"].ToString(), dtUsuario.Rows[i]["DS_SENHA"].ToString(), dtUsuario.Rows[i]["ST_ADM"].ToString(), dtUsuario.Rows[i]["ST_STATUS"].ToString(), dtUsuario.Rows[i]["ID"].ToString());
					}
				}
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region tabControlUsuarios
		private void tabControlUsuarios_SelectedIndexChanged(object sender, EventArgs e)
		{
			try
			{
				CarregaUsuarios();
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
		#region grdUsuarios
		private void grdUsuarios_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
		{
			try
			{
				lblId.Text = "";
				txtLogin.Text = grdUsuarios.Rows[e.RowIndex].Cells[0].Value.ToString();
				txtSenha.Text = grdUsuarios.Rows[e.RowIndex].Cells[1].Value.ToString();
				chkAdm.Checked = grdUsuarios.Rows[e.RowIndex].Cells[2].Value.ToString() == "0" ? false : true;
				chkAtivo.Checked = grdUsuarios.Rows[e.RowIndex].Cells[3].Value.ToString() == "0" ? false : true;
				lblId.Text = grdUsuarios.Rows[e.RowIndex].Cells[4].Value.ToString();
				tabControlUsuarios.SelectedIndex = 0;
			}
			catch (Exception Ex)
			{
				MessageBox.Show(Ex.Message, this.Text);
			}
		}
		#endregion
	}
}
APS
	FICHA DE ATIVIDADES PRÁTICAS SUPERVISIONADAS - APS
		Atividades Práticas Supervisionadas (laboratórios, atividades em biblioteca, Iniciação Científica, trabalhos Individuais e em grupo, práticas de ensino e outras)
	NOME:______________________________________________________________________________________________________________	Alerxandre Vierai Winck
	
	RA B3645A-2 Turma:		CURSO: Ciências da Computação
	
	CAMPUS: Rangel		SEMESTRE: Oitavo		TURNO: Noturno
	
				ASSINATURA
	DATA	ATIVIDADE	TOTAL DE HORAS	ALUNO	PROFESSOR
	3/7/18	Orientações gerais APS, Média, Como proceder, Seminário, Trabalho	5	Alexandre	Sergio G. Medina
	3/8/18	Formação dos grupos, datas, primeiras discussões e métodos para pesquisas	5	Alexandre	Sergio G. Medina
	4/15/18	Como preparar apresentações Doc. PPT - Biblioteca da Universidade	5	Alexandre	Sergio G. Medina
	4/22/18	Coletanea da primeira pesquisa realizada na biblioteca e discussoes novas	5	Alexandre	Sergio G. Medina
	4/29/18	Novas pesquisas e coleta de dados pelos elementos do grupo	5	Alexandre	Sergio G. Medina
	5/5/18	Seminário - Pré apresentação do trabalho e dos resultados de pesquisa - aula	5	Alexandre	Sergio G. Medina
	5/12/18	Desenvolvimento do trabalho	5	Alexandre	Sergio G. Medina
	5/19/18	Reunião de avaliação do desenvolvimento por parte do grupo	5	Alexandre	Sergio G. Medina
	5/19/18	Desenvolvimento do trabalho	5	Alexandre	Sergio G. Medina
	5/20/18	Desenvolvimento do trabalho	5	Alexandre	Sergio G. Medina
	5/20/18	Finalização do trabalho e vista inicial do professor orientador	2	Alexandre	Sergio G. Medina
	
				TOTAL DE HORAS: 52 horas

Outros materiais