Transcript Function-oriented Metrics
Software Engineering
SM ?
1
Outline of this presentation
• • • • •
What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric
30/04/2020 2
Software Metric
•
A metric is a measurement of some aspect of the software product or the software process
30/04/2020 3
Software Metric
• What is SM We take metrics for a variety of reasons – – – – – to measure the to assess the
quality
of a product
productivity
building the product of the people to assess the
benefits
(productivity and quality) of new software tools to
form a baseline
tools so we can estimate for new to help
justify requests
additional training for new tools or 30/04/2020 4
Software Metric
The Need for SM • Software Development in general – has excessive costs • (especially in maintenance) – low productivity – poor quality – lack of standards 30/04/2020 5
Software Metric
The Need for SM • Reasons being that we fail to: – set measurable targets – measure the real costs in projects – quantify the quality – properly evaluate new tools and techniques 30/04/2020 6
Software Metric
Types of Metric •
Size-oriented Metrics
• •
Function-oriented Metrics Technical Metrics
• •
Human-oriented Metrics Productivity Metrics
•
Quality Metrics
7
Software Metric
Types of Metric • •
Size-oriented Metrics
– direct measures of the output and quality of the SE process
Function-oriented Metrics
– indirect measures of the output and quality of the SE process 8
Software Metric
Types of Metric • •
Technical Metrics
– focus on the character of the software, e.g. coupling and cohesion
Human-oriented Metrics
– information about the method by which people build and use systems 9
Software Metric
Types of Metric • •
Productivity Metrics
– focus on the output of the software engineering process
Quality Metrics
– focus on the conformance of the software to the implicit and explicit user requirements (fitness for use) 10
Software Metric
Size Oriented Metric • • • Built on the past experiences of organisations Direct measures of the software Generally based on the idea of Line of Code or Source Line of Code 11
Software Metric
• Size Oriented Metric (cont.) Primary Examples: – Size of a product = Kilo Lines of Code (KLOC) – – – – Productivity = KLOC/person-month Quality = number of faults/KLOC Cost = $/KLOC Documentation = Pages of Documentation/KLOC 12
Software Metric
Size Oriented Metric • • • Comments on Line of Code Defined as one line of text in a source file Modified by a number of factors depending upon your Source Line of Code (SLOC) Counting Standard Simplest Standard – Don ’ t count blank lines – Don ’ t count comments – Count everything else 13
Software Metric
Size Oriented Metric • • • Advantages on Line of Code Artifact of software development which is easily counted Many existing methods use LOC as a key input A large body of literature and data based on LOC already exists 14
Software Metric
Size Oriented Metric • • • • • Disadvantages of Line of Code Programming language-dependent Well-designed, but shorter programs are penalised Does not easily accommodate non-procedural languages Reuse can be difficult to factor in Difficult to develop a figure for LOC early in the development 15
Software Metric
FUNCTION Oriented Metric • • • Concentrate on functionality of a system measuring Are generally independent programming language used of the the The first and by far the most popular is the Function Point & Feature Point 16
Software Metric
FUNCTION Oriented Metric • FUNCTION POINT – Developed by Albrecht in 1979 for IBM – Function points are derived using • • countable measures of the software requirements domain assessments of the software complexity 17
Software Metric
FUNCTION Oriented Metric Calculating Function Point
where Fi are the 14 complexity adjustment values (gives ±35%)
∑
i
]
18
Software Metric
FUNCTION Oriented Metric • • • • • Calculating Count Total based on: for Number of user inputs Number of user outputs Function Point Number of user inquiries Number of files Number of external interfaces 19
Software Metric
FUNCTION Oriented Metric • • Number of user inputs – each user input which provides distinct application data to the software is counted Number of user outputs – each user output that provides application data to the user is counted, e.g. screens, reports, error messages 20
Software Metric
• • • FUNCTION Oriented Metric Number of user inquiries – An on-line input that results in the generation of some immediate software response in the form of an output Number of files – each logical master file, i.e. a logical grouping of data that may be part of a database or a separate file Number of external interfaces – all machine-readable interfaces that are used to transmit information to another system are counted 21
Software Metric
FUNCTION Oriented Metric Calculating Count Total
Weighting Factor Measurement parameter Count Simple Average Complex Total Number of user Inputs Number of user outputs Number of user Inquiries x3 x4 x6 = x4 x5 x7 = x3 x4 x6 = Number of files x7 x10 x15 = Number of external interfaces x5 x7 x10 = COUNT TOTAL = ?
22
+
Software Metric
FUNCTION Oriented Metric • • Calculating Complexity Adjustment We now assess the
software complexity
Rate each of the factors on the next 2 slides according to the following scale: – – – – – – 0 - No influence 1 - Incidental 2 - Moderate 3 - Average 4 - Significant 5 - Essential 23
Software Metric
1.
2.
3.
4.
5.
6.
7.
FUNCTION Oriented Metric 14 Complexity Adjustment Questions Does the system require reliable backup and recovery?
Are data communications required?
Are there distributed processing functions?
Is performance critical?
Will the system run in an existing, heavily utilised operational environment?
Does the system require on-line data entry?
Does the on-line data entry require the input transaction to be built over multiple screens or operations?
24
Software Metric
FUNCTION Oriented Metric
14 Complexity Adjustment Questions
8.
Are the master files updated on-line?
9.
Are the inputs, outputs, files or inquiries complex?
10. Is the internal processing complex?
11. Is the code designed to be reusable?
12. Are conversion and installation included in the design?
13. Is the system designed for multiple installations in different organisations?
14. Is the application designed to facilitate change and ease of use by the user?
25
Software Metric
FUNCTION Oriented Metric • • • Advantage Programming language-independent Based on data which are known early in the project Significant bodies of data available 26
Software Metric
• • • FUNCTION Oriented Metric Disadvantages Developed for business systems and therefore only valid for that domain ( Feature Points which extend Function Points by also measuring algorithmic numbers solves this to some extent ) Many aspects are subjective and have not been validated Function Points have no physical meaning, it ’ s just a number 27
Software Metric
FUNCTION Oriented Metric Some Figures Language ADA 83 C C++ CLOS COBOL 85 Eiffel C++ Smalltalk Visual Basic
Small project
Lines of Code per Function Point 71 128 49 27 91 21 21 21 32
: < 2000 Function Points Medium Project : 2,000 to 10,000 Function Points Large Project : > 10,000 Function Points
28
Software Metric
FUNCTION Oriented Metric Calculating Feature Point
where Fi are the 14 complexity adjustment values (gives ±35%)
∑
i
]
29
Software Metric
FUNCTION Oriented Metric • • • • • • Calculating Count Total base on Number of user inputs for Feature Point Number of user outputs Number of user inquiries Number of files Number of external interfaces
Number of algorithm
30
Software Metric
FUNCTION Oriented Metric Calculating Count Total for Feature Point • Number of algorithm – all complex algorithm in creating program and in every aspect of • • • • • Inputs Outputs Inquiries Files External interfaces 31
Software Metric
FUNCTION Oriented Metric Calculating Count Total for Feature Point
Weighting Measurement parameter Number of user Inputs Number of user outputs Count Factor x4 = Total x5 = Number of user Inquiries Number of files x4 = x7 = Number of external interfaces x7 = Number of algorithm x3 = Count total ?
+
32
33
Terimakasih…..
Untuk mahasiswa/i yang tidak ngantuk dan tetap konsentrasi Mengikuti Perkuliahan.
Sampai berjumpa minggu depan …….. (Dalam perkuliahan dan dosen yang sama)