estimating software size with uml models ghislain levesque, valery bevo uqam, canada de tran cao...
TRANSCRIPT
![Page 1: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/1.jpg)
Estimating Software Size with UML Models
Ghislain Levesque, Valery Bevo
UQAM, Canada
De Tran Cao
University of Cantho, Vietnam
![Page 2: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/2.jpg)
AGENDA
• INTRODUCTION
• MEASURING WITH COSMIC-FFP and UML V. 1.4
• INCORPORATING DATA MANIPULATION with UML V. 2.0
• DISCUSSION OF RESULTS
• CONCLUSION
![Page 3: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/3.jpg)
INTRODUCTION
• Why do we measure software size ?• How can we measure software size ?• What are the techniques and methods ?• Do the result take into account the tools
used to develop the software ?• Are there tools that automate this process?• What was the evolution of Function Points
Methods?
![Page 4: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/4.jpg)
Evolution of Function Points Method
![Page 5: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/5.jpg)
AGENDA
• INTRODUCTION
• MEASURING WITH COSMIC-FFP and UML V. 1.4
• INCORPORATING DATA MANIPULATION with UML V. 2.0
• DISCUSSION OF RESULTS
• CONCLUSION
![Page 6: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/6.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4
• COSMIC-FFP software model
Functional UserRequirements
Software
FunctionalProcess Type
Sub-Process Types
Data MovementType
Data ManipulationType
![Page 7: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/7.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Use cases diagram
Cook
Select cooking mode
Timer
Set targetTemperature
Control indicatorlamps
Control heater
Temparature SensorHeater
Warming Indicator Lamp
Cooking Indicator Lamp
![Page 8: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/8.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Sequence diagram - Select Cooking Mode
CookRice Cooker
SystemStorage
Selected cookingmode (1E)
Selected cookingmode (1W)
![Page 9: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/9.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Sequence diagram - Set target temperature
TimerRice Cooker
SystemStorage
Every 30s signal(elapsed time) (1E)
Cooking mode (1R)
Target temperature(1W)
![Page 10: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/10.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Sequence diagram - Control Heater
TimerRice Cooker
SystemStorage
Every 5s signal (1E)
Heather’s status (on/off signal) (1X)
Targettemperature (1R)
TemparetureSensor
Heather
Actual temperature(1E)
![Page 11: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/11.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Sequence diagram - Control Indicator Lamps Timer
RiceCookingSystem
Storage
Cooking status (warming indicator ON/OFFsignal) (1X)
Cooking status (cooking indicator ON/OFF signal) (1X)
CookingIndicatorLamp
WarningIndicatorLamp
Every 30s signal(elapsed time) (1E)
Cooking mode (1R)
![Page 12: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/12.jpg)
MEASURING WITH COSMIC-FFP and UML V. 1.4 : Rice Cooker
• Results:– COSMIC case study v. 2.1 : 12 CFSU (function
points)
– UML v. 1.4 : 13 messages– Difference : two control lamp objects instead of
one that receive their own messages
![Page 13: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/13.jpg)
AGENDA
• INTRODUCTION
• MEASURING WITH COSMIC-FFP and UML V. 1.4
• INCORPORATING DATA MANIPULATION with UML V. 2.0
• DISCUSSION OF RESULTS
• CONCLUSION
![Page 14: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/14.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
• Analyze-triangle specification in narrative text
• The analyze triangle process accepts values A, B and C that represent the side dimensions of triangle. The process tests the dimension values to determine whether all values are positive. If a negative value is encountered, an error message is produced. The process evaluates valid input data to determine whether the dimensions define a valid triangle and if so, what type of triangle- equilateral, isosceles or scalene – is implied by the dimensions. The type is the output.
Analysetriangle
Side dimensionsof triangle
Errormessages
Type oftriangle
![Page 15: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/15.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
• According to COSMIC-FFP, the size of this software is :– One entry : side dimensions– Two exits : error message and type of triangle– Total : 3 CFSU (function points)
![Page 16: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/16.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
• According COSMIC-FFP and UML v. 1.4, the size of this software is three messages :
UserTriangleSystem
Dimensions
Enter 3dimensions (1 E)
Validate
Return errormessage (1 X)
Return triangletype (1 X)
or
![Page 17: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/17.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
READ Side dimensions
Any dimension isnegative
Largestdimension < the sum
of others
Three sidesare equal
Two sidesare equal
Error message
No triangle
Type isequilateral
Type isisoceles
Type isscalene
No
Yes
No
Yes
Yes
YesNo
No
Flowchart showing the 5 cases to test
![Page 18: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/18.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
: User: Triangle
System: Dimensions
Enter 3 dimensions (1 E)
[a or b or c < 0]
Return error message (1 X)
opt
[largest < sum of others]
Return “no triangle” (1 X)
alt
else [3 sides equal]Return “triangle type is
equilateral” (1 X)
else [2 sides equal]Return “triangle type is
isosceles” (1 X)
elseReturn “triangle type is
scalene” (1 X)
![Page 19: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/19.jpg)
INCORPORATING DATA MANIPULATION with UML V. 2.0
• According to UML v. 2.0, there are 6 messages exchanged
• So estimating the size by the number of messages exchanged would mean that this software has 6 function points.
![Page 20: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/20.jpg)
AGENDA
• INTRODUCTION
• MEASURING WITH COSMIC-FFP and UML V. 1.4
• INCORPORATING DATA MANIPULATION with UML V. 2.0
• DISCUSSION OF RESULTS
• CONCLUSION
![Page 21: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/21.jpg)
DISCUSSION OF RESULTS
• By modeling software in Actor-Object sequence diagram according to UML v. 1.4, it is possible to obtain an equivalent software size estimation to COSMIC-FFP by counting the number of messages exchanged
![Page 22: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/22.jpg)
DISCUSSION OF RESULTS
• Going further and modeling software by UML v. 2.0 Actor-Object sequence diagram, it is possible to take into account data movements and data manipulation to size this software by counting the number of messages exchanged.
![Page 23: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/23.jpg)
DISCUSSION OF RESULTS
• By modeling software in UML sequence diagram, and counting the number of messages involved, it is possible to get 3 types of measures:– Actor-System– Actor-Object (UML v. 1.4)– Actor-Object (UML v. 2.0)
• which corresponds to stepwise refinement of requirements and models
• These results should then be tested at large with a sample of projects to model productivity
![Page 24: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/24.jpg)
AGENDA
• INTRODUCTION
• MEASURING WITH COSMIC-FFP and UML V. 1.4
• INCORPORATING DATA MANIPULATION with UML V. 2.0
• DISCUSSION OF RESULTS
• CONCLUSION
![Page 25: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/25.jpg)
CONCLUSION
• UML is a standard notation to model software• If those results are confirmed at large, the size
could be determined at each step of the development process with more precision
• The count would be provided by case tools• The software engineers would get the size directly
by modeling the software and counting messages; he could forget about function point methods.
![Page 26: Estimating Software Size with UML Models Ghislain Levesque, Valery Bevo UQAM, Canada De Tran Cao University of Cantho, Vietnam](https://reader036.vdocuments.net/reader036/viewer/2022081518/5514938b550346b2598b5436/html5/thumbnails/26.jpg)
Contact
• Ghislain Levesque and Valery Bevo – University of Quebec at Montreal
Dept.of Computer ScienceP.O. Box 8888, Station C.V., [email protected]
• De Tran Cao – University of Cantho CICT, Vietnam – [email protected]