1 / 12

Higher Education Statistic s in C# Language

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

ramona
Download Presentation

Higher Education Statistic s in C# Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Higher Education Statisticsin 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 CommonLanguageRuntime - 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 namespaceSystem.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 objectosDataset, 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 • 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) • IDataReaderconnectBD(stringsql) • 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 <http://pt.wikipedia.org/>

More Related