Gerência de Engenharia de Software

 A gerência de engenharia de software é a área da administração aplicada de conhecimentos, habilidades e técnicas na elaboração de atividades relacionadas para atingir um conjunto de objetivos pré-definidos, num certo prazo, com certo custo e qualidade, através da mobilização de recursos técnicos e humanos.
 A gerência de projetos pode ser aplicada como disciplina de manter os riscos de fracasso em um nível tão baixo quanto necessário durante o ciclo de vida do projeto, potenciando, ao mesmo tempo, as oportunidades de ocorrência de eventos favoráveis ao projeto. Um ponto de vista alternativo diz que gerência de projetos é a disciplina de definir e alcançar objetivos ao mesmo tempo em que se aperfeiçoa o uso de recursos (tempo, dinheiro, pessoas, espaço). É freqüentemente a responsabilidade de um indivíduo intitulado gerente de projeto, que raramente participa diretamente nas atividades que produzem o resultado final. Ao invés disso, o gerente de projetos trabalha para manter o progresso e a interação mútua progressiva dos diversos participantes do empreendimento, de modo a reduzir o risco de fracasso do projeto, podendo arcar com qualquer ônus.
 Um gerente de projeto tem que determinar e executar as necessidades do cliente, baseado nos seus próprios conhecimentos. A habilidade de adaptar-se aos diversos procedimentos pode lhe proporcionar um melhor gerenciamento das variáveis e desta forma uma maior satisfação do cliente.
 Na indústria de informática, geralmente há dois tipos de abordagem comumente utilizada no gerenciamento de projetos.
As abordagens do tipo “tradicional” identificam uma seqüência de passos a serem completados. Essas abordagens contrastam com a abordagem conhecida como desenvolvimento ágil de software, em que o projeto é visto como um conjunto de pequenas tarefas, ao invés de um processo completo. O objetivo desta abordagem é reduzir ao mínimo possível o que chamamos de “overhead” (“despesas gerais” em português).
 Na abordagem tradicional, destinguem-se cinco grupos de processos no desenvolvimento de um projeto:

1- Iniciação; 2- Planejamento; 3- Execução; 4- Monitoramento e controle; 5- Encerramento;

 Para manter o controle sobre o projeto do início ao fim, um gerente de projetos utiliza várias técnicas, dentre as quais se destacam:

- Planejamento de projeto; - Análise de valor agregado; - Gerenciamento de riscos de projeto; - Cronograma; - Melhoria de processo;

 Alguns empreendimentos necessitam ser executados e entregues sob determinadas variáveis ou restrições. As variáveis principais também podem ser denominadas como tradicionais. O gerenciamento de projeto tenta adquirir controle sobre três importantes variáveis.
 O tempo requerido para terminar os componentes do projeto é normalmente alterado quando se pretende baixar o tempo para execução de cada tarefa que contribui diretamente à conclusão de cada componente. Ao executar tarefas usando a gerência de projeto, é importante dividir o trabalho em diversas partes menores, de modo que seja fácil a definição das condições de criticidade e de folgas.
 O custo para desenvolver um projeto depende de diversas condições iniciais disponíveis para o desenvolvimento de cada projeto tais como: taxas labor, taxas materiais, gerência de risco, planta, equipamentos e lucro.
 O escopo são exigências especificadas para o resultado fim, ou seja, o que se pretende, e o que não se pretende realizar. A qualidade do produto final pode ser tratada como um componente de escopo. Normalmente a quantidade de tempo empregada em cada tarefa é determinada para a qualidade total do projeto.
 Os resultados finais devem ser acordados em um processo de negociação entre a gerência do projeto e o cliente. Geralmente, os valores em termos de tempo, custo, qualidade e escopo são definidos por contrato.
 A Engenharia de requisitos é um processo que envolve todas as atividades exigidas para criar e manter o documento de requisitos de sistema (SOMMERVILLE). Segundo RUMBAUGH, alguns analistas consideram a engenharia de Requisitos como um processo de aplicação de um método estrutura como a análise orientada a objetos. No entanto, a Engenharia de requisitos possui muito mais aspectos do que os que estão abordados por esses métodos.

Abaixo um pequeno Processo de Engenharia de Requisitos (SOMMERVILLE). Estudo da viabilidade → "Relatório de Viabilidade" Obtenção e Análise de Requisitos → "Modelos de Sistema" Especificação de Requisitos → "Requisitos de Usuário e de Sistema" Validação de Requisitos → "Documento de Requisitos" O primeiro processo a ser realizado num Sistema novo é o Estudo de Viabilidade. Os resultados deste processo devem ser um relatório com as recomendações da viabilidade técnica ou não da continuidade no desenvolvimento do Sistema proposto. Basicamente um estudo de viabilidade, embora seja normalmente rápido, deverá abordar fundamentalmente as seguintes questões: O Sistema proposto contribui para os objetivos gerais da organização? O Sistema poderá ser implementado com as tecnologias dominadas pela equipe dentro das restrições de custo e de prazo? Ou precisa de treinamentos adicionais? O Sistema pode ser integrado, e é compatível com os outros sistemas já em operação? Gestão[editar] Existem cinco tipo de gestões: pessoal, produto, processo, projeto e material. Histórico[editar]

 A Engenharia de Software (ES) surgiu em meados dos anos 1970 numa tentativa de contornar a crise do software e dar um tratamento de engenharia (mais sistemático e controlado) ao desenvolvimento de sistemas de software complexos. Um sistema de software complexo se caracteriza por um conjunto de componentes abstratos de software (estruturas de dados e algoritmos) encapsulados na forma de procedimentos, funções, módulos, objetos ou agentes interconectados entre si, compondo a arquitetura do software, que deverão ser executados em sistemas computacionais.

ES no presente e tendências[editar]

 Atualmente existe um destaque todo especial para a Engenharia de Software na Web. Também utilizado por Presmann a sigla WebE, é o processo usado para criar WebApps (aplicações baseadas na Web) de alta qualidade. Embora os princípios básicos da WebE sejam muito próximos da Engenharia de Software clássica, existem peculiaridades específicas e próprias.

Com o advento do B2B (e-business) e do B2C (e-commerce), e ainda mais com aplicações para a Web 2.0, maior importância ficou sendo esse tipo de engenharia. Normalmente adotam no desenvolvimento a arquitetura MVC (Model-View-Controller).

 Outra área de tendência em Engenharia de Software trata da aplicação de técnicas otimização matemática para a resolução de diversos problemas da área. A área, denominada Search-based software engineering, ou Otimização em engenharia de software em Português, apresenta vários resultados interessantes.6 Para mais detalhes em Português, ver texto com aplicações da otimização em engenharia de software.7

O Brasil atualmente conta com seis cursos de nível superior em Engenharia de Software nas seguintes instituições reconhecidas pelo MEC: UnB, UFRN, Universidade Federal do Ceará, Universidade Federal de Goiás, Universidade de Rio Verde e Unipampa.8

 Os resultados finais devem ser acordados em um processo de negociação entre a gerência do projeto e o cliente. Geralmente, os valores em termos de tempo, custo, qualidade e escopo são definidos por contrato.

Referências:

↑ Engenharia de Software. www.dimap.ufrn.br. Página visitada em 26 de julho de 2012. ↑ http://www.inf.ufes.br/~falbo/download/aulas/es-g/2005-1/NotasDeAula.pdf Notas de aula sobre engenharia de software, proferias pelo professor Ricardo de Almeida Falbo, 2005 - UFES ↑ Washington Souza, Lista de empresas CMMI no brasil (2012), Site brasileiro BlogCMMI. ↑ Washington Souza, Lista de empresas MPS.BR no Brasil (atualizado: ago-12), Site BlogCMMI. ↑ Veja mais detalhes em Metodologia (engenharia de software) ↑ HARMAN, M., JONES, B.F., Search-based software engineering, Information and Software Technology, 2001, pp. 833-839. ↑ FREITAS, F.G., MAIA, C.L.B., COUTINHO, D.P., CAMPOS, G.A.L., SOUZA, J.T., Aplicação de Metaheurísticas em Problemas da Engenharia de Software: Revisão de Literatura, II Congresso Tecnológico Infobrasil, 2009, ↑ emec.mec.gov.br Bibliografia[editar]

MAGELA, Rogerio. Engenharia de Software Aplicada: Princípios (volume 1). Alta Books. 2006. MAGELA, Rogerio. Engenharia de Software Aplicada: Fundamentos (volume 2). Alta Books. 2006. MOLINARI, Leonardo. Gerência de Configuração - Técnicas e Práticas no Desenvolvimento do Software. Florianópolis: Visual Books, 2007. 85-7502-210-5 PRESSMAN, Roger. Software Engineering: A Practitioner's Approach, 6ªedição, Mc Graw Hill, 2005. ANÁLISE ECONÔMICA DE SISTEMAS DE INFORMAÇÕES. (ISBN 978-85-909374-7-0) Editora Ixtlan. Autor : Sergio Kaminski. Comentário: Mostra todas as etapas de desenvolvimento do software, relacionando ao lucro,receita e custo.