Baixe o app para aproveitar ainda mais
Prévia do material em texto
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).
Compartilhar