telecomHall BR

 

Conceitos e Definições

terça-feira, 16 de março de 2010 20:00:00 Categories: Hunter
Rate this Content 1 Votes

Antes de iniciarmos nosso projeto, é essencial conhecer alguns conceitos e definições, que serão amplamente utilizados, e que servirão como base para o começo do trabalho, envolvendo Telecomunicações, TI e Programação. A partir deste ponto, vamos aplicar a metodologia de ensino telecomHall, tirando eventuais dúvidas e nos preparando para prosseguir.

 

 

 

O que é uma Ferramenta?

Um dos primeiros conceitos que devemos nos acostumar é o de ferramenta de trabalho.

Você sabe o que é uma ferramenta? Quando pensa num pintor, por exemplo, qual o objeto que automaticamente já imagina associado a ele? Correto: um pincel.

No caso do profissional de Telecom e TI, as ferramentas são programas, aplicativos, ou qualquer sistema que auxilie a executar o seu trabalho. Quanto mais ferramentas você dominar, maior será sua capacidade de resolver as suas tarefas do dia-a-dia. Por exemplo, se o pintor, além do pincel, souber programar a máquina que cria as cores exatamente como o gosto de seus clientes, certamente ele irá ter mais sucesso em seu trabalho do que os demais pintores que sabem apenas utilizar um pincel.

A seguir temos uma figura com as principais – não todas é claro – ferramentas utilizadas pelo profissional de Telecom e TI.

Mais adiante, vamos falar bastante sobre cada uma delas, e outras que nem foram mostradas aqui.

 

E o que é um Sistema?

Um conjunto de ferramentas é um sistema. Além disso, todo sistema deve ter um nome. Fica muito mais fácil e organizado nos referir ao mesmo pelo nome. O nome do sistema que vamos criar será Hunter. A partir de agora, vamos nos referir ao Hunter ao invés de nosso sistema.

Hunter é a abreviação de Home User Network Tool for Enhanced Results, em inglês Ferramenta de Rede de Usuário Local para Resultados Avançados. Hunter em inglês quer dizer caçador, e nossa ferramenta também tem essa função: caçar problemas na rede. O seu significado também deu origem ao seu logotipo, visto logo a seguir.

A idéia de um sistema como o Hunter surge da necessidade da verificação constante e eficiente de rede, da maneira mais rápida e precisa possível, e sem demandar tempo excessivo do profissionais da área.

A tarefa de verificação constante e detalhada de todos os elementos de uma rede é muito complexa, ainda mais quando se têm muitos elementos como centrais, BTS, plataformas; e diferentes fornecedores.

Além da complexidade das análises, existe também o problema de periodicidade, pois os dados de saída devem ser verificados no menor tempo possível, identificando os problemas de forma mais precisa e rápida.

A única forma de atender aos objetivos acima é desenvolver um sistema que integre todos os elementos e fornecedores; analise os dados automaticamente dentro de premissas pré-definidas e de forma rápida; informe os responsáveis de cada área, por exemplo com um e-mail ou sms, sobre os problemas encontrados; e que ainda apresente resumos simplificados do sistema; entre outros.

Em virtude de novas necessidades específicas, outros módulos também podem ser desenvolvidos na ferramenta, cada um de acordo com a sua finalidade. O detalhamento da ferramenta e de cada um dos seus módulos será feito em seu devido tempo.

 

Módulos – Organização que resulta em Produtividade

Todo o nosso sistema é modular, ou seja, é desenvolvido em partes que poderão funcionar separadamente ou em conjunto com outras, sempre gerando um resultado específico. O conceito de módulos é muito importante, e representa também organização. No nosso caso, diretamente ligado ao sistema que iremos desenvolver.

A idéia dos módulos será mais bem entendida ao longo do desenvolvimento, mas basicamente é reutilizar partes já desenvolvidas sempre que possível.

Num exemplo prático, suponhamos que temos uma tabela com os endereços das nossas estações, e alguns campos como altura e tipo de antena que é utilizada para uma aplicação, digamos, por exemplo, para um relatório gerencial semanal. Se precisarmos criar uma nova aplicação que utilize algumas dessas informações, simplesmente vinculamos os dados daquela origem. Assim, quando, por exemplo, um endereço for alterado na origem, também será alterado na nova aplicação.

Não se preocupe se ainda não ficou bem claro. Você entenderá isso na prática, quando começarmos a criar as aplicações.

 

Estrutura

A estrutura do nosso sistema será desenvolvida no diretório local (Drive C).

Hunter (1): diretório principal, onde se encontrarão todos os demais subdiretórios correspondentes a cada um dos outros módulos e sub-módulos.

Network (2): é um diretório de um módulo - neste caso estamos adiantando um pouco já que veremos isso mais tarde. Ou seja, o primeiro módulo de nossa ferramenta, como veremos, é o Network!

Database (3): é um sub-diretório do módulo Network. Para cada módulo podemos ter vários outros sub-diretórios padrão como Scripts e Data. Veremos essa estrutura com mais detalhes quando estivermos trabalhando com os módulos.

Além dos diretórios padrão mostrados, temos outros tipos de diretórios como Help e Log por exemplo. Essa forma de estrutura nos traz uma série de benefícios, que veremos com detalhes futuramente.

 

Programação: não é bicho de sete cabeças!

Sim, programação. Tá bom, ninguém aqui é programador (pelo menos a maioria). Mas a programação - mesmo a mais simples como uma macro gravada no Excel - nos ajuda e muito nas tarefas.

Além da ajuda para nós mesmos, temos ainda uma outra vantagem – para a Empresa onde trabalhamos. Muita gente acredita que é necessário gastar uma fortuna em bases de dados e programas para integração e automatização das redes celulares, e também para realizar análises e gerar relatórios.

Mas isso não é verdade! Existe uma maneira poderosa, e relativamente barata de se desenvolver sistemas de informação.

A maioria das empresas utiliza por exemplo o Microsoft Office, mas desconhecem que ele é programável (e de forma simples, você vai ver); mas mesmo assim gastam grandes somas em dinheiro em programas e ferramentas feitas sob encomenda, quase sempre para replicar o que já têm.

Muitos não discutem os benefícios dessa automatização devido ao desconhecimento dessa possibilidade relativamente barata, ou simplesmente não acreditam que possa ser tão “barato” fazer o trabalho de forma eficiente.

Uma indicação desta potencialidade pode ser encontrada no SAP. Se o SAP, um dos maiores sistemas de dados no mundo pode usar o Excel como seu “front-end” de relatório fiscal e análise, então ele deve ser bom o bastante, você não acha?

O argumento barato é bem expressivo. Não vale a pena investir para se conseguir algo que potencialmente já temos, uma vez que já possuímos os softwares mais sofisticados e bem testados disponíveis; tudo que temos a fazer é usá-los adequadamente.

O Office, extensamente utilizada em todo o mundo, tem uma linguagem de programação comum, o VBA, que permite a todos os seus programas – Word, Excel, Outlook, Access, PowerPoint, etc... – comunicar-se com, e utilizar as facilidades e características uns dos outros.

É possível também comunicar-se com, ou utilizar os modelos de objetos de todos os produtos restantes do mesmo fabricante (isto é Project, SQL Server, etc.), assim como muitas aplicações de outros fabricantes (DDE). VBA é a mesma linguagem que o Visual Basic, usado por milhões de programadores em todo o mundo.

Inúmeros outros programas vêm com sua linguagem de programação própria, como por exemplo o Mapinfo que tem o Mapbasic. A grande vantagem é que a linguagens de programação são geralmente muito parecidas. Isso significa que se você souber criar programas em VBA, com certeza criará facilmente seus programas em Mapbasic.

Você irá se surpreender com esse novo mundo da programação que vamos explorar. Mas não se preocupe se ainda não sabe nem gravar uma macro no Excel – basta seguir os passo a passo e você chegará lá!

 

Programar nos deixa preguiçosos?

Essa é uma questão interessante. Não consideramos que quem busca otimizar o trabalho com a ajuda da programação possa ser considerado preguiçoso. O que ocorre é que, após você praticar e dominar algumas técnicas de programação – que quase sempre te dão o resultado de forma mais rápida e eficiente – você pensará sempre em utilizá-la em seu trabalho.

Muitas vezes, no tempo que você gastaria para realizar alguma tarefa repetitiva manualmente, você pode escrever algumas linhas de códigos que farão o trabalho para você. E mesmo que você gastasse até mais um pouco de tempo para fazer via código, agora você tem um código que pode reutilizar em outros projetos – ou até nessa mesma tarefa, se por algum motivo tiver que refazer todo o trabalho. Os benefícios e economia de tempo serão vistos em longo prazo.

 

Dados, dados e dados

Outra definição importante é a fonte dos dados que iremos utilizar. É importante que nosso sistema seja independente de qualquer entrada de dados. Em outras palavras, não importa se os dados estão em arquivos texto, tabelas do Excel, ou qualquer outro formato comercial. Precisamos saber extrair o que precisamos como dados de entrada para o nosso sistema.

Os dados do nosso sistema serão todos fictícios – não são dados reais de nenhuma rede ou fornecedor específico. Todos serão criados oportunamente, assim que forem necessário para a exemplificação, como endereços das nossas estações, KPI’s, parâmetros, etc. Tudo será definido do zero, até mesmo onde nossa rede celular estará localizada.

 

Metodologia e Tutoriais

A metodologia para o aprendizado seguirá o estilo de tutoriais, geralmente iniciando com uma introdução simples e terminando com o módulo desenvolvido. O tutorial, os arquivos e códigos serão disponibilizados para download diretamente na página do Blog. A sequência de evolução dos tutoriais (roadmap) será de acordo com o ritmo e necessidade de acordo com o feedback recebido dos próprios membros (nos comentários do próprio Blog, ou pelo contato do Suporte).

O objetivo dos nossos tutoriais é ensinar, ou melhor, apresentar um amplo conjunto de informações que um consultor de Telecomunicações ou TI deve ter. Isso é ótimo para iniciantes, mas mesmo os usuários com mais experiência encontrarão tópicos interessantes e úteis.

Mesmo que você nunca tenha trabalhado com alguns dos programas utilizados, ou que nunca tenha programado nada, poderá tirar proveito das lições apresentadas.

 

O que essa Metodologia é, e o que ela não é?

Definitivamente, essa não é uma série de lições para ensinar você a programar. Nós iremos aprender fazendo. Se você já tiver algum conhecimento de Visual Basic ou alguma outra linguagem de programação: excelente! Se nunca tiver nem ouvido falar, não se preocupe, tentaremos ser o mais simples e diretos possível sempre que houver algo a ser entendido. Nosso objetivo não é criar um conjunto completo com todas as lições que compreendam todas as possibilidades e exemplos possíveis. Esperamos te dar os fundamentos, e mostrar a você como construir baseado nestes fundamentos para ir adiante e desenvolver as soluções necessárias para quaisquer que sejam as suas necessidades. Ou seja, você será capacitado a atuar como um consultor!

A perspectiva dessas lições não são as de um programador de computador, então existe uma chance de haver maneiras mais eficientes de escrever alguns dos códigos desenvolvidos. Geralmente usamos a maneira da força bruta, e o código às vezes pode parecer deselegante. Nós somos consultores de Telecomunicações e TI, e essa é a nossa perspectiva. Assumimos que os programas ou códigos que você irá escrever têm a finalidade de facilitar, ou adicionar funcionalidades a certas tarefas e análises, e isso fazem com certeza. Mas não são programas profissionais para serem, por exemplo, redistribuídos. Se este for o caso, e você deseja construir aplicativos completos, você realmente deve aprofunda os estudos num curso específico de programação avançada.

 

 

Programas e Licenças

Todos os programas utilizados para o nosso trabalho são gratuitos ou então utilizados durante o período de trail. Quanto ao conteúdo do site, por uma questão de ética, e também de justiça para com os demais assinantes, você não deverá repassar ou distribuir as lições – bem como os códigos – para outras pessoas. Caso isto aconteça, você será automaticamente excluído como membro do site. Não queremos que isso aconteça, nem que os demais assinante sejam injustiçados – paguem por aquilo que outros tentam conseguir sem custos. Por isso, o valor da assinatura para membros tem um valor praticamente simbólico.

E se eu não entender alguma coisa?

Os tutoriais são escritos numa linguagem bem simples, como a do dia-a-dia, assim como a linguagem de todo o site. Os exemplos são completos, com arquivos e código fonte (totalmente comentado) disponíveis para download. Se mesmo assim você não entender alguma parte, ou persistir alguma dúvida, como falamos você poderá deixar seu comentário na própria página do tutorial (Blog), ou entrar em contato via chat ou e-mail, através da página de suporte.

Se você ainda assim estiver confuso com algumas das linguagens de programação utilizadas, mesmo com os exemplos completos, recomendamos procure no Google o tutorial dessa linguagem, e certamente você encontrará boas referências.

Todos os tutoriais, códigos e programas estão num processo contínuo de edição. Isso significa que se encontrarmos algum erro, por exemplo, de gramática ou ortografia, tentaremos corrigi-lo o mais rápido possível. Também contamos com o seu feedback, nos informando de erros encontrados ou passagens que ficaram confusas e merecem ser reescritas.

 

Conclusão

Após esta introdução aos conceitos e definições que iremos utilizar – bem extensa a propósito – estamos prontos para começar, e partir para a prática das idéias apresentadas. Faremos isso a partir do nosso próximo tutorial.

Esperamos que você tenha gostado. Por favor tire suas dúvidas postando seus comentários no blog ou através do nosso suporte via chat ou e-mail.

Até nosso próximo encontro, e lembre-se: O seu sucesso é o nosso sucesso!