Function-oriented Metrics

Download Report

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)