Podcast
Questions and Answers
Which technique is based on an educated guess from past experience?
Which technique is based on an educated guess from past experience?
Analytical techniques derive required results from simple assumptions.
Analytical techniques derive required results from simple assumptions.
True
What does LOC stand for in software size metrics?
What does LOC stand for in software size metrics?
Lines of Code
The simplest and most widely used software size metric is ___ .
The simplest and most widely used software size metric is ___ .
Signup and view all the answers
Match the software estimation techniques with their descriptions:
Match the software estimation techniques with their descriptions:
Signup and view all the answers
Which of the following is not a disadvantage of using LOC?
Which of the following is not a disadvantage of using LOC?
Signup and view all the answers
Using LOC as a metric penalizes higher level programming languages.
Using LOC as a metric penalizes higher level programming languages.
Signup and view all the answers
Name one disadvantage of using LOC as a size metric.
Name one disadvantage of using LOC as a size metric.
Signup and view all the answers
Which of the following is NOT a part of the Function Point metric calculation?
Which of the following is NOT a part of the Function Point metric calculation?
Signup and view all the answers
The Function Point metric is considered language dependent.
The Function Point metric is considered language dependent.
Signup and view all the answers
What is the main drawback of the Function Point metric?
What is the main drawback of the Function Point metric?
Signup and view all the answers
In the Delphi Estimation technique, experts never ________ each other to discuss their viewpoints.
In the Delphi Estimation technique, experts never ________ each other to discuss their viewpoints.
Signup and view all the answers
Match the size estimation technique with its description:
Match the size estimation technique with its description:
Signup and view all the answers
Which of the following techniques aims to overcome individual bias in estimation?
Which of the following techniques aims to overcome individual bias in estimation?
Signup and view all the answers
The COCOMO model is focused on improving the accuracy of Function Point metrics.
The COCOMO model is focused on improving the accuracy of Function Point metrics.
Signup and view all the answers
What is the primary aim of Feature Point metric?
What is the primary aim of Feature Point metric?
Signup and view all the answers
What is the estimated effort for a software product that has 32,000 lines of source code?
What is the estimated effort for a software product that has 32,000 lines of source code?
Signup and view all the answers
Intermediate COCOMO model uses cost drivers to refine initial estimates.
Intermediate COCOMO model uses cost drivers to refine initial estimates.
Signup and view all the answers
What does the Basic COCOMO model primarily depend on for its estimates?
What does the Basic COCOMO model primarily depend on for its estimates?
Signup and view all the answers
If stringent reliability requirements are required, initial estimates are scaled __________.
If stringent reliability requirements are required, initial estimates are scaled __________.
Signup and view all the answers
Match the following cost driver classes with their descriptions:
Match the following cost driver classes with their descriptions:
Signup and view all the answers
Which factor is NOT considered by the basic and intermediate COCOMO models?
Which factor is NOT considered by the basic and intermediate COCOMO models?
Signup and view all the answers
The Complete COCOMO model estimates the cost of the entire system in one go without breaking it down into subsystems.
The Complete COCOMO model estimates the cost of the entire system in one go without breaking it down into subsystems.
Signup and view all the answers
What is the role of CASE tools in the estimation process according to Intermediate COCOMO?
What is the role of CASE tools in the estimation process according to Intermediate COCOMO?
Signup and view all the answers
Which part of the Management Information System is classified as semi-detached?
Which part of the Management Information System is classified as semi-detached?
Signup and view all the answers
Halstead's Software Science estimates size, development effort, and development time.
Halstead's Software Science estimates size, development effort, and development time.
Signup and view all the answers
What does Ck represent in Putnam’s expression related to software development?
What does Ck represent in Putnam’s expression related to software development?
Signup and view all the answers
The Rayleigh curve is specified by two parameters: Effort and time at which the curve reaches its __________.
The Rayleigh curve is specified by two parameters: Effort and time at which the curve reaches its __________.
Signup and view all the answers
Match the following elements with their descriptions:
Match the following elements with their descriptions:
Signup and view all the answers
What is represented by the area under the Rayleigh curve?
What is represented by the area under the Rayleigh curve?
Signup and view all the answers
In which year did Putnam study staffing of software projects?
In which year did Putnam study staffing of software projects?
Signup and view all the answers
The state of technology constant (Ck) is same for both poor and excellent development environments.
The state of technology constant (Ck) is same for both poor and excellent development environments.
Signup and view all the answers
What does the Rayleigh curve indicate about the number of engineers over the course of a project?
What does the Rayleigh curve indicate about the number of engineers over the course of a project?
Signup and view all the answers
Compressing a project's delivery schedule by more than 25% is likely to lead to a successful outcome.
Compressing a project's delivery schedule by more than 25% is likely to lead to a successful outcome.
Signup and view all the answers
What is the primary observation made by Putnam regarding schedule compression and effort?
What is the primary observation made by Putnam regarding schedule compression and effort?
Signup and view all the answers
According to Putnam's model, K is represented by the formula K = L^3/Ck^3td^4 or K = C1/td^4, where C1 is a constant equal to _____.
According to Putnam's model, K is represented by the formula K = L^3/Ck^3td^4 or K = C1/td^4, where C1 is a constant equal to _____.
Signup and view all the answers
What is the relationship between effort and chronological delivery time as stated in the example?
What is the relationship between effort and chronological delivery time as stated in the example?
Signup and view all the answers
According to the Rayleigh curve, approximately 40% of the area is located to the right of td.
According to the Rayleigh curve, approximately 40% of the area is located to the right of td.
Signup and view all the answers
What happens to the number of project staff after system testing according to the Rayleigh Curve?
What happens to the number of project staff after system testing according to the Rayleigh Curve?
Signup and view all the answers
Which situation is best suited for a chief programmer team?
Which situation is best suited for a chief programmer team?
Signup and view all the answers
The chief programmer team approach eliminates the risk of single point failure.
The chief programmer team approach eliminates the risk of single point failure.
Signup and view all the answers
What does the Rayleigh curve illustrate in software product development?
What does the Rayleigh curve illustrate in software product development?
Signup and view all the answers
Heuristic techniques in software cost estimation assume that characteristics of a software product can be modeled by a __________.
Heuristic techniques in software cost estimation assume that characteristics of a software product can be modeled by a __________.
Signup and view all the answers
Which of the following best describes mixed control team organization?
Which of the following best describes mixed control team organization?
Signup and view all the answers
Match the cost estimation techniques with their descriptions:
Match the cost estimation techniques with their descriptions:
Signup and view all the answers
Which estimation technique assumes that product size directly correlates with the effort needed for development?
Which estimation technique assumes that product size directly correlates with the effort needed for development?
Signup and view all the answers
Analytical techniques rely on historical data for making estimates.
Analytical techniques rely on historical data for making estimates.
Signup and view all the answers
Study Notes
Software Project Management (Lecture 9)
- Software projects frequently fail due to flawed project management practices
- Effective software project management aims to enable teams of engineers to work efficiently toward successful project completion
- Responsibilities of project managers include writing project proposals, estimating costs, scheduling, staffing, monitoring and controlling projects, managing software configuration, risk management, and preparing managerial reports
- Project managers' roles are varied and broadly categorized into project planning and project monitoring/control
- Project planning occurs after feasibility is established and involves tasks like effort, cost, and resource estimation, scheduling, team organization, planning for risk, and creating miscellaneous plans
- Planning requires meticulous care to avoid unrealistic time and resource estimates, leading to delays, customer dissatisfaction, decreased team morale, poor quality work, and project failure,
Introduction to Project Planning
- Sliding window planning involves planning in phases, preventing premature commitments, enabling more accurate planning as project progresses
- A Software Project Management Plan (SPMP) document is created after planning is complete, detailing the finalized project plans
Organization of SPMP Document
- Includes introduction (objectives, functions, constraints), project estimates, resource plans, schedules (work breakdown structure, task network, Gantt/PERT charts), risk management plan, tracking and control plan, and other miscellaneous plans
Software Cost Estimation
- Cost estimation involves determining product size, then effort, duration, and finally cost
- There are three main approaches to software cost estimation: Empirical, Heuristic, and Analytical
Software Cost Estimation Techniques
- Empirical techniques rely on past experience to make educated guesses
- Heuristic techniques mathematically express characteristics to be estimated
- Analytical techniques derive results from simple assumptions
Software Size Metrics
-
Lines of Code (LOC) is the simplest and most common metric, but it is affected by coding style, not reflective of code quality/efficiency, and doesn't account for higher level programming languages or code reuse
-
Function Point (FP) metric overcomes some of LOC's limitations by considering inputs, outputs, inquiries, files, and interfaces as measures of product functionality, instead of code volume
Empirical Size Estimation Techniques
- Expert judgment relies on experts' guesses but can be biased
- Delphi estimation attempts to mitigate bias by having experts independently estimate, providing rationale, and then re-estimating based on feedback, without meeting to discuss
Heuristic Estimation Techniques
- Single-variable models estimate parameters based on a single characteristic
- Multivariable models estimate parameters based on multiple characteristics (often more accurate)
COCOMO Model
-
The COCOMO (Constructive Cost Model) model, developed by Boehm, categorizes software development into organic, semidetached, and embedded types, which roughly correspond to application, utility, and system programs, respectively.
-
The COCOMO model provides equations for estimating effort (programmer-months) and development time (months) based on product size (KLOC) for each category
Basic COCOMO Model
- Effort = a1 (KLOC)a2
- Tdev = b1 (Effort)b2
Development Effort and Time
- Specific equations are provided for organic, semidetached, and embedded development categories
- Effort and development (Tdev) are roughly super-linear with problem size
- Development times don't double when problem size doubles
- Similar development times are seen across all three product categories
Intermediate COCOMO Model
- Refining basic COCOMO by using 15 cost drivers (multipliers) to account for factors other than size
- Cost drivers include product characteristics (complexity, reliability), computer environment, personnel, and development environment factors, such as Modern programming techniques and tools, reliability requirements, data handling, and staff experience
Complete COCOMO Model
- Separate cost estimation for each sub-system before summing for overall cost and improving accuracy
Halstead's Software Science
- An analytical technique used to estimate software size, development effort, and development time
- Relies on primitive program parameters (operators, operands) to derive expressions related to program size, volume, and language level
Staffing Level Estimation
-
Number of personnel isn't constant throughout a software project. The Rayleigh Curve model, based on R&D project analysis (1958), describes workforce needed over time. A maximum staffing level is typically reached near the system testing phase and then steadily declines through project completion
-
Putnam's work and Jensen's model also relate delivered lines of software code (a size measure) to staffing, development effort, and time
Effect of Schedule Change on Cost
- Significant schedule compression can severely increase project costs (nonlinear relationship)
- There's a limit beyond 75% of the nominal (planned) time where further compression is not effective and can be counterproductive
- Jensen's model attempts to soften the effect of schedule compression for smaller and medium-sized projects by providing additional aspects to better model this aspect of the project
Project Organization Structures
- Functional organization: Engineers in specialized groups (specification, design, coding) -Advantages: specialization, ease of staffing, good documentation
- Project organization: Assigned engineers for the entire duration of the project -Advantages: saves time, job rotation
- Team Structures: Variations exist, incorporating different concepts of team leadership, communication, and support (Chief Programmer, Democratic, Mixed
- Chief Programmer: Single authoritative team lead
- Democratic: team based on less authoritarian structure, good for less structured or research-oriented work
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on software estimation techniques, including LOC, Function Points, and Delphi method. This quiz covers definitions, advantages, disadvantages, and matching techniques with their descriptions. Perfect for students and professionals in software engineering.