Conceitos de TI: Dados, Sistemas e Linguagens
Conceitos Básicos de TI
Dados
Dados são os itens considerados como unidades de tratamento dentro de um sistema de processamento de dados. Existem dois tipos:
- Dados de entrada: a serem processados.
- Dados de saída: resultado do processamento.
Conceitos Importantes
- Instrução: Ordem transmitida ao computador para realizar tarefas específicas.
- Aplicação de Computador: Conjunto de programas relacionados.
- Sistema: Conjunto de elementos inter-relacionados para um propósito particular.
- Sistema de Computador: Conjunto de elementos que podem processar informações.
Linguagem de Montagem (Assembly)
É uma linguagem simbólica que substitui a linguagem de máquina e se baseia em mnemônicos. Exige amplo conhecimento da estrutura e do funcionamento interno de um computador, além de uma hábil manipulação de códigos de numeração, geralmente binários e hexadecimais.
Vantagens:
- Mais rápido que programas em linguagem de alto nível.
- Ocupa menos espaço em memória.
- Mais fácil de trabalhar com periféricos.
- Facilita o desenvolvimento de drivers.
- O código-fonte é montado diretamente em código de máquina.
Desvantagens:
- Gera programas maiores que os feitos em linguagem de alto nível.
- Não são portáteis (funcionam para um determinado processador).
- Mais difícil de escrever e depurar.
- Dificulta correções e modificações.
Linguagens de Alto Nível
São mais próximas da linguagem do programador.
Vantagens:
- Independentes da estrutura do processador.
- Não exigem muito conhecimento sobre o funcionamento interno do computador.
- Facilitam o desenvolvimento, a depuração e a manutenção de aplicativos.
Desvantagens:
- Os programas precisam ser traduzidos em linguagem de máquina para que a CPU entenda.
- Exigem um tradutor específico para cada máquina (compiladores, montadores ou interpretadores).
Ciclo de Vida de Software
O desenvolvimento de qualquer aplicação é baseado no conceito de ciclo de vida, que estabelece uma série de etapas a serem seguidas em sequência e de forma ordenada:
1. Análise
Nesta fase, define-se o conjunto de produtos a serem desenvolvidos, sendo necessário especificar os processos e estruturas de dados. Deve haver uma grande comunicação entre o analista e o usuário para entender todas as necessidades e limitações. Em casos de ambiguidade ou falta de informação, pode ser necessário criar protótipos. O analista pode conceber uma aplicação do zero ou parametrizar uma já existente.
2. Design
Busca-se uma solução ideal, bem detalhada e com a maior precisão possível, levando em consideração os recursos físicos (tipo de computador, periféricos, comunicação) e lógicos (sistemas operacionais, compiladores, bancos de dados) do sistema. Para projetar soluções, pode-se usar algoritmos, fluxogramas, diagramas e tabelas de decisão em notação pseudocodificada. A fase de design termina com um documento detalhado da solução (livro de carga).
3. Codificação
É a fase que reflete a abordagem adotada na fase de design em uma linguagem de programação particular, com base no livro de carga. Nesta fase, também é feita a verificação de erros e a depuração do programa.
4. Operação/Execução
A aplicação é realizada através da instalação do software no ambiente operacional. Fases:
- Instalação.
- Configuração.
- Testes de aceitação global.
- Conversão do sistema antigo para o novo.
- Desativação do sistema antigo.
É fundamental educar os usuários finais sobre o novo sistema e a utilização do novo aplicativo.
5. Manutenção
Após a realização do ciclo de vida, são feitos os ajustes necessários para corrigir erros e deficiências do produto desenvolvido. Essas ações podem levar à retomada do ciclo de vida. O tempo gasto em manutenção depende da qualidade do desenvolvimento e da documentação.