Evolução da Engenharia de Software

A prática da informática teve início, em torno de 1950, quando os primeiros computadores foram criados.

Em um primeiro momento, o incentivo maior era dado ao hardware, pois era importante disponibilizar a máquina com potencialidade suficiente para o processamento. O software era desenvolvido de acordo com a necessidade de aplicação.  A necessidade de avanço do hardware era tão grande que postergou a necessidade por melhores softwares. Essa falta só seria sentida mais adiante quando a sobra de capacidade do hardware mostrasse o descompasso do estágio evolutivo do software, ou seja, a capacidade excessiva de hardware para um nível de software ainda incipiente.

Os softwares eram desenvolvidos sem o uso de técnicas formais e por profissionais ainda pouco preparados para essa “especialidade” e, considerando-se a especificidade inicial de aplicação dos computadores, ainda eram produtos absolutamente proprietários. Somente os programadores que os construíam tinham facilidade em manter os programas e entender a lógica preparada.

Os supostos analistas de sistemas não tinham habilidade interpessoal para estabelecer com os usuários uma relação de troca de conhecimento, tão importante na definição de sistemas, e não levavam em consideração as reais necessidades desses usuários. Acreditavam conhecer plenamente os processos, pois julgavam ser os melhores, mais sábios e espertos. Os usuários também contribuíram para a falta de relacionamento, pois se sentiam ameaçados pela chegada do computador e colocavam barreiras na exposição das necessidades, encarando a tecnologia como um inimigo e não uma ferramenta de trabalho. Eles escondiam as informações, boicotavam os sistemas e dificultavam a evolução da história. Estes fatos tinham como consequência a produção de sistemas inadequados à realidade, o que gerava insatisfação por parte do usuário, atraso no processo e retrabalho.

Diante desse panorama de desenvolvimento desordenado, insatisfação de usuário e excesso de retrabalho, estudos específicos levaram a criação da Engenharia de Software para ordenar o desenvolvimento de softwares mais funcionais e com melhor qualidade.

Segundo Sommerville (2019), as características essenciais para um bom software são: Aceitabilidade,Segurança, Eficiência e Manutenibilidade, descritos na Tabela 1.

Fonte: Sommerville, 2019 (adaptado)

Tabela 1 - Características essenciais de um bom software

A engenharia de software é o conjunto de técnicas, regras e métodos para desenvolvimento de software, buscando a qualidade não só em termos técnicos como funcionais. Além disso, consiste em definir uma metodologia com o faseamento em disciplinas e participação do usuário no processo de desenvolvimento, marcando o início do progresso ordenado de softwares.

Mas o que são SOFTWARES?

Softwares (Sistemas) representam um conjunto de funcionalidades (programas) que, juntos, estarão atendendo a um objetivo comum, através do processamento de informações. Vários são os tipos de softwares desenvolvidos: comerciais, industriais, jogos, automação, dentre outros.  Fato é que, independente da proposição de atendimento do software, precisa-se especificar, desenvolver, validar e manter.

Para tanto, a Engenharia de Engenharia de Software definiu as Disciplinas e Ciclos de Vida necessários para execução do processo de desenvolvimento, utilizados de acordo com a natureza do software. Inclui-se ainda a visão sociotécnica neste processo, pois trará o conhecimento de todos os envolvidos na realização das atividades. Assuntos que serão tratados a seguir.

Composição de um sistema / Software

Untitled

Disciplinas

São atividades realizadas no desenvolvimento de sistemas para suprir a especificação, desenvolvimento, validação e manutenção, tais como: Levantamento de Requisitos, Análise, Projeto, Implementação, Teste, Implantação, Qualidade e Manutenção.