1 / 26

Component Based Software Estimation

Component Based Software Estimation. Rahmat Bagas Santoso Diogo Satoru Aihara Vojtech Zbranek. Motivation. No one build software from the scratch. Component based software development is a prominent contemporary software development.

sora
Download Presentation

Component Based Software Estimation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Component Based Software Estimation RahmatBagasSantoso Diogo Satoru Aihara VojtechZbranek

  2. Motivation • No one build software from the scratch. • Component based software development is a prominent contemporary software development. • Supported by many well-known frameworks and standards (Microsoft COM/DCOM, Enterprise JavaBean, Web service, etc). • No (widely used) estimation technique for CBSD.

  3. Project A Project B Comp. A2 Comp. A2 Comp. A2 Estimation’ ( Usage? Upgrade? Known Facts?) Comp. A2 Estimation Comp. A1 Comp. B1 Comp. A1 Estimation Comp. B1 Estimation COTS Comp. C1 COTS Comp. C1 COTS Comp C1 Estimation WH App. Specific Warehouse Application Form Report Stock Supply Communication Log Sales & Order User Managemnt Problem • Different decomposition • Transferable component estimation

  4. Effort Estimation (COCOMO) Size/Function Points Estimation Size / FunctionPoints Effort Problem R. K. Smith, A. Parrish, and J. Hale Approach - 1998 (**) T. Wijayasiriwardhane and R. Lai Approach - 2008 (*) Approaches (1) (*) T. Wijayasiriwardhane and R. Lai: “A Method for Measuring the Size of a Component-Based System Specification” (**) R. K. Smith, A. Parrish, and J. Hale: “Cost Estimation for Component Based Estimation”

  5. Approaches (2)

  6. FP-like approach Usage of CBS Specification Written in UML Integration of two techniques Class Point (FP for Object Oriented systems) Component Complexity measurement Size Estimation for CBSDComponent Point

  7. Component PointEstimation Process

  8. Two types Internal Logical Files External Input Files Parameters Number of Operations Number of Parameters Interface Complexity

  9. For each operation, multiply: Interaction Frequency Complexity Measure Interaction Complexity = sum for all operations Interaction Complexity

  10. Component Complexity • Find the component complexity • Count the Component Points

  11. Degree of Influence No Influence Strong Influence 0 5 Adjust Component Points • Find the Value Adjustment Factor • Adjust the Component Points

  12. Effort Estimation for CBSD (1) : COCOMO Model • Basic COCOMO Model by Boehm • General effort model: E = a (EDSI)h x (EAF) • Legend: • E – Effort [man-moths] • a,h – Constant given by developing mode • EAF – Effort adjustment factor (15 cost factors) • EDSI – Estimate of Delivered Source Instruction

  13. Effort Estimation for CBSD (2): COCOMO Model Example: Effort given from basic COCOMO for program with 8500 LOC: E = a (EDSI)h x (EAF) = = 3.2 (8.5)1.05 x 1 = 30 MM Boehm also adopted the Intermediate COCOMO Model to apportion cost of individual components

  14. Effort Estimation for CBSD (3):Intermediate COCOMO Model Example • CMMNOM - nominal component man-month • Intermediate COCOMO: • Inputs: • LOC = 8500 • EbasicCOCOMO =MMNOM= 30MM

  15. Effort Estimation for CBSD (3): Intermediate COCOMO Model Example • Count: • EDSI/MMNOM=8500/30=283 • CMMNOM=EDSIcomp/(EDSI/MM)NOM • CMMNOM - nominal component man-month • Intermediate COCOMO: • Inputs: • LOC = 8500 • MMNOM= 30MM (from basic COCOMO)

  16. Effort Estimation for CBSD (4): Intermediate COCOMO Model Example • After CMMNOM Effort Adjust Factor (EAF) is calculated for each component individually • The EAF is applied to CCMNOM for each component!!!  Consider variance among the cost factors for various component! New adjusted MM estimate for each component CMMADJ: CMMADJ = (CMMNOM)(EAF)

  17. Effort Estimation for CBSD (5): Intermediate COCOMO Model Example CMMADJ = (CMMNOM)(EAF)

  18. Effort Estimation for CBSD (6): Even this improvements over monolithic approach fails to capture relevant parameters in CBSD Inspection CBSD found out wealth of new parameters not directly captured in COCOMO adaptation

  19. Effort Estimation for CBSD (7): An Augmented COCOMO Model • Work with • Within-project experience • Team size • Model formula: HOURS = α + β1(COCOMO) + β2(PREV) + β3(PROG) • HOURS – number of hours devoted for component • COCOMO – result of intermediate COCOMO • PREV – number of comp. previously worked on (Within-project experience) • PROG – size of component development team

  20. Effort Estimation for CBSD (8): Current studies identifying parameters • For effort estimation is captured by athree dimensional view of the development process • x axis captures the componentunderdevelopment • y axis represents time • z axisthe programmers on the project

  21. Effort Estimation for CBSD (9): Current studies identifying parameters Research for metrics by passing planes through the three dimensional model “contextual planes” - By passing a planethrough the model that is perpendicular to an axis, wecapture the “context” related to two other axis

  22. Effort Estimation for CBSD (10): Current studies identifying parameters This view of CBSD allows an effortestimation model to examine metrics and effort factors at afine-grained level of detailed that is not captured bytraditional effort estimation models

  23. Effort Estimation for CBSD (11): Current studies identifying parameters Using this concept of components, time units and programmers, we can derive a suite of metrics that characterizes the effect of scheduling on CBSD. We have developed formal definitions of these metrics.

  24. Effort Estimation for CBSD (12): Identifying parameters Intensity - The ratio of the quantity of actual time spent on a component to the number of time units scheduled for the component. Concurrency - The degree to which multiple programmers are working simultaneously on a single component. Fragmentation-The degree to which a singleprogrammer is working simultaneously on multiplecomponents. Component Project Experience-The numberofcomponents that have been completed as part of theproject prior to work beginning on a particularcomponent. Programmer Project Experience-The number of components that have been previously completed bythe programmers assigned to a particular component. Team Size-The number of programmersassigned to aparticular component.

  25. Conclusions • Although CBSD is widely used, but no eminent size/cost estimation method available yet. • Some proposals to do estimation CBSD are already published but most of them still in research. Furthermore they need industry validation. • Most estimation proposal on CBSD is in analogy with how other disciplines do the extension of the traditional estimation. • More interesting result may come in the future with the support of validation.

  26. Thank You • Questions & Answers

More Related