O que é Engenharia de software?


O que é Engenharia de software?
Engenharia é a atividade em que os conhecimentos científicos e técnicos e a experiência prática são aplicados para exploração dos recursos naturais, para o projeto, construção e operação de objetos úteis.
Engenharia é a aplicação de métodos científicos ou empíricos à utilização dos recursos da natureza em benefício do ser humano. (Dicionário)
A engenharia de software baseia-se no estudo e aplicação de uma abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e manutenção de software. É uma disciplina de engenharia relacionada com todos os aspectos de produção de um software, desde os estágios iniciais de especificação do sistema até a sua manutenção, até mesmo depois que este entrar em operação.
Índice de falhas como uma função do tempo para o hardware. A relação indica que o hardware exibe índices de falhas relativamente elevados logo no começo de seu ciclo de vida (as falhas são atribuídas a defeitos de projeto e manufatura). Os defeitos são corrigidos e o índice de falhas cai para um nível estável durante certo período de tempo. À medida que o tempo passa, entretanto, o índice de falhas eleva-se novamente conforme os componentes de hardware sofrem os efeitos acumulativos de poeira, vibração, abuso, temperaturas extremas e muitos outros males ambientais. Colocado de maneira simples o hardware começa a se desgastar.
Quando se desgasta um componente de hardware, ele é substituído por uma peça de reposição. Já no caso do software não existe peça de reposição. Toda falha de software indica um erro de projeto ou no processo por meio do qual o projeto foi traduzido em código executável por máquina. Portanto a manutenção do software envolve consideravelmente mais complexidade do que a manutenção de hardware.
As especificações de um projeto não podem ser continuamente modificadas. Flexibilidade de software tem limites, e nem sempre todas as mudanças podem ser facilmente acomodadas. É fato que os requisitos de software são passíveis de modificações no decorrer do desenvolvimento de um projeto, mas o impacto da mudança varia de acordo com o período em que ela é introduzida. Se uma atenção minuciosa for dada à definição inicial, os primeiros pedidos de mudança podem ser acomodados mais facilmente. O usuário pode rever as exigências e recomendar modificações sem causar impacto muito grande sobre os custos nas fases iniciais. Em fases posteriores o impacto será muito maior.
Defeitos são normalmente introduzidos na transformação de informações entre as diferentes fases do ciclo de desenvolvimento de um software.
Os requisitos expressos pelo cliente são relatados textualmente em um documento de especificação de requisitos. Esse documento é então transformado em casos de uso, que por sua vez foi o artefato de entrada para o projeto do software e definição de sua arquitetura utilizando diagramas de classes da UML. Em seguida, esses modelos de projetos foram usados para a construção do software em uma linguagem que não segue o paradigma orientado a objetos. Nesse meio tempo, defeitos podem ter sido inseridos.

Nenhum comentário:

Postar um comentário