Lecture 3
48 Questions
9 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 does the actor desire from the system?

  • Advanced troubleshooting features
  • Detailed software installation instructions
  • User interface customization options
  • Information about external changes (correct)
  • What is the primary function of the system administrator in the use-case diagram?

  • To handle user registrations
  • To resolve system performance issues
  • To arm and disarm the system
  • To configure and maintain sensors (correct)
  • What type of elements are described as scenario-based in the analysis model?

  • Use-case descriptions (correct)
  • Network architecture
  • Hardware specifications
  • Data flow diagrams
  • Which of the following is NOT considered a behavioral element in the analysis model?

    <p>Use-case description</p> Signup and view all the answers

    What should be conducted to elicit requirements effectively?

    <p>FAST meetings</p> Signup and view all the answers

    Which of the following would you include as a functional element in the analysis model?

    <p>Processing narratives for software functions</p> Signup and view all the answers

    What is associated with the actor's response to an alarm event?

    <p>Error condition handling</p> Signup and view all the answers

    What is the primary focus of requirements engineering?

    <p>Identifying customer desires and system functionalities</p> Signup and view all the answers

    Which phase of requirements engineering involves establishing a foundational understanding of the problem?

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

    In addition to scenario-based elements, which other type of element is implied by scenarios?

    <p>Class-based elements</p> Signup and view all the answers

    What is NOT a part of the specification phase in requirements engineering?

    <p>A detailed test plan</p> Signup and view all the answers

    What are stakeholders involved in during the elicitation phase?

    <p>Identifying and gathering requirements</p> Signup and view all the answers

    Which of the following best describes validation in requirements engineering?

    <p>A review mechanism for errors and inconsistencies</p> Signup and view all the answers

    What is an essential outcome of the negotiation phase in requirements engineering?

    <p>A mutually agreed upon deliverable system</p> Signup and view all the answers

    Which aspect is typically addressed during the elaboration phase of requirements engineering?

    <p>Creating a detailed analysis model of requirements</p> Signup and view all the answers

    What is one of the challenges that validation seeks to identify within requirements?

    <p>Missing information in requirements</p> Signup and view all the answers

    What best describes the purpose of a pattern name in analysis patterns?

    <p>It captures the essence of what the pattern represents.</p> Signup and view all the answers

    Which component describes how a pattern can be applied to a problem?

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

    What does the 'Motivation' aspect of an analysis pattern illustrate?

    <p>An example scenario showing the pattern's relevance.</p> Signup and view all the answers

    What should be minimized throughout the system according to the rules of thumb?

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

    Which of the following is NOT a recommended consideration for the analysis model?

    <p>Include non-functional requirements before design</p> Signup and view all the answers

    Which component addresses the implications and trade-offs of applying a pattern?

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

    What does the 'Forces and context' section describe in analysis patterns?

    <p>External issues that could impact the use of the pattern.</p> Signup and view all the answers

    What is the first step in domain analysis?

    <p>Define the domain to be investigated</p> Signup and view all the answers

    Which statement best reflects the role of 'Known uses' in analysis patterns?

    <p>It provides real-world examples of how the pattern has been applied.</p> Signup and view all the answers

    Object-oriented domain analysis primarily focuses on identifying which of the following?

    <p>Common and reusable capabilities</p> Signup and view all the answers

    In analysis patterns, how are related patterns defined?

    <p>They are variations or closely connected to the named pattern.</p> Signup and view all the answers

    What should the analysis model provide insight into?

    <p>Information domain, functions, and behavior</p> Signup and view all the answers

    What activity is typically performed in the 'System status = ready' state?

    <p>Poll user input panel.</p> Signup and view all the answers

    According to the rules of thumb, what characteristic should each element of the analysis model have?

    <p>It should add value to stakeholders</p> Signup and view all the answers

    Which aspect should be delayed until the design phase according to the rules of thumb?

    <p>Infrastructure considerations</p> Signup and view all the answers

    Domain analysis is mainly aimed at which purpose?

    <p>Specifying common requirements for reuse</p> Signup and view all the answers

    What does function deployment primarily determine in a system?

    <p>The value of each function as perceived by the customer</p> Signup and view all the answers

    In the context of non-functional requirements, what is the first phase of determining compatible NFRs?

    <p>Creating a matrix using each NFR as a column heading</p> Signup and view all the answers

    What is the purpose of task deployment in a system?

    <p>To examine the behavior of the system</p> Signup and view all the answers

    What does value analysis help to determine in requirements gathering?

    <p>The relative priority of requirements</p> Signup and view all the answers

    Which of the following best describes a Use-Case?

    <p>A collection of user scenarios describing system usage</p> Signup and view all the answers

    What is NOT a key question answered in a Use-Case scenario?

    <p>What are the market trends affecting the software?</p> Signup and view all the answers

    How are non-functional requirements (NFRs) classified during prioritization?

    <p>As complementary, overlapping, conflicting, or independent</p> Signup and view all the answers

    What is an actor in the context of Use-Cases?

    <p>A person or device that interacts with the software</p> Signup and view all the answers

    What is the primary purpose of defining the tasks performed by the actor in a use-case?

    <p>To clarify system requirements and interactions</p> Signup and view all the answers

    What should be considered when reviewing a primary scenario in a use-case?

    <p>If alternative interactions or error conditions exist</p> Signup and view all the answers

    Which statement best describes the role of exceptions in a use-case?

    <p>They define unusual behaviors or failures in the system</p> Signup and view all the answers

    What is a key activity during the creation of a use-case diagram?

    <p>Identifying the actors and their interactions with the system</p> Signup and view all the answers

    Why is it essential for an actor to inform the system about changes in the external environment?

    <p>To ensure system continuity and relevance</p> Signup and view all the answers

    What benefit does brainstorming provide when identifying exceptions in a use-case?

    <p>Helps derive a comprehensive list of potential issues</p> Signup and view all the answers

    In the context of a use-case, what does the term 'validation function' refer to?

    <p>A method to ensure data integrity and correctness</p> Signup and view all the answers

    What should a use-case template include after the narrative form is written?

    <p>A structured approach to functional requirements</p> Signup and view all the answers

    Study Notes

    Software Requirements Engineering

    • Software requirements engineering is about understanding what the customer wants in a software system.
    • This involves understanding how end users will interact with the software, what the software should process, the technical environment of the system, and how the software fits into business processes.

    Requirements Engineering is the First Task

    • Requirements engineering is the first task in the software development process.
    • It involves analysis, design, development, and testing phases.

    Requirements Engineering

    • Inception: Understanding the problem, the people who want a solution, and the nature of the desired solution involves preliminary communication and collaboration between the customer and developer.
    • Elicitation: Gathering requirements from all stakeholders.
    • Elaboration: Creating a model that identifies data, function, and behavioral requirements.
    • Negotiation: Agreement on a realistic deliverable system between developers and customers.

    Requirements Engineering Specification

    • Specification: Can be a written document, a set of models, formal mathematical analysis, a collection of user scenarios (use cases), or a prototype.
    • Validation: A review mechanism to look for errors in content or interpretation, areas needing clarification, missing information, and inconsistencies.

    Inception

    • Identify stakeholders ("who else do you think I should talk to?").
    • Recognize multiple points of view.
    • Work toward collaboration.
    • The first questions: who is behind the request, who will use the solution, what is the expected benefit of a successful solution, is there another source for the solution.

    Eliciting Requirements

    • Meetings are attended by both software engineers and customers to establish rules and a meeting agenda.
    • A facilitator (customer, developer, or outsider) controls the meeting.
    • Definition mechanisms (work sheets, flip charts, wall stickers, electronic bulletin board, chat room or virtual forum) are used to identify the problem, propose solution elements, negotiate different approaches, and specify preliminary solution requirements.

    Elicitation Work Products

    • A statement of need and feasibility.
    • A statement of scope for the system or product.
    • A list of customers, users, and other stakeholders who participated in the elicitation process.
    • A description of the system's technical environment.
    • A list of requirements (organized by function) and domain constraints.
    • Usage scenarios showing system usage.
    • Prototypes to define requirements.

    Quality Function Deployment

    • Function deployment: Determines the value (as perceived by customers) of each function required from the system.
    • Information deployment: Identifies data objects and events.
    • Task deployment: Examines the behavior of the system.
    • Value analysis: Determines the relative priority of requirements.

    Non-Functional Requirements

    • Non-Functional Requirements (NFR) are quality attributes, performance attributes, or general system constraints.
    • A two-phase process determines compatible NFRs.
    • Phase one: Create a matrix with NFRs as columns, and system SE guidelines as rows.
    • Phase two: Prioritizes each NFR using rules to determine whether NFRs and guidelines are complementary, overlapping, conflicting, or independent.

    Use-Cases

    • A collection of user scenarios that describe the usage thread of a system.
    • Each scenario considers the actor's perspective—a person or device interacting with the software.
    • Questions include: actor roles, goals, preconditions, tasks, extensions, variations, information exchange, external environment changes, information desired, and reactions to unexpected changes.

    Use-Case Diagram

    • Depicts the interaction between actors and the system.
    • Example actors/use cases: homeowner (accessing system, setting alarm), administrator (reconfiguring).

    Building the Analysis Model

    • Contains scenario-based elements (functional processing narratives for software functions; descriptions of interactions between actors and the system).
    • Contains implied scenarios, behavioral elements (state diagrams), and flow/oriented elements (data flow diagrams).

    Eliciting Requirements (Flowchart)

    • Elicit requirements (gather information from different stakeholders)
    • Conduct FAST meetings (focus on the specific issue or user requirements and how that affects the system)
    • Create a list of constraints, functions and classes
    • Prioritize requirements using QFD
    • Draw use-case diagram to formalize the use-cases
    • Define actors and write the scenarios for each use case

    Class Diagram (SafeHome system Example)

    • Part of the analysis model for the Safe Home system.
    • Illustrates classes and attributes like sensor name, id, type, location, characteristics, enable, disable, and reconfigure.

    State Diagram

    • Shows the state of the system in response to user actions.
    • Examples are commands (system ready, enter cmd, status steady), entry/subsystem ready, user input panel, interpreting user input.

    Analysis Patterns

    • Describes the essence of a pattern (name, intent, motivation, forces, solution, consequences, design, known uses, and related patterns).

    Negotiating Requirements

    • Identify key stakeholders involved in the negotiation.
    • Determine stakeholder "win conditions."
    • Negotiate toward "win-win" requirements.

    Requirements Monitoring

    • Distributed debugging: Identifies and determines the cause of errors.
    • Run-time verification: Checks if software conforms to its specification.
    • Run-time validation: Assesses if evolving software satisfies user goals.
    • Business activity monitoring: Evaluates if the system meets business goals.
    • Evolution and codesign: Provides evolving system information to stakeholders.

    Validating Requirements (Parts I & II)

    • I: Each requirement must align with the overall objective, correctly abstract details and be necessary.
    • II: Requirements should be achievable in the system's technical environment, testable, model the information/function/behavior, and be progressively more detailed to expose information about the system.  Requirements patterns should be used to simplify the model. All patterns should be properly validated and consistent with customer requirements. 

    Requirements Analysis

    • Specifying software's operational characteristics.
    • Showing the interaction of the software with other system elements and establishing constraints.

    Elements of Requirements Analysis

    • Scenario-based models (use cases, user stories).
    • Behavioral models (state diagrams, sequence diagrams).
    • Flow models (data flow diagrams).
    • Class models (class diagrams).

    Requirements Modeling

    • Scenario-based: System from the user's point of view.
    • Data: How data are transformed within the system.
    • Class-oriented: Defines objects, attributes, and relationships.
    • Flow-oriented: Shows how data are transformed.
    • Behavioral: Impact of events on system states.

    A Bridge

    • Illustrates the connections between system description, analysis model, and design model.

    Rules of Thumb

    • Model should focus on visible requirements within the problem domain.
    • Each model element adds insight into the systems information domain, function, and behavior.
    • Delay consideration of infrastructure until design.
    • Minimize couplings.
    • Model should provide value to all stakeholders and be simple.

    Domain Analysis

    • Identifying, analyzing, and specifying common requirements from a specific application domain.
    • For reuse across multiple projects in that domain.

    Domain Analysis Process

    • Define the domain.
    • Collect a representative sample of applications (within the domain).
    • Analyze each application.
    • Develop an analysis model for the objects.

    Scenario-Based Modeling

    • Use cases as an aid for understanding what exists outside the system and what should be performed by the system.
    • Questions: what should be written about, how much, how detailed, and how to organize use case descriptions. 

    What to Write About?

    • Gathering information for writing use cases (inception, elicitation, requirements gathering, QFD, other mechanisms).
    • Identifying stakeholders, scoping the problem, defining operational goals and priorities, outlining functional requirements, and describing system elements.
    • Listing functions or activities performed by specific actors to facilitate use case development. 

    How Much to Write About?

    • Writing use cases in an informal narrative format initially.
    • Use case rewriting using a structured format if more formality is needed.

    Use-Cases

    • A scenario describing the usage thread of a system, where actors represent roles, and users might have multiple roles in a given scenario. 

    Developing a Use-Case

    • Identifying the main tasks/functions of the actor.
    • Describing system information acquisition, production, or change.
    • Determining how the external environment will be informed about changes.
    • Defining information desired from the system, and the actors reactions to unexpected changes.

    Reviewing a Use-Case

    • Initial narrative use case description followed by mapping use cases to templates.
    • Reviewing and refining primary scenarios to explore possible alternative interactions.
    • Checking for possible actor actions, error conditions, and additional behaviors.

    Use-Case Diagram (Example - SafeHome)

    • Illustrates interactions between a homeowner and the SafeHome system.
    • Shows aspects such as camera access, SafeHome configuration parameters, and setting an alarm.

    Exceptions

    • Describing system unusual behaviors (failures/user choices).
    • Deriving exceptions for use cases using brainstorming.
    • Finding cases of validation function occurrences for use cases, and when supporting functions don't respond appropriately.
    • Considering situations where poor system performance might lead to unexpected, improper usage.
    • Possible creation of additional use cases to address exceptions.

    Activity Diagram

    • Visual representation of the interaction flow within a specific use case scenario.

    Swimlane Diagrams

    • Visual representation demonstrating the activities of multiple actors in a specific use case.

    Studying That Suits You

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

    Quiz Team

    Related Documents

    Description

    Explore the fundamentals of software requirements engineering in this quiz. Learn about the various phases such as inception, elicitation, elaboration, and negotiation as you understand how to accurately capture user needs for software systems. This essential knowledge is critical for success in the software development process.

    More Like This

    Software Requirements Specifications (SRS)
    18 questions
    Requirements Engineering
    16 questions
    Software Processes Lecture 4
    5 questions
    Software Engineering Chapter 4
    48 questions
    Use Quizgecko on...
    Browser
    Browser