Presentation of a paper presented in the International Conference ITNG 2010, about a framework constructed for software internal quality measurement program with automatic metrics extraction, implemented at a Software Factory.
Software Testing and Quality Assurance Assignment 3Gurpreet singh
Short questions :
Que 1 : Define Software Testing.
Que 2 : What is risk identification ?
Que 3 : What is SCM ?
Que 4 : Define Debugging.
Que 5 : Explain Configuration audit.
Que 6 : Differentiate between white box testing & black box testing.
Que 7 : What do you mean by metrics ?
Que 8 : What do you mean by version control ?
Que 9 : Explain Object Oriented Software Engineering.
Que 10 : What are the advantages and disadvantages of manual testing tools ?
Long Questions:
Que 1 : What do you mean by baselines ? Explain their importance.
Que 2 : What do you mean by change control ? Explain the various steps in detail.
Que 3 : Explain various types of testing in detail.
Que 4 : Differentiate between automated testing and manual testing.
Que 5 : What is web engineering ? Explain in detail its model and features.
Software Testing and Quality Assurance Assignment 3Gurpreet singh
Short questions :
Que 1 : Define Software Testing.
Que 2 : What is risk identification ?
Que 3 : What is SCM ?
Que 4 : Define Debugging.
Que 5 : Explain Configuration audit.
Que 6 : Differentiate between white box testing & black box testing.
Que 7 : What do you mean by metrics ?
Que 8 : What do you mean by version control ?
Que 9 : Explain Object Oriented Software Engineering.
Que 10 : What are the advantages and disadvantages of manual testing tools ?
Long Questions:
Que 1 : What do you mean by baselines ? Explain their importance.
Que 2 : What do you mean by change control ? Explain the various steps in detail.
Que 3 : Explain various types of testing in detail.
Que 4 : Differentiate between automated testing and manual testing.
Que 5 : What is web engineering ? Explain in detail its model and features.
Software, Types of Software
Software Project, Application and Product
Software Business Process
SDLC
SDLC Models
Test Levels
Software Environment
Test Types
Test Design Techniques
Testing Process (STLC)
Informal Testing
Quality Standards
Software Business Domains
This is chapter 2 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
On the past 26th and 27th of March'15, Strongstep was present at Capability Counts Conference in London, where in the voice of our CEO, Pedro Castro Henriques and our esteemed colleague Alexandrina Lemos, the only Portuguese speakers at the event, presented a new vision on the mapping between CMMI and Kanban.
Software Quality Metrics for Testers - StarWest 2013XBOSoft
Presentation by Phil Lew at StarWest 2013.
When implementing software quality metrics, we need to first understand the purpose of the metrics and who will be using them. Will the metric be used to measure people or the process, to illustrate the level of quality in software products, or to drive toward a specific objective? QA managers typically want to deliver productivity metrics to management but management may want to see metrics that describe customer or user satisfaction. Philip Lew believes that software quality metrics without actionable objectives toward increasing customer satisfaction are a waste of time. Learn how to connect each metric with potential actions based on evaluating the metric. Metrics for the sake of information may be helpful but often just end up in spreadsheets of interest to no one. Take home methods to identify metrics that support actionable objectives. Once the metrics and their objectives have been established, learn how to define and use metrics for real improvement.
Software, Types of Software
Software Project, Application and Product
Software Business Process
SDLC
SDLC Models
Test Levels
Software Environment
Test Types
Test Design Techniques
Testing Process (STLC)
Informal Testing
Quality Standards
Software Business Domains
This is chapter 2 of ISTQB Advance Test Manager certification. This presentation helps aspirants understand and prepare the content of the certification.
On the past 26th and 27th of March'15, Strongstep was present at Capability Counts Conference in London, where in the voice of our CEO, Pedro Castro Henriques and our esteemed colleague Alexandrina Lemos, the only Portuguese speakers at the event, presented a new vision on the mapping between CMMI and Kanban.
Software Quality Metrics for Testers - StarWest 2013XBOSoft
Presentation by Phil Lew at StarWest 2013.
When implementing software quality metrics, we need to first understand the purpose of the metrics and who will be using them. Will the metric be used to measure people or the process, to illustrate the level of quality in software products, or to drive toward a specific objective? QA managers typically want to deliver productivity metrics to management but management may want to see metrics that describe customer or user satisfaction. Philip Lew believes that software quality metrics without actionable objectives toward increasing customer satisfaction are a waste of time. Learn how to connect each metric with potential actions based on evaluating the metric. Metrics for the sake of information may be helpful but often just end up in spreadsheets of interest to no one. Take home methods to identify metrics that support actionable objectives. Once the metrics and their objectives have been established, learn how to define and use metrics for real improvement.
Introduction To Software Configuration ManagementRajesh Kumar
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system's or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.[1] For information assurance, CM can be defined as the management of security features and assurances through control of changes made to hardware, software, firmware, documentation, test, test fixtures, and test documentation throughout the life cycle of an information system.
Decision Making Framework in e-Business Cloud Environment Using Software Metr...ijitjournal
Cloud computing technology is most important one in IT industry by enabling them to offer access to their
system and application services on payment type. As a result, more than a few enterprises with Facebook,
Microsoft, Google, and amazon have started offer to their clients. Quality software is most important one in
market competition in this paper presents a hybrid framework based on the goal/question/metric paradigm
to evaluate the quality and effectiveness of previous software goods in project, product and organizations
in a cloud computing environment. In our approach it support decision making in the area of project,
product and organization levels using Neural networks and three angular metrics i.e., project metrics,
product metrics, and organization metrics
A software system continues to grow in size and complexity, it becomes increasing difficult to
understand and manage. Software metrics are units of software measurement. As improvement in coding tools
allow software developer to produce larger amount of software to meet ever expanding requirements. A method
to measure software product, process and project must be used. In this article, we first introduce the software
metrics including the definition of metrics and the history of this field. We aim at a comprehensive survey of the
metrics available for measuring attributes related to software entities. Some classical metrics such as Lines of
codes LOC, Halstead complexity metric (HCM), Function Point analysis and others are discussed and
analyzed. Then we bring up the complexity metrics methods, such as McCabe complexity metrics and object
oriented metrics(C&K method), with real world examples. The comparison and relationship of these metrics are
also presented.
Software metricsIntroduction
Attributes of Software Metrics
Activities of a Measurement Process
Types
Normalization of Metrics
Help software engineers to gain insight into the design and construction of the software
Activities of a Measurement Process
To answer this we need to know the size & complexity of the projects.
But if we normalize the measures, it is possible to compare the two
For normalization we have 2 ways-
Size-Oriented Metrics
Function Oriented Metrics
Maintaining the quality of the software is the major challenge in the process of software development.
Software inspections which use the methods like structured walkthroughs and formal code reviews involve
careful examination of each and every aspect/stage of software development. In Agile software
development, refactoring helps to improve software quality. This refactoring is a technique to improve
software internal structure without changing its behaviour. After much study regarding the ways to
improve software quality, our research proposes an object oriented software metric tool called
“MetricAnalyzer”. This tool is tested on different codebases and is proven to be much useful.
Algorithm ExampleFor the following taskUse the random module .docxdaniahendric
Algorithm Example
For the following task:
Use the random module to write a number guessing game.
The number the computer chooses should change each time you run the program.
Repeatedly ask the user for a number. If the number is different from the computer's let the user know if they guessed too high or too low. If the number matches the computer's, the user wins.
Keep track of the number of tries it takes the user to guess it.
An appropriate algorithm might be:
Import the random module
Display a welcome message to the user
Choose a random number between 1 and 100
Get a guess from the user
Set a number of tries to 0
As long as their guess isn’t the number
Check if guess is lower than computer
If so, print a lower message.
Otherwise, is it higher?
If so, print a higher message.
Get another guess
Increment the tries
Repeat
When they guess the computer's number, display the number and their tries count
Notice that each line in the algorithm corresponds to roughly a line of code in Python, but there is no coding itself in the algorithm. Rather the algorithm lays out what needs to happen step by step to achieve the program.
Software Quality Metrics for Object-Oriented Environments
AUTHORS:
Dr. Linda H. Rosenberg Lawrence E. Hyatt
Unisys Government Systems Software Assurance Technology Center
Goddard Space Flight Center Goddard Space Flight Center
Bld 6 Code 300.1 Bld 6 Code 302
Greenbelt, MD 20771 USA Greenbelt, MD 20771 USA
I. INTRODUCTION
Object-oriented design and development are popular concepts in today’s software development
environment. They are often heralded as the silver bullet for solving software problems. While
in reality there is no silver bullet, object-oriented development has proved its value for systems
that must be maintained and modified. Object-oriented software development requires a
different approach from more traditional functional decomposition and data flow development
methods. This includes the software metrics used to evaluate object-oriented software.
The concepts of software metrics are well established, and many metrics relating to product
quality have been developed and used. With object-oriented analysis and design methodologies
gaining popularity, it is time to start investigating object-oriented metrics with respect to
software quality. We are interested in the answer to the following questions:
• What concepts and structures in object-oriented design affect the quality of the
software?
• Can traditional metrics measure the critical object-oriented structures?
• If so, are the threshold values for the metrics the same for object-oriented designs as for
functional/data designs?
• Which of the many new metrics found in the literature are useful to measure the critical
concepts of object-oriented structures?
II. METRIC EVALUATION CRITERIA
While metrics for the traditional functional decomposition and data analysis design appro ...
Metrics serve as important indicator of the efficiency and effectiveness of software process. Analysis of defined metrics helps identify area of improvement and devise subsequent actions.......Read more
The peer-reviewed International Journal of Engineering Inventions (IJEI) is started with a mission to encourage contribution to research in Science and Technology. Encourage and motivate researchers in challenging areas of Sciences and Technology.
One of the core quality assurance feature which combines fault prevention and fault detection, is often known as testability approach also. There are many assessment techniques and quantification method evolved for software testability prediction which actually identifies testability weakness or factors to further help reduce test effort. This paper examines all those measurement techniques that are being proposed for software testability assessment at various phases of object oriented software development life cycle. The aim is to find the best metrics suit for software quality improvisation through software testability support. The ultimate objective is to establish the ground work for finding ways reduce the testing effort by improvising software testability and its assessment using well planned guidelines for object-oriented software development with the help of suitable metrics.
[Phd Thesis Defense] CHAMELEON: A Deep Learning Meta-Architecture for News Re...Gabriel Moreira
Presentation of the Phd. thesis defense of Gabriel de Souza Pereira Moreira at Instituto Tecnológico de Aeronáutica (ITA), on Dec. 09, 2019, in São José dos Campos, Brazil.
Abstract:
Recommender systems have been increasingly popular in assisting users with their choices, thus enhancing their engagement and overall satisfaction with online services. Since the last decade, recommender systems became a topic of increasing interest among machine learning, human-computer interaction, and information retrieval researchers.
News recommender systems are aimed to personalize users experiences and help them discover relevant articles from a large and dynamic search space. Therefore, it is a challenging scenario for recommendations. Large publishers release hundreds of news daily, implying that they must deal with fast-growing numbers of items that get quickly outdated and irrelevant to most readers. News readers exhibit more unstable consumption behavior than users in other domains such as entertainment. External events, like breaking news, affect readers interests. In addition, the news domain experiences extreme levels of sparsity, as most users are anonymous, with no past behavior tracked.
Since 2016, Deep Learning methods and techniques have been explored in Recommender Systems research. In general, they can be divided into methods for: Deep Collaborative Filtering, Learning Item Embeddings, Session-based Recommendations using Recurrent Neural Networks (RNN), and Feature Extraction from Items' Unstructured Data such as text, images, audio, and video.
The main contribution of this research was named CHAMELEON a meta-architecture designed to tackle the specific challenges of news recommendation. It consists of a modular reference architecture which can be instantiated using different neural building blocks.
As information about users' past interactions is scarce in the news domain, information such as the user context (e.g., time, location, device, the sequence of clicks within the session), static and dynamic article features like the article textual content and its popularity and recency, are explicitly modeled in a hybrid session-based recommendation approach using RNNs.
The recommendation task addressed in this work is the next-item prediction for user sessions, i.e., "what is the next most likely article a user might read in a session?". A temporal offline evaluation is used for a realistic offline evaluation of such task, considering factors that affect global readership interests like popularity, recency, and seasonality.
Experiments performed with two large datasets have shown the effectiveness of the CHAMELEON for news recommendation on many quality factors such as accuracy, item coverage, novelty, and reduced item cold-start problem, when compared to other traditional and state-of-the-art session-based algorithms.
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...Gabriel Moreira
Talk presented at PAPIs LATAM 2019 by Gabriel Moreira, Rodrigo Pereira and Fabio Uechi, from CI&T
Summary:
For real-world ML systems, it is crucial to have scalable and flexible platforms to build ML workflows. In this workshop, we will demonstrate how to build an ML DevOps pipeline using Kubeflow and TensorFlow Extended (TFX). Kubeflow is a flexible environment to implement ML workflows on top of Kubernetes - an open-source platform for managing containerized workloads and services, which can be deployed either on-premises or on a Cloud platform. TFX has a special integration with Kubeflow and provides tools for data pre-processing, model training, evaluation, deployment, and monitoring. In our workshop, we will demonstrate a pipeline for training and deploying an RNN-based Recommender System model using Kubeflow.
Deep Learning for Recommender Systems @ TDC SP 2019Gabriel Moreira
In this talk, I provide a brief introduction on classic methods on Recommender Systems and an overview of the state on how Deep Learning techniques have been recently applied to Recommender Systems. Furthermore, I present a neurla network architecture and the results I have obtained in my ongoing Phd. research on News Recommender Systems with Deep Learning.
PAPIs LATAM 2019 - Training and deploying ML models with Kubeflow and TensorF...Gabriel Moreira
For real-world ML systems, it is crucial to have scalable and flexible platforms to build ML workflows. In this workshop, we will demonstrate how to build an ML DevOps pipeline using Kubeflow and TensorFlow Extended (TFX). Kubeflow is a flexible environment to implement ML workflows on top of Kubernetes - an open-source platform for managing containerized workloads and services, which can be deployed either on-premises or on a Cloud platform. TFX has a special integration with Kubeflow and provides tools for data pre-processing, model training, evaluation, deployment, and monitoring.
In this workshop, we will demonstrate a pipeline for training and deploying an RNN-based Recommender System model using Kubeflow.
https://papislatam2019.sched.com/event/OV1M/training-and-deploying-ml-models-with-kubeflow-and-tensorflow-extended-tfx-sponsored-by-cit
Nesta palestra no evento GDG DataFest, apresentei uma introdução prática sobre as principais técnicas de sistemas de recomendação, incluindo arquiteturas recentes baseadas em Deep Learning. Foram apresentados exemplos utilizando Python, TensorFlow e Google ML Engine, e fornecidos datasets para exercitarmos um cenário de recomendação de artigos e notícias.
Deep Recommender Systems - PAPIs.io LATAM 2018Gabriel Moreira
In this talk, we provide an overview of the state on how Deep Learning techniques have been recently applied to Recommender Systems. Furthermore, I provide an brief view of my ongoing Phd. research on News Recommender Systems with Deep Learning
CI&T Tech Summit 2017 - Machine Learning para Sistemas de RecomendaçãoGabriel Moreira
Palestra introdutória sobre as principais famílias de sistemas de recomendação: Filtragem Colaborativa, Filtragem Baseada em Conteúdo e Filtragem Híbrida. Falamos também da utilização de técnicas de vetorização de texto, como TF-IDF e Topic Modeling, para recomendações.
Feature Engineering - Getting most out of data for predictive models - TDC 2017Gabriel Moreira
How should data be preprocessed for use in machine learning algorithms? How to identify the most predictive attributes of a dataset? What features can generate to improve the accuracy of a model?
Feature Engineering is the process of extracting and selecting, from raw data, features that can be used effectively in predictive models. As the quality of the features greatly influences the quality of the results, knowing the main techniques and pitfalls will help you to succeed in the use of machine learning in your projects.
In this talk, we will present methods and techniques that allow us to extract the maximum potential of the features of a dataset, increasing flexibility, simplicity and accuracy of the models. The analysis of the distribution of features and their correlations, the transformation of numeric attributes (such as scaling, normalization, log-based transformation, binning), categorical attributes (such as one-hot encoding, feature hashing, Temporal (date / time), and free-text attributes (text vectorization, topic modeling).
Python, Python, Scikit-learn, and Spark SQL examples will be presented and how to use domain knowledge and intuition to select and generate features relevant to predictive models.
Feature Engineering - Getting most out of data for predictive modelsGabriel Moreira
How should data be preprocessed for use in machine learning algorithms? How to identify the most predictive attributes of a dataset? What features can generate to improve the accuracy of a model?
Feature Engineering is the process of extracting and selecting, from raw data, features that can be used effectively in predictive models. As the quality of the features greatly influences the quality of the results, knowing the main techniques and pitfalls will help you to succeed in the use of machine learning in your projects.
In this talk, we will present methods and techniques that allow us to extract the maximum potential of the features of a dataset, increasing flexibility, simplicity and accuracy of the models. The analysis of the distribution of features and their correlations, the transformation of numeric attributes (such as scaling, normalization, log-based transformation, binning), categorical attributes (such as one-hot encoding, feature hashing, Temporal (date / time), and free-text attributes (text vectorization, topic modeling).
Python, Python, Scikit-learn, and Spark SQL examples will be presented and how to use domain knowledge and intuition to select and generate features relevant to predictive models.
Discovering User's Topics of Interest in Recommender Systems @ Meetup Machine...Gabriel Moreira
This talk introduces the main techniques of Recommender Systems and Topic Modeling. Then, we present a case of how we've combined those techniques to build Smart Canvas, a SaaS that allows people to bring, create and curate content relevant to their organization, and also helps to tear down knowledge silos.
We give a deep dive into the design of our large-scale recommendation algorithms, giving special attention to a content-based approach that uses topic modeling techniques (like LDA and NMF) to discover people’s topics of interest from unstructured text, and social-based algorithms using a graph database connecting content, people and teams around topics.
Our typical data pipeline that includes the ingestion millions of user events (using Google PubSub and BigQuery), the batch processing of the models (with PySpark, MLib, and Scikit-learn), the online recommendations (with Google App Engine, Titan Graph Database and Elasticsearch), and the data-driven evaluation of UX and algorithms through A/B testing experimentation. We also touch topics about non-functional requirements of a software-as-a-service like scalability, performance, availability, reliability and multi-tenancy and how we addressed it in a robust architecture deployed on Google Cloud Platform.
Short-Bio: Gabriel Moreira is a scientist passionate about solving problems with data. He is Head of Machine Learning at CI&T and Doctoral student at Instituto Tecnológico de Aeronáutica - ITA. where he has also got his Masters on Science. His current research interests are recommender systems and deep learning.
https://www.meetup.com/pt-BR/machine-learning-big-data-engenharia/events/239037949/
Discovering User's Topics of Interest in Recommender SystemsGabriel Moreira
This talk introduces the main techniques of Recommender Systems and Topic Modeling.
Then, we present a case of how we've combined those techniques to build Smart Canvas (www.smartcanvas.com), a service that allows people to bring, create and curate content relevant to their organization, and also helps to tear down knowledge silos.
We present some of Smart Canvas features powered by its recommender system, such as:
- Highlight relevant content, explaining to the users which of his topics of interest have generated each recommendation.
- Associate tags to users’ profiles based on topics discovered from content they have contributed. These tags become searchable, allowing users to find experts or people with specific interests.
- Recommends people with similar interests, explaining which topics brings them together.
We give a deep dive into the design of our large-scale recommendation algorithms, giving special attention to our content-based approach that uses topic modeling techniques (like LDA and NMF) to discover people’s topics of interest from unstructured text, and social-based algorithms using a graph database connecting content, people and teams around topics.
Our typical data pipeline that includes the ingestion millions of user events (using Google PubSub and BigQuery), the batch processing of the models (with PySpark, MLib, and Scikit-learn), the online recommendations (with Google App Engine, Titan Graph Database and Elasticsearch), and the data-driven evaluation of UX and algorithms through A/B testing experimentation. We also touch topics about non-functional requirements of a software-as-a-service like scalability, performance, availability, reliability and multi-tenancy and how we addressed it in a robust architecture deployed on Google Cloud Platform.
Python for Data Science - Python Brasil 11 (2015)Gabriel Moreira
This talk demonstrate a complete Data Science process, involving Obtaining, Scrubbing, Exploring, Modeling and Interpreting data using Python ecosystem tools, like IPython Notebook, Pandas, Matplotlib, NumPy, SciPy and Scikit-learn.
In this talk, we introduce the Data Scientist role , differentiate investigative and operational analytics, and demonstrate a complete Data Science process using Python ecosystem tools, like IPython Notebook, Pandas, Matplotlib, NumPy, SciPy and Scikit-learn. We also touch the usage of Python in Big Data context, using Hadoop and Spark.
In this presentation its given an introduction about Data Science, Data Scientist role and features, and how Python ecosystem provides great tools for Data Science process (Obtain, Scrub, Explore, Model, Interpret).
For that, an attached IPython Notebook ( http://bit.ly/python4datascience_nb ) exemplifies the full process of a corporate network analysis, using Pandas, Matplotlib, Scikit-learn, Numpy and Scipy.
Using Neural Networks and 3D sensors data to model LIBRAS gestures recognitio...Gabriel Moreira
Paper entitled "Using Neural Networks and 3D sensors data to model LIBRAS gestures recognition", presented at II Symposium on Knowledge Discovery, Mining and Learning – KDMILE, USP, São Carlos, SP, Brazil.
Developing GeoGames for Education with Kinect and Android for ArcGIS RuntimeGabriel Moreira
This presentation is about Where Is That, a game developed for geography and history education. There are two versions, one for Android, available on Google Play, and the other for Windows.
Palestra realizada para profissionais da Prefeitura Municipal de São José dos Campos, SP, a respeito de como avançar na agilidade, critérios de aceite e agile testing.
Software Product Measurement and Analysis in a Continuous Integration Environment
1. Authors : Gabriel de Souza P. Moreira Roberto Pepato Mellado Denis Ávila Montini Prof. Dr. Luiz Alberto Vieira Dias Prof. Dr. Adilson Marques da Cunha
The "why?" is important mainly because it defines how data should be interpreted providing the basis for reusing measurement plans and procedures for future projects and activities [5]. Figure 3 shows in the GQ(I)M the levels that can be applied to products, processes and resources in a life cycle of a system.
Following the GQ(I)M suggestion from a specialized work using Goal-Driven Software Measurement, it was found that the use of GQ(I)M complements the planning steps of MA of a PA within the CMMi [8]. The GQ(I)M top-down approach was applied to plan the measurement and analysis described in this paper, as shown in Table 2. Within the scope of this paper some product metrics were selected that could be automatically extracted from source codes and unit tests, with fixed frequency, through a Continuous Integration environment
The metrics organization in a structured database has allowed different ways of metrics analysis. Some of them were connecting client software like MS Excel to metrics database, generating statistical graphics, or exploring PivotTables [3].
But features and structure of transactional databases are tuned to support operational tasks like maintaining operational data by using On-Line Transaction Processing – OLTP. This solution might not be suitable if there is a large load of data metrics being collected and stored from a lot of projects, as in a Software Factory. In this case, would be necessary a structured database for high-performance analysis like a Data Warehouse (DW). Here, an approach for quickly answering multidimensional user queries would be also important, which could be achieved by using On-Line Analytical Processing (OLAP).
Once software metrics were loaded into a multidimensional database like a DW, they could be analyzed by using OLAP with good performance. That happened mainly because in the ETL processing, fact tables of metric values were aggregated by each possible grouping with the dimension tables attributes, and then a Cube was generated. So, the user could quickly execute common OLAP operations over the Metrics Cube. Among some used operations were the Drill-Down/Up and Slice-And-Dice, allowing users to analyze information in a more or less detailed view, or to change/combine different dimensions. Figure 5 shows an example of an OLAP analysis over the software metrics Cube. The matrix shows in lines the date/time of automated CI builds executed over time, and in columns it shows OO class names. In this example, matrix cells represent the Cyclomatic Complexity and Nb Lines of Code (LOC) metrics. So it can be seen how these metrics evolve during time, for each class. In this case, it can be noticed also that the Cyclomatic Complexity is increasing with the insertion of LOC, as expected. The user can Drill Up to analyze metrics in a higher level, from Package and Week perspectives, for example, or can also Slice data, like just filtering classes from one specific assembly.
The GQ(I)M approach preaches the importance of Graphical Indicators that makes sense even for a non-specialist. Generally, Indicators are understandable in a higher level than metrics, and are calculated over one or more metrics. In this work, it was generated a set of Key Performance Indicators (KPI) [8] that helped answering the Questions listed in the Table 2. An example of these KPI for a specific project, considering the desired Goal for them, is presented in Figure 6. This kind of approach has allowed the Project Manager to analyze, considering a time frame, how maintainable, reusable, and testable was the developed source code.
It was also possible the generation of a Kiviat graphic to allow an integrated analysis of the metrics maximum (desired) value against the measured values. As shown in Table 3 and Figure 8, in the case study’s project, the maximum measure for Cyclomatic Complexity (CC) found in a class was 87, whilst the assumed maximum desired CC value for a class was 50. That depicts that there are still some room to go improving the source code and reducing its complexity.
Another kind of performed analysis was the generation of statistical graphics. Figure 7 presents how the Unit Test Coverage was reduced in the project over time. From that, it can be inferred that, initially some unit tests were developed, but as the LOC increased in the next days, few new unit tests were created to test the inserted new methods.