Defesa de Tese de Doutorado – Nader Ghoddosi – 07/12/2017

07/12/2017 17:09
Defesa de Tese de Doutorado
Aluno Nader Ghoddosi
Orientador Prof. Ricardo José Rabelo, Dr. – DAS/UFSC
Data

Local

07/12/2017  14h00   (quinta-feira)

Sala PPGEAS II (piso inferior)

  Prof. Ricardo José Rabelo, Dr. – DAS/UFSC (orientador)

Prof. Leonardo Guerreiro Azevedo,  Dr. – UNIRIO

Prof. Leandro Buss Becker, Dr. – DAS/UFSC

Prof. Jean Carlo Rossa Hauck, Dr. – INE/UFSC

Prof. Rômulo Silva de Oliveira, Dr. – DAS/UFSC

Título

 

Um Método de Apoio à Decisão na Estimação de Software baseado em Serviços numa Perspectiva SOA
Resumo: A indústria de software tem se tornado cada vez mais um setor de grande relevância econômica e estratégica no desenvolvimento de um país. Cada vez mais pressionadas pela grande competitividade e pela constante necessidade de investimentos em inovação e recursos humanos, tem sido essencial para a sobrevivência das empresas a adoção de novos paradigmas tecnológicos que as dê melhores condições de implementação de mais rentáveis e sustentáveis modelos de negócio. A Arquitetura Orientada a Serviços (Service Oriented Architecture – SOA) tem emergido como um dos mais importantes novos paradigmas de software. Diferentemente do modelo tradicional de software, em SOA um sistema é constituído por uma composição de módulos de software distribuídos, desacoplados e heterogêneos – chamados serviços – cujas funcionalidades são invocadas dentro de variadas lógicas de negócio do sistema. Neste sentido, SOA introduz uma nova visão quanto ao projeto, desenvolvimento, reuso e integração de software, podendo este ser fornecido mais flexivelmente sob diversas arquiteturas e modelos de negócios com um maior grau de alinhamento à camada negócio da empresa. Apesar de suas grandes potencialidades e dos grandes avanços verificados nos ambientes de desenvolvimento, normas e modelos de maturidade para ajudar no desenvolvimento de soluções SOA, a sua adoção num sistema e por parte de uma empresa tem vários impactos, em diferentes dimensões. Como consequência, projetos SOA geralmente acabam por ser mais complexos de serem projetados, geridos, integrados e implantados e, portanto, com um razoável risco de insucesso. Além disso, dependendo do tipo de problema a ser resolvido, do que já existe de sistemas legados, dos requisitos do negócio em questão e de um grande número de outros aspectos, nem sempre a adoção de SOA / orientação a serviços pode vir a ser a melhor decisão para o caso. Dentro do ciclo de vida SOA, essas ponderações são feitas na fase de análise e levam em consideração estimações de software, que basicamente culminam com o cálculo de custos, esforço, tempo de desenvolvimento e grau de alinhamento ao negócio. A literatura mostra uma lacuna sobre métodos mais completos ou que não sejam apenas baseados em checklists genéricos para apoiar gestores de TI nessa decisão sobre quando implementar demandas de software na forma de serviços. Observações empíricas e relatos na Internet também comentam que muitos gestores tomam tal decisão essencialmente com base na sua experiência e nível de conhecimento técnico, portanto com grande margem de subjetividade, baixa padronização, pouca mensuração quantitativa dos custos gerais daquela adoção e com limitada visão do grau de alinhamento ao negócio. Na direção de mitigar tais problemas, esta tese propõe um método que sistematiza o processo de análise sobre a adoção ou não de serviços numa dada solução de software que contempla os devidos fatores de decisão em SOA. O método é constituído por 15 fatores inter-relacionados, que são organizados e sequencialmente percorridos pelo gestor de TI, que os alimenta com certas informações da empresa e da solução pretendida. Cada fator é calculado e gera um valor. O método sintetiza os valores dos fatores e provê ao final números concretos para custos, esforço, tempo de desenvolvimento e grau de alinhamento ao negócio. O método foi desenvolvido com base nas melhores práticas de engenharia de software e de SOA, adaptando-as a um cenário de tomada de decisão multicritério e de comparação em relação a custos gerais de desenvolvimento de um software tradicional. Um conjunto de empresas de software foi utilizado para avaliar o método, onde se pôde confirmar a sua proposição de valor.