• Nenhum resultado encontrado

As próximas seções descreve sucintamente a unidade de medida de pontos de função e também outras unidades que foram derivadas de pontos de função (pontos por feature, pontos por objeto, pontos por caso de uso e story points).

A.3.1

Pontos de função - function points

Esta unidade de medida baseada na funcionalidade do programa foi primeiramente intro- duzida por [22] em 1979. O número de pontos de função depende do número de caracte- rísticas do software (em termos de formato e processamento lógico) [91]. Os pontos que devem ser contabilizado são separados em cinco classes: número de entradas, número de saídas, número de consultas, números de arquivos internos e externos e número de inter- faces. É uma forma de medir o tamanho do software que é independente da tecnologia e de fatores do ambiente [99]. Dessa maneira, esta unidade de medida é independente de linguagem de programação, design do produto e estilo de desenvolvimento. É uma unidade de medida muito adequada para sistemas de uso intensivo de dados [99]. Além disso, uma grande vantagem da unidade de medida de pontos por função é a possibilidade de quantificar o projeto nos estágios iniciais de especificação [91].

Com o aumento do uso da unidade de medida de pontos por função na indústria, outras unidades de medida derivadas surgiram; as principais delas são: pontos por feature, pontos por objeto, pontos de caso de uso e story points.

A.3.1.1 Pontos por funcionalidade - feature points

Pontos por feature podem ser considerados uma extensão de pontos por função. Neles é possível também medir o número de algoritmos envolvidos no sistema. Para cada algoritmo é atribuído um peso; os pontos por feature são dados pela soma dos pontos dos algoritmos com os pontos por função [69]. É uma unidade de medida bastante interessante para sistemas onde existem poucas entradas e saídas e alta complexidade computacional, como software de modelagens físicas, simulações discretas e aplicações militares [91].

A.3.2

Pontos por objeto - object points

Já pontos por objeto [123], ou alternativamente pontos por aplicação, é uma outra forma de mensurar o tamanho de um software em linguagens da quarta geração (tipicamente orientadas a objeto). O número de pontos por objeto não é o mesmo que a quantidade de classes (objetos) do sistema. O número de pontos por objeto é uma média ponderada das telas do sistema, relatórios e número de módulos do programa. É uma ótima unidade de medida para aplicações construídas sob linguagens de alto nível. Além disso, pode ser utilizada nos estágios iniciais de especificação do projeto e não depende de detalhes de implementação [99].

A.3.3

Pontos de caso de uso - use case points

Também uma extensão de pontos por função, o método de pontos de caso de uso [115] é usado para medir e estimar projetos desenvolvidos com paradigmas de orientação a objeto. A principal desvantagem desta abordagem é que a unidade de medida por caso de uso é totalmente dependente da confecção do modelo do caso de uso da UML (do inglês,

Unified Modeling Language) [63], o qual não pode ser realizado com precisão durante as

fases iniciais do projeto.

A.3.4

Story points

Por fim, existe a unidade de medida chamada story points [64], muito utilizada em métodos ágeis de desenvolvimento de software. Story point é a unidade de medida de uma story de um usuário ou de uma feature. Um ponto é atribuído para cada story de um usuário. Os pontos são relativos e atribuídos baseados na complexidade, esforço envolvido e risco inerente. Estimar tais pontos exige bastante experiência do profissional envolvido no processo de estimativa [43].

Intermediate COCOMO

A Tabela B.1 a seguir mostra todos as entradas do Intermediate COCOMO (cost drivers); note que o valor neutro é o apresentado na coluna “Nominal”.

Figura B.1: Entradas do Intermediate COCOMO e seus valores para cada classificação

Revisão Sistemática

Este apêndice apresenta o detalhamento de processos e tabelas associados à revisão sis- temática. Na maior parte dos casos, o corpo da dissertação apresentou apenas uma visão resumida de tabelas e processos.

C.1

Identificação das publicações

Com a análise das publicações das fontes de referência mostrados na Tabela 3.4, foi possível gerar a Tabela C.1 (parte 1) e a Tabela C.2 (parte 2) apresentando todas as “publicações de referência". Em resumo obtivemos 26 métodos identificados, 11 não encontrados o PDF na literatura e 13 repetidos. A primeira coluna das Tabelas mostram o nome do método seguido de sua referência bibliográfica, a segunda coluna detalha onde este método foi identificado (ou seja, qual dos trabalhos do “fontes de referência” listou primeiro este método), a terceira coluna contém o título da publicação do método, a quarta mostra se o trabalho foi ou não encontrado digitalmente para análise mais profunda e por fim a última coluna mostra qual o tipo do trabalho (artigo, livro, relatório técnico, tese de doutorado, anais de conferências ou whitepaper ).

Tabela C.1: Métodos identificados na análise das “fontes de referência- Parte 1 Método e Abre-

viação

Fonte Publicação Encon-

trado

Tipo

Bailey & Basili [32] (ART1)

[18] A Meta-model for Software Development Re- source Expenditures

Sim Artigo

Farr & Zagorski [95] (ART2)

[18] Cost estimation for software development Não Livro

Nelson Model [113] (ART3)

[18] Management handbook for the estimation of computer programming costs

Sim Relatório Técnico General Re-

search Corp. [107] (ART4)

[18] Software Cost Estimation: Present and Fu- ture

Sim Artigo

Boeing Model [51] (ART5)

[18] Analysis of the state of the Art of Parametric Software Cost Modeling

Não Relatório Técnico Aron Model

[29] (ART6)

[18] Software Estimating: A Description and Analysis of Current Methodologies with Re- commendation on Appropriate Techniques For Estimating RIT Research Corporation Software Projects

Sim Tese

Walston & Fe- lix Model [136] (ART7)

[18] A method of programming measurement and estimation

Não Relatório Técnico

Doty Model [30] (ART8)

[18] Software cost estimation study Não Livro

Putnam

(SLIM) Model [121] (ART9)

[18] A General Empirical Solution to the Macro Software Sizing and Estimating Problem

Sim Artigo

Jensen Model [66] (ART10)

[18] A comparison of the Jensen and COCOMO schedule and cost estimation models

Não Artigo

COCOMO [38] (ART11)

[18] Software Engineering Economics Sim Livro

COCOMO-II [37] (ART12)

[18] An Overview of the COCOMO 2.0 Software Cost Model

Sim Artigo

SCEP Model [51] (ART13)

[18] Analysis of the state of the Art of Parametric Software Cost Modeling

Sim Relatório técnico Kustanowitz

Model [89] (ART14)

[18] System Life Cycle Estimation (SLICE): a new approach to estimating resources for ap- plication program development

Tabela C.2: Métodos identificados na análise das “fontes de referência- Parte 2 Método e Abre-

viação

Fonte Publicação Encon-

trado

Tipo

Schneider Model [129] (ART15)

[18] Prediction of software effort and project du- ration: four new formulas

Sim Artigo

Price-S Model [48] (ART16)

[18] PRICE software model-Version 3, An over- view

Não Artigo

SEER-SEM [50] (ART17)

[80] Software Sizing, Estimation, and Risk Ma- nagement: When Performance is Measured Performance Improves

Sim Livro

Albrecht & Gaffney [24] (ART18)

[125] Software function, source lines of code, and development effort prediction: A software science validation

Sim Artigo

Parthasarathy [116] (ART19)

[125] Practical Software Estimation Não Livro

Kassab [77] (ART20)

[125] Formal and Quantitative Approach to Non- Functional Requirements Modeling and As- sessment in Software Engineering

Sim Tese PhD

Mendes [103] (ART21)

[125] Effort Estimation: How Valuable is it for a Web Company to Use a Cross-company Data Set, Compared to Using Its Own Single- company Data Set?

Sim Artigo

Kultur [87] (ART22)

[125] Domain Specific Phase by Phase Effort Esti- mation in Software Projects

Sim Artigo

Martin [100] (ART23)

[125] Software Development Effort Estimation Using Fuzzy Logic: A Case Study

Sim Artigo

CheckPoint [70] (ART24)

[35] Applied Software Measurement (2Nd Ed.): Assuring Productivity and Quality

Não Livro

ESTIMACS [126] (ART25)

[35] ESTIMACS, IEEE Não White

Paper Select Esti-

mator [15] (ART26)

[35] Estimation for Component-based Develop- ment Using SELECT Estimator

Não Web Site

Documentos relacionados