O que e Engenharia de software

Introdu��o

Ao passar do tempo, ningu�m imaginava que o software tornaria um elemento muito importante para o mundo e teria a capacidade de manipular a informa��o. Com muitos elementos computacionais tiveram mudan�as at� hoje e continuam tendo. Com este crescimento computacional, levam a cria��o de sistemas perfeitos e problemas para quem desenvolvem softwares complexos. As preocupa��es dos engenheiros de software para desenvolverem os software sem defeitos e entregarem estes produtos no tempo marcado, assim leva a aplica��o da disciplina de engenharia de software. Com o crescimento desse segmento muitas empresas possuem mais especialistas em TI em que cada um tem sua responsabilidade no desenvolvimento de software e � diferente de antigamente que era um �nico profissional de software que trabalhava sozinho numa sala (PRESSMAN, 2006).

Software

O software � o conjunto de v�rios artefatos e n�o apenas o c�digo fonte (SOMMERVILLE, 2003).������

Realizando uma compara��o entre o software e hardware. Chegamos a seguinte conclus�o. O software apenas pode ser desenvolvido e realizar a manuten��o (mudan�a) no software � uma tarefa complicada, exige grande esfor�o da equipe de engenheiro de software. Ao passar do tempo o software fica deteriorado. J� para o hardware apenas pode ser fabricado e realizar a manuten��o no hardware � simplesmente trocar � pe�a que esta em desgaste. Ao passar do tempo o hardware desgasta por v�rios motivos (PRESSMAN, 2006).

O software � caro porque torna se uma atividade dif�cil e trabalhosa de ser realizado pelo engenheiro de software (JALOTE, 2005).

De acordo Pressman (2006) o software est�o categorizados em seguintes tipos, tais como:

  • Software de sistema. S�o programas que ap�iam outros programas, como o software que realiza a comunica��o com o hardware (sistema operacional) e software que ajuda na constru��o de outro software (compiladores).

  • Software de aplica��o. S�o programas que s�o desenvolvidos para executar no negocio de uma empresa determinada.

  • Software cientifico e de engenharia. S�o algoritmos que processam n�meros.

  • Software embutido. S�o programas constru�dos para executarem dentro de um produto especifico como a teclas digitais de um forno micro ondas.

  • Software para linhas de produtos. S�o os softwares conhecidos como software de prateleiras.

  • Software de web. S�o aplicativos que s�o executados via Internet.

  • Software de intelig�ncia artificial. S�o softwares que fazem os usos de algoritmos n�o num�ricos. Estes tipos software se encaixam na rob�tica.

  • Computa��o ub�qua. S�o softwares que realiza a verdadeira computa��o distribu�da.
  • Software aberto. S�o software que disponibiliza a visualiza��o do c�digo fonte da aplica��o para o engenheiro de software modifica da maneira que deseja.

Software Legado

O nome de software legado � dado quando refere se num programa de computador que foi desenvolvido por h� muito tempo. A preocupa��o do engenheiro de software com os softwares legados esta na baixa qualidade do software. Muitas vezes n�o existem documenta��es e se existem s�o pobres de detalhes, os casos de teste s�o pobres quando tem e sem um controle de mudan�as. E muitas vezes n�o mexem no software legado quando eles atentem as necessidades do cliente (PRESSMAN, 2006).

Engenharia de Software

Engenharia de software � uma abordagem sistem�tica e disciplinada para o desenvolvimento de software (PRESSMAN, 2006).

Uma das grandes dificuldades da engenharia do software � resolver o problema e deixar o cliente satisfeito com o software (JALOTE, 2005).

Na demonstra��o da figura 1 representa uma vis�o do engenheiro de software em desenvolver o software que traz uma grande satisfa��o para o usu�rio quando ele pr�prio utiliza o software.

A engenharia de software foca no software como produto. N�o entra neste escopo o softwares constru�dos apenas para passarem o tempo dos programadores (PAULA FILHO, 2009).

No desenvolvimento de um projeto de software quanto mais complexo � o software, maior � o empenho que o engenheiro de software deve fazer para desenvolver e tem que ter maior gerenciamento(JALOTE, 2005).

Na demonstra��o da figura 2 representa uma compara��o entre projetos de software grande e pequeno. Verificar que quanto maior � a complexidade do software mais aten��o deve ter para a constru��o do software.

A base da engenharia de software s�o conjuntos de atividades para o processo de desenvolvimento de software. A exist�ncia de v�rios tipos de processo de desenvolvimento de software e podemos dizer para resolver o problema do software usam estas atividades tais como: analise de requisito, design do software, c�digo e teste (JALOTE, 2005).

  • Analise de requisito. Atrav�s da analise de requisito � o momento onde efetua o conhecimento do problema para desenvolve o software (JALOTE, 2005).

  • Design do software. Pelo design do software � o momento que o engenheiro de software realiza o planejamento da solu��o do problema que foi levantado no documento de requisito (JALOTE, 2005).

  • Codifica��o. A codifica��o � o momento que pega o problema resolvido no design do software e transformar� em uma linguagem de programa��o (JALOTE, 2005).

  • Teste. O teste de software � o processo tem a inten��o de encontrar defeitos nos artefatos de software (MYERS, 2004). O teste � uma maneira de medir o controle da qualidade do software durante o desenvolvimento de software(JALOTE, 2005).

Mito do Software

Existem in�meros mitos de software que pode ver um deles escrito � segu:

Mito 1. Se ocorrer um atraso no cronograma do projeto adicionamos um maior n�meros de programadores no projeto para conseguir fica em dia com as tarefas (BROOKS, 1995).

Conclus�o

Com a aplica��o da engenharia de software no desenvolvimento do software traz uma certa qualidade para o software que foi produzido onde divide o problema em peda�os e s�o tratados por v�rios especialistas em determinada atividade.

Referencias

BROOKS, Jr., F.P. The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition. Reading, MA: Addison-Wesley, 1995, 322p.

JALOTE, P. An Integrated Approach to Software Engineering. 3. ed. New York: Springer, 2005, 566p.

MYERS, G. J. The Art of Software Testing. 2. ed., New York: John Wiley & Sons, 2004, 234p.

PAULA FILHO, W.P. Engenharia de software: fundamentos, m�todos e padr�es. 3. ed. Rio de Janeiro: LTC,2009, 1248p.

PRESSMAN, R. S. Engenharia de Software. 6. ed. Rio de Janeiro: McGraw-Hill, 2006, 720p.

SOMMERVILLE, I.Engenhariade software. 6. ed., S�o Paulo: Addison Wesley, 2003, 592p. ��

Veja mais links sobre engenharia de software

Curso Extreme Programming XP

Curso de gerenciamento de projetos PMBOK

Curso de controle de vers�o com GIT

Curso de an�lise e projeto orientado a objetos

Curso de SCRUM conhecendo o Product Owner

Curso de introdu��o a reutiliza��o de software e MDD

Curso de especifica��o de casos de uso

Curso gerenciamento de projetos

Curso de uml diagrama de casos de uso na pr�tica

Curso de Valida��o Verifica��o e Testes

Curso de engenharia de requisitos solu��es concretas para problemas pr�ticos

Confira outros conte�dos:

Por Danilo Em 2010

Receba nossas novidades

O que é a Engenharia de Software para que serve?

A Engenharia de Software capacita as pessoas com a utilização de teorias, técnicas e ferramentas da Ciência da Computação para produção e desenvolvimento de sistemas. Por meio da análise, coleta e processamento de dados, ainda identificam potenciais falhas nesses produtos e criam soluções de alta performance.

Quais são as principais atividades da Engenharia de Software?

Entre as principais atribuições do engenheiro de software, estão:.
Desenvolver softwares e apps..
Gerenciar projetos ligados aos softwares..
Arquitetar o design estrutural dos programas..
Realizar testes nos sistemas..

O que é preciso para ser um engenheiro de software?

Fazer uma faculdade de ciências da computação, engenharia da computação ou engenharia de software será extremamente útil para ser atraente no mercado. O curso de ciências da computação é bom, mas tem uma abordagem mais teórica e forma alunos voltados mais para trabalhos de pesquisa de recursos e desenvolvimento.

Qual é a base da Engenharia de Software?

A base da engenharia de software são conjuntos de atividades para o processo de desenvolvimento de software.

Toplist

Última postagem

Tag