Em primeiro lugar, vamos entender o que é a engenharia de software. O termo é feita de duas palavras, software e engenharia.
Software é mais do que apenas um código de programa. Um programa é um código executável, computacional que serve para alguma finalidade. Software é considerada a coleção do executável código de programação, bibliotecas e documentações. Software, quando feita por uma exigência específica é chamado produto de software.
Engenharia em o outro lado, é tudo sobre o desenvolvimento de produtos, usando bem-definidos, princípios e métodos científicos.
Engenharia de Software é um ramo engenharia associada ao desenvolvimento do produto de software usando bem-definidos princípios científicos, métodos e procedimentos. O resultado da engenharia de software é um software eficiente e confiável.
IEEE define engenharia de software como:
(1) aplicação de uma forma sistemática, disciplinada,abordagem quantificável para o desenvolvimento, operação e manutenção de software; isto é, a aplicação da engenharia de software.
(2) O estudo de abordagens como a declaração acima.
Fritz Bauer, um cientista da computação alemão define engenharia de software como:
Engenharia de Software é a criação e a utilização de princípios sólidos de engenharia a fim de obter software economicamente que seja confiável e trabalhar de forma eficiente em verdadeiras máquinas.
O processo de desenvolvimento de um produto de software engenharia de software utilizando princípios e métodos é referido como evolução do software. Isso inclui o desenvolvimento inicial do software e sua manutenção e atualizações, até desejado produto de software é desenvolvido, que satisfaz os requisitos esperados.
Evolução começa a partir do requisito processo de coleta. Depois que os desenvolvedores a criar um protótipo do software e mostrar que os usuários para obter as suas opiniões no estágio inicial de desenvolvimento de produtos de software. Os usuários sugerem modificações consecutivas em que várias atualizações e manutenção manter a mudar também. Este processo muda para o software original, até que o software desejado é realizada.
Mesmo depois que o usuário tiver software desejada na mão, os avanços tecnológicos e as necessidades de mudança vigor o produto de software para alterar em conformidade. Re-criação de software do zero e ir one-on-one com exigência não é viável. A única solução viável e econômico é a atualização do software existente para que ele corresponda a necessidades mais recentes.
Lehman Brothers deu as leis de evolução do software. Ele dividiu o software em três diferentes categorias:
Lehman Brothers deu oito leis para E-tipo evolução do software -
Software paradigmas consulte os métodos e etapas, que são tomadas ao projetar o software. Há muitos métodos propostos e estão no mercado de trabalho hoje, mas temos de ver onde a engenharia de software estes paradigmas. Estes podem ser combinados em diversas categorias, embora cada um deles está contido em um outro:
Programação paradigma é um subconjunto da Software design paradigma que ainda é um subconjunto do Software paradigma de desenvolvimento.
Esse paradigma é conhecida como engenharia de software paradigmas onde todos os conceitos de engenharia relativos ao desenvolvimento de software são aplicados. Ele inclui várias pesquisas e a exigência que os ajuda a coleta do produto de software para construir. Ela consiste em -
Este paradigma é uma parte do Desenvolvimento de Software e inclui -
Este paradigma está estreitamente relacionadas à programação aspectos do desenvolvimento de software. Isso inclui -
A necessidade da engenharia de software surge por causa da maior taxa de mudança de requisitos do usuário e do ambiente em que o software está funcionando.
Um produto de software pode ser julgado por aquilo que ele oferece e como ele pode ser utilizado. Este software deve cumprir com os seguintes fundamentos:
Bem-projetado e concebido para software é esperado para ter as seguintes características:
Isso nos mostra quão bem software funciona nas operações. Ele pode ser medido na:
Este aspecto é importante no momento em que o software for movido de uma plataforma para outra.
Este aspecto informa sobre o quão bem um software tem a capacidade de se manter no ambiente em constante mudança.
Em suma, engenharia de Software é um ramo da ciência da computação, que usa bem-definidos conceitos de engenharia necessária para produzir eficiente, durável, escalável, de orçamento e de produtos de software.