Você está na página 1de 9

Introdução a engenharia de software

ECIT PE. JERÔNIMO LAUWEN


DISCIPLINA: ENGENHARIA DE SOFTWARE
PROF: VERÔNICA ARAÚJO
CURSO TÉCNICO EM INFORMÁTICA
O QUE É SOFTWARE?

• São programas de computadores, em suas Características


diversas formas, além da documentação
• Invisível
associada.
• Complexo
• Um programa é um conjunto de soluções
algorítmicas, codificadas em uma linguagem • Mutável
de programação, executado em uma máquina
• Em conformidade com o
real (hardware).
ambiente
• Software é um produto conceitual e lógico. É
[Brooks, F. No Silver Bullet]
empacotamento de conhecimento.

O primeiro software foi escrito por Ada Lovelace, século 19


O QUE É ENGENHARIA DE
SOFTWARE?
• Disciplina dedicada a todos os aspectos da produção de
software.
• Aplicação de teoria, modelos, formalismos, técnicas e
ferramentas da ciência da computação e áreas afins para o
desenvolvimento sistemático de software.

Aplicação de métodos, técnicas e ferramentas para o
gerenciamento do processo de desenvolvimento.
Qual o objetivo da engenharia
de software?
 A engenharia de software tem por objetivo apoiar o desenvolvimento profissional de
software, mais do que a programação individual. Ela inclui técnicas que apoiam
especificação, projeto e evolução de programas, que normalmente não são relevantes
para o desenvolvimento de software pessoal.

 Quando se fala em engenahria de software não se trata apenas do programa em si, mas
de toda a documentação associada e dados de configuração necessários para se fazer
esse programa operar corretamente.

 Um sistema de software desenvolvido profissionalmente, é mais do que apenas um


programa, ele consiste em uma série de programas separados e arquivos de
configurações que são usados para configurar esse programa.

 Isso inclui documentação de sistema, que descreve a sua estrutura; ducumentação do


usuário, que explica como usar o sitema; e sites para os usuários baixarem a
informação recente do produto.
Quais são as principais
atividades de engenharia de
software?
• Especificação de Software: Os engenheiros e clientes definem o
software a ser produzido e as restrições de sua operação.
• Desenvolvimento de software: O processo em que o software é
projetado e programado.
• Validação de software: O software é validado para garantir que
faça o que o cliente quer.
• Evolução de software: O software é capaz de receber atualizações
de acordo com novos requisitos que o cliente e o mercado venha a
exigir.
Quais são os principais desafios
da engenharia de software?

 Lidar com o aumento de diversidade, demandas pela


diminuição do tempo para entrega e desenvolvimento de
software confiável.
Quais são os atributos de um bom
software?
• Manutenibilidade: O software deve ser escrito de forma que
possa evoluir para atender às necessidades dos
clientes.
• Confiança e proteção: A confiança do software inclui
confiabilidade, proteção e segurança.
• Eficiência: O software não deve desperdiçar os recursos do
sistema, como memória e ciclos do processador.
• Aceitabilidade: O software deve ser aceitável para o tipo
de usuário para o qual foi projetado.
Tipos de softwares
 Softwares genéricos: Produzidos por uma empresa e disponibilizados no
mercado para qualquer cliente que esteja interessado em compra-lo;
 EX: Os produtos office.
 Software de prateleira: Foca em soluções mais comuns ao mercado. Esse
tipo pode ser adquirido por qualquer empresa que se adapte ao que é
oferecido pelo programa;
 EX: Ferramentas do Google
 Software sob Encomenda: São softwares encomendados por um cliente em
particular. A empresa desenvolve o software esse cliente.
 EX: Exemplos desse tipo de software são sistemas de controle de
dispositivos eletrônicos, sistemas escritos para apoiar um
processo de negócio específico e sistemas de controle de trafego
aéreo.
 Softwares livres: É o software que concede liberdade ao usuário para
executar, acessar e modificar o código fonte, e redistribuir cópias com ou
sem modificações
 EX: Linux
 Software Pago: É o software que quelquer pessoa pode usar desde de que
pague por ele.
 EX: Netflix, Sportifi, Prime video...
Aspectos gerais dos softwares

 Heterogeneidade: Cada vez mais requer dos sistemas que operem como
sistemas distribuídos através das redes que incluem diferentes tipos de
computadores e dispositivos móveis. Frequentemente é necessário integrar
softwares novos com sistemas mais antigos, escritos em linguagens de
programação diferentes. O desafio é desenvolver técnicas para construir um
software confiável que seja flexível o suficiente para lidar com essas mudanças.

 Mudança de negócio e social: Os negócios e a sociedade estão mudando em


uma velocidade incrivelmente rápida, a media que as economias se
desenvolvem novas tecnologias são implementadas a elas. Deve ser possível
alterar o software existente e desenvolver um novo rapidamente. Muitas
técnicas tradicionais de engenharia de software consomem tempo, e a entrega
de novos sistemas frequentemente é mais demorada. É preciso evoluir para que
o tempo requerido para o software dar retornos a seus clientes seja reduzido.
 Segurança e confiança: Pelo fato de o software estar presente em todos os
aspectos de nossas vidas, é essencial que possamos confiar nele. Isso se torna
verdade especialmente para sistemas remotos acessados através de uma página
Web ou uma interface de web Service. Precisamos ter certeza de que os
usuários maliciosos não possam atacar nosso software e de que a proteção da
informaçao seja mantida.

Você também pode gostar