component based software estimation antonius hermawan irene talaway david vidal nga nguyen
TRANSCRIPT
![Page 1: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/1.jpg)
Component Based Software Estimation
Antonius HermawanIrene TalawayDavid VidalNga Nguyen
![Page 2: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/2.jpg)
1. Definition2. Problems with traditional approach3. Solutions
o Different scale factorso Complexity sizeo Examples
4. Other techniques5. Conclusion
Outline
![Page 3: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/3.jpg)
Component-based software engineering (CBSE) is an approach to software development that relies on software reuse. Components are independent so do not interfere with each other;
Provides int erfaceRequires interface
ComponentDefines the services
from the component’senvironment that it
uses
Defines the servicesthat are providedby the componentto other components
Component-based Software Engineering
![Page 4: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/4.jpg)
ProblemSize/Function
Points Estimation
Size / Function
Points
Effort Estimation (COCOMO)
Effort
Estimation Process
![Page 5: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/5.jpg)
Source: http://www.visual-paradigm.com/VPGallery/diagrams/Component.html
No of interactionsNo of interfaces
No of interactionsNo of interfacesComplexity of interfacesComplexity of interactions
Class Diagram
Component Diagram
Counting Complexity
![Page 6: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/6.jpg)
Warehouse ApplicationStock
Supply
Sales & Order
Software cost is projected at the large grained system level
Function Point COCOMO
FormWH App.
SpecificReport
CommunicationUser
Managemnt
Log
Traditional Approach CB Approach
Process
![Page 7: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/7.jpg)
Problems
Cost estimating problem
Efforts estimating problem
FormWH App.
SpecificReport
CommunicationUser
Managemnt
Log
Problems
![Page 8: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/8.jpg)
GUI
1. Intensity2. Concurrency3. Fragmentation4. Team-size
Costs & Efforts Estimating
![Page 9: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/9.jpg)
GUIPersonal
Report
SecurityUser
Managemnt
Log
GUI GUI
1. Component Project Experience2. Programmer Project Experience
A new project BRe-use
Project A
Costs & Efforts Estimating
![Page 10: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/10.jpg)
25/12/09
Methods for estimating component size
![Page 11: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/11.jpg)
25/12/09
LOC
# Methods
# Subclasses
# Events
Component’s
type
Linear Regression
Neural networks
#GUI elements
Lines of Code Method
![Page 12: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/12.jpg)
25/12/09
Advantages Easy to calculate
It can be automated
Disadvantages Plattform specific
One application used
Source code not always available.
Lines of Code Method – Advantages - disadvantages
![Page 13: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/13.jpg)
25/12/09
Component complexity
Composition Interaction
Packing density Interaction density Incoming interaction
density
Outgoing interaction
density
Average interaction density
Component Complexity Metrics
![Page 14: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/14.jpg)
25/12/09
Component C
Incoming
Outgoing
Component D
Component A
Component B
Component Complexity Metrics - Example
![Page 15: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/15.jpg)
25/12/09
Advantages
Focus on components assembly
Easy to calculate
Disadvantages
No practical case studies
It's not clear its potential uses
Component Complexity Metrics – Advantages - Disadvantages
![Page 16: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/16.jpg)
25/12/09
Analysis CBSS & Classify components
Determine interface complexity Determine interaction complexity
Evaluate component complexity & Compute TUCP count
Determina VAF & Compute the final Component point count.
Component points - Steps
![Page 17: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/17.jpg)
25/12/09
Components
User- InterfaceComponents
Service- Components
Domain- Components
Component points - Classification
![Page 18: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/18.jpg)
25/12/09
Complexity tableWeights
Interface complexity
Component type Number of operations Number of parameters
ILF EIF
Component points - Interface Complexity
![Page 19: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/19.jpg)
25/12/09
Interaction Frequency
Collaboration diagrams
Complexity measure
Information content.
Primitive data types User data types
Interaction Complexity
Component points - Interaction Complexity
![Page 20: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/20.jpg)
25/12/09
# Components Weights
IFCI ITCI Complexity tables
Component complexity
Component complexity
![Page 21: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/21.jpg)
Final CP Count
Estimate Influence of 14 GSC (General System Criteria)
Count VAF (Value Adjustment Factor)
VAF = 0.65 + (0.01 x TDI)
Count Final CPCP = TUCP x VAFTUCP CP
TDI
VAF
Estimate Influence of 14 GSC (General System
Criteria)
14 GSC:• Data and Online Communication• Distributed Processing• System/component performance• Development rigidity• User friendliness• System complexity• Installability• Operability• Maintainability• Multi-site use• System/component reliability• System/component portability• Component immaturity• Lack of component vendor support
No Influence Strong Influence
![Page 22: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/22.jpg)
– E = effort estmation (man-months)– EDSI = Estimate of Delivered Source Instruction– a,b constants– EAF = effort adjustment factor
→ How about cost for individual components?
Intermediate COCOMO
Effort Estimation in CBSD
E = a (EDSI) b x (EAF)
![Page 23: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/23.jpg)
Example:E = 3.2 (8.5)1.05 x 1 = 30 MM Count EDSI/MM
CMMNOM = EDSI/component EDSI/MM
CMMADJ = CMMNOM x EAF
EDSI/MM = 8500/30 = 283
CMMNOM = 2000/283 = 7.06
Effort Estimation in CBSD (2)
Component EDSI CMMNOM EAF
Component #1 2000 7.06 0.89
Component #2 3000 10.6 1.13
Component #3 3500 12.36 1.05
![Page 24: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/24.jpg)
This improvement over monolithic approach fails to capture relevant parameters in CBSD
Metrics affecting effort in CBSD:– Intensity : actual time spent on a component
time scheduled for the component– Concurrency : many programmers are working on 1
component.– Fragmentation : 1 programmer is working on many
components.– Programmer Project Experience : components have been
completed– Component Project Experience– Team Size
Effort Estimation in CBSD (3)
![Page 25: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/25.jpg)
Augmented COCOMO Model:
– HOURS = number of hours devoted for component– COCOMO = result of intermediate COCOMO– PREV = number of comp. previously worked on (Component-project
experience)– PROG = size of component development team (team size)– α, β1, β2, β3 are determined based on statistic
Effort Estimation in CBSD (4)
HOURS = α + β1(COCOMO) + β2(PREV) + β3(PROG)
![Page 26: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/26.jpg)
Another Estimation Technique
![Page 27: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/27.jpg)
Schedule determine by number of developer, individual skill level, productive work days/month, contingency
Select Estimators Algorithm
Approach Technical
Cognitive
Process Oriented View
![Page 28: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/28.jpg)
Schedule determine by number of developer, individual skill level, productive work days/month, contingency
Select Estimators Algorithm
Object Metrics Algorithm
(Boehm survey)
Metrics for Object Oriented
MCm= w * MICm +w*m
MICm = Method Interface Complexity/sizem = Complexity/size metric for method evaluationw = Weights, which obviously depend on metric m adopted.
MICm to adjust the traditional functional metrics for: (i) to take also into account complexities due to(ii) to obtain measures even when the methodis only partially implemented or simply identified.
![Page 29: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/29.jpg)
Counting and classify software elements
Business application
Supporting
Business application Infrastructure of
reusable components
Base metric of effort in person days
Planning
Analysis
Testing
Integration
Review
Programming
Design
Select Estimators
![Page 30: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/30.jpg)
Project Architect
Estimator
Scope
Qualifier
Technology
Activity Profile
Effort
Schedule
Cost
Productive Workdays, Contingency
Team Size, Skill Levels
Labor Costs
SELECT Estimator – Software Development cost estimation approaches – a survey
Select Estimators
![Page 31: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/31.jpg)
Base effort adjusted using qualifier to add and subtract
INPUT
OUTPUT Effort in person days, by activity – person in average skillSchedule determine by number of developer, individual skill level, productive work days/month, contingency
Project architect
Applications – subsystems supporting business areaClasses – business conceptUser cases – requirement from userPackages – supporting frameworkComponents – abstraction of lower levelServices – common system features
EstimatorSCOPE
Qualifier
Complexity Reuse Genericity Technology
Select Estimators
![Page 32: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/32.jpg)
Select Estimators vs Cocomo II
Group Factor Select Estimator Cocomo II
Size Attributes Source InstructionsFunction PointsOO-related metrics
NONOYES
YESYESYES
Program Attributes Type/domainComplexityLanguageReuseRequired Reliability
YESYESYESYESNO
NOYESYESYESYES
Computer attributes Resource constraintsPlatform volatility
NONO
YESYES
Software development cost estimation approaches –A survey - Barry Boehm a, Chris Abts a and Sunita Chulani b
![Page 33: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/33.jpg)
Select Estimators vs Cocomo IIGroup Factor Select Estimator Cocomo II
Personel Attributes Personnel CapabilityPersonnel continuityPersonnel exp
YESNONO
YESYESYES
Project Attributes Tools and techBreakageSchedule consProcess maturityTeam cohesionSecurity issuesMultisite dev
YESYESYESNOYESNONO
YESYESYESYESYESNOYES
Activities covered InceptionElaborationConstructionTransition and maintenance
YESYESYESNO
YESYESYESYES
Software development cost estimation approaches –
A survey - Barry Boehm a, Chris Abts a and Sunita Chulani b
![Page 34: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/34.jpg)
Conclusion
Traditional estimation approach failed to capture all aspects of component-based estimation approach
Component based software can be estimated by 2 approaches:enhanced size estimation techniquemore component based related aspects as adjustment
factors
Component points is the most complete technique for size estimation from three different studies– lines of code, component complexity, component points.
![Page 35: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/35.jpg)
Conclusion (2)
In order to capture component based related aspects, COCOMO could be adjusted in two ways: Considering effort of each component. Considering adjustment factors specific for component
based software
Select Estimators is a good estimating tool for component based that has starting point from object oriented metrics based
Cocomo II still favorite tool for doing component based estimation process with necessary adjustment.
![Page 36: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/36.jpg)
25/12/09
[1] A. J. Albrecht and J.E. Gaffney, Software Function, Source Lines of Code and Development Effort Prediction: A Software Science Validation, IEEE Transactions on Software Engineering, vol. 9 , 1983
[2] Parag C. Pendharkar. An exploratory study of object-oriented software component size determinants and the application of regression tree forecasting models in Information & Management, Elsevier 2004.
[3] Randy K. Smith, Effort Estimation in Component Based Software Development: Identifying Parameters
[4] Randy K. Smith, Allen Parrish, Cost estimation for component based software development, ACM Southeast Regional Conference, 1998.
Literature Reviewed
![Page 37: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/37.jpg)
25/12/09
[5] Sajjad Mahmood and Richard Lai, A complexity measure for UML component-based system specification in Software-practice and experience, Willey interscience 2006.
[6]Thareendhra Wijayasiriwardhane and Richard Lai. A method for measuring the size of a Component-based system specification in the Eighth international conference on Quality software, IEEE 2008.
[7] V. Lakshmi Narasimhan and B. Hendradjaya. Some theorical considerations for a suite of metrics for the integration of software components in Information Sciences, Elsevier 2007.
[8] Kozaczynski, W., & Booch, G. Component-based software engineering. IEEE software, 15(5), 34-36, 1998.
Literature Reviewed (2)
![Page 38: Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen](https://reader035.vdocuments.site/reader035/viewer/2022062716/56649dc75503460f94abc05a/html5/thumbnails/38.jpg)
[9] Shimmi, A. Component Based Software Engineering. 2008
[10] Barry Boehm a, Chris Abts a and Sunita Chulan.Softwaredevelopment cost estimation approaches –A survey. Annals ofSoftware Engineering 10 (2000) 177–205,2000
[11] P. NesiT.,Querci .Effort estimation and prediction of object-orientedsystems. Journal of Systems and Software pages 89-102 Volume 42, Issue 1, 1998
Literature Reviewed (3)