terça-feira, 24 de agosto de 2010

2. O que é código fonte? O que é código objeto? E software open source ? Qual a importância desses conceitos na hora de contratar o desenvolvimento de um sistema automatizado?

Código fonte (código-fonte, ou até source code em inglês).
É o conjunto de palavras ou símbolos escritos de forma ordenada, contendo instruções em uma das linguagens de programação existentes, de maneira lógica. Existem linguagens que são compiladas e as que são interpretadas. As linguagens compiladas, após ser compilado o código fonte, transformam-se em software, ou seja, programas executáveis. Este conjunto de palavras que formam linhas de comandos deverá estar dentro da padronização da linguagem escolhida, obedecendo a critérios de execução. Atualmente, com a diversificação de linguagens, o código pode ser escrito de forma totalmente modular, podendo um mesmo conjunto de códigos ser compartilhado por diversos programas e, até mesmo, linguagens.
Código Objeto
Em programação de computadores, código objeto ou arquivo objeto é o nome dado ao código resultante da compilação do código fonte. Normalmente, o código fonte é formado por uma sequência de instruções no formato especificado por alguma linguagem de programação. Para cada arquivo de código fonte é gerado um arquivo com código objeto, que posteriormente é "ligado" aos outros, através de um linker, resultando num arquivo executável ou biblioteca.
Um arquivo objeto, não só contém código objeto, mas também informações sobre alocação de memória, os símbolos do programa (como nomes de variáveis e de funções) e também informações sobre debug.
Há vários formatos de arquivo objeto; originalmente, cada tipo de computador tinha seu próprio formato, mas com o advento de sistemas operacionais portáveis (como por exemplo: o Unix) alguns formatos, como o COFF e o ELF, foram padronizados e utilizados em diferentes sistemas. É comum o mesmo formato de arquivo objeto servir tanto como entrada quanto para saída do linker, sendo portanto, utilizado no arquivo executável ou biblioteca gerado.
O formato dos arquivos objetos é parte importante no projeto de um sistema operacional: ele afeta o tempo que os programas levam para serem ligados e assim afeta o tempo de desenvolvimento dos sistemas. Além disso, se o formato também é utilizado para os arquivos executáveis, ele influi no tempo que o programa leva para começar a executar, afetando assim a responsividade do programa para o usuário final. A maioria dos formatos é estruturada na forma de blocos todos do mesmo tipo, podendo ser mapeados conforme necessário pelo sistema de memória virtual do sistema operacional, sem necessidade de mais processamento antes de serem utilizados.
O tipo mais simples de código objeto é o COM do DOS, que é apenas um arquivo com bytes sempre carregados na mesma posição da memória. Outros formatos contêm várias estruturas e subestruturas, cuja especificação abrange várias páginas.
Software open source
O termo código aberto, ou open source em inglês, foi criado pela OSI (Open Source Initiative) e refere-se a software também conhecido por software livre. Genericamente trata-se de software que respeita as quatro liberdades definidas pela Free Software Foundation, compartilhadas também pelo projeto Debian, nomeadamente em "Debian Free Software Guidelines (DFSG)". Qualquer licença de software livre é também uma licença de código aberto (Open Source), a diferença entre as duas nomenclaturas reside essencialmente na sua apresentação. O software Open Source tem vindo a ganhar uma importância crescente em todos os quadrantes das Tecnologias da Informação. Este tipo de software é hoje largamente utilizado nas áreas de suporte, infraestrutura e aplicacional. Em simultâneo, o mercado tem criado pressão na procura de profissionais que entendam o modelo, a tecnologia e o enquadramento em que este software pode ser eficazmente utilizado para benefício das organizações.
Importância desses conceitos na hora de contratar o desenvolvimento de um sistema automatizado

Controlar a qualidade de sistemas de software é um grande desafio devido à alta complexidade dos produtos e às inúmeras dificuldades relacionadas ao processo de desenvolvimento, que envolve questões humanas, técnicas, burocráticas, de negócio e políticas. Idealmente, os sistemas de software devem não só fazer corretamente o que o cliente precisa, mas também fazê-lo de forma segura, eficiente e escalável e serem flexíveis, de fácil manutenção e
evolução.

Por isso, a importância de se conhecer os conceitos acima, logicamente que de maneira mais aprofundada, na hora de se contratar o desenvolvimento de um sistema automatizado, é o fato de que é a partir desses conceitos que o contratante poderá saber se está comprando um produto que lhe será útil e se será de qualidade.
O código objeto é de extrema importância, pois o mesmo influencia no tempo que o programa leva para ser ligado e assim quanto tempo de desenvolvimento dos sistemas, ou seja, ele afeta diretamente o tempo de resposta do programa para o cliente final.
Já Software open source apesar de centrada na área das Tecnologias da Informação, muitas empresas passaram a incluir também nas áreas da Qualidade, Economia e Direito. É fundamental hoje buscar soluções informáticas, para a gestão de projetos que o incluam segurança, praticidade e rapidez e isso é possível com a escolha de um modelo Open Source para a disponibilização dos produtos de qualidade para empresa.

Nenhum comentário:

Postar um comentário