AULA 1 - Conceitos Da Engenharia de Software
AULA 1 - Conceitos Da Engenharia de Software
AULA 1 - Conceitos Da Engenharia de Software
software
Apresentação
A engenharia de software tem como objetivo, a aplicação de metodologias no processo de
desenvolvimento, visando a promoção da qualidade, aumento da produtividade e redução dos
custos. A criação de software foi subestimada e realizada sem nenhuma metodologia, gerando
erros em sistemas, como: problemas de cálculos, perdas financeiras e de tempo. Nesse período,
podemos dizer que houve a Crise do Software. Com isso, em 1967 a OTAN (Organização do
Tratado do Atlântico Norte) designou o termo Engenharia de Software para adequar o processo de
desenvolvimento de software com metodologias, já utilizadas em outras engenharias. Uma série de
metodologias e técnicas passaram a ser utilizadas antes, durante e depois da criação dos softwares.
Dados históricos apontam que houve uma diminuição brutal nos problemas no desenvolvimento de
softwares após a adoção dessas metodologias, fazendo com que a indústria de software pudesse
entregar sistemas com maior qualidade, em menos tempo e com custos reduzidos de manutenção.
Nesta Unidade de Aprendizagem, você irá adquirir conhecimentos fundamentais para avançar no
aprendizado sobre Engenharia de Software. Iremos abordar, inicialmente, conceitos básicos sobre o
que é Engenharia de Software, sua história e importância na indústria.
Bons estudos.
Analise esse cenário e associe o erro do software com o conceito de Engenharia de Software.
- De qualidade.
Boa leitura!
ENGENHARIA DE
SOFTWARE
Aline Zanin
Conceitos da Engenharia
de Software
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
Introdução
Por muitos anos a Engenharia de Software foi utilizada com o objetivo
de criar software de qualidade dentro dos custos e dos prazos estimados
pelo cliente, evitando desperdícios de tempo, esforços, direções erradas e
atrasos. A criação de software foi subestimada e realizada sem nenhuma
metodologia, gerando erros em sistemas, como problemas de cálculos
e perdas financeiras e de tempo. Nesse período, podemos dizer
que houve a crise do software. Com isso, em 1967, a Organização do
Tratado do Atlântico Norte (OTAN) designou o termo Engenharia de
Software para adequar o processo de desenvolvimento de software com
metodologias já utilizadas em outras Engenharias. Uma série de
metodologias e técnicas passaram a ser utilizadas antes, durante e
depois da criação de software. Dados históricos apontam que houve
uma diminuição brutal nos problemas em software após a adoção
dessas metodologias, fazendo com que a indústria de software
pudesse entregar sistemas com maior qualidade, em menos tempo e
com custos reduzidos de manutenção.
Neste capítulo, você irá adquirir conhecimentos fundamentais
para avançar no aprendizado sobre Engenharia de Software. Iremos
abordar inicialmente conceitos básicos sobre o que é essa Engenharia,
sua história e a importância na indústria.
2 Conceitos da Engenharia de Software
Mudanças tecnológicas
Embora atualmente, quando se fala em software, sejamos remetidos a lembrar
de computadores modernos, smartphones, tablets, etc., o desenvolvimento de
software começou muito antes desses dispositivos serem criados, sendo pro-
gramado por volta de 1725, em cartões perfurados. Posteriormente, surgiram
as primeiras linguagens de programação, tais quais as que existem hoje, sendo
elas FORTRAN (1955), List Processor (LISP) e Common Business Oriented
Language (COBOL). Posteriormente, surgiram linguagens de programação de
alto nível, isto é, que se aproximam mais da linguagem humana, são exemplos:
Java, JavaScript, Visual Basic, Object Pascal e PHP (PACIEVITCH, 2017).
Junto com as linguagens de programação, foram sendo criados paradigmas
para o desenvolvimento de sistemas. Um paradigma nada mais é do que a
forma como um sistema é construído e seu desenvolvimento é organizado.
Os paradigmas mais conhecidos são o paradigma estruturado e o paradigma
orientado a objetos, sendo o paradigma orientado a objetos o mais utilizado
atualmente. A programação orientada a objetos é um paradigma em que o
software é construído considerando que tudo o que é inserido no programa é um
objeto e que esse objeto pertence a uma classe e tem características (atributos)
específicas sobre as quais podem ser feitas ações (métodos). Por outro lado,
um princípio básico da programação estruturada é que um programa pode
ser dividido em três partes que se interligam, sendo elas sequência, seleção e
iteração (ABÍLIO, 2017). Na sequência, o código do programa é criado para
ser executado de forma sequencial, seguindo estritamente a ordem na qual
foi programado. Na seleção, o programa encontra locais onde pode seguir um
ou mais caminhos distintos. Na interação, é permitido ao programa executar
diversas vezes o mesmo trecho de código.
4 Conceitos da Engenharia de Software
Mudanças de processo
No desenvolvimento de sistemas, além das mudanças tecnológicas, foram
ocorrendo mudanças na forma como as empresas se organizam e estruturam
o trabalho. A forma tradicional de desenvolvimento de sistemas foi a primeira
a ser criada, empregando o ciclo de vida em estrutura de cascata (1970), na
qual as etapas são executadas de forma sequencial, sem que seja possível
retornar de uma etapa posterior para uma etapa anterior.
Definição
de requisitos
Projeto de sistema
e software
Implentação
e teste unitário
Integração e
teste de sistema
Operação e
manutenção
tem de melhor para oferecer, pode-se atingir maior excelência nos produtos
entregues e atender melhor às necessidades do cliente.
Leituras recomendadas
ENDEAVOR BRASIL. PDCA: a prática levando sua gestão à perfeição. 2015. Disponível
em: <https://endeavor.org.br/pdca/>. Acesso em: 4 nov. 2016.
PEQUENO, C. N.; CARVALHO, M. G. F.; FONTES, V. M. Redução do consumo de produto
químico utilizado em uma linha de produção de uma indústria de pneus. 2015. Trabalho
de Conclusão de Curso (Graduação em Engenharia de Produção)–Universidade do
Estado do Rio de Janeiro, Rio de Janeiro, 2015.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Exercícios
B) A Crise de Software foi um termo que surgiu nos anos 70. O termo expressava as dificuldades
do desenvolvimento de software frente ao rápido crescimento da demanda por software.
C) A Crise de Software foi acompanhada pela Crise de Hardware, que acabou gerando inúmeros
desempregos na década de 70.
D) A Crise de Software foi um termo criado para expressar momentos em que um sistema
apresenta processamento lento.
E) A Crise de Software ocorreu após a Segunda Guerra Mundial quando nenhum software era
vendido.
A) A Engenharia de Software foi criada porque nenhum software disponível antes da Engenharia
de Software conseguia realizar cálculos complexos.
B) A Engenharia de Software foi criada para permitir o uso de elementos da engenharia de forma
controlada e sistemática no desenvolvimento de software. Também para evitar a Crise de
Software.
E) A Engenharia de Software foi criada para permitir que a produção de novos sistemas tivesse
mais elementos gráficos e amigáveis ao usuário.
4) João, dono de uma empresa de software, tem que criar um sistema para um cliente. Até o
momento, o cliente fez apenas uma ligação informando o tipo de software que ele quer. Qual
a primeira coisa que João deve fazer?
C) Contratar uma grande equipe de desenvolvedores para criar o software o mais rápido
possível.
D) Entender o negócio do cliente e realizar reuniões para mensurar o que ele precisa.
E) Informar para o cliente que em um mês o sistema estará em pleno funcionamento, além de
informar qual será o custo do sistema.
A) Métodos.
B) Ferramentas.
C) Foco na qualidade.
D) Processo.
E) Conceitual.
Na prática
Você consegue identificar a necessidade do uso de metodologias da Engenharia de Software? Para
demonstrar essa importância, iremos analisar e comparar duas situações no desenvolvimento de
sistemas, uma utilizando o método chamado "Go Horse" e a outra a Engenharia de Software.
Conteúdo interativo disponível na plataforma de ensino!
Podemos ver que Pedro não utilizou nenhum método para garantir a qualidade do sistema, não
planejou o desenvolvimento, não testou o produto final e entregou um software de má qualidade.
Além disso, a correção dos problemas levou quatro vezes mais tempo que o planejado inicialmente
e custou mais, pois precisou alocar um desenvolvedor durante todo o período. Esses problemas
poderiam ter sido evitados se Pedro tivesse utilizado métodos amplamente abordados na
Engenharia de Software.
No exemplo da situação 1, Pedro utilizou o método "Go Horse" onde se passa uma tarefa pouco
planejada para o desenvolvedor iniciar imediatamente, construindo algo que não vai ao encontro
das necessidades do cliente.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.
Aponte a câmera para o código e acesse o link do conteúdo ou clique no código para acessar.