Você está na página 1de 4

Aula 1

Introdução de engenharia de software


Na década de 40, o mundo começou a se familiarizar com o primeiro
computador eletrônico dá história, o Eniac, lançado pela empresa IBM. Nessa
época, inicio-se também um processo de evolução nos sistemas
computadorizados, em que o desenvolvimento de hardware foi a principal

atividade de captação de esforços e custos, devido às dificuldades e limitações

presentes naquele período.

Com o passar dos anos, a tecnologia de hardware foi superada e, no início dos
anos 50, os desenvolvimentos dos sistemas operacionais tornou-se a grande
preocupação dentro das organizações empresariais.

O objetivo do desenvolvimento desses sistemas era fazer com que o usuário se


atentasse mais à resolução de questões relacionadas aos problemas
computacionais e menos ao funcionamento interno (hardware).

Na década seguinte, surgem sistemas operacionais baseados em


multiprogramação, sistemas computacionais passam a atuar com um maior
grau de eficiência. Dessa forma há necessidade de desenvolver um número
maior de sistemas de software, que passaram a substituir os programas de
menor capacidade utilizados naquele momento.

Com essa transição ocasionou um enorme problema devido à não adaptação


às técnicas de desenvolvimento já existentes por parte dos programas
menores, o que ocasionou a “crise de software”. Dessa forma surgiu a
engenharia de software.

Software: conceitos e características

Segundo o entendimento trazido por Sommerville, softwares “são programas


de computador e documentação associada. Produtos de software podem ser
desenvolvidos para um cliente específico ou para o mercado em geral. São
estruturas de dados que possibilitam que informações sejam manipuladas de
maneira adequada com intuito de resolver problemas e a documentação
necessária para uma melhor compreensão do seu uso.
Ao utilizarem um produto de software, os usuários dispõem de informações ou
experiências que variam de pessoa para pessoa. Um software como produto,
deve ser desenvolvido com atenção especial à sua interface e trazer uma
documentação robusta em informações que possibilitem a plena utilização dos
recursos disponíveis. O software deve passar por uma série de testes para que
quaisquer erros de execução sejam corrigidos.

Software apresentam particularidades. Software é um produto de


características lógicas e não físicas, ou seja, trata-se de um elemento
intangível.

 O software é fruto de um trabalho do ramo da Engenharia, mas não é


um produto manufaturado.
 Esse produto não estará sujeito ao desgaste do tempo como os
produtos físicos. Isso implica afirmar que o mesmo não sofre alterações
ou falhas no futuro.
 Os softwares são feitos sob medida para atender a uma necessidade
específica do cliente sem a utilização de componentes preexistentes.

Conceitos introdutórios sobre engenharia de software

Segundo Sommerville engenharia de software é uma disciplina de engenharia


cujo foco está em todos os aspectos da produção de software, desde os
estágios iniciais da especificação do sistema até a sua manutenção, quando já
está sendo usado.

O conceito prático de engenharia baseia em resultados que prezam pela


qualidade, respeitando dois aspectos primordiais: prazo e orçamento. Dentro
da área da engenharia de software, os profissionais adotam uma abordagem
organizada e sistemática para executarem o trabalho, visando à eficiência na
criação de softwares de qualidade mais elevada.

Engenharia de software é uma área relevante basicamente por dois aspectos:

1. A exigência da aquisição de softwares de nível cada vez mais avançado


impõe a criação de sistemas que atuem de maneira confiável,
econômica e de maneira rápida.
2. Em uma análise de longo prazo, o uso de técnicas da engenharia de
software direcionadas aos sistemas de software acaba sendo mais
vantajoso do que simplesmente desenvolver programas.
A engenharia exige a seleção de técnicas que melhor atendam a uma
série de situações.
Os softwares são distintos entre si. Logo, não existe um método único
aplicável a todos. De acordo o entendimento de Sommerville alguns
aspectos influenciam os diferentes modelos de software:
 Heterogeneidade: há uma exigência cada vez maior para que
os sistemas atuem de maneira cada vez maior para que os
sistemas atuem de maneira distribuída por meio de redes que
abranjam distintos modelos de computadores e dispositivos
móveis. É corriqueira a integração de um software recente com
sistemas mais antigos, desenvolvidos nas chamadas linguagens
de programação distintas. O desenvolvimento de técnicas para
criar um software de confiança que seja maleável de tal forma
que consiga lidar com o aspecto da heterogeneidade.
 Mudança de negócio: existe uma clara onda de mudança
relacionada ao desenvolvimento de novas tecnologias nos países
considerados emergentes. A alteração de um software por outro
mais moderno deve ocorrer de maneira mais rápida. Algumas
técnicas utilizáveis na engenharia de software demandam um
tempo maior, dificultando a entrega de novos sistemas. O desafio
é evoluir para a redução do tempo exigido pelo software para
oferecer retorno aos seus clientes.
 Segurança e confiança: O diferencial para a aquisição de um
produto como esse está na segurança e na confiabilidade que o
mesmo transmite. Em uma era em que a informação é
compartilhada de maneira globalizada, em uma velocidade
recorde, é preciso ter a confiança de que usuários maliciosos não
terão acesso ao software, mantendo a informação protegida.

Estudo da diversidade na engenharia de software


A área da engenharia de software trata do estudo sistematizado da criação de
um software e tudo que diz respeito ao seu desenvolvimento: análise de
custos, estabelecimento de prazos e a confiança transmitida pelo produto.

A maneira como esses estudos sistematizados vai ser implantado nas


empresas não é padronizada, ou sejam haverá variações de acordo com o
modelo empresarial, tipo de software e quais profissionais estão inseridos no
processo de desenvolvimento.

É preciso deixar muito claro que sempre utilizaremos método distintos de


engenharia de software a cada tipo de sistema que venha a ser requisitado,
devido às características diversas que um software pode apresentar. Apesar da
diversidade, alguns fundamentos da engenharia de software podem ser
aplicados a qualquer tipo de sistema, independentemente de sua característica.

Uma organização precisa elaborar e executar um processo de desenvolvimento


de software de maneira clara, compreensível e gerenciada, definindo o que
será produzido e quando o processo será finalizado.

Outro ponto a ser exposto está relacionado aos sistemas, que devem
demonstrar resultados a ser confiáveis. Empresas que desenvolvem softwares
instáveis, com falhas e indisponibilidade no momento em que são solicitados,
estão fadadas ao insucesso.

O que um software deve realizar? Essa pergunta é o elo entre o cliente-


usuário, que deseja obter soluções pela aquisição de um produto de software,
e como os desenvolvedores conseguem gerenciar a expectativa criada pelos
clientes, oferecendo um produto no prazo no orçamento estabelecidos.

Por fim, trata-se do reaproveitamento dos recursos já existentes, ou seja,


sempre que possível, as organizações devem reutilizar um software já
desenvolvido. Isso traz vantagens principalmente nos quesitos tempo,
conhecimento e custos, e pode ser um diferencial para a empresa.

Você também pode gostar