Download as pdf
Download as pdf
You are on page 1of 7
ing Une UP by an adjust The finn aot fare «i arrived al by anulliplying the ment The final number of funetion points is arrived al by: ing complexity which are given i fielor that in determined by considering 14 axpoets of proce : 295% 4 in Tublo 4.8, "This adjustment factor allows the UEP count to be modified by al most 35%, Thy final adjusted FP count is obtained by using the following relationship. FP = UFP* CAR Where CAF is complexity adjustment faclor and is equal to [0.65 + 0.01 x ZI). The FE = 1 ty 14) are the degrees of influence and are based on responses to questions noted in Tuble 4.3, ‘Table 4.3: Computing function points Rate ench factor on a neale of 0 to 6, ! 2 3 f Significant Easential 0 No Incidental Morterate Averayye Influence Numbor of fuctors considered (F, ) a 1, Doen the system require reliatile backup und recovery? i data communication required? 4. Are there distributed procensing function? 4. tn performance critical? 5, Will the nystern run in au exusting fiewvily utifized operational environment? G. Does the system require on line dala entry? 7. Does the on line data entry require the input transaction Lo be built over muitiple fereens or operations? 8. Are the master files updated on line? 9. Ie the inputs, outputs, files, or inquiriex complex? 10. Ju the internal processing, complex? AL, Ii the code designed to be reusable? 12. Are converti Mion ined in Uw design’ 13, fy the system designed for multiple i fs the application designed to facilitate change and ease of ilfatinns different organs Uses of iunetlon points ‘The collection of function point data has to primary motivations. One is th ¢ desire by manag: ors to monitor levels of productivity, for example, number of function Points uehieved per work hour expended. From this perspective, the manager is nol concern with when the function point counts are made, but only thal the function points accurately dencribo the jae f the final software project. In this instance, function points have an advantage ove LOC in that they provile a more objective measure of altware sie by whieh isan oiled Another use of function points is in the estimation of software day ol ae a a a There are only a few studies thataddresa this issu, though iis arguably unc see eet come Tore uso of function point data, 'Y Wie most important potential Functions points may compute the following important metrics: productivity = — FP/persons-months Quality = Defects/FP Cost = Rupees /FP Documentation = Pages of documentation per PP ‘These metrics are controversial and are not universally acceptable. There are stand- ydsissued by the International Function Point User Group (IFPUG, covering the Albrecht yelhod) and the United Kingdom Function Point User Group (UFPGU, covering the MK11 githod). An ISO standard for function point. methods is also being developed. The function point method continues to be réfined. So if we intend to use it we should isin copies of the latest international function point user group (IFPUG) guidelines and endards. IFPUG is the fastest growing non-profit soflware metries user group in the world sihan annul growth rate of 30%. Today it has grown to over 800 corporate members and over £00 individual members in more than 50 countries, Sample 4.1 Insider a project with the following functional units: Number of user inpuls =50 ‘Number of user outputs = 40: Number of user enquiries = 35 Number of user Giles =06 Number of external interfaces = 04 Assume all complexity adjustment faetors and weighting factors are average. Compute the function, points for the project. Botution 5 8 We know upp = >) Y) 2yuy ere BU xd dU x D+ 35x44 6x 104A xT = 200 + 200 + 140 + 60 + 28 = 628, CAF = (0.65 + 0.01 EF) = (0.65 + 0.01(14 x 3) = 0.85 + 0.42 = 1.07 FP = UFP x CAF = 628 x 1.07 = 672 UE a ks ‘application has the following: 10 low external inputs, 12 high external outputs, 20 low interrial logical files, 15 high femal interface files, 12 average external inequiries, and a value of complexity adjustment of 1.10, What are the unadjusted and adjusted function point counts ? Solution Unadjusted function point counts may be calculated using as: 53 urP= ¥ Y) Zyuy am =10x3412%7420x7 +15 +104 12%4 = 30+ 84 +140 + 150 + 48 =45200 FP = UFP x CAF = 452% 1.10 = 497.2, Example 4.3 Consider a project with the following parameters (i) External Inputs: (a) 10 with low complexity (0) 15 with average complexity (©) 17 with high complexity. Gi) External Outputs: (a) 6 with low complerity (b) 13 with high complexity. (iii) External Inquiries: (a) 3 with low complexity (0) 4 with average complexity (c) 2 with high complexity. (iv) Internal logical files: (a) 2 with average complexity (B) 1 with high complexity. (v) External Interface Giles: (a) 9 with low complexity. * In addition to above, system requires (i) Significant data communication (i) Performance is very critical (iii) Designed code may be moderately reusable (io) Systom is not designed for multiple installations in g Other complexity adjustment factors are treated ag . ifferent organisations, for the projec:. "Tae. Compute the function points glution Unadjusted function points may be counted using Table 4.2 functional Count Complexity i wis Complesity — totals Bxternal 10 Inputs 15 Average-x 4 = 0 (Els) 7 i High x6 = 702 wm] External 6 low x4 = u Gutputs ” 0 Average x5 = 7 (0s) 13 High x 7 = 1 is] External 3 Low x3 = 2 Inquiries 4 Average x40 = 16 ls) 2 High x 6 = 12 a7 Internal e Low x7 = Logical le Average x 100 = 20 Files (ILFs) 1 High x 150 = (15 [35 External 9 Low x5. = 5 Interface 0 Avergae x7 = 7 Files (EIFs) La] High x 10 = 7 B ‘Total unadjusted function point count = Caw] ‘The factors given in Table 4.3 may be calculated as: Vy adedeS+5pdegrd Se 3494249404324] is CAF = (0.65 + 0.01 x EF) = (0.65 x 0.01 x 41) 1.06 FP = UFP x CAF = 424 x 1.06 = 449.44 Hence FP = 449 . yKLOC) to medivm (a few tens of KLO! i 2 ver lane (few hundreds of LO, we modes the size ranges from ‘The semi detached mode is an intermedia ja Bde Nid Stipa eh eae te mode between the organic mode and les is given in Table 44 Table 4.4; The comparison of three COCOMO modes Mode Project Nature of project | Innova- | Deadline | Development size tion ofase Ql terratnent Project Organic Typically Small size project, ex-| Little | Not tight | Familiar & 2-50 KLOC | perienced developers In house in the familiar envi- ronment. For exam- ple, pay roll, inventory projects ete emi ‘Typically Medium size project, | Medium } Medium Medium tached 50-300 KLOC | Medium size team, Average previous ex: perience on similar projects. For Example: Utility systems like compil- ers, database systems, editors ete. Tmbedded | Typically over | Large project, Real | Signifi- | Tight Complex 300 KLOC. time systems, Com- | cant Hardvare! plex interfaces, Very alma little previous experi- ‘Tnterfaces ence. required For Example: ATMs, Air Traffic Control ete. Depending on the problem at hand, the team might include a mixture of re ®dless expérienced people with only/a recent history of working together. Phe basie COCO! ‘ations take the form ws Cg = a,(KLOC)” = (4 a p-@* 2 l : ang D is the development time in months} The co we is effort applied in Person-Months, Ns a, by, c, and d, are given in Table 4.4(a). Table 4.4(a); Basic COCOMO co-efficients Y Project a, | Bos Organic 24 1.05 25 0.38 Semidetached 3.0 La 26 0.85 Embedded 36 1.20 28 a2 Gihen effort and development time ‘are known, the average staff size to complete the Project may be calculated as: <) \_Brterage staf sine (88) = z Pevibii: ‘When project size is known, the productivity level may be calculated as: . Loc : + _Productivity (P) = = KLOCPM:) With the basic model, the software estimator has a useful tool for estimating quickly, by two runs on a pocket calculator, the cost and development time of a software project, once the size is estimated. The software estimator will have to assess by himself/herself which mode is the most appropriate. Suppose that a project-was estimated to be 400 KLOC. Calculate the eff a ort and development time for each of the three modes i.e, organic, semidetached and embed. ded. Solution The basic COCOMO equations take the form: E = 4,(KLOC)* D= ¢,(KLOC)* Estimated size of the project = 400 KLOG. @ Organic mode B= 2.4(400)!°5 - 1995.31 pry D = 2.5(1296.91)958 - 38 07 54 (ii) Semidetached mode B= 8.0(400)!2 = 2469.79 pap D = 2.5(2462.79)95 = 39.45 hy (iii) Embedded mode E = 3.6(400)L20_ ATI2.81 PM D=2.5(472,g)32 _ 38M ‘As we have seen, effort calculated for embedded recs oy rune made, Goer, Cb ert calecatad © “PPTuaimately 4-oen, the effort of organic mode. There is a large difference ; ‘or Semidetached mode i; : development time is approximately the same for all ioe ese Values, Bure 2 times the * Sut, surprisi the mor prisingly, “S-Ttis clear fram hare os tha Pr. oment. Lt We LOK LO thi a avery mode wi iff, “ad mode is the right man 444, it is mentioned that Toes tnt manpomer : so on other par: ce. The selection of a mode is not onl, a KLOC projects, y put a a Parameters as mentioned in Table 4.4, 'Y dependent on project yt the selection of mode for the project. 4. We should be utmost careful ample 4.6 ct size of 200 KLOC is to be di oasis type of prj The eft etna rennet fee has average expe- elopment time, average staff size and Productivity of the peek eae lution The semi-detached mode is the most a wexperience of the development team. Hence E = 3.0(200)!22 = 1133.19 PM D = 2.5(1133.12)% = 29.3 M propriate mode; keeping in view the size, schedules Average staff size (SS) = z Persons = 1188.12 ae orp, = 393 = 3867 Persons LOG Productivity = ee = 0.1765 KLOC/PM P = 176 LOC/PM 4.2 intermediate Model 2 basic model allowed for a quick and rough estimate, but it resulted in a lack of accuracy. } ehm introduced an additional set of 15 predictors called cost drivers in the intermediate wel to take account of the software development environment Cost drivers are used to lust the nominal cost of a project to the actual project environment, hence increasing the turacy of the estimate. cost drivers are grouped into four categories: +A Product attributes (a) Required software reliability (RELY) (b) Database size (DATA) (c) Product complexity (CPLX) Computer attributes (a) Execution time constraint. (TIME) (b) Main storage constraint (STOR) (c) Virtual machine volatility (VIRT) (d) Comnnter turnaround time (TURN)

You might also like