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.
ReferenciasBROOKS, 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