Prévia do material em texto
ENGENHARIA DE SOFTWARE PORTFÓLIO – ATV1 JULIÉZER ALÉCIO NOGUEIRA – RA: 8112724 A Engenharia de Software surgiu na tentativa de resolver os problemas do desenvolvimento de software caracterizados pela crise do software. Desde o seu surgimento, a Engenharia de Software tem propostos vários métodos para minimizar os efeitos da crise do software, mas como já foi mencionado, até os dias de hoje encontramos muitos problemas envolvidos na construção do software. O ambiente que envolve a sua construção (características do cliente, do usuário, do desenvolvedor, as mudanças tecnológicas) e as crescentes aplicações para os novos softwares impossibilitam a criação de uma “receita de bolo” que garanta a construção do software com qualidade absoluta. Assim, os métodos propostos pela Engenharia de Software devem ser adaptados à realidade de cada ambiente de desenvolvimento e às características do software que será construído. A Engenharia de Software é uma área da engenharia que se preocupa com todos os aspectos da produção de software, desde os estágios iniciais de especificação do sistema até a manutenção desse sistema, depois que ele entrou em operação. Isso significa que a Engenharia de Software não se preocupa somente com aspectos técnicos de desenvolvimento de software, mas também com atividades como o gerenciamento de projetos e o desenvolvimento de ferramentas, métodos e teorias que deem apoio à produção de software. Desde os primórdios da computação, o desenvolvimento dos programas, ou a programação, era visto como uma forma de arte, sem utilização de metodologias formais e sem qualquer preocupação com a documentação, entre outros fatores importantes. A experiência do programador era adquirida por meio de tentativa e erro. A verdade é que essa tendência ainda se verifica nos dias atuais. Com o crescimento dos custos de software (em relação aos de hardware) no custo total de um sistema computacional, o processo de desenvolvimento de software tornou-se um item de fundamental importância na produção de tais sistemas. As metodologias de desenvolvimento de software servem para não tornar a tarefa, complexa por natureza, um verdadeiro caos. O problema é que, dependendo do projeto, os métodos tradicionais podem deixar os desenvolvedores amarrados a requisitos desatualizados, que não correspondem às reais necessidades do cliente. Em mercados altamente competitivos, ou em momentos de crise econômica, a flexibilidade e a facilidade de mudar o rumo são qualidades muito valiosas para serem deixadas de lado. O grau de complexidade e o tipo de software ou sistema desenvolvido a cada projeto podem apresentar variações e melhores adequações a um tipo ou outro de metodologia de desenvolvimento. As metodologias de desenvolvimento de software consistem, basicamente, no conjunto de abordagens que podem ser utilizadas para a criação de sistemas de processamento de dados. O sucesso de qualquer projeto voltado à elaboração de software depende diretamente da escolha da metodologia mais adequada. Durante o desenvolvimento de um software, raramente é dedicado um tempo para coletar os dados sobre o processo de desenvolvimento propriamente dito e, por não ter a quantidade de informações suficientes, as tentativas em estimar a duração/custo de produção de um software têm conduzido a resultados insatisfatórios; além disso, a falta dessas informações impede uma avaliação eficiente das técnicas e metodologias empregadas em seu desenvolvimento. Nenhum projeto se inicia antes que seja investido muito tempo na etapa de planejamento. O planejamento garante que todas as variáveis sejam pensadas antes que o projeto comece a ser de fato executado. Planejar é importante para que as condições de execução sejam estimadas, de forma que as ações possam ser realizadas com uma orientação segura. O gerenciamento de projetos é uma ação primordial em empresas de tecnologia da informação. Dessa importante etapa depende o sucesso de um novo software ou de um sistema construído para uma organização. O gerenciamento de projetos garante que os objetivos do que foi proposto serão alcançados no tempo estimado e nas condições acordadas. Podemos dizer que ela reúne metodologias, métodos e ferramentas a serem utilizados, desde a percepção do problema até o momento em que o sistema desenvolvido deixa de existir, visando resolver problemas inerentes ao processo de desenvolvimento e ao produto de software. O perfil que um Engenheiro de Software necessita é de engenheiro sênior (ou programador chefe), ele é responsável do planejamento, pela coordenação e pela supervisão de todas as atividades relativas ao desenvolvimento do software. O Engenheiro de Software deve possuir habilidades com raciocínio lógico e matemático bem desenvolvidas. Já que a área muda com muita rapidez, precisa ter gosto pela inovação e capacidade de atualizar-se continuamente. Referências: FERRAZ, A. P. C. M.; CAROSIA, J. S. Engenharia de Software. Batatais: Claretiano, 2013. PRESSMAN, Roger S.; MAXIM, Bruce, R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016 (Biblioteca Virtual Minha Biblioteca). SOMMERVILLE, I. Engenharia de Software. 10. ed. São Paulo: Pearson, 2019. (Biblioteca Virtual Pearson). PFLEEGER, S. L.; FRANKLIN, D. Engenharia de software: teoria e prática. 2. São Paulo: Pearson, 2004. (Biblioteca Virtual Pearson).