Você está na página 1de 5

Senai Extrema Janez Hlebanja

Khauã Franco Correia

Matteus Mascarenhas Martins da Silva

Fundamentos de software

Extrema
2023
Fundamentos de software

Os fundamentos de software são definidos como os conceitos básicos,


princípios e elementos que ajudam no funcionamento, desenvolvimento
e implementação de sistemas de software e programas de computador.
Possuir esses conceitos básicos é essencial para criação e construção
de software confiáveis e de alta qualidade, além de ajudar no
entendimento de como os softwares funcionam.
Nos últimos anos os fundamentos de softwares evoluíram
consideravelmente devido pelo grande avanço tecnológico e a grande
mudança na demanda da indústria de desenvolvimento de softwares e a
nas industrias em geral. Os softwares foram criados na década de 1940,
durante a segunda guerra mundial, para fins específicos, relacionados a
questões militares e cientificas durante a guerra. Atualmente o
desenvolvimento de softwares esta focado no desenvolvimento de
tecnologias emergentes, como IAs, Blockchain, aprendizado de maquina
e Internet das Coisas (IoT), além da segurança cibernética devido ao
grande aumento da dependência de tecnologia no cotidiano das
pessoas.
Os fundamentos de software incluem e englobam diversos conceito e
princípios para criação e funcionamento de programas de computador.
Os principais fundamentos de software incluem:
Linguagem de Programação: as linguagens de programação são
utilizadas pelos desenvolvedores para escrever códigos-fontes que
instruem o computador tarefas especificas, também são utilizadas para
diversas outras coisas como codificação, compilação/interpretação,
manipulação de dados, depuração, interpretação de logica, execução de
programas e etc.
Estruturas de Dado: Se referem a forma como os dados são organizados
e armazenados no software. Escolher corretamente a estrutura de dados
afeta significativamente o desempenho de um programa.
Segurança de software: É um conjunto de técnicas, praticas e medidas
implementadas para proteger um software contra vulnerabilidades,
ameaças e ataque malicioso
Gerenciamento de Projetos de Software: Engloba diversos métodos e
praticas para o melhor planejamento e execução e monitoramento de
projetos de desenvolvimento de software de forma mais eficiente.

Testes de Softwares: Os testes de softwares utilizam uma metodologia


para verificar se o software está em seu funcionamento correto e
conforme o esperado atendo os requisitos propostos. Incluindo também
diversos testes como testes unitários, teste de integração, teste de
sistemas e etc.
Arquitetura de softwares: Define a estrutura de geral do sistema,
incluindo a organização de componentes e sua divisão em módulos, a
interação entre eles e o principio de design que orientam sua
construção.
Para que os softwares sejam criados e distribuídos de forma legal e
utilizados por outras pessoas, é necessário que se possua uma licença
de software. A licença de software é um contrato legal que cria e
estabelece os termos sob os quais os softwares podem ser utilizados,
modificas e distribuídos.
Quando a empresa não possui uma licença de software o código-fonte e
os direitos autorais associados ao software são exclusivamente do
criador original ou da empresa que o desenvolveu. Significando que
outras pessoas não podem alterar, copiar ou distribuir o software a
menos que haja uma licença ou contrato que permita essas ações.
Quando o desenvolvedor desejar disponibilizar seu software para o uso
e distribuição para terceiros, ele possuíra diversas licenças de softwares
disponíveis para escolher como licenças de software aberto que permite
o uso gratuito e até mesmo modificações e distribuições do software sob
certas condições. Já outras licenças podem ser mais restritivas,
permitindo o uso apenas para fins não comerciais e não permitindo
medicações e redistribuições sem permissão explicita do detentor dos
direitos do software.
Atualmente existem diversas licenças como:
Licença de código aberto: esse GNU General Public License (GPL): Esta
é uma das licenças de código aberto mais populares e foi projetada para
proteger a liberdade dos usuários de usar, pesquisar, modificar e
distribuir software. Quaisquer modificações ou trabalhos derivados
também devem ser licenciados sob a GPL.
Licença MIT: Uma licença de código aberto que permite aos usuários
usar, modificar, distribuir e sublicenciar este software sujeito aos termos
da licença original e avisos de direitos autorais.
Licença Apache: Outra licença que permite aos usuários usar, modificar,
distribuir e sublicenciar o software. Também prevê a transferência
expressa dos direitos de patente dos acionistas para os usuários.
Licença BSD: É uma família de licenças com vários graus de
permissividade. Em geral, você permite o uso, modificação e distribuição
gratuitos do Software, desde que o aviso de direitos autorais original seja
preservado.
Mozilla Public License (MPL): Esta licença permite o uso, modificação e
distribuição do software, mas também exige que todas as modificações
sejam distribuídas sob a MPL.
Licença proprietária: esse Licença comercial: software proprietário
geralmente exige que o usuário adquira uma licença e os termos e
condições específicos são definidos pelo fornecedor.
Contrato de licença de usuário final (EULA): comumente usados para
software de consumidor, um contrato de licença de usuário final
estabelece os direitos e restrições concedidos ao usuário final ao instalar
ou usar o software
Licença de assinatura: Alguns softwares são fornecidos sob um modelo
de assinatura no qual os usuários pagam uma taxa recorrente para
acessar e usar o software durante o período de assinatura. dr. Software
Livre Proprietário: Este tipo de licença permite que o usuário use o
software gratuitamente, mas não fornece o código-fonte e a
redistribuição pode ser restrita.
Shareware: Shareware é distribuído gratuitamente com funcionalidade
limitada e os usuários são encorajados a comprar uma versão completa
com recursos adicionais ou funcionalidade ilimitada.
Alem de possuirmos diversas licenças de software, também existem
diversos tipos de software como:
Software de sistema: Sistema operacional (como Windows, macOS e
Linux): controla os recursos de hardware e fornece a interface por meio
da qual um usuário interage com um computador.

Drivers (como drivers de impressora e drivers gráficos):


permitem a comunicação entre o hardware e o sistema
operacional.
Software de programação: Compilação: compilação de
código-fonte escrito em uma linguagem de programação em
código de máquina executável.
Editor de Código: Um ambiente de desenvolvimento integrado
(IDE) ou editor de texto para escrever e editar código.
Programas de ajuda: Antivírus e Malware: Proteja seu sistema
contra ameaças de vírus e malware.
Ferramenta de backup: crie backups de dados para evitar a
perda de informações. Compressor de arquivo: reduz o
tamanho do arquivo para economizar espaço de
armazenamento e facilitar a transferência. Software de
comunicação: Navegador da Web: permite que você navegue
na Internet. Cliente de e-mail: Um aplicativo para gerenciar e
enviar e-mail. Mensagens Instantâneas: Facilita a
comunicação em tempo real através de mensagens de texto,
voz ou vídeo.
Software de produtividade: Pacotes do Office (como Microsoft
Office e LibreOffice): incluem aplicativos como processadores
de texto, planilhas, apresentações e muito mais. Gerente de
projetos: ajuda na organização e planejamento de projetos.

Software multimídia: Media Player: Reproduz áudio e vídeo


em vários formatos. Edição de imagens: permite a
manipulação e edição de imagens. Editor de vídeo e áudio -
para edição e criação de conteúdo multimídia.
Programa de entretenimento: Jogos de computador: jogos
eletrônicos que são usados para entretenimento e
entretenimento. Software de segurança: Firewall: protege
redes e sistemas contra acessos não autorizados. Software
de criptografia: criptografa dados para garantir segurança e
privacidade.
Programas educacionais: Plataforma de Aprendizagem:
Permite o acesso a cursos online e conteúdos educacionais.
Programas Educacionais: Oferece atividades e recursos
educacionais interativos.

Você também pode gostar