Um método de apoio à decisão na estimação de software baseado em serviços em uma perspectiva SOA

DSpace Repository

A- A A+

Um método de apoio à decisão na estimação de software baseado em serviços em uma perspectiva SOA

Show full item record

Title: Um método de apoio à decisão na estimação de software baseado em serviços em uma perspectiva SOA
Author: Ghoddosi, Nader
Abstract: 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.Abstract : The software industry has become increasingly a very important and strategic sector for countries development. More and more pressured by high competitiveness and constant need for investments in innovation and human resources, the adoption of new technological paradigms by companies to leverage them to implement more profitable and sustainable business models has been essential for their survival. Service Oriented Architecture (SOA) has emerged as one of the most important new paradigms of software. Unlike the traditional software model, in SOA a system is constituted by a composition of distributed, decoupled and heterogeneous software modules - called services - whose functionalities are invoked under several business logics. Thus, SOA introduces a new vision in terms of design, development, reuse and software integration. New systems can be provided more flexibly under different architectures and business models and with a higher degree of alignment to the company's business layer. Despite its high potential and the large advances in the development environments, norms and maturity models to assist in the development of SOA solutions, their use in a system and adoption by a company has several impacts, in different dimensions. As a consequence, SOA projects often end up being more complex to be designed, managed, integrated and deployed, and therefore having a reasonable failure risk. In addition, depending on the type of problem to be solved, on what already exists in in terms of legacy systems, on the business requirements in place and on a large number of other aspects, the adoption of SOA / service orientation may not be the best decision for the case. Regarding the SOA life cycle, these reflections are carried out in the analysis phase, where software estimations are done essentially considering costs, development time, efforts and degree of business alignment. Literature shows a gap of more comprehensive supporting methods or of ones that are not just presented as generic checklists to support IT managers in that estimation. Empirical observations and reports in the Internet have been also pointed out that many managers take that decision essentially based on their experiences and technical background, therefore with a large level of subjectivity, low standardization, low quantitative measurement of the general costs of that adoption, and with a limited vision of the degree of business alignment. In order to mitigate such problems, this thesis proposes a method that systematizes the process of analysis about the adoption or not of services in given software solutions. The method is composed of 15 interrelated estimation factors, which are organized and sequentially executed by the IT manager, who feeds them with information related to the company and to the intended solution. Each factor has actually a formula and generates a value. The method synthesizes all factors values and provides concrete numbers for costs, effort, development time and degree of alignment to the business in the end. The method was developed based on the best practices of software engineering and SOA, adapting them to a multi-criteria decision-making scenario and comparing it to the general costs of developing software in the traditional way. A number of software companies was used to evaluate the method, where they could confirm its value proposition.
Description: Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2017.
URI: https://repositorio.ufsc.br/handle/123456789/189291
Date: 2017


Files in this item

Files Size Format View
PEAS0270-T.pdf 4.469Mb PDF View/Open

This item appears in the following Collection(s)

Show full item record

Search DSpace


Browse

My Account

Statistics

Compartilhar