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

Slides:



Advertisements
Similar presentations
Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek.
Advertisements

Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Copyright 2000, Stephan Kelley1 Estimating User Interface Effort Using A Formal Method By Stephan Kelley 16 November 2000.
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
Software Effort Estimation based on Use Case Points Chandrika Seenappa 30 th March 2015 Professor: Hossein Saiedian.
Page 1 Building Reliable Component-based Systems Chapter 7 - Role-Based Component Engineering Chapter 7 Role-Based Component Engineering.
University of Southern California Center for Software Engineering CSE USC COSYSMO: Constructive Systems Engineering Cost Model Barry Boehm, USC CSE Annual.
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Introduction to Software Testing
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
CIS 321—IS Analysis & Design
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 26 Slide 1 Software cost estimation 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Group Members: Ayush Newatia, Barry Foye, Billy Felton, Kevin Anderson, Shahnaz Begum and Adam Jasinski Constructive Cost Model is a technique used to.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
Information System Development Courses Figure: ISD Course Structure.
Software Project Management Lecture # 3. Outline Chapter 22- “Metrics for Process & Projects”  Measurement  Measures  Metrics  Software Metrics Process.
Lecture 4 Software Metrics
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
9 Systems Analysis and Design in a Changing World, Fourth Edition.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Estimation for Software Projects 1. Software Project Planning 2 The overall goal of project planning is to establish a pragmatic strategy for controlling,
CASE (Computer-Aided Software Engineering) Tools Software that is used to support software process activities. Provides software process support by:- –
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
FUNCTION POINT ANALYSIS & ESTIMATION
بشرا رجائی برآورد هزینه نرم افزار.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
1 Agile COCOMO II: A Tool for Software Cost Estimating by Analogy Cyrus Fakharzadeh Barry Boehm Gunjan Sharman SCEA 2002 Presentation University of Southern.
THE FAMU-CIS ALUMNI SYSTEM
Chapter 33 Estimation for Software Projects
Project Cost Management
Software Engineering (CSI 321)
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Constructive Cost Model
Model-Driven Analysis Frameworks for Embedded Systems
COCOMO Model Basic.
Personal Software Process Software Estimation
Software Metrics “How do we measure the software?”
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

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

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

 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

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

Source: No of interactions No of interfaces No of interactions No of interfaces Complexity of interfaces Complexity of interactions Class Diagram Component Diagram Counting Complexity

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

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

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

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

25/12/09 Methods for estimating component size

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

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

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

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

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

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

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

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

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

25/12/09 # ComponentsWeights IFCIITCIComplexity tables Component complexity

Final CP Count Estimate Influence of 14 GSC (General System Criteria) Count VAF (Value Adjustment Factor) VAF = (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

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

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 # Component # Component #

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

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)

Another Estimation Technique

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

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.

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

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

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

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

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

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.

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.

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 [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, Literature Reviewed

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 [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 [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 [8] Kozaczynski, W., & Booch, G. Component-based software engineering. IEEE software, 15(5), 34-36, Literature Reviewed (2)

[9] Shimmi, A. Component Based Software Engineering [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 Volumepages 42, Issue 1, 1998 Literature Reviewed (3)