FERRAMENTAS PARA DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Wyllian Fressatti2 ¹Universidade paranaense (Unipar) Paranavaí – PR – Brasil [email protected] [email protected] Resumo. Este artigo contém a descrição da linguagem de programação orientada a objetos C#, tendo como objetivo relatar algumas vantagens que essa tecnologia é capaz de proporcionar ao desenvolvedor, apresentando também a plataforma utilizada para desenvolvimento, ou seja, o Visual Studio e o sistema gerenciador de banco de dados Microsoft SQL Server 2014. A plataforma de desenvolvimento, o sistema gerenciador de banco de dados e a linguagem de programação encontra-se atualmente entre as melhores tecnologias e as mais utilizadas na atualidade, agregando cada vez mais adeptos. 1. Introdução A programação estruturada vem sendo substituída pela programação orientada a objetos devido a grandes vantagens em sua utilização, onde a programação orientada a objetos foi desenvolvida para simular o mundo real dentro de um computador, sendo que o programador modela os objetos e faz a interação entre elas, gerando assim uma maior organização do código, o que contribui para o reaproveitamento de códigos para um novo projeto. [Claudia, 2011] Para se obter um produto final de qualidade se faz necessário utilizar ferramentas bem planejadas e desenvolvidas. Dentre das ferramentas consideradas de alta qualidade podemos citar a plataforma de desenvolvimento Microsoft Visual Studio que é especialmente dedicada ao .NET Framework e às linguagens Visual Basic (VB), C, C++, C# e J#. O Visual Studio é um dos grandes produtos de desenvolvimento na web fazendo uso da plataforma do ASP.NET, não esquecendo também do sistema gerenciador de banco de dados SQL Server, que tem por principal função armazenar e recuperar dados solicitados por uma determinada aplicação de software. Dentre as versões do SQL Server, temos a SQL Server 2014 que encontra-se disponível para download na faze de avaliação e desde já tem o intuito de oferecer um desempenho inovador com uma disponibilidade e capacidade maior de gerenciamento, em relação as versões anteriores. [Microsoft, 2014] O objetivo deste artigo é relatar de forma simples e objetiva algumas das ferramentas necessárias para o desenvolvimento de um software fazendo uso da linguagem de programação C#, onde as ferramentas abordadas são: a plataforma de desenvolvimento Visual Studio e o sistema gerenciador de banco de dados SQL Server 2014, ambos desenvolvidos pela Microsoft. Desta forma tem-se como intuito auxiliar um programador a conhecer algumas das ferramentas necessárias caso queira adotar em seu desenvolvimento a linguagem de programação C#. [Microsoft, 2014] 2. Metodologia O trabalho foi desenvolvido com base em estudos através de artigos e sites com o conteúdo desejado, tendo como intuito, esclarecer de forma simplificada e objetiva as funcionalidades da linguagem de programação orientada a objetos C# juntamente com a plataforma de operação Visual Studio e o Sistema Gerenciador de Banco de Dados SQL Server. 3. Desenvolvimento 3.1. Linguagem de Programação C# Foi desenvolvida pela Microsoft no ano de 1999, comandada pela equipe formada por Anders Hejlsberb (representado pela Figura 1) e outros profissionais, teve seu surgimento durante o desenvolvimento da plataforma .NET. A nova linguagem desenvolvida recebeu primeiramente o nome de Cool, no entanto no ano de 2000, ano em que o projeto .NET foi apresentado ao público, a nova linguagem foi passou a ser chamada de C#. [Microsoft, 2014] Figura 1 – Anders Hejsberb Fonte: [http://zip.net/bypqC5] 3.1. Características da linguagem C# O C# foi desenvolvido desde o início tendo em vista uma total compatibilidade com a plataforma .NET, a sintaxe da linguagem foi baseada no C, C++, no entanto a mesma possui também influencias de outras linguagens de programação, como por exemplo o Java e o Object Pascal. Ela é fortemente tipada, o que contribui para evitar erros oriundos de uma manipulação impropria de tipo ou atribuições. C# possui suporte à COM, COM+ e entre outras DLLs escritas por linguagens de programação que geram códigos não gerenciado. Todos os softwares escritos em C# rodam sob um ambiente gerenciável, onde todo o controle de memória é realizado pelo .NET Framework e não diretamente pelo desenvolvedor, o que reduz falhas na programação enquanto a alocação e liberação de um objeto na memória. Vale ressaltar ainda que, a maior parte das classes do .NET Framework foram desenvolvidos em C#. [Varela, 2000] Uma das grandes vantagens da linguagem de programação C# em relação as demais linguagens é o fato de que é possível encontrar toda a documentação desta tecnologia com facilidade no site da Microsoft, o que é de grande auxilio ao desenvolvedor. O recurso de ambiente Windows para aplicações desktop, que anteriormente fazia-se necessária a utilização de componentes agora passa ser nativos esses componentes no C#. É uma linguagem completamente orientada a objetos, ou seja, toda variável tem que fazer parte de uma classe, conseguindo utilizar também evento nos controles, não precisando registrar componentes e desenvolvem em ambiente Windows com maior praticidade, o tratamento de erros encontra-se de forma mais simplificada e consequentemente possui uma maior interatividade com os usuários. [Claudia, 2011]. Figura 2 – Logo que represente a Linguagem de Desenvolvimento C#. Fonte: [http://zip.net/bkpp7m] 3.1.1. Programação Orientada a Objetos Devido a algumas necessidades quanto ao desenvolvimento de softwares, a programação orientada a objetos – POO – encontra-se em alta no mercado, pelo fato de que a mesma foi desenvolvida com o intuito de simular o mundo real dentro de um computado, como já foi citado. Com a programação orientada a objetos fica por conta do programador modelar os objetos e realizar a interação entre eles, desenvolvendo assim, os códigos de forma organizada. [David, 2007] A modelagem dos objetos tem alguns conceitos que devem ser levados em consideração, dentre os principais, pode-se citar: Classe, Atributos, Métodos, Abstração, Encapsulamento, Associação, Herança e o Polimorfismo, onde a Classe é o molde para criar os objetos, ela possui todas as especificações de um grupo de objetos, como por exemplo a Classe Materiais. Nos Atributos define-se as características dos objetos a serem inseridos, como o nome da obra, nome do material, quantidade do material e entre outros, já nos Métodos define-se o comportamento de cada objeto, que para a Classe Materiais, por exemplo, pode conter o método Comprar. A Abstração resume-se em se concentrar nas principais características de um grupo de objetos enquanto o Encapsulamento é a habilidade de “esconder” de outros objetos, as características intrínsecas de um dado objeto, onde um objeto não pode ter a possibilidade de acessar e tampouco alterar os atributos de outro objeto diretamente. A Associação dá-se quando um objeto utiliza recursos de outro objeto e a Herança quando se cria subclasses a partir de uma superclasse, onde as subclasses herdam todas as características da superclasse. O Polimorfismo é o princípio pela qual uma subclasse sobrescreve um determinado comportamento, conhecido como Método, herdado de sua superclasse. [David, 2007] 3.2. Ferramenta de Desenvolvimento O Visual Studio, desenvolvido pela Microsoft no ano de 1997, tem como a sua principal característica um ambiente de desenvolvimento que atende diversas linguagens, tendo claro, como maior enfoque as tecnologias criadas e utilizadas pela própria Microsoft. [Microsoft, 2014] Figura 3 – Logo da Plataforma de Desenvolvimento em C#, Visual Studio Fonte: [http://zip.net/bhpqgk] A Microsoft desde o seu início, em todos os produtos que desenvolveu teve como foco o conceito de Usabilidade, ou seja, todos os produtos quando desenvolvidos atendem todos os requisitos de usabilidade, tendo em vista que “Usabilidade é sinônimo de facilidade de uso. Se um produto é fácil de usar, o usuário tem maior produtividade: aprende mais rápido a usar, memoriza as operações e comete menos erros.” [Amstel, 2005]. Desta forma o Visual Studio como todos os outros produtos da Microsoft atende os 10 requisitos de usabilidade segundo Jakob Nielsen. O Visual Studio possui algumas versões, sendo elas a versão Professional, que é paga e versão Express, que é uma versão gratuita porem com algumas limitações referentes a recursos. [Microsoft, 2014] 3.2.1. Recursos da Plataforma Visual Studio O Visual Studio é um conjunto abrangente de serviços e ferramentas para o desenvolvimento de aplicativos que destinam-se à área de trabalho, à Web, aos dispositivos e à nuvem. Para as equipes que trabalham em várias plataformas, o Visual Studio fornece um ambiente de colaboração flexível para essa conexão bem-vinda com outras ferramentas de desenvolvimento, como o Eclipse e o Xcod. [Visual Studio, 2012] O ambiente de desenvolvimento tem por foco gerar valor e realizar a tarefa mais rápido com um ambiente de desenvolvimento limpo, rápido e potente, contando com a exibição de alerta do CodeLens, um ambiente sofisticado e desenvolvimento de aplicativos de negócios. O Suporte à plataforma possibilita a compilação de aplicativos, bem como aplicativos Web móveis e serviços de nuvem em dispositivos. O desenvolvimento de software Agile possibilita o gerenciamento e o acompanhamento do trabalho em todas as listas de pendencias e equipes com o gerenciamento de portfólio Agile, gráficos de burndown e blocos Kanban personalizáveis. A colaboração entre a equipe conecta os membros de desenvolvimento, os participantes de negócios e os usuários finais por meio de ferramentas integradas que por sua vez, promovem a colaboração através de um gerenciamento de comentários e repositórios baseados no Git. A depuração e diagnóstico auxilia a identificar e resolver os problemas que impedem que o aplicativo desenvolvido seja executado corretamente, independentemente da plataforma utilizada, com o depurador avançado, Link do navegador e o IntelliTrace. As ferramentas de teste de software garantem a qualidade em todo o ciclo de vida do aplicativo, o que permite o desenvolvimento de um software de alta qualidade com o gerenciamento de casos de teste, o teste do desempenho da Web e o teste de carga. Com o gerenciamento de lançamentos pode-se configurar, planejar, aprovar e implantar os aplicativos para qualquer ambiente através de ferramentas que reduzem o tempo de ciclo e aprimoram o processo de entrega. E por fim, a arquitetura e modelagem disponibiliza as ferramentas de diagramação e modelagem sofisticadas e intuitivas, que possibilitam visualizar, analisar e validar a arquitetura de software, por meio de diagramas de UML, mapa de código e gerenciador de arquitetura. [Visual Studio, 2012] 3.3. Utilizando o Gerenciador de Banco de Dados Microsoft SQL Server 2014 O SQL Server 2014 é a base da grande plataforma de dados da Microsoft, oferecendo um excelente desempenho crítico juntamente com tecnologias integradas in-memory e insights muito mais rápidos através de dados com ferramentas de análise conhecidas. [SQL Server, 2014] Figura 5 – Logo da Microsoft SQL Server. Fonte: [http://zip.net/brpqkF] 3.3.1. Recursos do SQL Server 2014 O Microsoft SQL Server 2014 foi desenvolvido com o intuito de oferecer um desempenho inovador, uma disponibilidade e capacidade maior de gerenciamento para aplicativos de missão crítica, contando com o apoio de novos recursos na memória incorporados ao banco de dados principal para OLTP (processamento de transações online) e data warehousing, o que agrega os recursos de data warehouse na memória e BI existentes, oferecendo a mais completa solução de banco de dados na memória do mercado. [SQL Server, 2014] O SQL Server 2014 possibilita também novas soluções de recuperação de desastre, backup e arquitetura híbrida com o Windows Azure, o que permite aos clientes usarem as suas habilidades com recursos locais que façam uso de datacenters globais da Microsoft. Contudo, o SQL Server 2014 faz uso de vantagens quanto aos novos recursos do Windows Server 2012 e do Windows Server 2012 R2, oferecendo assim uma escalabilidade sem paralelos para o aplicativo de banco de dados em um ambiente físico ou virtual. [SQL Server, 2014] 3.3.2. Desempenho de Missão Crítica Novos recursos OLTP em memória interna no banco de dados do SQL Server 2014 podem gerar um ganho no desempenho que é significativamente aprimorado do aplicativo de banco de dados. O OLTP na memória habilita todos os benefícios de desempenho sem ser necessário atualizar o hardware. Com o uso da memória principal do computador podemos obter ganhos significativos quanto ao desempenho, chegando a ser até 30 vezes mais rápido, com um aprimoramento médio de 10 vezes. Contudo, deve-se levar em conta também desempenho do aplicativo depende de vários fatores. [SQL Server, 2014] O novo OLTP em memória desenvolvido em parceria com a Microsoft Research, possibilita algumas vantagens, sendo elas: permite criar os objetos de banco de dados com otimização de memória, o que resulta em acesso de dados mais eficiente. Permite a compilação nativa de procedimentos armazenados Transact-SQL, o que executará a lógica comercial com mais eficiência. Oferece também garantias ACID completas, ou seja, todos os dados das tabelas duráveis serão recuperados depois de alguma falha, como por exemplo um travamento do servidor. Não faz uso de estruturas de dados baseadas em página, o que elimina as frustradas esperas por trava resultando em maior taxa de transferência, latência menor e melhor desempenho a um consideravelmente mais baixo. Os índices só existem em memória. Com tudo, diferente dos concorrentes a otimização de memória do SQL Server não é um produto separado, ela se integra a ferramentas já existentes. Desta forma um único banco de dados pode possuir tabelas baseadas em discos com otimização em memória. [SQL Server, 2014] 4. Considerações Finais A linguagem de programação C# tem por meta facilitar o desenvolvimento do software, juntamente com a vasta gama de recursos que auxilia os programadores que a utilizam. A tecnologia C# conta com uma plataforma de desenvolvimento e um sistema gerenciador de banco de dados de qualidade, sendo eles o Visual Studio e o SQL Server, além de recursos através de sua programação orientada a objetos. Juntamente com o .NET framework é possível desenvolver diversos modelos de aplicações, proporcionando ainda um ambiente onde os desenvolvedores mantem o foco em sua lógica durante todo o tempo sem precisar se preocupar com a gerencia de recursos, pois o framework é quem se encarrega dessa função. Atualmente C# encontra-se entre as melhores linguagens de programação da atualidade, pois é robusta e tem uma boa performance, tornando-se uma linguagem ideal para a criação de uma nova categoria de programas, onde aproveita-se as oportunidades trazidas pela Internet. Este artigo apresentou o tema referente a linguagem de programação orientada a objetos C#, a plataforma de desenvolvimento Visual Studio e o Sistema gerenciador de Banco de Dados SQL Server 2014. 5. Referências Claudia, A. Vantagens da linguagem C#. Disponível em: <http://zip.net/bnpp4Z> Acesso em: 02/08/2014. Amstel, F. V. Afinal, o que é usabilidade. Disponível em: <http://zip.net/bcpp0p> Acesso em: 02/08/2014. Microsoft. Introdução à linguagem C# e ao .NET Framework. Disponível em: <http://zip.net/bnpp41> Acesso em: 02/08/2014. Marques, L. A. Comparando Java e C#. Disponível em: <http://zip.net/bvpqld> Acesso em: 08/08/2014. Araujo, E. C. Java e C#.NET - Um breve e introdutório estudo comparativo de suas sintaxes e convenções. Disponível em: <http://zip.net/bcpp0t> Acesso em: 08/08/2014. Microsoft. C#, Uma linguagem para o novo milênio. Disponível em: <http://zip.net/bvpqlj> Acesso em: 08/08/2014. Chacon, J. M. T. C#, Visual C# 2008. Disponível em: <http://zip.net/bcpp0y> Acesso em: 08/08/2014. David, M. F. Programação Orientada a Objetos: uma introdução. Disponível em: <http://zip.net/bxpq1X> Acesso em: 27/08/2014. Microsoft. Recursos do SQL Server 2014. Disponível em: <http://zip.net/bgppZn> Acesso em: 28/08/2014. Varela, M. .NET Iniciante: Introdução ao C#. Disponível em: <http://zip.net/bhpqCP> Acesso em: 28/08/2014. Visual Studio. Recursos. Disponível em: <http://zip.net/btpsfC> Acesso em: 28/08/2014.