Software Estimation Quiz: Function Point Method
48 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

What is the primary purpose of the Function Point Method in software estimation?

  • To measure the overall size of the software project in terms of data storage.
  • To estimate the cost and effort required for developing a software project based on its functional requirements. (correct)
  • To assess the complexity of the software architecture.
  • To calculate the number of lines of code in a software project.
  • Which estimation method is generally considered most accurate based on its combination of weighting and relational approaches?

  • Use Case Point 3.0 Method
  • Constructive Cost Model (COCOMO)
  • Function Point Method (correct)
  • Object Point Method
  • Which of the following is NOT a recognized category of functional requirements (LFs) used in the Function Point Method?

  • Interface (correct)
  • Output
  • Query
  • Input
  • What is the purpose of the 'input' category in the Function Point Method?

    <p>To provide data from the user to the software system. (B)</p> Signup and view all the answers

    Which of these methods is used for early, rough estimates?

    <p>Analogy (D)</p> Signup and view all the answers

    Which of the following is a characteristic of bottom-up estimation?

    <p>Relies on detailed analysis of individual project components. (B)</p> Signup and view all the answers

    In the Function Point Method, which of these options is chosen when the primary purpose is to calculate and display information to the user?

    <p>Output (B)</p> Signup and view all the answers

    The Function Point Method was developed by:

    <p>IBM (B)</p> Signup and view all the answers

    What is the relationship between quality requirements and effort?

    <p>Higher quality requirements result in a direct increase in effort. (C)</p> Signup and view all the answers

    Which of the following is NOT a factor that influences human productivity in software development?

    <p>Project budget (C)</p> Signup and view all the answers

    Which of the following statements best describes Brook's Law?

    <p>Adding more team members to a late project always makes it later. (B)</p> Signup and view all the answers

    What is the main reason why adding more team members to a late project can make it later?

    <p>Increased communication overhead. (B)</p> Signup and view all the answers

    Which of the following is NOT an example of a comparison method for software estimation?

    <p>Sampling method (A)</p> Signup and view all the answers

    Which of the following is NOT a common key figure method used for software estimation?

    <p>Sampling method (A)</p> Signup and view all the answers

    Which of the following best describes a bottom-up estimation strategy?

    <p>Estimating project effort based on the effort required for each individual task. (A)</p> Signup and view all the answers

    What is the primary advantage of using a bottom-up estimation strategy?

    <p>It is more accurate than other estimation methods because it takes into account the details of each task. (C)</p> Signup and view all the answers

    When would you use a 'database' for product data requirements?

    <p>When the data needs to be updated with new information, like customer information. (C)</p> Signup and view all the answers

    What is the primary purpose of a 'query' in the context of software estimation?

    <p>To retrieve raw data without performing calculations. (A)</p> Signup and view all the answers

    What is the key factor determining the complexity of a product requirement?

    <p>The number of pieces of information involved and their sources. (A)</p> Signup and view all the answers

    How are 'Function Points' calculated in software estimation?

    <p>Through a combination of intuitive scoring and evaluation of influencing factors. (C)</p> Signup and view all the answers

    How are 'personnel expenses' estimated based on Function Points in software estimation?

    <p>By using a pre-defined table or curve that reflects the relationship between Function Points and man-months. (C)</p> Signup and view all the answers

    Why is it important to update empirical data used for software estimation?

    <p>To improve the accuracy and reliability of future estimations. (A)</p> Signup and view all the answers

    What are 'User Stories' in Agile estimation?

    <p>Independent units of work used to estimate software features. (D)</p> Signup and view all the answers

    How does 'Story Point' estimation differ from 'day' estimation in Agile?

    <p>Story Points estimate the complexity of a task, while days estimate the time required to complete it. (C)</p> Signup and view all the answers

    Which of the following authentication methods is considered a form of multi-factor authentication?

    <p>Biometric authentication (C)</p> Signup and view all the answers

    What is the primary function of authorization in a security system?

    <p>Determining a user's access permissions (D)</p> Signup and view all the answers

    In the context of security, what does hashing do to a password?

    <p>Converts the password into a one-way, irreversible string (C)</p> Signup and view all the answers

    Which of the following statements is true about HTTP Basic Authentication?

    <p>It uses Base64 encoding to transmit username and password. (C)</p> Signup and view all the answers

    What is the main advantage of using server-side sessions and session cookies for authentication?

    <p>They eliminate the need for username and password input on subsequent requests. (B)</p> Signup and view all the answers

    Which of these authentication methods is used in Spring Boot's default configuration?

    <p>HTTP Basic Authentication (C)</p> Signup and view all the answers

    What is a key limitation of HTTP Basic Authentication in terms of security?

    <p>It does not use encryption or hashing for password security. (A)</p> Signup and view all the answers

    Which statement accurately describes the relationship between authentication and authorization?

    <p>Authentication is a prerequisite for authorization. (D)</p> Signup and view all the answers

    What is the key difference between basic SELECT statements in JPQL and SQL?

    <p>JPQL requires aliases for SELECT statements, while SQL does not. (D)</p> Signup and view all the answers

    What can be directly accessed in JPQL queries, unlike in standard SQL queries?

    <p>Attributes of attributes. (C)</p> Signup and view all the answers

    What is the advantage of using JPQL queries compared to predefined SQL statements?

    <p>JPQL queries are easier to read and understand, especially for developers who are not familiar with SQL. (C)</p> Signup and view all the answers

    How are query parameters handled in JPQL queries?

    <p>They are automatically assigned values based on their position in the query. (A)</p> Signup and view all the answers

    What is the advantage of using @Query annotation for defining queries?

    <p>It allows for complex queries that cannot be implemented using derived queries. (B)</p> Signup and view all the answers

    In the context of the text, what does the term "Crudrepo" refer to?

    <p>A Spring Boot feature for handling data persistence in applications. (B)</p> Signup and view all the answers

    What is the primary purpose of using JpaRepository in Spring Boot applications?

    <p>To offer basic methods for creating, reading, updating, and deleting data. (B)</p> Signup and view all the answers

    What is one of the extra methods offered by JpaRepository, that the Crudrepo does not have?

    <p>Methods for flushing pending tasks to the database and deleting records in a batch. (D)</p> Signup and view all the answers

    According to the provided content, which of these factors are NOT directly considered in the 'Devil's Square' concept?

    <p>The cost of the software to the customer (B)</p> Signup and view all the answers

    Which of these is NOT a direct consequence of the 'Devil's Square' concept?

    <p>Companies should strive to always operate at a higher level of productivity in software development. (C)</p> Signup and view all the answers

    Which of the following is TRUE about traditional software estimation based on lines of code (LOC)?

    <p>LOC is NOT a reliable metric for estimating software complexity. (A)</p> Signup and view all the answers

    Which of these reasons explains why LOC is NOT considered a reliable metric for software estimation?

    <p>Lines of code are not always a good measure of functionality, as one developer's 10 lines can achieve the same as another's 100. (B)</p> Signup and view all the answers

    What is the key assumption made about productivity within the 'Devil's Square' concept?

    <p>Productivity remains relatively consistent for a given organization and resources. (D)</p> Signup and view all the answers

    Which of these factors is considered more reliable for software estimation in the early stages of a project?

    <p>Determining the functional scope of the project. (C)</p> Signup and view all the answers

    Which of the following is a valid reason why LOC may be a poor metric for measuring the value of code?

    <p>All of the above. (D)</p> Signup and view all the answers

    What is a potential consequence of applying excessive pressure to a development team?

    <p>Decreased productivity due to decreased morale and burnout (D)</p> Signup and view all the answers

    Study Notes

    IT Support for Business Applications

    • A business application can be defined as the totality of application software, associated data, and the hardware, system software, and communication facilities required for its use.
    • Management Information Systems (MIS) utilize internal & external data (e.g., market research, statistics, online databases) combined into a flexible form (e.g., data warehouse).
    • Business applications can either support existing operational processes or enable new products/services (e.g., e-commerce, mobile payments, digital health apps).

    Adaptation Techniques for Standard Business Software

    • Configuration: Defines compulsory settings for initial deployment, enabling individual variations of standard software.
    • Extension: Allows for optional functionalities and mapping of unforeseen requirements, implemented by manufacturers to enhance services.
    • Coupling: Connects external systems of different manufacturers or the same type via predefined data formats, APIs, or communication protocols.

    Requirements Engineering

    • A vast majority of IT projects are not completed on time, within budget, or at all.
    • Incomplete requirements are a significant cause of project failures.
    • Requirements engineering focuses on elicitation, analysis, specification, and validation of software projects.
    • Requirements define the needs and constraints of the software project. Functional & non-functional requirements together constrain the solution space.
    • Requirements specification (Lastenheft) details customer desires, while functional specification (Pflichtenheft) outlines the system's observable behavior acting as a contractual basis.
    • Requirements engineering should comprise roughly 30% of a software project's total effort.

    Requirements Engineering in Scrum

    • While the Scrum Guide doesn't explicitly mention requirements engineering, understanding customer needs is crucial.
    • Common requirements engineering artifacts in agile contexts include use cases, scenarios, UML diagrams, and prototypes.

    Software Estimation

    • Software estimation defines the budget & timeframe needed to deliver a product.
    • Accurate estimation is essential for contract negotiations.
    • Agile contexts involve multiple estimation points throughout the development process using metrics like lines of code, LOC per month, or LOC per year, and the team's estimated individual programming productivity.
    • Factors like quality, functionality, and reliability are key variables in evaluating the optimal size of a team and its expected delivery time.

    Software Estimation Methods

    • Comparison methods: Based on the analysis of already completed projects with similar characteristics (analogy, relation, and percentage methods).
    • Algorithmic methods: Utilize mathematical models (statistical models), like the Function Point Method, to estimate software effort.
    • Sampling methods: Extrapolate the cost of individual units or project phases (multiplication and percentage methods).

    Categorization of Product Requirements

    • Functional Requirements: Input, output, or query requests.
    • Product Data Requirements: Database or references (read-only or those with continuous updating needed).

    Application Architecture

    • Layered architectures: Partition software components into layers.
    • Tiered architectures: Define a physical partitioning of software components into different process spaces.
    • Client-server architectures: A common example of a tiered architecture where the client sends requests to a server, receiving responses.

    Software Design Patterns & Libraries

    • Libraries: Reusable modules or components extending functionality through their API.
    • Frameworks: Provide partially finished system with specific architecture, enabling quicker development through augmenting it with application-specific code.
    • Inversion of Control: The framework acts as a director controlling the process while the application code works as the actor, following instructions.
    • Dependency Injection: A design pattern enabling independent construction & use of objects, improving code maintainability.

    Database Transactions and persistence

    • Database Transactions: Adhere to the ACID properties: Atomicity, Consistency, Isolation, Durability for reliable data management.
    • JPA (Java Persistence API): A standard API for managing persistent data and includes tools like Hibernate (a framework enabling SQL-like operations).
    • Object-Relational Mapping (ORM): A technique to convert and manage object-based data into a database's relational table structure.
    • JDBC: A tool enabling the interaction between Java Code and various types of databases, including MySQL, PostgreSQL, H2, etc.

    Persistence Associations

    • @OneToOne: One-to-one mapping between entities
    • @OneToMany / @ManyToOne: One-to-Many or Many-to-One mappings.
    • @Inheritance: Strategies for representing object inheritance (in a database).
    • MappedSuperClass / TablePerClass: Strategies to map object inheritance to database tables.
    • Query languages: Tools to access stored data from the database. QueryDSL and JPQL are widely used.

    Security Engineering

    • Core principles: Confidentiality, Integrity, Accessibility (CIA triad), and non-repudiation.
    • Authentication and Authorization methods.
    • Password management (never storing in plain text).
    • Vulnerabilities in web APIs.

    Software Estimation Methodology

    • Techniques like Analogy methods, Relation methods, Weighting methods, comparison methods are used when quantifying estimations. Data from previous projects with corresponding parameters and/or features is essential to produce reliable results.

    Use of Application-Specific Tags

    • Tags within the application are essential in cases when a generic set of parameters cannot be employed.

    Other Considerations

    • Typical application architecture includes layers (e.g., presentation layer, business logic layer, and data layer).
    • Frameworks aid in quicker development by providing shared functions.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    SEBA Bachelor Summary PDF

    Description

    Test your knowledge of the Function Point Method, a key technique in software estimation. This quiz covers its primary purposes, categories of functional requirements, and various estimation methods. Enhance your understanding of software development methodologies and estimation accuracy.

    More Like This

    Use Quizgecko on...
    Browser
    Browser