CSE 300 Software Engineering CSE 300 CSE 300

  • Slides: 12
Download presentation
CSE 300 - Software Engineering CSE 300

CSE 300 - Software Engineering CSE 300

CSE 300 - Software Engineering Discussion Items • Estimation 2 by Manish Shrotriya

CSE 300 - Software Engineering Discussion Items • Estimation 2 by Manish Shrotriya

CSE 300 - Software Engineering Software Estimation • Effort Estimation: how much effort is

CSE 300 - Software Engineering Software Estimation • Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line of Code) • Time Estimation: how much time is required to complete an activity. (efforts * productivity) • Productivity: Rate at which useful functionality is produced by a programmer • Price of software: Total Cost of all activities + overheads 3 by Manish Shrotriya

CSE 300 - Software Engineering Activity determination ( Functional Points) • Using Functional Points:

CSE 300 - Software Engineering Activity determination ( Functional Points) • Using Functional Points: ▪ ▪ Number of inputs required Number of output Number of files read Number of DB calls • Weight is given to each type of activity • Total count of FP = sum ( FP * weight) • LOC = language factor * Total FP count 4 by Manish Shrotriya

CSE 300 - Software Engineering Activity determination ( Object Points) • Using Object Points:

CSE 300 - Software Engineering Activity determination ( Object Points) • Using Object Points: ▪ Number of Screens and category of screens ▪ Number of Reports and category of reports ▪ DSL (Domain Specific Language) is required to output object ◦ Dev cost of DSL (Eg: Tag library) • Weight is given to each type and category of Object • Total OP count is summation of OP * type weight * category weight • LOC = language factor * Total OP count 5 by Manish Shrotriya

CSE 300 - Software Engineering Functional points vs Object Points • Object points are

CSE 300 - Software Engineering Functional points vs Object Points • Object points are converted directly from requirements (easier to determine) • Functional points require technical expertise • Use both Ex: Constructive Cost model (COCOMO 2) ▪ Early Prototyping (Proof of concept) phase: use OP ▪ Early Design phase: calculate based in FP ▪ Post Design: Directly calculate based in LOC required for Design 6 by Manish Shrotriya

CSE 300 - Software Engineering Estimation Technique • Expert Judgment ( Bottom up Approach)

CSE 300 - Software Engineering Estimation Technique • Expert Judgment ( Bottom up Approach) ▪ Based on expertise ◦ Estimate Tentative efforts ◦ Their complexity to give them weightage ◦ Efforts are converted into Development time • Advantage ▪ Detailed approach • Disadvantage ▪ Very subjective (tied to development approach under consideration) ▪ Tend to underestimate integration and configuration 7 by Manish Shrotriya

CSE 300 - Software Engineering Estimation Technique • Analogy based ( Top down approach)

CSE 300 - Software Engineering Estimation Technique • Analogy based ( Top down approach) ▪ Based on experience on similar project or part ▪ Complexities are determined by correlation to previous project ▪ Estimates are directly taken from previous actuals • Advantage ▪ High accuracy if analogy is close ▪ Cheap technique • Disadvantage ▪ Tend to underestimate low level activity 8 by Manish Shrotriya

CSE 300 - Software Engineering Estimation Technique • Mathematical Models like COCOMO (Constructive Cost

CSE 300 - Software Engineering Estimation Technique • Mathematical Models like COCOMO (Constructive Cost Model) ▪ Efforts = a x (KLOC) b x M ▪ Value of a and b is given by Project complexity ◦ Simple(2. 4, 1. 05) ◦ Moderate(3, 1. 12) ◦ Complex(3. 6, 1. 12) ▪ M is effort adjustment factor. It has many component 9 by Manish Shrotriya

CSE 300 - Software Engineering Estimation In Agile • • Estimations are shared: based

CSE 300 - Software Engineering Estimation In Agile • • Estimations are shared: based on collective responsibility Estimation scale (1, 2, 3, 5, 8) User stories are independent of Dev pair Techniques ▪ Planning Poker: ◦ ◦ ◦ Every member participates Story is read Secretly everyone selects a card On show call, cards are displayed Discrepancies are discussed 10 by Manish Shrotriya

CSE 300 - Software Engineering Estimation In Agile • Three point estimation: ▪ For

CSE 300 - Software Engineering Estimation In Agile • Three point estimation: ▪ For each story three opinions are sought. Ideal (a), most likely (m) and worst case(b). Then weighted mean is calculated ◦ E = (a + 4 m + b) / 6 ◦ E = (a + m + b) / 3 • Ex: Today’s game (Library) ▪ Library has many books, they are listed on library home page. Admin can login and add new books or copies. User can login and borrow a book or return a book. 11 by Manish Shrotriya

CSE 300 - Software Engineering Estimation In Agile • Ex: Today’s game (Library) •

CSE 300 - Software Engineering Estimation In Agile • Ex: Today’s game (Library) • User stories: 1. 2. 3. 4. 5. 6. Admin is able to see lists of existing books on home page Admin is able to log in admin page from home page Admin is able to create new book with some copies on admin page Admin is able to update number of copies of a given book Admin is able to remove all copies of a given book Admin is able to log out back to home page. 12 by Manish Shrotriya