EECS 481 Final Flashcards
79 Questions
100 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 a fault?

An exceptional situation at run time.

What is a defect?

Any characteristic of a product which hinders its usability for its intended purpose.

What is a bug report?

Provides information about a defect.

What is a feature request?

<p>Potential change to the intended purpose (requirements) of software.</p> Signup and view all the answers

What is an issue?

<p>Either a bug report or a feature request.</p> Signup and view all the answers

What is the defect report lifecycle?

<p>Consists of a number of possible stages and actions, including reporting, confirmation, triage, assignment, resolution, and verification.</p> Signup and view all the answers

What is triage?

<p>The assignment of degrees of urgency to wounds or illnesses to decide the order of treatment of a large number of patients or casualties.</p> Signup and view all the answers

What does severity refer to?

<p>The degree of impact that a defect has on the development or operation of a component or system.</p> Signup and view all the answers

What is defect priority?

<p>Indicates the importance or urgency of fixing a defect.</p> Signup and view all the answers

What is assignment in the context of defect management?

<p>Associates a developer with the responsibility of addressing a defect report.</p> Signup and view all the answers

What does the defect report resolution status indicate?

<p>Indicates the result of the most recent attempt to address it; resolved need not mean fixed.</p> Signup and view all the answers

What is a Debugger?

<p>Helps to detect the source of a program error by single-stepping through the program and inspecting variable values.</p> Signup and view all the answers

What does fault localization involve?

<p>The task of identifying source code regions implicated in a bug.</p> Signup and view all the answers

What is a signal in computing?

<p>An asynchronous notification sent to a process about an event.</p> Signup and view all the answers

What is a signal handler?

<p>A procedure that will be executed when the signal occurs; vulnerable to race conditions.</p> Signup and view all the answers

What is a watch point?

<p>Like a breakpoint, but it stops execution after any instruction changes the value at location L.</p> Signup and view all the answers

What is a spectrum-based fault location tool?

<p>Uses dynamic analysis to rank suspicious statements implicated in a fault by comparing the statements covered on failing tests to the statements covered on passing tests.</p> Signup and view all the answers

What is a profiler?

<p>A performance analysis tool that measures the frequency and duration of function calls as a program runs.</p> Signup and view all the answers

What does a flat profile compute?

<p>Computes the average call times for functions but does not break times down based on context.</p> Signup and view all the answers

What does a call-graph profile compute?

<p>Computes call times for functions and also the call chains involved.</p> Signup and view all the answers

What is Delta Debugging?

<p>An automated debugging approach that finds a one-minimal interesting subset of a given set.</p> Signup and view all the answers

What does a difference indicate in the context of debugging?

<p>A change in the program configuration or state that may lead to alternative observations.</p> Signup and view all the answers

What are requirements?

<p>Articulate the relationship and interface between a desired system and its environment.</p> Signup and view all the answers

What are system requirements?

<p>Relationships between monitored and controlled variables.</p> Signup and view all the answers

What are software requirements?

<p>Relationships between inputs and outputs.</p> Signup and view all the answers

What is the indicative mood?

<p>Describes the environment (as-is).</p> Signup and view all the answers

What is the optative mood?

<p>Describes the environment with the machine.</p> Signup and view all the answers

What are functional requirements?

<p>Describe what the machine should do.</p> Signup and view all the answers

What are quality requirements?

<p>Design criteria to help choose between alternative implementations.</p> Signup and view all the answers

What is an informal goal?

<p>General intention (ease of use, high security).</p> Signup and view all the answers

What is a verifiable non-functional requirement?

<p>A statement using some measure that can be objectively tested.</p> Signup and view all the answers

What is knowledge acquisition?

<p>How to capture relevant details about a system.</p> Signup and view all the answers

What is knowledge representation?

<p>Once captured, how do we express it most effectively.</p> Signup and view all the answers

What is an omission?

<p>Problem/world feature not stated by any requirements document item.</p> Signup and view all the answers

What is a contradiction?

<p>Requirements document items stating a problem/world feature in an incompatible way.</p> Signup and view all the answers

What does inadequacy refer to in requirements?

<p>Requirements document item not clearly stating a problem/world feature.</p> Signup and view all the answers

What is ambiguity in requirements?

<p>Requirements document item allowing a problem/world feature to be interpreted in different ways.</p> Signup and view all the answers

What is requirements elicitation?

<p>The process of identifying system requirements through communication with stakeholders.</p> Signup and view all the answers

What is validation in the context of requirements?

<p>Checks the correctness of requirements.</p> Signup and view all the answers

What is verification?

<p>Checks the correctness of software.</p> Signup and view all the answers

What is risk in software development?

<p>Includes both the likelihood and the consequence of failure.</p> Signup and view all the answers

Who is a stakeholder?

<p>Any person or group who will be affected by the system, directly or indirectly.</p> Signup and view all the answers

What is content analysis in software development?

<p>Involves learning about the system domain.</p> Signup and view all the answers

What is terminology clash?

<p>Same concept named differently in different statements.</p> Signup and view all the answers

What is designation clash?

<p>Same name for different concepts in different statements.</p> Signup and view all the answers

What is structure clash?

<p>Same concept structured differently in different statements.</p> Signup and view all the answers

What is strong conflict?

<p>Statements are not satisfiable together.</p> Signup and view all the answers

What is weak conflict (divergence)?

<p>Statements are not satisfiable together under some boundary condition.</p> Signup and view all the answers

What is decomposition in software design?

<p>We recursively decompose a system, from the highest level of abstraction (stakeholder requirements) into lower-level subsystems and implementation choices.</p> Signup and view all the answers

What is traceability?

<p>Identified relationships between requirements and implementations.</p> Signup and view all the answers

What is fault tree analysis?

<p>A top-down technique to model, reason about, and analyze risk.</p> Signup and view all the answers

What is descriptive modeling?

<p>A mathematical process that describes real-world events and the relationships between factors responsible for them.</p> Signup and view all the answers

What is a prescriptive model?

<p>Evaluates alternative solutions to answer the question 'What is going on?' and suggests what ought to be done according to an assumption or standard.</p> Signup and view all the answers

What is delegation in object-oriented programming?

<p>One object relies on another object for some subset of its functionality.</p> Signup and view all the answers

What is a software design pattern?

<p>A general reusable solution to a commonly occurring problem within a given context in software design.</p> Signup and view all the answers

What is the template method design pattern?

<p>Uses inheritance and an overridable method.</p> Signup and view all the answers

What is the strategy design pattern?

<p>Uses an interface and polymorphism.</p> Signup and view all the answers

What is design by contract?

<p>Prescribes that software designers should define formal, precise, and verifiable interface specifications for components.</p> Signup and view all the answers

What is library oriented architecture?

<p>A variation of modular programming or service-oriented architecture focusing on separation of concerns and interface design.</p> Signup and view all the answers

What are structural design patterns?

<p>Ease design by identifying simple ways to realize relationships among entities.</p> Signup and view all the answers

What is the adapter design pattern?

<p>A structural design pattern that converts the interface of a class into another interface clients expect.</p> Signup and view all the answers

What is the composite design pattern?

<p>Allows clients to treat individual objects and groups of objects uniformly.</p> Signup and view all the answers

What is the proxy design pattern?

<p>Provides a surrogate or placeholder for another object to control access to it.</p> Signup and view all the answers

What are creational design patterns?

<p>Avoid complexity by controlling object creation to ensure objects are created suitably for the situation.</p> Signup and view all the answers

What is the named constructor idiom?

<p>You declare the class's normal constructors to be private or protected and make a public static creation method.</p> Signup and view all the answers

What is the factory method pattern?

<p>A creational design pattern that uses factory methods to create objects without revealing the exact subclass created.</p> Signup and view all the answers

What is an anti-pattern?

<p>A common response to a recurring problem that is usually ineffective and risks being highly counterproductive.</p> Signup and view all the answers

What is the singleton pattern?

<p>Restricts the instantiation of a class to exactly one logical instance.</p> Signup and view all the answers

What are behavioral design patterns?

<p>Support common communication patterns among objects.</p> Signup and view all the answers

What is the observer pattern?

<p>Allows dependent objects to be notified automatically when the state of a subject changes.</p> Signup and view all the answers

What is template method behavioral design?

<p>Involves a method in a superclass that operates in terms of high-level steps.</p> Signup and view all the answers

What is technology transfer?

<p>Involves turning a research idea into an effective product that is actually used.</p> Signup and view all the answers

What does BOLD stand for?

<p>Blood-oxygen level dependent.</p> Signup and view all the answers

What is top-down comprehension?

<p>Refers to cognitive processes in which experience and expectation guide understanding.</p> Signup and view all the answers

What are plans in cognitive processes?

<p>Knowledge structures representing semantic and syntactic software patterns.</p> Signup and view all the answers

What is bottom-up comprehension?

<p>Refers to cognitive processes in which meaning is obtained from individual statements.</p> Signup and view all the answers

What is semantic chucking?

<p>Holds elements in working memory and then abstracts those pieces of information into higher-order concepts.</p> Signup and view all the answers

What is neural efficiency?

<p>The phenomenon where lower brain activation indicates that a cognitive process is more efficient.</p> Signup and view all the answers

What is the Swiss Cheese Model?

<p>Every step in a process has the potential for failure, to varying degrees.</p> Signup and view all the answers

Study Notes

Faults and Defects

  • A fault is an exceptional situation encountered during runtime, potentially leading to errors in software operation.
  • A defect refers to any characteristic of a product that impairs its usability for intended purposes.

Reporting and Issues

  • A bug report provides detailed information about identified defects in software.
  • A feature request suggests modifications or enhancements to the software's intended purpose.
  • The term issue encompasses both bug reports and feature requests, highlighting the need for resolution.

Defect Management Process

  • The defect report lifecycle includes stages such as reporting, confirmation, triage, assignment, resolution, and verification, following a non-linear path.
  • Triage assesses the urgency of defects and issues, determining the order of treatment.
  • Severity measures the impact of a defect on software functionality, influencing prioritization for fixes.
  • Defect priority conveys the urgency of addressing a defect, guiding development efforts accordingly.
  • Assignment tasks a developer with addressing a specific defect report for resolution.

Debugging Techniques

  • A Debugger is a tool that helps identify the source of program errors by allowing single-stepping through code.
  • Fault localization focuses on identifying which parts of the source code are implicated in a bug.
  • A Signal is an asynchronous notification sent to processes to indicate significant events.
  • A Signal handler is a procedure executed when a specific signal occurs, though it may be vulnerable to race conditions.
  • A Watch point halts execution when a specific memory location's value changes, useful for monitoring state.

Performance Assessment Tools

  • A Profiler analyzes program performance, measuring the frequency and duration of function calls.
  • The Flat profile provides average call times per function, lacking contextual breakdown.
  • The Call-graph profile details function call times along with their respective call chains.

Strategies for Debugging

  • Delta Debugging automates debugging by identifying minimal subsets of configurations that lead to faults.
  • Difference denotes any change in program state potentially leading to different outcomes.

Requirements Engineering

  • Requirements define the interactions between a desired system and its environment, including functional expectations and constraints.
  • System requirements detail the relationships between controlled and monitored variables.
  • Software requirements specify the relationship between inputs and outputs.
  • Functional Requirements outline expected functionalities and must meet completeness, consistency, and precision criteria.
  • Quality requirements serve as design criteria for selecting between alternative software implementations.

Conflicts and Challenges in Requirements

  • Omission indicates a feature not mentioned in any requirement document (RD).
  • Contradiction occurs when RD items conflict with each other, causing confusion.
  • Inadequacy refers to poorly defined RD items that lack clarity.
  • Ambiguity arises when RD items can be interpreted in multiple ways.

Elicitation and Validation

  • Requirements elicitation is the process for identifying system requirements through stakeholder engagement and analysis of alternatives.
  • Validation checks if requirements correctly represent user needs, while verification ensures software aligns with those requirements.

Stakeholder Involvement

  • A stakeholder is any individual or group affected by the system, encompassing end-users, clients, and developers.

Patterns in Software Design

  • Software design patterns provide reusable solutions to common design challenges, emphasizing separation of structure from implementation.
  • Creational design patterns simplify object creation methods to enhance flexibility and control.
  • Structural design patterns facilitate relationships among entities in software development.
  • Behavioral design patterns define common communication patterns between objects, improving interaction and efficiency.

Specialized Patterns and Terms

  • The Observer pattern notifies dependent objects when a subject's state changes, establishing a one-to-many relationship.
  • The Adapter design pattern allows incompatible interfaces to work together, ensuring compatibility.
  • The Singleton pattern restricts instantiation to a single instance, offering a global access point, typically used when a class must have one instance.

Cognitive Processes and Models

  • Top-down comprehension involves guidance from existing knowledge and semantic cues to understand code.
  • Bottom-up comprehension builds understanding from individual components into a cohesive whole.
  • Semantic chucking enables abstraction of fine details into broader concepts for easier processing.
  • Neural efficiency describes how lower brain activation indicates higher cognitive efficiency during complex tasks.

Additional Concepts

  • The Swiss Cheese Model implies that every process step carries failure potential, requiring layered defenses to mitigate risks.
  • Technology transfer involves transforming research ideas into usable products for practical application.

Studying That Suits You

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

Quiz Team

Description

Test your knowledge with these flashcards focused on key terms in software engineering from the EECS 481 course. Learn definitions related to faults, defects, bug reports, and more essential concepts. Perfect for exam preparation!

Use Quizgecko on...
Browser
Browser