Presentation from Alain on the second national software measurement congress in Mexico CNMES.MX on the principles of software cost estimating using the COSMIC method.
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationPasquale Salza
The presentation describes the application of the COSMIC functional size measurement method in mobile environment. In particular, we describe how COSMIC has been applied to Android mobile applications, also through an example of measurement, and the identification of some possible recurrent patterns. Moreover, we report the results of an empirical study carried out to verify the ability of the COSMIC measure to estimate mobile applications code sizes, i.e., the amount of needed memory. The results show that in the considered domain it is possible to get early and accurate prediction of the needed memory space in bytes.
This work was presented at the ACM/SIGAPP Symposium on Applied Computing (SAC), April, 2015, Salamanca, Spain.
Boehm Software Quality Model is an important Software Quality Model. Introduced in 1978, it helps define the usability, maintainability, and portability of the product. Learn more: www.professionalqa.com/boehm-software-quality-model
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationPasquale Salza
The presentation describes the application of the COSMIC functional size measurement method in mobile environment. In particular, we describe how COSMIC has been applied to Android mobile applications, also through an example of measurement, and the identification of some possible recurrent patterns. Moreover, we report the results of an empirical study carried out to verify the ability of the COSMIC measure to estimate mobile applications code sizes, i.e., the amount of needed memory. The results show that in the considered domain it is possible to get early and accurate prediction of the needed memory space in bytes.
This work was presented at the ACM/SIGAPP Symposium on Applied Computing (SAC), April, 2015, Salamanca, Spain.
Boehm Software Quality Model is an important Software Quality Model. Introduced in 1978, it helps define the usability, maintainability, and portability of the product. Learn more: www.professionalqa.com/boehm-software-quality-model
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
Detailed description of the use case point estimation method use to estimate the size of Application before Developing it. This Model is used in Software Engineering Field
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
Detailed description of the use case point estimation method use to estimate the size of Application before Developing it. This Model is used in Software Engineering Field
Results of research at the UNiversity of Sfax, Tunisia, on using COSMIC size measurement for rapid sizing, decision-making on functional changes and automatic measurement of CFP sizes from Java code
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrig...Data Science Milan
"How Pirelli uses Domino and Plotly for Smart Manufacturing" by Alberto Arrigoni, Senior Data Scientist, Pirelli (pirelli.com)
Abstract:
Pirelli, a global performance tire manufacturer, uses data science in its 20 factories to improve quality and efficiency, and reduce energy consumption. For this “Smart Manufacturing” initiative, Pirelli’s data science team has developed predictive models and analytics tools to monitor processes, machines and materials on the factory floors. In this talk we will show some of the solutions we deploy, demonstrate how we used Domino’s data science platform and Plot.ly to build these solutions, and discuss the next steps in this journey towards predictive maintenance.
Bio:
Alberto Arrigoni is a data scientist at Pirelli, where he works to process sensors and telemetry data for IoT, Smart Factories and connected-vehicle applications.
He works closely with all major business units such as R&D, industrial engineering and BI to develop tailored machine learning algorithms and production systems.
He holds a PhD in biostatistics from the University of Milan Bicocca and prior to joining Pirelli was a staff data scientist at the National Institute of Molecular Genetics (Milan), as well as a Fulbright student at the Santa Clara University and visiting PhD student at Pacific Biosciences (Menlo Park, CA).
A CASE Lab Report - Project File on "ATM - Banking System"joyousbharat
A CASE Lab Report - Project File on "ATM - Banking System"
The software to be designed will control a simulated automated teller machine
(ATM) having a magnetic stripe reader for reading an ATM card, a keyboard and
display for interaction with the customer, a slot for depositing envelopes, a
dispenser for cash (in multiples of $20), a printer for printing customer receipts, and
a key-operated switch to allow an operator to start or stop the machine. The ATM
will communicate with the bank's computer over an appropriate communication
link. (The software on the latter is not part of the requirements for this problem.)
Safety Verification and Software aspects of Automotive SoCPankaj Singh
IP-SoC Conference 2017 Grenoble
Automotive industry has evolved over last 100 years. Electronic systems were
introduced into the automotive industry in 1960. Since then the complexity has grown
many fold and today’s automobiles have as many as 150 programmable computing
elements or Electronic Control Units(ECUs) with several wiring connections.
The software content has also increased significantly with today’s car having more than
100 million of lines of software code.
This increased hardware and software complexity increases the risk of failure that could
impact negatively on vehicle safety. This has led to concerns regarding the validation of
failure modes and the detection mechanisms. Car maker and suppliers need to prove
that, despite increasing complexity, their electronic systems will deliver the required
functionality safely and reliably.
This presentation describes the challenges and methodology related to Safety
verification and Software development aspects of Automotive Microcontroller SoC.
Presentation by Alain Abran and Frank Vogelezang at the CIO breakfast session from Amiti with CIOs from Government and private companies on how the COSMIC method offers critical knowledge for today and tomorrow to improve software project estimation.
Presentation given at the second national software metrics conference CNMES.MX in Mexico on May 29, 2017 on the acceptance and developments of the COSMIC method.
In his book ‘Software Metrics and Software Metrology’ Dr. Abran has used a number of metrology concepts to document structural weaknesses in the design of well-known software metrics and, from the lessons learned, he has illustrated next how some metrology criteria had been taken into account in the design of the 2nd generation of a measurement method for the functional size of a software.
In this talk, Dr. Abran will present some key metrology-related lessons learned from the past and how they relate to software measurement. He will also share recent insights from his exploration of the relevance and use of metrology concepts for software measurement, and how close or how far are we in a journey towards the design (and acceptance…) of an 8th base measure for software?
‘Many ad hoc software metrics have been defined and used. But when neither the methods of established metrology nor any comparable alternative are applied, the outcome is metrics and procedures that do not meet expectations for metrological rigor and results whose meaning and significance are unclear.’
From: ‘A Rational Foundation for Software Metrology’ – NIST 2016
Estas diapositivas explican los beneficios de COSMIC FP, método que utilizó Intellego para satisfacer las necesidades del negocio. El método COSMIC ayudó a reducir la variación esfuerzo con la verificación estadística.
What are the impacts of using COSMIC in an organization and what benefits can you expect, as presented on the Congreso Nacional de Medición y Estimación de Software in Mexico City.
A look into the future of the COSMIC method from the perspectives of industry, research and the COSMIC organization, as presented on the Congreso Nacional de Medición y Estimación de Software in Mexico City.
How to use the COSMIC method for proper and reliable estimates of software projects, as presented on the Congreso Nacional de Medición y Estimación de Software in Mexico City.
How to improve the blessings of the Earned Value Method by using an objective functional size measure like COSMIC to show the real status of a software project, as presented on the Congreso Nacional de Medición y Estimación de Software in Mexico City.
Presentation of the approaches with the COSMIC method to determine the functional size early or quick by using approximation approaches, as presented on the Congreso Nacional de Medición y Estimación de Software in Mexico City.
For COSMIC, 2014 is the year in which we upgraded the method to version 4.0. The same principles have now become more accessible to novice users and non-native English speakers.
We also worked hard to make the organization more professional. New legislation in Canada speeded up the organizational part, because we had to rewrite our Constitution to fulfill the obligations posed by the new Not For Profit act in Canada. All key positions in the COSMIC organization are now subject to a 3-year review/re-election period to ensure that people holding such a position remain active and committed to the organization and its goals.
In 2014 COSMIC dedicated a lot of time and energy in the relation with national Software Metrics Associations. Now key officials of a number of national SMA’s also hold key positions in the COSMIC organization. Among them the United States, Brazil, Mexico, Germany, Italy, Poland and the Netherlands. This has also resulted in two combined projects:
- The development of a Case Study, together with Nesma
- A common glossary on NFR, together with IFPUG
We also worked hard in realizing an on-line certification exam for the entry-level certification exam. In this way more people can prove their knowledge of the fundamentals of the COSMIC method.
Also we welcomed two additional countries to the IAC: Australia and South Africa. Two important industrialized nations now also have a local representation from COSMIC.
Presentation by Alexandre Oriou from Renault on how Renault has automated their COSMIC functional size measurement in order to have an independent control of both internal and supplier productivity.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Understanding Globus Data Transfers with NetSageGlobus
NetSage is an open privacy-aware network measurement, analysis, and visualization service designed to help end-users visualize and reason about large data transfers. NetSage traditionally has used a combination of passive measurements, including SNMP and flow data, as well as active measurements, mainly perfSONAR, to provide longitudinal network performance data visualization. It has been deployed by dozens of networks world wide, and is supported domestically by the Engagement and Performance Operations Center (EPOC), NSF #2328479. We have recently expanded the NetSage data sources to include logs for Globus data transfers, following the same privacy-preserving approach as for Flow data. Using the logs for the Texas Advanced Computing Center (TACC) as an example, this talk will walk through several different example use cases that NetSage can answer, including: Who is using Globus to share data with my institution, and what kind of performance are they able to achieve? How many transfers has Globus supported for us? Which sites are we sharing the most data with, and how is that changing over time? How is my site using Globus to move data internally, and what kind of performance do we see for those transfers? What percentage of data transfers at my institution used Globus, and how did the overall data transfer performance compare to the Globus users?
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
Launch Your Streaming Platforms in MinutesRoshan Dwivedi
The claim of launching a streaming platform in minutes might be a bit of an exaggeration, but there are services that can significantly streamline the process. Here's a breakdown:
Pros of Speedy Streaming Platform Launch Services:
No coding required: These services often use drag-and-drop interfaces or pre-built templates, eliminating the need for programming knowledge.
Faster setup: Compared to building from scratch, these platforms can get you up and running much quicker.
All-in-one solutions: Many services offer features like content management systems (CMS), video players, and monetization tools, reducing the need for multiple integrations.
Things to Consider:
Limited customization: These platforms may offer less flexibility in design and functionality compared to custom-built solutions.
Scalability: As your audience grows, you might need to upgrade to a more robust platform or encounter limitations with the "quick launch" option.
Features: Carefully evaluate which features are included and if they meet your specific needs (e.g., live streaming, subscription options).
Examples of Services for Launching Streaming Platforms:
Muvi [muvi com]
Uscreen [usencreen tv]
Alternatives to Consider:
Existing Streaming platforms: Platforms like YouTube or Twitch might be suitable for basic streaming needs, though monetization options might be limited.
Custom Development: While more time-consuming, custom development offers the most control and flexibility for your platform.
Overall, launching a streaming platform in minutes might not be entirely realistic, but these services can significantly speed up the process compared to building from scratch. Carefully consider your needs and budget when choosing the best option for you.
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...Juraj Vysvader
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I didn't get rich from it but it did have 63K downloads (powered possible tens of thousands of websites).
How Recreation Management Software Can Streamline Your Operations.pptxwottaspaceseo
Recreation management software streamlines operations by automating key tasks such as scheduling, registration, and payment processing, reducing manual workload and errors. It provides centralized management of facilities, classes, and events, ensuring efficient resource allocation and facility usage. The software offers user-friendly online portals for easy access to bookings and program information, enhancing customer experience. Real-time reporting and data analytics deliver insights into attendance and preferences, aiding in strategic decision-making. Additionally, effective communication tools keep participants and staff informed with timely updates. Overall, recreation management software enhances efficiency, improves service delivery, and boosts customer satisfaction.
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaYara Milbes
Discover the transformative power of the WhatsApp API in our latest SlideShare presentation, "Top 7 Unique WhatsApp API Benefits." In today's fast-paced digital era, effective communication is crucial for both personal and professional success. Whether you're a small business looking to enhance customer interactions or an individual seeking seamless communication with loved ones, the WhatsApp API offers robust capabilities that can significantly elevate your experience.
In this presentation, we delve into the top 7 distinctive benefits of the WhatsApp API, provided by the leading WhatsApp API service provider in Saudi Arabia. Learn how to streamline customer support, automate notifications, leverage rich media messaging, run scalable marketing campaigns, integrate secure payments, synchronize with CRM systems, and ensure enhanced security and privacy.
CNMES 2017 Software Cost Estimating with COSMIC - Critical knowledge for today and tomorrow
1.
2. Software Effort Estimating with COSMIC:
Critical knowledge for today and tomorrow
Alain Abran
with C.Symons, C.Ebert, F.Vogelezang, H.Soubra
3. Presenter background - Alain Abran
3
20 years 20 years
Development
Maintenance
Process Improvement
ISO: 19761,
9126, 25000,
15939, 14143,
19759
+ 40 PhD
4. Agenda
1. Software effort estimation & software size
2. COSMIC: 2nd generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation models
5. Early & Quick COSMIC sizing at estimation time
6. Summary
4
ICEAA
Bristol
2016
5. The Cone of Uncertainty across the Project Lifecycle
5
Range of expected variations in ‘estimation’ models across the project life cycle
Adapted from Boehm (2000), Fig. 1.2
6. 6
You build estimation models with completed projects (with almost no uncertainty in the inputs)
Organization
Data Repository
7. 7
You do estimation upfront with a lot of uncertainty
Organization Data
Repository
9. Software Sizing Options across the Lifecycle?
9
Lines of code: X Can’t estimate until software designed
X Technology-dependent, no standards
Functional size
(Function Points):
International standard methods
Technology-independent
Usecase Points,
Object Points, ..
X Technology dependent, no standards
X Mathematical validity?
Story Points X Entirely subjective
10. Agenda
1. Software Effort Estimation & Software Size
2. COSMIC: 2nd generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation models
5. Early & Quick COSMIC sizing at estimation time
6. Summary
10
11. 1st Generation of Function Points =
Complexity tables & Weights11
Inputs - Matrix Output & Enquiries –
Shared Matrix
Transactions: weights in
FP (Function Points)
12. Function Points weights =
Step functions
3 FP
4 FP
6 FP
3-step size range for the IFPUG External Input Transactions
Key limitations:
- Only 3 values
- Limited ranges (min,max)
- No single measurement unit of 1 FP!
12
13. 1st Generation of Function Points
Function Points (FP)
3 FP
4 FP
6 FP
13
= ?
14. 1980 1985 1990 1995 2000
Allan
Albrecht
FPA
COSMIC v.
4.0.1
2017
COSMIC FFP
v. 2.0
IFPUG 4.0
IFPUG 4.1
MkII FPA
MkII FPA
v.1.3
Full FP’s v.1
3-D FP’s
Feature
Points
ISO ‘FSM’
Standard
14143
IFPUG 4.3
1st generation
2nd generation
14
15. 2nd Generation of Function Points
Every software is different, but …..
what is common across all software:
In different types of software?
In very small software?
In very large software?
In distinct software domains?
In various countries?
15
16. 2nd Generation of Function Points
All software does this:
Software
being
measured
Boundary
Functional Users types:
1. Humans
2. Hardware devices
3. Other software
Entries
Exits
Reads Writes
Persistent
storage
The ‘Data Movement of 1 data group’ is
the unit of measurement: 1 CFP
(1 CFP = 1 COSMIC Function Point)
16
COSMIC view of
software
17. 2nd Generation with COSMIC
COSMIC
Function
Points
(CFP)
No abitrary max
A single CFP exists
& is well defined
1
2
4
3
6
5
8
7
10
9
11
17
Largest observed
functional processes:
In avionics >100 CFP
In banking > 70 CFP
18. Example 1: Intruder Alarm System - Requirements
The embedded
alarm software
Software BoundaryInput devices
(functional users)
Output devices
(functional users)
External alarm
Internal alarm
2 x LED’s
Keypad
Power voltage detector
Front door sensor
Movement detectors
Persistent
storage
18
19. Data
Movem
ent
Functional User Data Group
Entry Front-door sensor ‘Door open’ message (triggering Entry)
Read - / Occupant PIN (from persistent storage)
Exit Green LED Switch ‘off’ command
Exit Red LED Switch ‘on’ command
Exit Internal siren Start noise command
Entry Keypad PIN (If the wrong code is entered, the user may enter the
PIN two more times but the process is always the same so
it is only measured once.)
* Green LED Switch ‘on’ command (after successful entry of PIN)
* Red LED Switch ‘off’ command
Exit Internal siren Stop noise command (after successful entry of PIN)
Exit External siren Start noise command (after three unsuccessful PIN
entries, or if the PIN is not entered in time)
Exit External siren Stop noise command (after 20 minutes, a legal
requirement)
Functional process: Possible intruder detected.
Triggering event: Door opens whilst alarm system is activated.
Size = 9 CFP (COSMIC Function Points)
19
The embedded
alarm software
Software BoundaryInput devices
(functional users)
Output devices
(functional users)
External alarm
Internal alarm
2 x LED’s
Keypad
Power voltage detector
Front door sensor
Movement detectors
Persistent
storage
20. Agenda
1. Software Effort Estimation & Software Size
2. COSMIC: 2nd generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation Models
5. Early & Quick COSMIC sizing at Estimation Time
6. Summary
20
21. Versatility - Guidelines by Application Domains
• Business applications
• Real-time software
• Data Warehouse software
• SOA software (SOA: Service Oriented Architecture)
• Mobile apps
• Agile Development
TThhee CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee MMeeaassuurreemmeenntt MMeetthhoodd
VVeerrssiioonn 44..00..11
GGuuiiddeelliinnee ffoorr SSiizziinngg
BBuussiinneessss AApppplliiccaattiioonn SSooffttwwaarree
VERSION 1.3a
Febuary 2016
21
22. Versatility – COSMIC Case Studies
22
• Real-time:
• Rice cooker
• Automatic line switching
• Valve control
• Business:
• Course registration (distributed)
• Restaurant management (web & mobile phone)
• Banking web advice module
• Car hire (existing legacy app.)
23. Versatility - at any level of software requirements
Middleware Layer (Utilities, etc)
Operating System Layer
Keyboard
Driver
Screen
Driver
VDU
Screen
KeyboardHardware
Disk
Driver
Hard Disk
Drive
Print
Driver
Printer
Central
Processor
Database Management
System Layer
DBMS 1 DBMS 2
App 1Application Layer App 2 App ‘n’
23
24. Agile: COSMIC Aggregation rules
COSMIC size usable for:
• early Total System sizing & effort
estimation
• US, Sprint etc. sizing & estimation
• Progress control at any levelSprint
Iteration
Release
System
User Story (new &/or re-work)
24
Functional User
Requirements
Data
Movements
Functiona
l
Processes
Functional
User
Event
25. Agenda
1. Software Effort Estimation & Software Size
2. COSMIC: 2nd generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation models
5. Early & Quick COSMIC sizing at estimation time
6. Summary
25
26. COSMIC data from Industry
26
COSMIC method in Automotive
embedded software
By: Sophie Stern
Renault
31. Renault: COSMIC Automation with Matlab SIMULINK
31
Ref. H. Soubra, and K. Chaaban, "Functional Size Measurement of
Electronic Control Units Software Designed Following the AUTOSAR
Standard: A Measurement Guideline Based on the COSMIC ISO
19761 Standard," IWSM-MENSURA Conference, Assisi (Italy), IEEE
CS Press, 2012.
32. AUTOMATION ACCURACY REACHED WITH COSMIC
Steer-by-Wire
Runnable
Functional
size obtained
by the
manual
FSM
procedure
(CFP)
Functional size
obtained by the
automated
FSM
procedure
(CFP)
Steer_Run_Acquisition 3 3
Steer_Run_Sensor 4 4
Steer_Run_Command 7 7
Steer_InterECU_Wheel 3 3
Steer_Run_Actuator 2 2
Wheel_Run_Acquistion 3 3
Wheel_Run_Sensor 4 4
Wheel_Run_Command 7 7
Wheel_InterECU_Steer 3 3
Wheel _Run_Actuator 2 2
Total 38 38
Total
Number of
Models
Total Size
obtained
manually
(CFP)
Total Size
obtained
using the
prototype
tool (CFP)
Difference
(%)
Accuracy
76 fault-
free models
1,729 1,739 Less than 1% >99%
All 77
models
1,758 1,791 1.8% >98%
Ref. : Hassan Soubra, Alain Abran, A. R. Cherif,
‘Verifying the Accuracy of Automation Tools for the Measurement of Software with
COSMIC – ISO 19761 including an AUTOSAR-based Example and a Case Study,’
Joint 24rd International Workshop on Software Measurement & 9th MENSURA Conference,
Rotterdam (The Netherlands), Oct. 6-8, 2014, IEEE CS Press, pp. 23-31.
32
Steer-by-wire case study Automation in Industry
33. Industry Data – Example 2
Work-hour
Residuals
Ref.: ‘Web Effort Estimation: Function Point Analysis vs. COSMIC
By Di Martino, Ferrucci, Gravino, Sarro,
Information and Software Technology 72 (2016) 90–109
33
1000
500
0
-500
-1000
CFP FP
Median
25 industrial Web applications
Conclusions:
‘The results of the … study revealed
that COSMIC outperformed Function
Points as indicator of development
effort by providing significantly better
estimations’3 FP
4 FP
6 FP
COSMIC
Function
Points
(CFP)
No abitrary max
A single CFP exists
& is well defined
1
2
4
3
6
5
8
7
10
9
11
34. Industry Data – Example 3:
Security & surveillance software systems
Context:
Scrum method
Teams estimate tasks within each iteration in Story Points
Measurements of 24 tasks in 9 iterations
Each task estimated in Story Points
Task actual effort recorded
Each task also measured in CFP
Ref. ‘Effort Estimation with Story Points and COSMIC Function Points - An Industry Case Study’,
C. Commeyne, A. Abran, R. Djouab. Obtainable from www.cosmic-sizing.org ‘Software Measurement News’. Vol 21, No. 1, 2016
34
35. Industry Data – Example 3:
Security & surveillance software systems
0
20
40
60
80
100
120
140
160
180
200
0 20 40 60 80 100 120 140 160 180 200
ActualEffort(hours)
Estimated Effort (Hours)
Effort = 0.47 x Story Points + 17.6 hours and R2 = 0.33)
Story Points
35
36. Industry Data – Example 3:
Security & surveillance software systems
0
20
40
60
80
100
120
140
160
180
200
0 10 20 30 40 50 60 70 80
ActualEffor(Hours)
Functional Size in CFP
Y = 2.35 x CFP - 0.08hrs and R2 = 0.977)
36
0
20
40
60
80
100
120
140
160
180
200
0 20 40 60 80 100 120 140 160 180 200
ActualEffort(hours)
Estimated Effort (Hours)
Effort = 0.47 x Story Points + 17.6 hours and R2 = 0.33)
Story Points COSMIC
37. Other sources of COSMIC examples with industry data
37
• COSMIC web site at: www.cosmic-sizing.org
38. Agenda
1. Software Effort Estimation & Software Size
2. COSMIC: 2nd generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation models
5. Early & Quick COSMIC sizing at estimation time
6. Summary
38
39. Quality of the documentation
of a functional process
at measurement time
39
Functional Process
Quality Level
Quality of the functional process
definition
Completely defined Functional process and its data
movements are completely defined
Documented Functional process is documented but
not in sufficient detail to identify the data
movements
Identified Functional process is listed but no details
are given of its data movements
Counted A count of the functional processes is
given, but there are no more details3
Implied (A ‘known
unknown’)
The functional process is implied in the
actual requirements but is not explicitly
mentioned
Not mentioned (An
‘unknown unknown’)
Existence of the functional processes is
completely unknown at present
40. COSMIC Guidelines for Early or Rapid sizing
40
Presents 8 approximation techniques
(including reported use, strengths & weaknesses):
1. Average functional process approximation
2. Fixed size classification approximation
3. Equal size bands approximation
4. Average use case approximation
5. Early & quick COSMIC approximation
6. Easy function points approximation
7. Approximation from informally written texts
The COSMIC Functional Size Measurement Method
Version 4.0.1
GGuuiiddeelliinnee ffoorr EEaarrllyy oorr RRaappiidd
CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee
MMeeaassuurreemmeenntt
bbyy uussiinngg aapppprrooxxiimmaattiioonn aapppprrooaacchheess
July 2015
8. Approximation using fuzzy logic - EPCU
41. Example 1: Fixed size intervals
41
Classification Size (CFP) #E #X #R #W Error messages
Small 5 1 1 1 1 1
Medium 10 2 2 3 2 1
Large 15 3 3 4 4 1
…
42. Example 2: Equal size bands
42
Band .Average size of a
Functional Process
% of total
Functional Size
% of total number
of Functional Processes
Small 4.8 25% 40%
Medium 7.7 25% 26%
Large 10.7 25% 19%
Very Large 16.4 25% 15%
Equal size bands from 37 business applications
Band Average size of a
Functional Process
% of total
Functional Size
% of total number
of Functional Processes
Small 5.5 25% 49%
Medium 10.8 25% 26%
Large 18.1 25% 16%
Very Large 38.8 25% 7%
Equal size bands from a major component of an avionics system
Organization
Data Repository
Organization
Data Repository
43. Example 3: Probability distribution in the Business domain
43
Classification of
the FP
Specification level CFP
(min)
CFP CFP
(max)
Approximate
CFP
Probability
Small FP Little unknown 2
(10%)
3
(75%)
5
(15%) 3.2 >80%
Small FP Unknown (No FUR) 2
(15%)
4
(50%)
8
(35%) 5.1 <50%
Medium FP Little unknown 5
(10%)
7
(75%)
10
(15%) 7.25 >80%
Medium FP Unknown (No FUR) 5
(15%)
8
(50%)
12
(35%) 8.95 <50%
Large FP Little unknown 8
(10%)
10
(75%)
12
(15%) 10.1 >80%
Large FP Unknown (No FUR) 8
(15%)
10
(50%)
15
(35%) 11.45 <50%
Complex FP Little unknown 10
(10%)
15
(75%)
20
(15%) 15.25 >80%
Complex FP Unknown (No FUR) 10
(15%)
18
(50%)
30
(35%) 21 <50%
44. Agenda
1. Software Effort Estimation & Software Size
2. COSMIC: 2nd Generation of Function Points
3. Versatility of COSMIC Function Points
4. Contributions of COSMIC to Estimation Models
5. Early & Quick COSMIC sizing at Estimation Time
6. Summary
44
45. 45
Organization Data
Repository
Software COST Estimating:
Critical knowledge for today &
tomorrow
Ample industry evidence that
COSMIC Function Points allow:
1. Meaningfull benchmarking
2. Early & Quick sizing
3. Estimation with very low
variations (… conditions apply…)
The COSMIC Functional Size Measurement Method
Version 4.0.1
GGuuiiddeelliinnee ffoorr EEaarrllyy oorr RRaappiidd
CCOOSSMMIICC FFuunnccttiioonnaall SSiizzee
MMeeaassuurreemmeenntt
bbyy uussiinngg aapppprrooxxiimmaattiioonn aapppprrooaacchheess
July 2015
46. Thank you for your attention
?
www.cosmic-sizing.org
Alain Abran alain.abran@etsmtl.ca
Charles Symons cr.symons@btinternet.com
Christof Ebert christof.ebert@vector.com
Frank Vogelezang frank.Vogelezang@cosmic-sizing.org
Hassan Soubra: hassan.soubra@estaca.fr
Editor's Notes
The well-known cone of uncertainty attempts to represent the range of expected variations in models across the project life cycle – see Figure 1.5.
X axis: from project inception (t=0) to project closure
Y axis: range of variability on Effort precision in estimation
At the early, feasibility stage, which is about future projects (i.e. t = 0):
The project estimate can err on the side of underestimation by as much as 400%, or on the side of overestimation by 25% of the estimate.
At t = the end of the project:
The information on effort, duration, and costs (i.e. the dependent variables) is now known relatively accurately (with respect to the quality of the data collection process for effort recording).
The information on the cost drivers (independent variables) are also relatively well known, since they have all been observed in practice – the variables are therefore considered to be ‘fixed’ without uncertainty (many of these are non quantitative, such as the type of development process, programming language, development platform, etc.)
However, the relationships across these dependent variables and the independent variable are far from being common knowledge.
Even in this context of no uncertainty at the level of each variable at the end of a project, there is no model today that can perfectly replicate the size-effort relationship, and there remains uncertainty in the productivity model itself.
We refer to this stage as the productivity model stage (at t = the end of project). The reason why the cone of uncertainty at the extreme right of Figure 1.5 does not infer full accuracy is because all the values in this cone are tentative values provided mostly by expert judgment.
At t = the end of the project:
The information on effort, duration, and costs (i.e. the dependent variables) is now known relatively accurately (with respect to the quality of the data collection process for effort recording).
The information on the cost drivers (independent variables) are also relatively well known, since they have all been observed in practice – the variables are therefore considered to be ‘fixed’ without uncertainty (many of these are non quantitative, such as the type of development process, programming language, development platform, etc.)
However, the relationships across these dependent variables and the independent variable are far from being common knowledge.
Even in this context of no uncertainty at the level of each variable at the end of a project, there is no model today that can perfectly replicate the size-effort relationship, and there remains uncertainty in the productivity model itself.
We refer to this stage as the productivity model stage (at t = the end of project).
The reason why the cone of uncertainty at the extreme right of Figure 1.5 does not infer full accuracy is because all the values in this cone are tentative values provided mostly by expert judgment.
Predictive Estimation models are typically built with data from completed projects, that is at the tail-end of the Uncertainty cone.
At that point in time, the facts are known on:
The product functions developed and delivered to the users
The development process has been completed and corresponding information is precise: days spent in total, and in each project phases-iterations-Sprints
The constraints encountered are now known facts
There is no more risks
It is to be noted that even within this state of certainty, the mathematical models still have limitations and will not explain 100% of the variation in productivity across projects and across development environments. (note: the variation is still not at zero at project completion)
The expected accuracy of estimation models will vary considerably across the project life cycle. This is illustrated in this figure of the Cone of Uncertainty by B. Boehm: for instance
- at the Early Feasibility Study stage, the estimated may be up 4 orders of magnitude.
This uncertainty range will decrease rapidly as the information about the project becomes more complete and precise.
In summary, estimation is highly dependent of the levels of completeness and levels of ambiguity of the requirements, be they either functional, non functional and quality requirements.
Key lessons: The Estimation Models (with uncertainty in the inputs) cannot be better than Productivity Models with no uncertainties in their inputs.
What can be measured across the software lifecycle?
Story points
- It lacks traceability & is non-verifiable: it leads to unaccountability.
The ‘No estimate’ movement in Agile: derives from its estimates are so bad tht it’s not worth spending time on it:
Unaccountability: ‘No estimate is brilliant marketing by the software industry. We have a better alternative: - just give us money’.
Making estimates only leads to suppliers clearly delivering late and over budget.
The 1st generation of Function Points from the late 1970s are based on set of 2-dimensions table to assign ‘weights’ to functions.
These weights have been set arbritarily in 1970 from an IBM environment developing Business Application software, and have not been modified since then.
While numbers are assigned, there is no recognized definitions of what is Function Point.
A very large number of variants have been proposed trying to handle additional dimensions using additional criteria.
This figure illustrates the structure and impact of these 1st generation Function Points weights:
They are a 3-step function
There is an arbitrary minimum of 3 FP
In this example, there is an arbitrary maxinum of 6 FP
And a single 1 FP does not exists
This figure illustrates the impact of these limitations
This 3 step function is like a classification with only 3 values: a size for a child, a size for a teenager, and a size for an adult.
But does it measure well the size of:
an infant (software example: a minor change to a function will still have a size of 3FP)
a basket ball player ?
a much taller animal - ex. girafle?
These limitations will indeed have limitations in their use of FP in estimation models based on size – the estimation models inherit the limitations of their parameters….
1st generation of Function Points: from the late 1970’s
A large number of variants with the same structure to try to improve
Innovation in 2000 with an improved & simplified design: COSMIC
COSMIC design: it looks at all types of software, and of software sizing methods
But did not try to include everything that was different from on software to another one, and from one method to another one.
Instead, it look at was was COMMON across all types of sofware and what was making consensus within sizing methods
A- presentation of the generic view of software
The functional users : 3 types (human, hardware, other software) of users sending data to software or receiving data from software
… and asking participants if they agree.
B- the COSMIC view of software: the 4 data movements types (E,X,R,W)
C- the data movement of 1 data group = 1 CPF = the measurement unit.
Simple concept that everybody can understand and recognize.
In COSMIC, the size of a functional process starts from 1 CFP up to no size limit: it size equals the number of Data movement types (of the 4 types).
Largest size observed to date: + 100 CFP in avionics and + 70 CFP in banking.
Example 1:
Left of figure: the functional users sending data to the software (keypad, voltage detector, front door sensor, movement detectors)
Center of figure: the software itself (and persistent storage)
Right of figure: the functional users receiving data from the software (external alarm, internal alarm, 2 LED lights (red and green)
The table on the right list the sequence of the requirements to describe:
1 functional process: a possible intruder detected
And this functional procerss is triggerd when the door opens wilst the alarm system is activated.
The table lists:
The data movement and its type (Entry, Exit, Read, Write
The functional user of that dat movement
The data group for each data movement
Note: two data movements do not lead to a size: there is a ‘de-duplication rule’ that states that within a functional process, the data movement of a specific data group must be sized only once. (to avoid some cheating by programmers who want to inflate its own sizing by making duplication of code, for example). The COSMIC measurement must be independent of implementation in the code.
These various COSMIC guidelines available free on the web provides detailed examples on how to measure with COSMIC in various software domains.
A large number of free case studies in various software domain.
In COSMIC, there are rules and examples of how to size pieces of software in various levels of a software application architecture.
A few key concepts:
1- the COSMIC measurement process starts by identifying the purpose of measurement (for instance, the purpose is to measure the size of the operating sytem layer; or to measure the size of the software embedded within the keyboard software driver.
2- the purpose of measurement will next lead to identify the functional user for this piece of software
3- this will then lead to the identification of the functional user requirements for this piece of software (and this include the other software as functional users of that piece of software.
For an example of 3: the ‘operating sytem Layer (a piece of software as its user) and the Keyboard driver (a hardware piece of software) are the functional users of the ‘keyboard software driver’.
This is analogous to measurement of engineering and architect plans where different plans presents different views – for different purposes - of a building.
COSMIC can be easily measure on the basis of a User Story in Agile.
Renault 15 uses CFP sizing to control the development and enhancement of Electronic Control Units (ECU’s)
tracks progress of ECU specification teams…
who create designs in Matlab Simulink…
which are automatically measured in CFP
Motivation for automation: speed, accuracy of measurement
‘Manage the automotive embedded software development cost & productivity with the automation of a Functional Size Measurement Method (COSMIC)” Alexandre Oriou et al, IWSM 2014, Rotterdam, www.ieeexplore.org
Web effort estimation is more accurate with COSMIC than using classic FP
‘Web Effort Estimation: Function Point Analysis vs. COSMIC
Sergio Di Martinoa, Filomena Ferruccib,∗, Carmine Gravinob, Federica Sarroc
a Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione, University of Napoli “Federico II”, Italy
b Department of Computer Science, University of Salerno, Italy
c CREST, Department of Computer Science, University College London, United Kingdom
Information and Software Technology 72 (2016) 90–109
Effort vs Story Points (24 tasks) = a poor predictor of effort
Very low R2 at 0.37
Large dispersion across the regression line
Effort with COSMIC size is much better for estimation R2 = .97
The expected accuracy of estimation models will vary considerably across the project life cycle. This is illustrated in this figure of the Cone of Uncertainty by B. Boehm: for instance
- at the Early Feasibility Study stage, the estimated may be up 4 orders of magnitude.
This uncertainty range will decrease rapidly as the information about the project becomes more complete and precise.
In summary, estimation is highly dependent of the levels of completeness and levels of ambiguity of the requirements, be they either functional, non functional and quality requirements.
Key lessons: The Estimation Models (with uncertainty in the inputs) cannot be better than Productivity Models with no uncertainties in their inputs.
What can be measured across the software lifecycle?