A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Higher Education Statistics in C# Language

Apresentações semelhantes


Apresentação em tema: "Higher Education Statistics in C# Language"— Transcrição da apresentação:

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

2 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.

3 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.

4 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.

5 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.

6 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.

7 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.

8 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)

9 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)

10 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.

11 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.

12 Bibliografia Wikipédia <


Carregar ppt "Higher Education Statistics in C# Language"

Apresentações semelhantes


Anúncios Google