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 ?
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 ?
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+,
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
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.