Higher Education Statistics in C# Language

Slides:



Advertisements
Apresentações semelhantes
Augusto NevesJoão CarlosRodrigo Paula Linguagem de Programação C++ Componentes do Grupo.
Advertisements

Vitor Santos Microsoft Corporation
Segurança na .NET Framework
Rational Unified Process
Capítulo 1 Introdução.
Paradigmas de Programação
Programa de Pós-Graduação Lato Sensu MBA em Gestão de Software
Software do sistema Software de aplicação
Bases de Dados 2 José Júlio Alferes Departamento de Informática
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Um Processo Baseado em MDA para a Especialização de Mecanismos de Persistência Fabio Seixas Marques Seminário LES – 7 de abril de.
Introdução à Informática
SISTEMAS DISTRIBUÍDOS
Linguagens de programação
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
Objetos Distribuídos Padrão CORBA
Microsoft.NET Framework Luiz Miranda devgoiania.net Programas & Soluções.
Lan Manager Integrantes: Bruno Moleiro Regis Felipe Fujiy Pessoto
Introdução a Programação Orientada a Objetos
Conhecendo o Visual Studio.NET
Configuração de manutenção
Engenharia de Software e Sistemas de Informação e Gestão
JAVA: Conceitos Iniciais
Acesso a Base de Dados JDBC Trabalho Realizado por:
Linguagem de Programação C#
Elizeu Madeira Eduardo Cardoso João Paulo Duarte
Flávia Andrade de Souza Rodrigo Mibielli Peixoto
Tecnologias.NET Equipe: Ayrton Johab Rejane Roosevelt Wanessa.
JAVA Linguagem Ambiente de Desenvolvimento
Linguagem Técnica de Programação VI Prof.: Luiz Gustavo Jordão Soares.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Arquitetura Cliente /Servidor
ACESSO A BASE DE DADOS.
Tarefa 02 Visual Studio 2005 Visual C# Programa Hello World.
MapReduce Conceitos e Aplicações
Curso de ISI (Implantação de Sistemas de Informação)
Geração de Código Teoria e Implementação de Linguagens Computacionais – IF688 Jobson Ronan Jeronimo da Silva
Concorrência e Java RMI
XIII Jornada de Cursos .NET com C# Lucas Mello Flávio Almeida.
Prof. Rodrigo de Matos Vargas
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
XIV Jornada de Cursos .NET com C# Antônio Júnior Bruno Inojosa.
Adriano Melo Introdução ao ASP.NET Adriano Melo
Professor: Márcio Amador
Orientação a Objetos Parte I
Gnu / Linux Relatório de Portfólio Fernando Filipe Teixeira nº 3113 Beja 2007.
JSP e Servlets ISEP – LP2 Filipe Costa – /2004.
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
O primeiro passo para a nuvem
Módulo I Capítulo 1: Introdução ao curso
Elementos de um Sistema de Agentes Móveis Agentes e Places Comportamento de Agentes Comunicação Padronização OMG/MASIF.
Inteligência Artificial Web Semântica
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
Virtualização/Hipervisão/Servidores Microsoft
SQLite Banco de Dados II.
Ciclo de Seminarios Técnicos – PET Computação Quarta-Feira - 15/06/2011
O que são, quais existem e suas características.
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
Mini Curso.
.NET Por: Pablo Diego vulgo “El Tigre”. O que é.NET? É uma plataforma de desenvolvimento. Com o.NET é possível de desenvolver vários tipos de aplicação.
Asp.Net By Microsoft for web Application. Uma simples abordagem sobre a plataforma.
 é uma iniciativa da Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações.  Todo e qualquer código gerado.
Leo Silva Leonardo Murta Luiz Viana Persistência em Java.
Tecnologias para Mobilidade
LINGUAGEM DE PROGRAMAÇÃO I
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Transcrição da apresentação:

Higher Education Statistics in C# Language Linguagens de Programação Docente: Professor Doutor José Jasnau Caeiro Discente: Rafael Montegordo Félix nº 6209

Introdução Este trabalho tem como objetivo a recolha de dados de uma base de dados SQLite com recurso à Linguagem de Programação C#. Do ponto de vista académico tem como objetivo a aprendizagem de uma nova linguagem, neste caso o C#, obtenção de conhecimentos sobre a plataforma Microsoft .NET, e também sobre a utilização do SQLite em conjunto com a plataforma ADO.NET, através da utilização da Mono.Data.Sqlite. O Software desenvolvido deverá também poder ser utilizado tanto no sistema operativo Windows como em Linux.

Linguagem C# C# é uma linguagem de programação orientada a objetos baseada nas linguagens C++ e Java, e ela é considerada a linguagem símbolo do .NET, por ter sido criada praticamente do zero para funcionar na nova plataforma, sem preocupações de compatibilidade com código existente. O compilador C# foi o primeiro a ser desenvolvido, e a maior parte das classes da plataforma foram desenvolvidas nesta linguagem.

Frameworks Microsoft .NET Microsoft .NET é uma iniciativa da empresa Microsoft, que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para .NET podem ser executados em qualquer dispositivo que possua um framework de tal plataforma. A plataforma .NET é executada sobre uma Common Language Runtime - CLR (Ambiente de Execução Independente de Linguagem) interagindo com um Conjunto de Bibliotecas Unificadas (framework). Esta CLR é capaz de executar, atualmente, mais de 20 diferentes linguagens de programação, interagindo entre si como se fossem uma única linguagem.

Frameworks ADO.NET Consiste num conjunto de classes definidas pela .NET framework (localizadas no namespace System.Data) que pode ser utilizado para aceder aos dados armazenados numa base de dados remota. O “modelo desconectado” ADO.NET utiliza dois tipos de objetos para aceder à base de dados: os objectos Dataset, que podem conter um ou mais Data Table, e os .NET Data Provider. Pode ser usado para aceder à base de dados para qual há um provedor específico .NET, ou, via um provedor ponte .NET, para o qual existe um provedor específico OLE DB, Driver ODBC, ou Driver JDBC. ADO.NET é algo considerado uma evolução da tecnologia ADO.

Mono.Data.Sqlite Mono é uma plataforma de software projetado para permitir aos programadores criar facilmente aplicações multiplataforma. É uma implementação open source do Framework da Microsoft .Net com base nos padrões ECMA para C# e CLR. Esta plataforma contém muitos provedores de dados ADO.NET, neste caso foi então utilizado a Mono.Data.Sqlite, pois a base de dados que foi disponibilizada foi criada com o SGBD SQLite. Esta Plataforma foi também escolhida pois é também a que oferece mais compatibilidade entre os sistemas operativos Windows e Linux.

Ficheiros Rebides.cs DataSave.cs Ficheiro principal, contém a inclusão das bibliotecas necessárias para o desenvolvimento dos requisitos, inclui também os métodos requeridos pelo enunciado. Esta classe utiliza objetos DataSave. DataSave.cs Este ficheiro contém a classe Datasave, classe que é utilizada pela classe principal. Contém 5 construtores para permitir a criação de objetos diferentes e um override (sobreposição) da função ToString() para imprimir os objectos.

Funções teacherPerDegreePerY(StreamWriter file, string title) teacherDIY(StreamWriter file, string title) listInstPerY(StreamWriter file, string title) listHDegreePerY(StreamWriter file, string title) nTPerADegreePerInst(StreamWriter file, string title, string degree) setOfTPerADegreePerInst(StreamWriter file, string title, string degree) teacherHirings(StreamWriter file, string title)

Funções teacherInstChange(StreamWriter file, string title) promotedTeachers(StreamWriter file, string title) IDataReader connectBD(string sql) writePrint(Dictionary<int, List<DataSave>> dic, String title, StreamWriter file) writePrintString(Dictionary<string, List<DataSave>> dic, String title, StreamWriter file) writePrintList(List<DataSave> list, String title, StreamWriter file) writePrintDoubleDic(Dictionary<int, Dictionary<string, List<DataSave>>> dic, String title, StreamWriter file)

Análise Ao colocar o programa a correr nos dois ambientes, Windows e Linux, verifiquei que o tempo médio de execução no Windows é de 9 minutos e 10 segundos e no Linux o tempo médio de execução é de 3 minutos e 15 segundos. Infelizmente não tive tempo suficiente para verificar bem o porque desta discrepância tao grande. De qualquer maneira verifiquei que os tempos de acesso a base de dados no Linux são menores que no Windows. Para futuro trabalho será então verificado e analiso em pormenor o porque de tempos médios tão diferentes visto que o Windows e o sistema base do computador e o Linux está a ser executado numa maquina virtual.

Conclusão A realização deste trabalho foi muito interessante pois apenas tinha um pequeno conhecimento da linguagem C# e durante o desenvolvimento do mesmo verifiquei que nesta linguagem existem uma quantidade enorme de APIs, de métodos já desenvolvidos e de informação sobre a mesma. A plataforma Microsoft .Net é impressionante, pois consegue que várias linguagem possam ser executadas em sistemas completamente diferentes, aumentando assim em muito a compatibilidade dos softwares e facilitando muito o trabalho dos programadores, pois em vez de ser necessário criar um software para cada sistema operativo, basta que o software seja criado numa das muitas linguagem suportadas pelo Microsoft .Net e que sejam utilizadas bibliotecas da mesma, para garantir uma boa compatibilidade. Também não tinha conhecimento da plataforma ADO .Net, que permite trabalhar com inúmeros sistemas de gestão de base de dados, facilitando assim mais uma vez a compatibilidade.

Bibliografia Wikipédia <http://pt.wikipedia.org/>