FERRAMENTAS NECESSÁRIAS PARA O DESENVOLVIMENTO EM C# Camila Sanches Navarro 1,2, Willian Magalhães2 ¹Universidade paranaense (Unipar) Paranavaí – PR – Brasil [email protected] [email protected] Resumo. Este artigo contém a descrição das ferramentas necessárias para o desenvolvimento com a linguagem de programação orientada a objetos C#, tendo como objetivo relatar algumas das vantagens que essa tecnologia é capaz de proporcionar ao desenvolvedor, descrevendo também o Visual Studio (plataforma utilizada para desenvolvimento) 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 atualmente encontra-se entre as melhores tecnologias existentes, agregando assim cada vez mais adeptos. 1. Introdução Conforme o avanço tecnológico, a programação estruturada, atualmente, vem sendo substituída pela programação orientada a objetos. Isso se dá devido diversas vantagens em sua utilização. A programação orientada a objetos foi desenvolvida com o intuito de simular o mundo real dentro de um computador, onde o programador modela os objetos e faz a interação entre eles, o que gera uma maior organização do código, contribuindo assim com o reaproveitamento de códigos para um novo projeto. [Claudia, 2011] Quando o desejo é obter um produto final de qualidade devemos fazer uso de ferramentas bem planejadas e desenvolvidas. Dentre das ferramentas classificadas como de alta qualidade, pode-se 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 é atualmente um dos grandes produtos de desenvolvimento na web, o mesmo faz uso da plataforma do ASP.NET, não esquecendo também do sistema gerenciador de banco de dados SQL Server, tendo como função armazenar e recuperar dados solicitados por uma determinada aplicação de software. [Sanches, 2014] Este artigo tem por objetivo relatar de forma simplificada e direta algumas das ferramentas necessárias para o desenvolvimento de um software utilizando a linguagem de programação C#, sendo que as ferramentas a serem abordadas são: a plataforma de desenvolvimento Visual Studio e o sistema gerenciador de banco de dados SQL Server 2014, ambos desenvolvidos pela Microsoft. Sendo assim tem-se como intuito auxiliar um desenvolvedor que queira adotar em seu projeto a linguagem de programação C#, a conhecer as ferramentas necessárias. [Microsoft, 2015] 2. Metodologia O trabalho foi elaborado tendo como base estudos em artigos e sites com o conteúdo desejado, para que possa ficar claro de forma objetiva as funcionalidades da linguagem de programação orientada a objetos C# aliada com a plataforma de operação Visual Studio e o Sistema Gerenciador de Banco de Dados SQL Server. 3. Desenvolvimento 3.1. Programação Orientada a Objetos Com o surgimento de algumas necessidades quanto ao desenvolvimento de softwares, a programação orientada a objetos está em alta no mercado, pois foi elaborada com o intuito de simular o mundo real dentro de um computado, como já foi citado. Através da programação orientada a objetos, o programador modela os objetos e realiza a interação entre eles, elaborando os códigos de forma simplificada e organizada. [David, 2007] Para se modelar um objeto devemos levar em conta alguns conceitos, entre eles as Classes, Atributos, Métodos, Abstração, Encapsulamento, Associação, Herança e o Polimorfismo. O molde para criar os objetos é a Classe, pois ela possui todas as especificações de um grupo de objetos, como por exemplo a Classe Alunos. Nos Atributos cabe ao desenvolvedor definir as características dos objetos a serem inseridos como por exemplo a data de nascimento, nome completo, endereço e entre outros. Para definir o comportamento de cada Objeto, utilizamos os Métodos, onde a Classe Alunos pode conter um Método denominado Matricular. A Abstração é encarregada de 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 é o ato de um objeto no momento que o mesmo 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 comportamento, conhecido como Método, herdado de sua superclasse. [David, 2007] 3.2. Linguagem de Programação C# A linguagem de programação C# foi desenvolvida pela Microsoft (1999), comandada pela equipe formada por Anders Hejlsberb - conhecido também por desenvolver o Turbo Pascal e do Delphi - e outros profissionais. A nova linguagem desenvolvida recebeu inicialmente o nome de Cool, durante o desenvolvimento da plataforma .NET. Já no ano seguinte, em 2000, ano em que o projeto .NET foi apresentado ao público, a nova linguagem foi passou a ser conhecida e chamada de C#. [Microsoft, 2015] 3.2.1. Principais características da linguagem de programação C# A linguagem de programação C# foi elaborada desde o seu início tendo como meta uma total compatibilidade com a plataforma .NET, onde a sintaxe da linguagem foi diretamente baseada no C, C++. Contudo a mesma possui grandes influencias de outras linguagens de programação, como por exemplo o Java e o Object Pascal. Ela é fortemente tipada, contribuindo assim de forma a evitar erros oriundos de uma manipulação impropria de tipo ou atribuições. Todos os softwares desenvolvidos 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 de forma significante as falhas na programação enquanto a alocação e liberação de um objeto na memória. Contudo, é valido ressaltar que, a maior parte das classes do .NET Framework e até mesmo o compilador JScript foram desenvolvidos em C#. [Varela, 2000] Podemos afirmar que a sintaxe da linguagem de programação C# simplifica muitas das complexidades do C++ e disponibiliza alguns recursos poderosos, como por exemplo tipos de valor nulo, enumerações, delegações, expressões lambda e acesso direto à memória. A linguagem C# suporta métodos e tipos genéricos, fornecendo desta forma uma melhor segurança de tipo e desempenho, que permitem implementadores de coleções de classes para definir comportamentos de iteração personalizados que são simples de usar pelo código cliente. [MSDN, 2015] Sendo o C# uma linguagem orientada à objetos, a mesma suporta os conceitos de encapsulamento, herança e polimorfismo. Todas as variáveis e métodos, incluindo o método principal (Main), o ponto de execução de uma aplicação, são encapsuladas em definições de classes. Uma classe derivada pode ser herdada diretamente somente de uma classe pai, mas pode herdar de qualquer quantidade de interfaces. Métodos da classe derivada que substituem métodos virtuais de uma classe pai exigem a utilização da palavra-chave override como forma de evitar a redefinição acidental. Em C#, uma struct é como uma classe simplificada; é um tipo alocado em pilha que pode implementar interfaces, mas não suporta uma herança. [MSDN, 2015] Desta forma, C# é uma linguagem fácil de aprender e de utilizar, robusta e com boa performance. Em conjunto com os demais recursos da arquitetura .NET, o C# é uma linguagem ideal para a criação de uma nova categoria de softwares que aproveitam as oportunidades trazidas pela Internet. [Mauro, 2015] 3.3. Arquitetura da plataforma do .NET Framework Todos os softwares escritos em C# são executados no .NET Framework, que é um componente do Windows que possui um sistema de execução virtual denominado Common Language Runtime (CLR) e um conjunto unificado de bibliotecas de classes. O CLR é a implementação comercial da Microsoft da infraestrutura de linguagem comum (CLI), que segue um padrão internacional de base para o desenvolvimento e para a execução de ambientes onde as linguagens e as bibliotecas trabalham juntos sem problemas. [Microsoft, 2015] Todo código-fonte escrito em C# é compilado em uma linguagem intermediária que está de acordo com a especificação CLI. O código IL e os demais recursos, são todos armazenados em um arquivo executável no disco, denominado assembly. Um assembly possui um manifesto que possibilita fornecer informações sobre os tipos, versão, cultura e requisitos de segurança do assembly. Quando executamos um software desenvolvido em C#, o assembly é carregado diretamente para o CLR, onde o mesmo pode executar diversas ações com base nas informações do manifesto. Desta forma, assim que os requisitos de segurança são aprovados, o CLR passa a executar a compilação just in time para converter o código IL em instruções de máquina. [Microsoft, 2015] É valido ressaltar que o .NET Framework possui uma extensa biblioteca de mais de 4000 classes organizadas em namespaces, para oferecer uma extensa variedade de funcionalidades, sendo elas desde a manipulação de arquivos, strings, arquivos XML até mesmo a utilização de controles Windows Forms. [Microsoft, 2015] 3.4. Plataforma de Desenvolvimento Visual Studio A plataforma de desenvolvimento Visual Studio, que foi desenvolvido pela Microsoft no ano de 1997, tem por característica um ambiente de desenvolvimento que atende diversas linguagens, possuindo um maior enfoque as tecnologias criadas e utilizadas pela própria Microsoft. [Microsoft, 2014] Todos os produtos desenvolvidos pela Microsoft desde o seu início, possui o foco nos conceitos de Usabilidade, sendo assim, 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 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.4.1. Recursos da Plataforma Visual Studio A plataforma do Visual Studio oferece um ambiente de colaboração flexível para as equipes que trabalham em várias plataformas, juntamente com outras ferramentas de desenvolvimento, como o Eclipse e o Xcod. [Visual Studio, 2012] O ambiente de desenvolvimento do Visual Studio tem por finalidade agregar valor e realizar a tarefa mais rápido através de um ambiente de desenvolvimento limpo, rápido e potente. O Suporte à plataforma possibilita a compilação de aplicativos, bem como aplicativos Web móveis e serviços de nuvem em dispositivos. Na elaboração de um 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 com os participantes de negócios e os usuários finais por meio de determinadas ferramentas integradas, que 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 software desenvolvido seja executado corretamente. As ferramentas de teste de software garantem a qualidade em todo o ciclo de vida de um determinado produto, 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. 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.5. Utilizando o Gerenciador de Banco de Dados Microsoft SQL Server 2014 O Gerenciador de bando de dados SQL Server 2014 é a base da grande plataforma de dados da Microsoft. O mesmo disponibiliza um excelente desempenho crítico juntamente com tecnologias integradas in-memory e insights, tornando-o muito mais rápidos através de dados com ferramentas de análise conhecidas. [SQL Server, 2014] 3.5.1. Recursos do Gerenciador de Banco de Dados SQL Server 2014 O Gerenciador de Banco de Dados Microsoft SQL Server 2014 foi desenvolvido para oferecer aos seus usuários um desempenho inovador, com disponibilidade e capacidade maior de gerenciamento para aplicativos de missão crítica. O mesmo conta 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, agregando os recursos de data warehouse na memória e BI existentes, o que disponibiliza a mais completa solução de banco de dados na memória do mercado. [SQL Server, 2014] O SQL Server 2014 disponibiliza também a opção de novas soluções de recuperação de desastre, como a realização de backup e arquitetura híbrida com o Windows Azure, o que por sua vez, permite aos clientes usarem as suas habilidades com recursos locais que façam uso de datacenters globais da Microsoft. Entretanto. [SQL Server, 2014] 4. Considerações Finais Foi possível concluir que a linguagem de programação C# não deixa a desejar quando o assunto é facilitar o desenvolvimento do software. A mesma trabalha aliada com uma vasta gama de recursos que auxilia os programadores que a utilizam. C# conta com ferramentas desenvolvidas pela Microsoft, que por sua vez, visa sempre a qualidade de seus produtos, ferramentas essas que são a plataforma de desenvolvimento Visual Studio e o gerenciador de banco de dados SQL Server, além claro, de diversos recursos disponibilizados pela programação orientada a objetos. O .NET framework possibilita o desenvolvimento de variados modelos de aplicações, o que proporciona 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. A tecnologia C# está atualmente entre as melhores e mais procuradas linguagens de programação, devido a sua excelente performance, o que a torna uma linguagem ideal para a criação de uma nova categoria de softwares, onde aproveita-se cada vez mais as oportunidades trazidas pela Internet. Este artigo descreveu o tema referente a linguagem de programação orientada a objetos C# aliada ao .NET Framework a plataforma de desenvolvimento Visual Studio e o Sistema gerenciador de Banco de Dados SQL Server 2014. 5. Referências Microsoft. Recursos do SQL. Disponível em: <http://zip.net/bgppZn> Acesso em: 30/07/2015. Varela, M. Introdução ao C#. Disponível em: <http://zip.net/bhpqCP> Acesso em: 30/07/2015. Visual Studio. Recursos. Disponível em: <http://zip.net/btpsfC> Acesso em: 30/07/2015. Microsoft. C#, Uma linguagem para o novo milênio. Disponível em: <http://zip. net/ bvpqlj> Acesso em: 31/07/2015. Chacon, J. C#, Visual C#. Disponível em: <http://zip.net/bcpp0y> Acesso em: 31/07/2015. Amstel, F. V. Afinal, o que é usabilidade. Disponível em: <http://zip.net/bcpp0p> Acesso em: 01/08/2015. Marques, L. A. Comparando Java e C#. Disponível em: <http://zip.net/bvpqld> Acesso em: 01/08/2015. Claudia, A. Vantagens da linguagem C#. Disponível em: <http://zip.net/bnpp4Z> Acesso em: 01/08/2015. 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: 01/08/2015. Microsoft. Introdução à linguagem C# e ao .NET Framework. Disponível em: <http://zip.net/bnpp41> Acesso em: 10/08/2015. David, M. F. Programação Orientada a Objetos: uma introdução. Disponível em: <http://zip.net/bxpq1X> Acesso em: 15/08/2015. MSDN. Introdução à linguagem C# e ao .NET Framework. Disponível em: <http://zip.net/bgrRs3> Acesso em: 15/08/2014.