Software Process Modeling and Simulation

32
Software Process Modeling and Simulation Sadaf Mustafiz School of Computer Science McGill University Winter 2003

description

Software Process Modeling and Simulation. Sadaf Mustafiz School of Computer Science McGill University Winter 2003. Outline. Software Process Entities Example EPM Process Model (re-modeled) Unconstrained Process Model Scheduling Considerations Simulation Results. - PowerPoint PPT Presentation

Transcript of Software Process Modeling and Simulation

Page 1: Software Process  Modeling and Simulation

Software Process Modeling and Simulation

Sadaf MustafizSchool of Computer Science

McGill University

Winter 2003

Page 2: Software Process  Modeling and Simulation

2

Outline Software Process Entities Example EPM Process Model (re-modeled) Unconstrained Process Model Scheduling Considerations Simulation Results

Page 3: Software Process  Modeling and Simulation

3

Software Process Entities

Some obvious entities are: Deliverable code Users’ installation and operation

manuals Requirements documents Design Test cases and procedures

Page 4: Software Process  Modeling and Simulation

4

Example EPM (1) Modeled using a commercially available

software system called STATEMATE. Focuses on behavioural modeling

perspective Approach to behavioural modeling

utilizes statecharts

Page 5: Software Process  Modeling and Simulation

5

Example EPM (2)Considering the activities occurring between thetime when1. detailed design for the module has been

developed, and 2. the module has successfully passed unit testing.

Three entities of interest:1. Module code2. Unit tests for the module3. Test execution and analysis results

Page 6: Software Process  Modeling and Simulation

6

Basic EPM Example (3)

Page 7: Software Process  Modeling and Simulation

7

Example EPM (4)Module Code Entity

Page 8: Software Process  Modeling and Simulation

8

Example EPM (5)Module Unit Tests Entity

Page 9: Software Process  Modeling and Simulation

9

Example EPM (6)Test Execution and Analysis Results Entity

Page 10: Software Process  Modeling and Simulation

10

Example EPM (7)

Example Time Line for Module Code Entity

PassiveState

ActiveState

• Entities remain for a non-zero time in each state.• Transitions take negligible time.• In the life span of an entity, it must always be in some state.

Page 11: Software Process  Modeling and Simulation

11

Process Model:Re-modeled (1)

TRUE

FALSE

SET_INITIAL_TO_FALSE

INITIAL

Page 12: Software Process  Modeling and Simulation

12

Process Model:Re-modeled (2)

FALSE

TRUE

[in (MODULE_CODE.CODE_DEVELOPED)]

REWORK_CODE

SET_REWORK_CODE_TO_FALSE

Page 13: Software Process  Modeling and Simulation

13

Process Model:Re-modeled (3)

FALSE

TRUE

[in (MODULE_CODE.TESTS_DEVELOPED)]

REWORK_TESTS

SET_REWORK_TESTS_TO_FALSE

Page 14: Software Process  Modeling and Simulation

14

Process Model:Re-modeled (4)

FALSE

TRUE

[in (MODULE_CODE.DEVELOPING_CODE)]

CLEAN

[in (MODULE_CODE.DEVELOPING_CODE)]

Page 15: Software Process  Modeling and Simulation

15

Process Model:Re-modeled (5)

FALSE

TRUE

[in (TEST_EXEC_REPORT.RUNNING_TESTS)]

PASSED

Page 16: Software Process  Modeling and Simulation

16

Process Model:Re-modeled (6)

TWO

ONE

DECREASE_1

PERSONNEL

ZERO

DECREASE_1

INCREASE_1

INCREASE_1

Page 17: Software Process  Modeling and Simulation

17

Process Model:Re-modeled (7)

NONE

DEVELOPING_CODE

MODULE_CODE

IN_DEVELOPING

_CODE

CODE_DEVELOPED

TESTED_N_PASSED

ON_HOLD

DETL_DES_RDY [in (INITIAL.TRUE) and not

in (PERSONNEL.ZERO)] / DECREASE_1

COMPILED [in (CLEAN.TRUE)] / SET_REWORK_CODE_TO_FALSE after dc/round hr

/ print (dc/round), INCREASE_1

TESTS_COMPLETED [in (PASSED.TRUE)]

PRE_CODE_CHECKED

CHECK_PRE_CODE

ANALYZED [in (REWORK_CODE.TRUE)] and not [in (PERSONNEL.ZERO)] /

DECREASE_1

Page 18: Software Process  Modeling and Simulation

18

Process Model:Re-modeled (8)

NONE

DEVELOPING_TESTS

MODULE_TESTS

IN_DEVELOPING

_TESTS

TESTS_DEVELOPED

RUN_N_PASSED

ON_HOLD

DETL_DES_RDY [in (INITIAL.TRUE) and not in (PERSONNEL.ZERO)] / SET_INITIAL_TO_FALSE, DECREASE_1

TESTS_DEVELOPED / SET_REWORK_TESTS_TO_FALSE

after dt/round hr /print (dt/round), INCREASE_1

TESTS_COMPLETED [in (PASSED.TRUE)]

PRE_CODE_CHECKED

CHECK_PRE_CODE

ANALYZED [in (REWORK_TESTS.TRUE) and not [in (PERSONNEL.ZERO)] /

DECREASE_1]

Page 19: Software Process  Modeling and Simulation

19

Process Model:Re-modeled (9)

NEW

RUNNING_TESTS

TEST_EXEC_REPORT

IN_RUN_TESTS

ANALYZING_PROBS

PASSED_TESTING

[in (MODULE_CODE.CODE_DEVELOPED)] and [in (MODULE_TESTS.TESTS_DEVELOPED) and

not in (PERSONNEL.ZERO)] / DECREASE_1

after rt hr / print (rt) TESTS_COMPLETE

D [in

(PASSED.TRUE)] / INCREASE_1,

END_FINAL_ROUND

ANALYZED

TESTS_ABORTED or TESTS_COMPLETED

[not in (PASSED.TRUE)]IN_

ANALYZING

after ap hr / print (ap), INCREASE_1, END_ROUND

WAIT

after dc/round hr

Page 20: Software Process  Modeling and Simulation

20

Process Model:Re-modeled (10)

ONE

TWO

END_ROUND / round = 2

ROUND

THREE

PASSED

END_ROUND / round = 3

END_FINAL_ROUND

ACTIVE

TIME

After 1 s/ ttime = ttime+1

Page 21: Software Process  Modeling and Simulation

21

The Unconstrained Process Model (UPM)

•These tasks correspond to the active states in the statechart model.

•The basic plan forecasts that after initial development of code and tests, test execution will uncover errors calling for the rework of both code and tests at half their initial effort level.

• The second round of testing will uncover more errors, but only in the code, requiring one-quarter the initial effort to correct.

•The tests will then be passed on the third round. It has been assumed that each of these tasks is a one-person task that cannot be distributed among multiple workers.

Page 22: Software Process  Modeling and Simulation

22

Scheduling Considerations In the first round, development of code

will take 12 hours, development of tests will take 8 hours, running the tests will take 1 hour, and analyzing problems in testing will take another 3 hours.

The second round takes half the time of the first round and the third takes one-third the time.

Exception: Running the tests will always take 1 hour

Page 23: Software Process  Modeling and Simulation

23

Process Simulation Statechart Virtual Machine (SVM) has

been used to simulate the software process.

SVM has been developed by Thomas H. Feng (SOCS, McGill University) and was released in Feb 2003.

SIMULATOR CODE

SIMULATE

Page 24: Software Process  Modeling and Simulation

24

Simulation Results Currently, no interface has been

defined to generate the graphs automatically in SVM.

The output of the simulation is printed in text files which have been imported into Excel.

Page 25: Software Process  Modeling and Simulation

25

Simulation Results (1)

Module_Code

TNP

NONE

DC

CD

Page 26: Software Process  Modeling and Simulation

26

Simulation Results (2)

Module_Tests

RNP

NONE

DT

TD

Page 27: Software Process  Modeling and Simulation

27

Simulation Results (3)Test_Exec_Report

1 7 13 19 25 31 37 43 49 55 61 67 73

PT

NEW

RT

AP

Page 28: Software Process  Modeling and Simulation

28

Simulation Results (4)

Pool of Programmers

00.5

11.5

22.5

Time

Per

son

nel

Page 29: Software Process  Modeling and Simulation

29

Comparison of the Results

Module_Code

Module_Tests

Test_Exec_Report

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

Time

Page 30: Software Process  Modeling and Simulation

30

Example UPM

Page 31: Software Process  Modeling and Simulation

31

Example CPM

Page 32: Software Process  Modeling and Simulation

32

References1. Watts S. Humphrey , Marc I. Kellner, Software

process modeling: principles of entity process models, Proceedings of the 11th international conference on Software engineering, p.331-342, May 1989, Pittsburgh, Pennsylvania, United States http://portal.acm.org/citation.cfm?doid=74587.74631