Software Project Estimation First step in project estimation
- Slides: 30
Software Project Estimation
• First step in project estimation – is – Project Planning • 5 major activities performed in project planning
• Project Estimation – determine, scope of software product • Project Scheduling – determine, time required for each module & overall project • Risk Analysis – determine, problem complexity & risk • Quality Management Planning – determine, which quality metrics, are to be focused, while developing the software • Change Management Planning – if changes occur, how to handle them.
Software Scope & Feasibility • Software scope describes – four things – 1. The function & features, that are to be delivered to end users 2. The data – which can be input & output 3. The content of the software – that is presented to the user 4. Performance, constraints, reliability & interfaces that bound the system
• The scope can be defined – by 1. Using narrative description of the software, obtained after Having communication with the stakeholders. 2. defining, a set of use cases.
• After identifying scope of the project, its feasibility must be ensured. • Following are the four dimensions of software feasibility • Set of questions – based on these dimensions has to be answered
1. Technology - is the project technically feasible? - are the defects to be reduced, to a level that satisfies the applications need? 2. Finance - is it financially feasible? - is the development cost – affordable & according to standards? 3. Time - will project finish, within the given time? 4. Resource - does the organization have – the resources – needed to complete the project.
Resource Estimation • After, identifying scope & feasibility – of the project, • Estimate the resources, needed to complete the project • There are 3 major categories of – software engineering resources
• People - number - skill - location • Reusable software components - OTS (off-the-shelf) component - full experience component - part experience component - new component • Development environment i. e. hardware & software tools - hardware - network resources
• 4 characteristics of above mentioned resources • • Description of resource A statement of availability Time when resources will be required Duration of the time that resource will be applied
1. People (Human Resources) • Number & The organizational position - manager, senior software engineer, & so on • The skills - database, telecommunication, client/server, etc. • Location – • Are specified
2. Reusable Software Components • 4 categories of reusable software – 1. OTS (off-the-shelf) components - existing software acquired from a third party - or has been developed internally for a past project 2. full experience component – - the current software is same as the previous one - that was developed by the same working team 3. partial experience components 4. new components
3. Development Environment (Environmental Resources) • Software Engineering Environment (SEE) incorporates – hardware & software • Hardware - provides a platform - for using tools - required to produce work products • Software – - Are the tools, required - To produce implementation details - Testing & debugging
Decomposition
• Many times, in software engineering, - To solve the complex problem, it need to be Broken into – smaller sub problems & solving each sub problem – individually • This is referred as – - decomposition or partitioning
• Software sizing fuzzy logic sizing function point sizing standard component sizing change sizing • Problem based estimation • Example of LOC based estimation • Example of FP based estimation • Process based estimation • Example of process based estimation • Estimation with use cases • Reconciling estimates
1. Fuzzy logic sizing • In this approach, planner must identify – • The type of application • Establish its magnitude on qualitative scale • & then refine the magnitude within the original range • Planner should also have access to – historical database of the project • So that • Estimates can be composed to actual experiences.
2. Function Point Sizing • Planner develops estimates of the information domain
3. Standard Component Sizing • There are various standard components – used in the software • These are – - subsystems, modules, - screens, reports, - interactive programs, files, - LOC and Object-level instruction • The project planner – - Estimates – the number of time, these standard components are used. • He then uses, historical project’s data – - to determine the delivered size per standard component
4. Change sizing • This approach is used - When existing software – has to be modified - As per the requirement of - the project or user • The size of the software – is then estimated by - The number & type of reuse - Addition of code - change made in the code - deletion of code
Problem Based Estimation
Problem Based Estimation • Is conducted using – - LOC Based Estimation - Function Point Based Estimation - Process Based Estimation - Use Case Based Estimation
• LOC & FP based data are used in two ways, during software estimation 1. These are useful to estimate the - size – each element of software
• With a bounded statement of software scope, - A project planning process begins • & by using the statement of scope, - The software problem is decomposed into - The functions - That can be estimated individually. • LOC or FPs then estimated for each function
Example Of LOC Based Estimation • Consider an ABC project, with some important modules – such as – 1. user interface & control facilities 2. 2 D graphics analysis 3. 3 D graphics analysis 4. Database management 5. Computer graphics display facility 6. Peripheral control function 7. Design analysis models • Estimate the project – based on LOC
• Consider each module as separate function • The corresponding LOC can be estimated in the following table Function Estimated LOC User interface & control facilities 2500 2 D graphics analysis 5600 3 D graphics analysis 6450 Database management 3100 Computer graphics display facility 4740 Peripheral control function 2250 Design analysis models 7980 Total estimation in LOC 32620
• Expected LOC for 3 d Geometric Analysis function – three point estimation is – • Optimistic estimation - 4700 • most likely estimation - 6000 • Pessimistic estimation – 10000 • S = [Sopt + (4 * Sm) + Spess ] / 6
• Expected value [4700 + (4 * 6000) + 10000] / 6 = 6450 A review of historical data indicates – 1. Average productivity is = 500 LOC/month 2. Average labor cost is = $6000/month Then cost for LOC can be estimated as – Cost/LOC = (6000/500) = $12/LOC By considering, total estimated LOC as = 32620 Total estimated project cost = (32620 * 12) = $391440 Total estimated project effort = (32620 / 500) = 65 Person-months
- Step 1 step 2 step 3 step 4
- Project planning software engineering
- Buccal pit molar
- Creating a dinosaur sculpture
- Steps to writing an informative essay
- How to write an argumentative essay step by step
- Step back step up
- How to factor equations
- Harder simultaneous equations
- Simultaneous equations step by step
- How to combine like terms step by step
- The steps of photosynthesis
- Bayes filter matlab
- Oracle real application testing
- Bare metal restore netbackup
- Solve trig equations
- Naomi campbell face shape
- Draw a punnett square of an ss x ss cross
- How to save viva video in gallery
- How to install fusion compute
- How to graph sine and cosine functions step by step
- Division
- Paraffin test procedure
- Equilateral triangle floral arrangement
- When to use complete the square
- Conics completing the square
- How to do chemical equations
- Step-by step inventory process
- Kesler science balancing chemical equations
- Steps of blood flow through the heart
- Chapter 15 musculoskeletal system