Presentation is loading. Please wait.

Presentation is loading. Please wait.

Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen.

Similar presentations


Presentation on theme: "Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen."— Presentation transcript:

1 Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen

2 1.Definition 2.Problems with traditional approach 3.Solutions o Different scale factors o Complexity size o Examples 4.Other techniques 5.Conclusion Outline

3  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 interface Requires interface Component Defines the services from the component’s environment that it uses Defines the services that are provided by the component to other components Component-based Software Engineering

4 Problem Size/Function Points Estimation Size / Function Points Effort Estimation (COCOMO) Effort Estimation Process

5 Source: http://www.visual-paradigm.com/VPGallery/diagrams/Component.html No of interactions No of interfaces No of interactions No of interfaces Complexity of interfaces Complexity of interactions Class Diagram Component Diagram Counting Complexity

6 Warehouse Application Stock Supply Sales & Order Software cost is projected at the large grained system level Function Point COCOMO Form WH App. Specific Report Communication User Managemnt Log Traditional Approach CB Approach Process

7 Problems  Cost estimating problem  Efforts estimating problem Form WH App. Specific Report Communication User Managemnt Log Problems

8 GUI 1.Intensity 2.Concurrency 3.Fragmentation 4.Team-size Costs & Efforts Estimating

9 GUI Personal Report Security User Managemnt Log GUI 1.Component Project Experience 2.Programmer Project Experience A new project B Re-use Project A Costs & Efforts Estimating

10 25/12/09 Methods for estimating component size

11 25/12/09 LOC # Methods # Subclasses # Events Component’s type Linear Regression Neural networks #GUI elements Lines of Code Method

12 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

13 25/12/09 Component complexity CompositionInteraction Packing densityInteraction densityIncoming interaction density Outgoing interaction density Average interaction density Component Complexity Metrics

14 25/12/09 Component C Incoming Outgoing Component D Component A Component B Component Complexity Metrics - Example

15 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

16 25/12/09 Analysis CBSS & Classify components Determine interface complexityDetermine interaction complexity Evaluate component complexity & Compute TUCP count Determina VAF & Compute the final Component point count. Component points - Steps

17 25/12/09 Components User- Interface Components Service- Components Domain- Components Component points - Classification

18 25/12/09 Complexity tableWeights Interface complexity Component typeNumber of operationsNumber of parameters ILFEIF Component points - Interface Complexity

19 25/12/09 Interaction Frequency Collaboration diagrams Complexity measure Information content. Primitive data typesUser data types Interaction Complexity Component points - Interaction Complexity

20 25/12/09 # ComponentsWeights IFCIITCIComplexity tables Component complexity

21 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 CP CP = TUCP x VAF TUCPCP 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

22 –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)

23 Example: E = 3.2 (8.5) 1.05 x 1 = 30 MM Count EDSI/MM CMM NOM = EDSI/component EDSI/MM CMM ADJ = CMM NOM x EAF EDSI/MM = 8500/30 = 283 CMM NOM = 2000/283 = 7.06 Effort Estimation in CBSD (2) ComponentEDSICMM NOM EAF Component #120007.060.89 Component #2300010.61.13 Component #3350012.361.05

24  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)

25 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)

26 Another Estimation Technique

27 Schedule determine by number of developer, individual skill level, productive work days/month, contingency Select Estimators Algorithm Approach Technical Cognitive Process Oriented View

28 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/size m = Complexity/size metric for method evaluation w = 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 method is only partially implemented or simply identified.

29 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

30 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

31 Base effort adjusted using qualifier to add and subtract INPUT OUTPUT Effort in person days, by activity – person in average skill Schedule determine by number of developer, individual skill level, productive work days/month, contingency Project architect Applications – subsystems supporting business area Classes – business concept User cases – requirement from user Packages – supporting framework Components – abstraction of lower level Services – common system features Estimator SCOPE Qualifier Complexity ReuseGenericity Technology Select Estimators

32 Select Estimators vs Cocomo II GroupFactorSelect EstimatorCocomo II Size AttributesSource Instructions Function Points OO-related metrics NO YES Program AttributesType/domain Complexity Language Reuse Required Reliability YES NO YES Computer attributesResource constraints Platform volatility NO YES Software development cost estimation approaches –A survey - Barry Boehm a, Chris Abts a and Sunita Chulani b

33 Select Estimators vs Cocomo II GroupFactorSelect EstimatorCocomo II Personel AttributesPersonnel Capability Personnel continuity Personnel exp YES NO YES Project AttributesTools and tech Breakage Schedule cons Process maturity Team cohesion Security issues Multisite dev YES NO YES NO YES NO YES Activities coveredInception Elaboration Construction Transition and maintenance YES NO YES Software development cost estimation approaches – A survey - Barry Boehm a, Chris Abts a and Sunita Chulani b

34 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 technique  more 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.

35 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.

36 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

37 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)

38 [9] Shimmi, A. Component Based Software Engineering. 2008 [10] Barry Boehm a, Chris Abts a and Sunita Chulan.Software development cost estimation approaches –A survey. Annals of Software Engineering 10 (2000) 177–205,2000 [11] P. NesiT.,Querci.Effort estimation and prediction of object-orientedP. NesiT.,Querci systems. Journal of Systems and Software pages 89-102 Volumepages 42, Issue 1, 1998 Literature Reviewed (3)


Download ppt "Component Based Software Estimation Antonius Hermawan Irene Talaway David Vidal Nga Nguyen."

Similar presentations


Ads by Google