
- Software Engineering Tutorial
- Engenharia de Software Início
- Engenharia de Software Visão Geral
- Ciclo de Vida de Desenvolvimento de Software
- Gerenciamento de Projetos de Software
- Requisitos de Software
- Noções Básicas Sobre Design de Software
- Análise de Software & Ferramentas de Design
- Estratégias de Design Software
- Design de Interface de Usuário Software
- Complexidade do Projeto Software
- Implementação de Software
- Testes de Software Visão Geral
- Manutenção de Software Visão Geral
- O caso do software utiliza ferramentas a vista geral
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Engenharia de Software Visão Geral
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.
Definições
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.
Evolução do Software
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.
Evolução do Software Legislação
Lehman Brothers deu as leis de evolução do software. Ele dividiu o software em três diferentes categorias:
- S-type (estática) - Este é um software, que trabalha estritamente de acordo com especificações definidas e soluções. A solução e o método para atingi-lo, ambos são imediatamente compreendidos antes codificação. O s-type software é pelo menos sujeitos a mudanças, portanto, este é o mais simples de todos. Por exemplo, programa de calculadora para cálculos matemáticos.
- Tipo-P (prático) - Este é um software com um conjunto de procedimentos. Esta é definida por exatamente quais procedimentos podem fazer. Com este software, as especificações podem ser descritos, mas a solução não é óbvia instantaneamente. Por exemplo, softwares de jogos.
- E-type (embedded-tipo) - Este software trabalha em estreita colaboração com a exigência do ambiente real. Este software tem um alto grau de evolução, há várias mudanças nas leis, impostos, etc. em situações reais. Por exemplo, comércio on-line software.
E-Type evolução do software
Lehman Brothers deu oito leis para E-tipo evolução do software -
- A mudança - Um E-tipo sistema de software deve continuar a se adaptar ao mundo real as alterações, caso contrário torna-se progressivamente menos útil.
- Aumento da complexidade - como um E-tipo sistema de software evolui, sua complexidade tende a aumentar se não trabalhar é feito para manter ou reduzir o mesmo.
- Conservação de familiaridade - a familiaridade com o software ou o conhecimento sobre a forma como ela foi desenvolvida, por que razão foi desenvolvido em que forma particular etc., devem ser mantidas a qualquer custo, para implementar as alterações no sistema.
- Crescimento contínuo, a fim de que um sistema de tipo destinado a resolver problemas de negócios, o seu tamanho de implementar as mudanças cresce de acordo com as mudanças de estilo do negócio.
- Diminuir a qualidade - Um sistema de software tipo quedas na qualidade a menos rigorosamente mantidas e adaptadas para um ambiente operacional em mutação.
- Sistemas de realimentação- o E-type constituem sistemas de software multi-loop, multi-nível e sistemas de realimentação deve ser tratada como tal a ser modificada com sucesso ou melhor.
- Auto-regulação - E sistema de tipo são processos de evolução auto-regulação com a distribuição do produto e processo medidas próximo ao normal.
- Estabilidade Organizacional - e a média global efetiva taxa de atividade em uma evolução E sistema de tipo é invariante ao longo da vida útil do produto.
Paradigmas 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.
Paradigma de desenvolvimento Software
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 -
- Requisito encontro
- Projeto de Software
- Programação
Paradigma de Projeto Software
Este paradigma é uma parte do Desenvolvimento de Software e inclui -
- Design
- Manutenção
- Programação
Paradigma Programação
Este paradigma está estreitamente relacionadas à programação aspectos do desenvolvimento de software. Isso inclui -
- Codificação
- Teste
- Integração
Necessidade de Engenharia de Software
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.
- Software de grande porte - é mais fácil de construir um muro de uma casa ou edifício, da mesma forma, à medida que o tamanho do software tornaram-se grandes engenharia tem para o passo a dar-lhe um processo científico.
- Escalabilidade- se o processo de software não foram baseados em conceitos científicos e de engenharia civil, seria mais fácil para re-criar novo software de escalar um já existente.
- Custo- como indústria de hardware tem mostrado as suas habilidades e enorme produção tem preço baixo ele de computador e equipamento eletrônico. Mas o custo do software permanece elevada, se o processo não está adaptado.
- Natureza dinâmica- o sempre crescendo e adaptando sua natureza de software altamente depende do ambiente em que o usuário trabalha. Se a natureza do software que está sempre a mudar, novos aprimoramentos precisam de ser feito no já existente. Este é o local onde engenharia de software desempenha um bom papel.
- Gestão da Qualidade - Um melhor processo de desenvolvimento de software proporciona uma melhor qualidade e produtos de software.
Características de um bom software
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:
- Operacional
- Título transitório
- Manutenção
Bem-projetado e concebido para software é esperado para ter as seguintes características:
Operacional
Isso nos mostra quão bem software funciona nas operações. Ele pode ser medido na:
- Orçamento
- Usabilidade
- Eficiência
- Exactidão
- Funcionalidade
- Confiabilidade
- Segurança
- Segurança
Título transitório
Este aspecto é importante no momento em que o software for movido de uma plataforma para outra.
- Portabilidade
- Interoperabilidade
- Reutilização
- Adaptabilidade
Manutenção
Este aspecto informa sobre o quão bem um software tem a capacidade de se manter no ambiente em constante mudança.
- A modularidade
- Manutenção
- Flexibilidade
- Escalabilidade
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.