Course : COMP9018 - Software Metric and Quality
Period : September 2023
Overview of Software Metric
Session 01
Doctor of Computer Science Program
Learning Outcome
• LO1: Construct the Need for Software Metrics
Outline
• Introducing the Course
• What is Software Measurement
• What are the Software Metric
Team Teaching
This Course will be delivered by 3 lecturers :
– Dr. Haryono Soeparno, M.Sc, CDACS
haryono@binus.edu
– Dr. Ford Lumban Gaol, S.Si, M.Kom
fgaol@binus.edu
– Dr. Yulyani Arifin, S.Kom, M.Kom
– yarifin@binus.edu
Introducing of the Course
• Team teachingmember should be put in your Writing paper publication, (please look at 2 different
example header of paper below !)
– Students’s name should put their 2 different identifications where 1 from their department/institution and
other from Doctor of Computer Science department. (look at example below !) Including to put your binus
email as well.
Student’s name 1,2
1Computer Science Department, BINUS Graduate Program - Doctor of Computer Science, Bina Nusantara university
Jakarta, Indonesia 11480
2Faculty of XYZ, ABC university
Bandung, Indonesia 32480
Student’sname@binus.ac.id1, Student’sname@ABC.ac.id1
Haryono Soeparno1, Ford Lumban Gaol2, Yulyani Arifin3
ComputerScience Department, BINUS Graduate Program - Doctorof ComputerScience, Bina Nusantara university
Jakarta, Indonesia 11480
Haryono@binus.edu1, fgaol@binus.edu2, yarifin@binus.edu3
Introducing of the Course
Team Teaching
Scores,Absent and Purposes
• Score composition
• Score grading
• Student should have maximum 3 absents, and fail to do so will be subjected not pass this course.
• The purposeof paper publication in this courseis making Doctor of Computer Science students be
able to:
– present their research in research paper publication.
– Present their knowledge understanding about Software metrics and Quality course.
(you can do it Software metrics and quality literature review)
– Collaborate between their knowledge understanding about Software metrics and
Quality course, and their interest doctoral research topic.
Introducing of the Course
Introducing of the Course
Paper publications works
o Find current indexed SCOPUS international
journal/conference with scholar google with words such as
“Software measurement”, “IFPUG / function Point”
o Differ between Good and bad papers
o Having good papers will have good publication and vice versa
o Find the destination of your International conference
o Find the recognition Int conf which is indexed by IEEE or ACM
o Some of Int conf publish their work in international Journal ,
make sure you publish in recognized journal and not fake
journal/publisher
o Here the links:
o http://www.ieee.org/conferences_events/index.html
o Type “international conference 2017” in google.co.id
o https://www.worldconferencealerts.com/
o http://www.allconferencealerts.com/
Paper publications works
Recognize Good paper
• Current publication, with at least in last 5 previous
years
▪ make it sure, index in SCOPUS (www.scopus.com)
▪ Where published with recognized publisher such as
ElSEVIER, …
▪ If International Conference paper, then should at least
from IEEE, ACM
▪ Having good SCIMAGOR journal rank where Q1 as
excellent paper (http://www.scimagojr.com/)
▪ Not recognized as fake journal in
(https://scholarlyoa.com/individual-journals/) or
predator publisher in
(https://scholarlyoa.com/individual-journals/ )
Introducing of the Course
Rules
• This coursehas 12 sessions
• This coursedoes not haveMid Test
• In 2nd session, each student should proposewhat topic which they want to write down/research for
their paper publication.
• Plagiarism is forbidden and wehave zero tolerance. Doing plagiarism willdestruct :
– Yourself
– Your team teaching members
– Your Supervisor
– Your Institution including Doctor of Computer Science department
• In Each session, team teaching member will monitor your paper’s working progress.
• Each student will be assigned to 1 team teaching member of this coursefor knowledgeexploration to
preparetheir paper.
• Beforesubmit your paper, you should send your proposed paper to all team teaching member dan
asking for our approval !
• In the day of Final test, you should collect print out and email to all team teaching member such as :
– your paper and
– View of accepted paper from Int. Conf. committee
Introducing of the Course
Part of scoring
• Proposal (as attached)
• Final Report (as attached)
• The papers
• Proof of Turnitin Score
• Proof of paper submission
(submitted, accepted)
Introducing of the Course
What Is it and Why do it?
• Software measurement is an essential component of
good software engineering.
• Who get benefit :
– Software developers measure characteristics of their software
to get some sense of whether the requirements are consistent
and complete, whether the design is of high quality, and
whether the code is ready to be released.
– Project managers measure attributes of processes and products
to be able to tell when software will be ready for delivery and
whether a budget will be exceeded.
– Organizations use process evaluation measurements to select
software suppliers. Informed customers measure the aspects of
the final product to determine if it meets the requirements and is
of sufficient quality.
– Maintainers must be able to assess the current product to see
what should be upgraded and improved.
What is Software Measurement ?
What is measurement
• Price acts as a measure of value of an item in a shop, and we
calculate the total bill to make sure the shopkeeper gives us
correct change.
• We use height and size measurementsto ensure that our
clothing will fit properly.
• When making a journey, we calculate distance, choose our
route, measure our speed, and predict when we will arrive at
our destination (and perhaps when we need to refuel).
• So, measurement helps us to understand our world, interact
with our surroundings, and improve our lives.
What is Software Measurement ?
What Is it ?
• Measurement is the process by which numbers or
symbols are assigned to attributes of entities (Object)
in the real world in such a way so as to describe them
according to clearly defined rules.
• Think Object Oriented Concept (Class, Object and etc)
What is Software Measurement ?
Person
CLASS
OBJECT
Budi Tuti Murni
• Metrics are standards that
define measurable
attributes of entities,their
units and their scopes.
• Measure is relation
between attribute and a
measurement scale.
Object Oriented Conce
• In Java Programming
class Programmer
{string name, address, DOB;
void buatProgram();
int compileProgram();
void cariProyek();
}
Programmer AndiH=new Programmer();
AndiH.name=“Andi Hakim”;
AndiH.address=“Jl. Ciledug No.8”;
AndiH.DOB=“11-09-73”;
AndiH.buatProgram();
AndiH.compileProgram();
AndiH.cariProyek();
What is Software Measurement ?
Programmer
name
Address
Date Of Birth
buatProgram()
compileProgram()
cariProyek()
Andi Hakim
Andi Hakim
Jl. Ciledug No. 8
11-09-73
buatProgram()
compileProgram()
cariProyek()
Attribute/property
Method/function
Class Object
Measurement in Software
Engineering (SE)
• SE is an engineering discipline that is concerned
with all aspects of software production (Sommervile).
– There are many Software development
methodologies such as waterfall, spiral,
Rational Unified Process (RUP), Agile and so on.
– remember ! The point to build your software is
based on 1st step of software development and it is
user requirement in order to satisfy user.
What is Software Measurement ?
Components
of Software
Measurement
What is Software Measurement ?
Objective of Software
Measurement
• Managers
– What does each process cost?
– How productive is the staff?
– How good is the code being developed?
– Will the user be satisfied with the product?
– How can we improve?
• Developers
– Are the requirements testable?
– Have we found all the faults?
– Have we met our product or process goals?
– What will happen in the future?
What is Software Measurement ?
Measurement for Understanding, Control
and Improvement
The information needs of managers and developers show
that measurement is important for 3 basic activities.
1. Measurement can help us to understand what is happening
during development and maintenance
2. The measurement allowsus to control what is happeningin
our projects.
3. Measurement encourages us to improve our processes and
products.
What is Software Measurement ?
What is Software Measurement ?
Software Measurement History
What is Software Measurement ?
Software Measurement History
McCall Model (1977)
What is Software Measurement ?
Boehm Model (1978)
What is Software Measurement ?
ISO/IEC 9126 (1991)
What is Software Measurement ?
International Organization for Standardization (ISO) and the International ElectrotechnicalCommission(IEC)
• provides 6 characteristics and 27 sub-characteristics
FURPSModel (1992)
What is Software Measurement ?
• presented by Robert Grady[1992], then it has been
extended by IBM Rational Software [Jacobson et al,
1999, Kruchten, 2000] into FURPS+,
Dromey Model (1995)
What is Software Measurement ?
Bertoa Model (2002)
What is Software Measurement ?
• The Quality ModelBertoa [15] is based on the ISO 9126 Model
Gequamo Model (2003)
• (Generic, Multilayered and Customizable Model), was created by E.Georgiadou
What is Software Measurement ?
ttps://www.researchgate.net/publication/220635850_GEQUAMO_-_A_generic_multilayered_customisable_software_quality_model
CapGeminiOpen Source Maturity Model Model (2003
What is Software Measurement ?
Alvaro Model (2005)
What is Software Measurement ?
https://arxiv.org/ftp/arxiv/papers/1412/1412.2977.pdf
OpenBRR Model (2005)
What is Software Measurement ?
• Based on ISO9126 and Capgemini Model
• BRR= Business Readiness Rating
https://www.immagic.com/eLibrary/ARCHIVES/GENERAL/CMU_US/C050728W.pdf
Rawashdeh Model (2006)
What is Software Measurement ?
• Based on ISO9126 and Dromey Model
https://arxiv.org/ftp/arxiv/papers/1412/1412.2977.pdf
SQO-OSSModel (2008)
What is Software Measurement ?
• SQO-OSS = Software Quality Observatory for Open Source Software
https://link.springer.com/chapter/10.1007/978-0-387-09684-1_19
QualOSS Model (2009)
What is Software Measurement ?
• QualOSS = QUALity of Open Source Software (QUALOSS) is a Framework
Programme 6 project funded by the European Commission
https://www.researchgate.net/publication/267680608_Measuring_Open_Source_Documentation_Availability/figures?lo=1
What is Software Measurement ?
ISO/IEC 25010 (2011)
• provides 8 characteristics and 31 sub-characteristics.
• 2 new Characteristics : compatibility and Security
https://www.scitepress.org/papers/2015/53691/53691.pdf
Scope of SoftwareMetrics
• Software Metrics are measures that are used to quantify software,
software development resources, and/or the software development
process.
• Software metrics is a term that embraces many activities, all of which
involve some degree of software measurement:
1. Cost and effort estimation models and measures
2. Data collection
3. Quality models and measures
4. Reliability models
5. Security metrics
6. Structural and complexity metrics
7. Capability maturity assessment
8. Management by metrics
9. Evaluation of methods and tools
What are Software Metrics?
Scope of Software Metrics
1. Cost and effort estimation models and measures
• Managers provided the original motivation for deriving and
using software measures.
• They wanted to be able to predict project costs during
early phases in the software life cycle.
• Numerous models for software cost and effort estimation
have been proposed and used. Examples include Boehm’s
COCOMO II model (Boehm et al. 2000) and Albrecht’s
function point model (Albrecht 1979).
• These and other models often share a common approach:
effort is expressed as a (predefined) function of one or more
variables (such as size of the product, capability of the
developers, and level of reuse). Size is usually defined as
(predicted) lines of code or number of function points
(which may be derived from the product specification).
What are Software Metrics?
Scope of Software Metrics
2. Data collection
• The quality of any measurement program is clearly
dependent on careful data collection.
• But collecting data is easier said than done, especially when
data must be collected across a diverse set of projects.
• Thus, data collection is becoming a discipline in itself, where
specialists work to ensure that measures are defined
unambiguously, that collection is consistent and complete,
and that data integrity is not at risk.
• But it is acknowledged that metrics data collection must be
planned and executed in a careful and sensitive manner.
• Data collection is also essential for scientific investigation of
relationships and trends.
What are Software Metrics?
What are Software Metrics?
Scope of Software Metrics
3. Quality modelsand measures
• Since software quality involves many diverse factors,
software engineers have developed models of the
interaction between multiple quality factors.
• These models are usually constructed in a tree-like fashion,
where the upper branches hold important high-level quality
factors of software products, such as reliability and
usability, that we would like to quantify.
• The criteria are easier to understand and measure than the
factors; thus, actual measures (metrics) are proposed for
the criteria.
• The tree describes the pertinent relationships between
factors and their dependent criteria, so we can measure
the factors in terms of the dependent criteria measures.
• This notion of divide and conquer has been implemented
as a standard approach to measuring software quality (IEEE
1061-2009).
Scope of Software Metrics
4. Reliability models
• Most quality models
include reliability as one of
their component factors.
• But the need to predict and
measure reliability itself
has led to a separate
specialization in reliability
modeling and prediction.
• Software reliability models
will measures starting with
reliability theory to analyze
and predict software
reliability.
What are Software Metrics?
Scope of Software Metrics
5. Security metrics
• As computing has become part of almost every human
activity, our concerns about the security of software systems
have grown.
• We worry that attackers will steal or corrupt data files,
passwords, and our accounts.
• Security depends on both the internal design of a system and
the nature of the attacks that originate externally.
• Some standard ways can be used to assess security risks in
terms of impact, likelihood, threats, and vulnerabilities.
What are Software Metrics?
Scope of Software Metrics
6. Structural and complexity metrics
• Desirable quality attributes like reliability and maintainability cannot be
measured until some operational version of the code is available.
• Yet, we wish to be able to predict which parts of the software system are
likely to be less reliable, more difficult to test, or require more
maintenance than others, even before the system is complete.
• As a result, we measure structural attributes of representations of the
software that are available in advance of (or without the need for)
execution; then, we try to establish empirically predictive theories to
support quality assurance, quality control, and quality prediction.
• These representations include:
– control flow graphs that usually model code and various unified modeling
language (UML) diagrams that model software designs and requirements.
– Data Flow Structure
– Data Structure
– Information flow structures
– Complexity metrics
– Cyclomatic complexity (McCabe)
What are Software Metrics?
Scope of Software Metrics
7. Capability maturity assessment
• CMM (Capability Maturity Model)
– The US Software Engineering Institute (SEI) has developed and
maintained a software development process evaluation technique, the
Capability Maturity Model Integration (CMMI®) for Development.
– The CMMI assesses many different attributes of development,
including the use of tools, standardpractices, and more.
– The result of an assessment is a rating that is on a five-level scale,
from Level 1 (Initial—development is dependent on individuals) to
Level 5 (Optimizing—a development process that can be optimized
based on quantitative process information).
• ISO 9001: quality systems: model for quality assurance in design/development,
production,installation and servicing.
• ISO 9000-3: Guidelines for application of ISO 9001 to the development, supply and
maintenance of software.
What are Software Metrics?
Scope of Software Metrics
8. Management by metrics
• Measurement is an important part of software project
management.
• Customers and developers alike rely on measurement-based
charts and graphs to help them decide if a project is on track.
• Many companies and organizations define a standard set of
measurements and reporting methods, so that projects can be
compared and contrasted.
• For example, when a power plant designer asks a software
developer to write control software, the power plant designer
usually knows a lot about power generation and control, but very
little about software development processes, programming
languages, software testing, or computer hardware.
• Measurements must be presented in a way that tells both
customer and developer how the project is doing.
What are Software Metrics?
Scope of Software Metrics
9. Evaluation of methods and tools
• The literature is rife with descriptions of new methods and
tools that may make your organization or project more
productive and your products better and cheaper.
• But it is difficult to separate the claims from the reality.
• Many organizations perform experiments, run case studies,
or administer surveys to help them decide whether a
method or tool is likely to make a positive difference in
their particular situations.
• These investigations cannot be done without careful,
controlled measurement and analysis.
• An evaluation’s success depends on good experimental
design, proper identification of the factors likely to affect
the outcome, and appropriate measurement of factor
attributes.
What are Software Metrics?
References
• Norman Fenton, James Bieman(2015), Software metrics: A rigorous and
practical approach, 3rd edition, CRC Press, Florida, USA.
• Tahir A and MacDonell S.G. (2012), A systematic mapping study on Dynamic
Metrics
and Software Quality, Proc. Of the 28th IEEE Int. Conf. on Software Maintenance
(ICSM2012), Riva Del Garda, Italy, pp. 326-335.
• Lov Kumar, Sanjay Misra, Santanu Ku. Rath, An empirical analysis of the
effectiveness
of software metrics and fault prediction model for identifying faulty classes,
Computer Standards & Interfaces, Volume 53, August 2017, Pages 1-32, ISSN
0920-5489, http://dx.doi.org/10.1016/j.csi.2017.02.003.
• Shane McIntosh·Yasutaka Kamei·Bram Adams· Ahmed E. Hassan (2016) An
empirical
study of the impact of modern code review practices on software quality, Empirical
Software Engineering, Volume 21, Issue 5, pp 2146–2189
• Manjula.C.M. Prasad, Lilly Florence and Arti Arya (2015) A Study on Software
Metrics
based Software Defect Prediction using Data Mining and Machine Learning
Techniques, International Journal of Database Theory and Application Vol.8,
No.3 (2015), pp.179-190
• K. Punitha and S. Chitra, "Software defect prediction using software metrics - A
survey,"
2013 International Conference on Information Communication and Embedded Systems
(ICICES), Chennai, 2013, pp. 555-558.
Thank You

01 - COMP9018 - Software Metrics - 8 Sept 2023.pdf

  • 1.
    Course : COMP9018- Software Metric and Quality Period : September 2023 Overview of Software Metric Session 01 Doctor of Computer Science Program
  • 2.
    Learning Outcome • LO1:Construct the Need for Software Metrics
  • 3.
    Outline • Introducing theCourse • What is Software Measurement • What are the Software Metric
  • 4.
    Team Teaching This Coursewill be delivered by 3 lecturers : – Dr. Haryono Soeparno, M.Sc, CDACS haryono@binus.edu – Dr. Ford Lumban Gaol, S.Si, M.Kom fgaol@binus.edu – Dr. Yulyani Arifin, S.Kom, M.Kom – yarifin@binus.edu Introducing of the Course
  • 5.
    • Team teachingmembershould be put in your Writing paper publication, (please look at 2 different example header of paper below !) – Students’s name should put their 2 different identifications where 1 from their department/institution and other from Doctor of Computer Science department. (look at example below !) Including to put your binus email as well. Student’s name 1,2 1Computer Science Department, BINUS Graduate Program - Doctor of Computer Science, Bina Nusantara university Jakarta, Indonesia 11480 2Faculty of XYZ, ABC university Bandung, Indonesia 32480 Student’sname@binus.ac.id1, Student’sname@ABC.ac.id1 Haryono Soeparno1, Ford Lumban Gaol2, Yulyani Arifin3 ComputerScience Department, BINUS Graduate Program - Doctorof ComputerScience, Bina Nusantara university Jakarta, Indonesia 11480 Haryono@binus.edu1, fgaol@binus.edu2, yarifin@binus.edu3 Introducing of the Course Team Teaching
  • 6.
    Scores,Absent and Purposes •Score composition • Score grading • Student should have maximum 3 absents, and fail to do so will be subjected not pass this course. • The purposeof paper publication in this courseis making Doctor of Computer Science students be able to: – present their research in research paper publication. – Present their knowledge understanding about Software metrics and Quality course. (you can do it Software metrics and quality literature review) – Collaborate between their knowledge understanding about Software metrics and Quality course, and their interest doctoral research topic. Introducing of the Course
  • 7.
    Introducing of theCourse Paper publications works o Find current indexed SCOPUS international journal/conference with scholar google with words such as “Software measurement”, “IFPUG / function Point” o Differ between Good and bad papers o Having good papers will have good publication and vice versa o Find the destination of your International conference o Find the recognition Int conf which is indexed by IEEE or ACM o Some of Int conf publish their work in international Journal , make sure you publish in recognized journal and not fake journal/publisher o Here the links: o http://www.ieee.org/conferences_events/index.html o Type “international conference 2017” in google.co.id o https://www.worldconferencealerts.com/ o http://www.allconferencealerts.com/
  • 8.
    Paper publications works RecognizeGood paper • Current publication, with at least in last 5 previous years ▪ make it sure, index in SCOPUS (www.scopus.com) ▪ Where published with recognized publisher such as ElSEVIER, … ▪ If International Conference paper, then should at least from IEEE, ACM ▪ Having good SCIMAGOR journal rank where Q1 as excellent paper (http://www.scimagojr.com/) ▪ Not recognized as fake journal in (https://scholarlyoa.com/individual-journals/) or predator publisher in (https://scholarlyoa.com/individual-journals/ ) Introducing of the Course
  • 9.
    Rules • This coursehas12 sessions • This coursedoes not haveMid Test • In 2nd session, each student should proposewhat topic which they want to write down/research for their paper publication. • Plagiarism is forbidden and wehave zero tolerance. Doing plagiarism willdestruct : – Yourself – Your team teaching members – Your Supervisor – Your Institution including Doctor of Computer Science department • In Each session, team teaching member will monitor your paper’s working progress. • Each student will be assigned to 1 team teaching member of this coursefor knowledgeexploration to preparetheir paper. • Beforesubmit your paper, you should send your proposed paper to all team teaching member dan asking for our approval ! • In the day of Final test, you should collect print out and email to all team teaching member such as : – your paper and – View of accepted paper from Int. Conf. committee Introducing of the Course
  • 10.
    Part of scoring •Proposal (as attached) • Final Report (as attached) • The papers • Proof of Turnitin Score • Proof of paper submission (submitted, accepted) Introducing of the Course
  • 11.
    What Is itand Why do it? • Software measurement is an essential component of good software engineering. • Who get benefit : – Software developers measure characteristics of their software to get some sense of whether the requirements are consistent and complete, whether the design is of high quality, and whether the code is ready to be released. – Project managers measure attributes of processes and products to be able to tell when software will be ready for delivery and whether a budget will be exceeded. – Organizations use process evaluation measurements to select software suppliers. Informed customers measure the aspects of the final product to determine if it meets the requirements and is of sufficient quality. – Maintainers must be able to assess the current product to see what should be upgraded and improved. What is Software Measurement ?
  • 12.
    What is measurement •Price acts as a measure of value of an item in a shop, and we calculate the total bill to make sure the shopkeeper gives us correct change. • We use height and size measurementsto ensure that our clothing will fit properly. • When making a journey, we calculate distance, choose our route, measure our speed, and predict when we will arrive at our destination (and perhaps when we need to refuel). • So, measurement helps us to understand our world, interact with our surroundings, and improve our lives. What is Software Measurement ?
  • 13.
    What Is it? • Measurement is the process by which numbers or symbols are assigned to attributes of entities (Object) in the real world in such a way so as to describe them according to clearly defined rules. • Think Object Oriented Concept (Class, Object and etc) What is Software Measurement ? Person CLASS OBJECT Budi Tuti Murni • Metrics are standards that define measurable attributes of entities,their units and their scopes. • Measure is relation between attribute and a measurement scale.
  • 14.
    Object Oriented Conce •In Java Programming class Programmer {string name, address, DOB; void buatProgram(); int compileProgram(); void cariProyek(); } Programmer AndiH=new Programmer(); AndiH.name=“Andi Hakim”; AndiH.address=“Jl. Ciledug No.8”; AndiH.DOB=“11-09-73”; AndiH.buatProgram(); AndiH.compileProgram(); AndiH.cariProyek(); What is Software Measurement ? Programmer name Address Date Of Birth buatProgram() compileProgram() cariProyek() Andi Hakim Andi Hakim Jl. Ciledug No. 8 11-09-73 buatProgram() compileProgram() cariProyek() Attribute/property Method/function Class Object
  • 15.
    Measurement in Software Engineering(SE) • SE is an engineering discipline that is concerned with all aspects of software production (Sommervile). – There are many Software development methodologies such as waterfall, spiral, Rational Unified Process (RUP), Agile and so on. – remember ! The point to build your software is based on 1st step of software development and it is user requirement in order to satisfy user. What is Software Measurement ?
  • 16.
  • 17.
    Objective of Software Measurement •Managers – What does each process cost? – How productive is the staff? – How good is the code being developed? – Will the user be satisfied with the product? – How can we improve? • Developers – Are the requirements testable? – Have we found all the faults? – Have we met our product or process goals? – What will happen in the future? What is Software Measurement ?
  • 18.
    Measurement for Understanding,Control and Improvement The information needs of managers and developers show that measurement is important for 3 basic activities. 1. Measurement can help us to understand what is happening during development and maintenance 2. The measurement allowsus to control what is happeningin our projects. 3. Measurement encourages us to improve our processes and products. What is Software Measurement ?
  • 19.
    What is SoftwareMeasurement ? Software Measurement History
  • 20.
    What is SoftwareMeasurement ? Software Measurement History
  • 21.
    McCall Model (1977) Whatis Software Measurement ?
  • 22.
    Boehm Model (1978) Whatis Software Measurement ?
  • 23.
    ISO/IEC 9126 (1991) Whatis Software Measurement ? International Organization for Standardization (ISO) and the International ElectrotechnicalCommission(IEC) • provides 6 characteristics and 27 sub-characteristics
  • 24.
    FURPSModel (1992) What isSoftware Measurement ? • presented by Robert Grady[1992], then it has been extended by IBM Rational Software [Jacobson et al, 1999, Kruchten, 2000] into FURPS+,
  • 25.
    Dromey Model (1995) Whatis Software Measurement ?
  • 26.
    Bertoa Model (2002) Whatis Software Measurement ? • The Quality ModelBertoa [15] is based on the ISO 9126 Model
  • 27.
    Gequamo Model (2003) •(Generic, Multilayered and Customizable Model), was created by E.Georgiadou What is Software Measurement ? ttps://www.researchgate.net/publication/220635850_GEQUAMO_-_A_generic_multilayered_customisable_software_quality_model
  • 28.
    CapGeminiOpen Source MaturityModel Model (2003 What is Software Measurement ?
  • 29.
    Alvaro Model (2005) Whatis Software Measurement ? https://arxiv.org/ftp/arxiv/papers/1412/1412.2977.pdf
  • 30.
    OpenBRR Model (2005) Whatis Software Measurement ? • Based on ISO9126 and Capgemini Model • BRR= Business Readiness Rating https://www.immagic.com/eLibrary/ARCHIVES/GENERAL/CMU_US/C050728W.pdf
  • 31.
    Rawashdeh Model (2006) Whatis Software Measurement ? • Based on ISO9126 and Dromey Model https://arxiv.org/ftp/arxiv/papers/1412/1412.2977.pdf
  • 32.
    SQO-OSSModel (2008) What isSoftware Measurement ? • SQO-OSS = Software Quality Observatory for Open Source Software https://link.springer.com/chapter/10.1007/978-0-387-09684-1_19
  • 33.
    QualOSS Model (2009) Whatis Software Measurement ? • QualOSS = QUALity of Open Source Software (QUALOSS) is a Framework Programme 6 project funded by the European Commission https://www.researchgate.net/publication/267680608_Measuring_Open_Source_Documentation_Availability/figures?lo=1
  • 34.
    What is SoftwareMeasurement ? ISO/IEC 25010 (2011) • provides 8 characteristics and 31 sub-characteristics. • 2 new Characteristics : compatibility and Security https://www.scitepress.org/papers/2015/53691/53691.pdf
  • 35.
    Scope of SoftwareMetrics •Software Metrics are measures that are used to quantify software, software development resources, and/or the software development process. • Software metrics is a term that embraces many activities, all of which involve some degree of software measurement: 1. Cost and effort estimation models and measures 2. Data collection 3. Quality models and measures 4. Reliability models 5. Security metrics 6. Structural and complexity metrics 7. Capability maturity assessment 8. Management by metrics 9. Evaluation of methods and tools What are Software Metrics?
  • 36.
    Scope of SoftwareMetrics 1. Cost and effort estimation models and measures • Managers provided the original motivation for deriving and using software measures. • They wanted to be able to predict project costs during early phases in the software life cycle. • Numerous models for software cost and effort estimation have been proposed and used. Examples include Boehm’s COCOMO II model (Boehm et al. 2000) and Albrecht’s function point model (Albrecht 1979). • These and other models often share a common approach: effort is expressed as a (predefined) function of one or more variables (such as size of the product, capability of the developers, and level of reuse). Size is usually defined as (predicted) lines of code or number of function points (which may be derived from the product specification). What are Software Metrics?
  • 37.
    Scope of SoftwareMetrics 2. Data collection • The quality of any measurement program is clearly dependent on careful data collection. • But collecting data is easier said than done, especially when data must be collected across a diverse set of projects. • Thus, data collection is becoming a discipline in itself, where specialists work to ensure that measures are defined unambiguously, that collection is consistent and complete, and that data integrity is not at risk. • But it is acknowledged that metrics data collection must be planned and executed in a careful and sensitive manner. • Data collection is also essential for scientific investigation of relationships and trends. What are Software Metrics?
  • 38.
    What are SoftwareMetrics? Scope of Software Metrics 3. Quality modelsand measures • Since software quality involves many diverse factors, software engineers have developed models of the interaction between multiple quality factors. • These models are usually constructed in a tree-like fashion, where the upper branches hold important high-level quality factors of software products, such as reliability and usability, that we would like to quantify. • The criteria are easier to understand and measure than the factors; thus, actual measures (metrics) are proposed for the criteria. • The tree describes the pertinent relationships between factors and their dependent criteria, so we can measure the factors in terms of the dependent criteria measures. • This notion of divide and conquer has been implemented as a standard approach to measuring software quality (IEEE 1061-2009).
  • 39.
    Scope of SoftwareMetrics 4. Reliability models • Most quality models include reliability as one of their component factors. • But the need to predict and measure reliability itself has led to a separate specialization in reliability modeling and prediction. • Software reliability models will measures starting with reliability theory to analyze and predict software reliability. What are Software Metrics?
  • 40.
    Scope of SoftwareMetrics 5. Security metrics • As computing has become part of almost every human activity, our concerns about the security of software systems have grown. • We worry that attackers will steal or corrupt data files, passwords, and our accounts. • Security depends on both the internal design of a system and the nature of the attacks that originate externally. • Some standard ways can be used to assess security risks in terms of impact, likelihood, threats, and vulnerabilities. What are Software Metrics?
  • 41.
    Scope of SoftwareMetrics 6. Structural and complexity metrics • Desirable quality attributes like reliability and maintainability cannot be measured until some operational version of the code is available. • Yet, we wish to be able to predict which parts of the software system are likely to be less reliable, more difficult to test, or require more maintenance than others, even before the system is complete. • As a result, we measure structural attributes of representations of the software that are available in advance of (or without the need for) execution; then, we try to establish empirically predictive theories to support quality assurance, quality control, and quality prediction. • These representations include: – control flow graphs that usually model code and various unified modeling language (UML) diagrams that model software designs and requirements. – Data Flow Structure – Data Structure – Information flow structures – Complexity metrics – Cyclomatic complexity (McCabe) What are Software Metrics?
  • 42.
    Scope of SoftwareMetrics 7. Capability maturity assessment • CMM (Capability Maturity Model) – The US Software Engineering Institute (SEI) has developed and maintained a software development process evaluation technique, the Capability Maturity Model Integration (CMMI®) for Development. – The CMMI assesses many different attributes of development, including the use of tools, standardpractices, and more. – The result of an assessment is a rating that is on a five-level scale, from Level 1 (Initial—development is dependent on individuals) to Level 5 (Optimizing—a development process that can be optimized based on quantitative process information). • ISO 9001: quality systems: model for quality assurance in design/development, production,installation and servicing. • ISO 9000-3: Guidelines for application of ISO 9001 to the development, supply and maintenance of software. What are Software Metrics?
  • 43.
    Scope of SoftwareMetrics 8. Management by metrics • Measurement is an important part of software project management. • Customers and developers alike rely on measurement-based charts and graphs to help them decide if a project is on track. • Many companies and organizations define a standard set of measurements and reporting methods, so that projects can be compared and contrasted. • For example, when a power plant designer asks a software developer to write control software, the power plant designer usually knows a lot about power generation and control, but very little about software development processes, programming languages, software testing, or computer hardware. • Measurements must be presented in a way that tells both customer and developer how the project is doing. What are Software Metrics?
  • 44.
    Scope of SoftwareMetrics 9. Evaluation of methods and tools • The literature is rife with descriptions of new methods and tools that may make your organization or project more productive and your products better and cheaper. • But it is difficult to separate the claims from the reality. • Many organizations perform experiments, run case studies, or administer surveys to help them decide whether a method or tool is likely to make a positive difference in their particular situations. • These investigations cannot be done without careful, controlled measurement and analysis. • An evaluation’s success depends on good experimental design, proper identification of the factors likely to affect the outcome, and appropriate measurement of factor attributes. What are Software Metrics?
  • 45.
    References • Norman Fenton,James Bieman(2015), Software metrics: A rigorous and practical approach, 3rd edition, CRC Press, Florida, USA. • Tahir A and MacDonell S.G. (2012), A systematic mapping study on Dynamic Metrics and Software Quality, Proc. Of the 28th IEEE Int. Conf. on Software Maintenance (ICSM2012), Riva Del Garda, Italy, pp. 326-335. • Lov Kumar, Sanjay Misra, Santanu Ku. Rath, An empirical analysis of the effectiveness of software metrics and fault prediction model for identifying faulty classes, Computer Standards & Interfaces, Volume 53, August 2017, Pages 1-32, ISSN 0920-5489, http://dx.doi.org/10.1016/j.csi.2017.02.003. • Shane McIntosh·Yasutaka Kamei·Bram Adams· Ahmed E. Hassan (2016) An empirical study of the impact of modern code review practices on software quality, Empirical Software Engineering, Volume 21, Issue 5, pp 2146–2189 • Manjula.C.M. Prasad, Lilly Florence and Arti Arya (2015) A Study on Software Metrics based Software Defect Prediction using Data Mining and Machine Learning Techniques, International Journal of Database Theory and Application Vol.8, No.3 (2015), pp.179-190 • K. Punitha and S. Chitra, "Software defect prediction using software metrics - A survey," 2013 International Conference on Information Communication and Embedded Systems (ICICES), Chennai, 2013, pp. 555-558.
  • 46.