Software Estimation Techniques Quiz
47 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which technique is based on an educated guess from past experience?

  • Empirical (correct)
  • Analytical
  • Statistical
  • Heuristic
  • Analytical techniques derive required results from simple assumptions.

    True

    What does LOC stand for in software size metrics?

    Lines of Code

    The simplest and most widely used software size metric is ___ .

    <p>LOC</p> Signup and view all the answers

    Match the software estimation techniques with their descriptions:

    <p>Empirical = Based on past experience Heuristic = Expressed in mathematical terms Analytical = Derived from simple assumptions Statistical = Uses data analysis techniques</p> Signup and view all the answers

    Which of the following is not a disadvantage of using LOC?

    <p>Measures structural complexity</p> Signup and view all the answers

    Using LOC as a metric penalizes higher level programming languages.

    <p>True</p> Signup and view all the answers

    Name one disadvantage of using LOC as a size metric.

    <p>It correlates poorly with quality and efficiency of code.</p> Signup and view all the answers

    Which of the following is NOT a part of the Function Point metric calculation?

    <p>Algorithm Complexity</p> Signup and view all the answers

    The Function Point metric is considered language dependent.

    <p>False</p> Signup and view all the answers

    What is the main drawback of the Function Point metric?

    <p>The size of a function is considered independent of its complexity.</p> Signup and view all the answers

    In the Delphi Estimation technique, experts never ________ each other to discuss their viewpoints.

    <p>meet</p> Signup and view all the answers

    Match the size estimation technique with its description:

    <p>Expert Judgement = Estimates made by individual experts based on their experience. Delphi Estimation = Estimates prepared independently followed by Rationale sharing. Heuristic Estimation = Uses established rules or characteristics to make estimates. COCOMO Model = A model proposed by Boehm for cost estimation.</p> Signup and view all the answers

    Which of the following techniques aims to overcome individual bias in estimation?

    <p>Delphi Estimation</p> Signup and view all the answers

    The COCOMO model is focused on improving the accuracy of Function Point metrics.

    <p>False</p> Signup and view all the answers

    What is the primary aim of Feature Point metric?

    <p>To include Algorithm Complexity in addition to the Function Point metric.</p> Signup and view all the answers

    What is the estimated effort for a software product that has 32,000 lines of source code?

    <p>91 PM</p> Signup and view all the answers

    Intermediate COCOMO model uses cost drivers to refine initial estimates.

    <p>True</p> Signup and view all the answers

    What does the Basic COCOMO model primarily depend on for its estimates?

    <p>Product size</p> Signup and view all the answers

    If stringent reliability requirements are required, initial estimates are scaled __________.

    <p>upwards</p> Signup and view all the answers

    Match the following cost driver classes with their descriptions:

    <p>Product = Inherent complexity and reliability requirements Computer = Execution time and storage requirements Personnel = Experience of personnel Development Environment = Sophistication of development tools</p> Signup and view all the answers

    Which factor is NOT considered by the basic and intermediate COCOMO models?

    <p>Sub-system complexity</p> 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.

    <p>False</p> Signup and view all the answers

    What is the role of CASE tools in the estimation process according to Intermediate COCOMO?

    <p>They affect the effort and development time.</p> Signup and view all the answers

    Which part of the Management Information System is classified as semi-detached?

    <p>Database part</p> Signup and view all the answers

    Halstead's Software Science estimates size, development effort, and development time.

    <p>True</p> Signup and view all the answers

    What does Ck represent in Putnam’s expression related to software development?

    <p>state of technology constant</p> Signup and view all the answers

    The Rayleigh curve is specified by two parameters: Effort and time at which the curve reaches its __________.

    <p>maximum</p> Signup and view all the answers

    Match the following elements with their descriptions:

    <p>Operators = Basic functional units in programming Operands = Data items in a program KLOC = Thousands of Lines of Code Rayleigh-Norden curve = Relation between delivered lines of code and effort</p> Signup and view all the answers

    What is represented by the area under the Rayleigh curve?

    <p>Total personnel required</p> Signup and view all the answers

    In which year did Putnam study staffing of software projects?

    <p>1976</p> Signup and view all the answers

    The state of technology constant (Ck) is same for both poor and excellent development environments.

    <p>False</p> Signup and view all the answers

    What does the Rayleigh curve indicate about the number of engineers over the course of a project?

    <p>It initially increases, reaches a peak, and then decreases.</p> Signup and view all the answers

    Compressing a project's delivery schedule by more than 25% is likely to lead to a successful outcome.

    <p>False</p> Signup and view all the answers

    What is the primary observation made by Putnam regarding schedule compression and effort?

    <p>A small compression in the delivery schedule can result in a substantial penalty on human effort.</p> 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 _____.

    <p>L^3/Ck^3</p> Signup and view all the answers

    What is the relationship between effort and chronological delivery time as stated in the example?

    <p>Nonlinear</p> Signup and view all the answers

    According to the Rayleigh curve, approximately 40% of the area is located to the right of td.

    <p>False</p> Signup and view all the answers

    What happens to the number of project staff after system testing according to the Rayleigh Curve?

    <p>The number of project staff falls until product installation and delivery.</p> Signup and view all the answers

    Which situation is best suited for a chief programmer team?

    <p>When early completion is essential and the task is well understood</p> Signup and view all the answers

    The chief programmer team approach eliminates the risk of single point failure.

    <p>False</p> Signup and view all the answers

    What does the Rayleigh curve illustrate in software product development?

    <p>The staffing level during the life cycle of a software product development.</p> Signup and view all the answers

    Heuristic techniques in software cost estimation assume that characteristics of a software product can be modeled by a __________.

    <p>mathematical expression</p> Signup and view all the answers

    Which of the following best describes mixed control team organization?

    <p>It combines democratic and chief-programmer team approaches</p> Signup and view all the answers

    Match the cost estimation techniques with their descriptions:

    <p>Empirical Techniques = Based on systematic guesses by experts Heuristic Techniques = Modeling software characteristics with mathematical expressions Analytical Techniques = Deriving estimates from basic assumptions Expert Judgement = Utilizes the knowledge of experienced professionals</p> Signup and view all the answers

    Which estimation technique assumes that product size directly correlates with the effort needed for development?

    <p>Empirical Techniques</p> Signup and view all the answers

    Analytical techniques rely on historical data for making estimates.

    <p>False</p> 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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser