PASC study materials
PASC study resources

PASC practice questions

One question at a time. Build your PASC understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Software Requirements and Analysis

Which requirements elicitation technique is most appropriate when stakeholders cannot articulate their needs because the work is highly tacit and routine?

  1. Conducting a single structured interview
  2. Observation of users performing their tasks Correct answer.
  3. Distributing a written questionnaire
  4. Reviewing existing marketing brochures

Explanation

Observation (ethnography or job shadowing) surfaces tacit knowledge that people cannot easily verbalize because it is embedded in routine practice. Questionnaires and interviews rely on stakeholders' ability to articulate needs explicitly.

Question 2Software Requirements and Analysis

In requirements engineering, what does a 'stakeholder' refer to?

  1. Only the end users who operate the software daily
  2. Only the people who fund the project
  3. Any individual or group affected by or with an interest in the system Correct answer.
  4. The development team's project manager

Explanation

A stakeholder is anyone who affects or is affected by the system, including users, sponsors, regulators, and maintainers. Narrowing the definition excludes important requirement sources.

Question 3Software Requirements and Analysis

A requirement states: 'The system shall let a user reset a password.' Which classification fits this statement?

  1. Design constraint
  2. Non-functional requirement
  3. Functional requirement Correct answer.
  4. Business rule

Explanation

A functional requirement describes a behavior or capability the system must provide. Password reset is a behavior, so it is functional.

Question 4Software Requirements and Analysis

Which statement is a non-functional requirement?

  1. The system shall respond to any search query within 2 seconds for 95% of requests. Correct answer.
  2. The system shall allow administrators to create new user accounts.
  3. The system shall export reports in CSV format.
  4. The system shall send an email when an order ships.

Explanation

Non-functional requirements specify quality attributes or constraints such as performance, security, or usability. A response-time target is a performance quality, while the others describe behaviors.

Question 5Software Requirements and Analysis

Which of the following best characterizes a 'user story' in agile requirements practice?

  1. A signed-off specification of every screen layout
  2. A UML diagram of class relationships
  3. A short, conversation-oriented description of value from a user's perspective Correct answer.
  4. A formal contract specifying all system interfaces

Explanation

User stories are brief statements of value that prompt conversation and are refined over time. They are intentionally lightweight rather than exhaustive specifications.

Question 6Software Requirements and Analysis

What is the primary purpose of a requirements traceability matrix?

  1. To rank requirements by development cost
  2. To store the source code for each requirement
  3. To record meeting minutes for stakeholder reviews
  4. To link requirements to their sources and to downstream artifacts such as tests and designs Correct answer.

Explanation

A traceability matrix records relationships between requirements and their origins, design elements, and test cases. This supports impact analysis and verification coverage.

Question 7Software Requirements and Analysis

A requirement says: 'The system should be user-friendly.' What is the main defect in this requirement?

  1. It specifies a technology choice
  2. It lacks a unique identifier
  3. It is not verifiable because 'user-friendly' is undefined Correct answer.
  4. It is written in the passive voice

Explanation

Good requirements must be verifiable, meaning there is an objective way to confirm satisfaction. 'User-friendly' has no measurable criterion, so it cannot be tested.

Question 8Software Requirements and Analysis

Which requirement quality attribute ensures that a requirement has only one possible interpretation?

  1. Feasible
  2. Complete
  3. Consistent
  4. Unambiguous Correct answer.

Explanation

Unambiguity means the requirement can be understood in exactly one way by all readers. Completeness and consistency address different concerns such as missing or conflicting information.

Question 9Software Requirements and Analysis

Two requirements state that a report must be generated 'within 1 second' and 'within 5 seconds'. This is an example of which requirements problem?

  1. Incompleteness
  2. Ambiguity
  3. Inconsistency Correct answer.
  4. Non-traceability

Explanation

Inconsistency occurs when requirements conflict with one another. Two different response-time targets for the same report cannot both hold as stated.

Question 10Software Requirements and Analysis

In a requirements workshop, what is the main role of a facilitator?

  1. To guide discussion, manage group dynamics, and keep focus on objectives Correct answer.
  2. To write the production source code during the session
  3. To approve the project budget
  4. To make final decisions on behalf of all stakeholders

Explanation

The facilitator structures the session, encourages participation, and keeps the group on task without imposing decisions. Decision authority remains with the appropriate stakeholders.

Question 11Software Requirements and Analysis

Which modeling technique is best suited to showing the sequence of interactions between actors and system components over time?

  1. Entity-relationship diagram
  2. Sequence diagram Correct answer.
  3. Data flow diagram
  4. Gantt chart

Explanation

A sequence diagram shows ordered message exchanges among participants over time. ER diagrams model data structure, and Gantt charts model schedules.

Question 12Software Requirements and Analysis

What does the acronym MoSCoW stand for in requirements prioritization?

  1. Model, Scope, Cost, Workflow
  2. Must have, Should have, Could have, Won't have Correct answer.
  3. Mandatory, Optional, Scheduled, Cancelled
  4. Measure, Optimize, Standardize, Control

Explanation

MoSCoW classifies requirements as Must have, Should have, Could have, and Won't have (this time). It helps scope releases by separating essential from optional items.

Question 13Software Requirements and Analysis

A stakeholder insists on a feature that conflicts with a regulatory constraint. What is the most appropriate requirements engineering response?

  1. Document the conflict and escalate it for resolution with the relevant authority Correct answer.
  2. Record the request as a low-priority backlog item
  3. Implement the feature and address compliance later
  4. Silently drop the feature to avoid confrontation

Explanation

Conflicts between stakeholder desires and constraints must be made visible and resolved by the appropriate decision-makers. Documenting and escalating preserves transparency and accountability.

Question 14Software Requirements and Analysis

Which document typically serves as the baseline agreement between customer and supplier on what the system must do?

  1. Test log
  2. Project charter
  3. Configuration management plan
  4. Software requirements specification Correct answer.

Explanation

The software requirements specification records agreed requirements and acts as a baseline for development and acceptance. A charter authorizes the project but does not detail requirements.

Question 15Software Requirements and Analysis

What is the primary benefit of using prototypes during requirements elicitation?

  1. They eliminate the need for written requirements
  2. They help stakeholders discover and refine needs by reacting to something concrete Correct answer.
  3. They reduce the total project cost in all cases
  4. They guarantee the final system will match the prototype

Explanation

Prototypes give stakeholders something tangible to react to, revealing misunderstood or unstated needs early. They supplement rather than replace written requirements.

Question 16Software Requirements and Analysis

A requirement is described as 'complete'. What does this mean?

  1. It has been assigned to a specific developer
  2. It has been approved by every stakeholder
  3. It contains all information needed for developers to implement and test it Correct answer.
  4. It appears in every version of the specification

Explanation

Completeness means the requirement supplies everything necessary for correct implementation and verification. Approval, assignment, and versioning are separate concerns.

Question 17Software Requirements and Analysis

Which of the following is an example of a business rule rather than a software requirement?

  1. Only managers may approve expenses above $5,000 Correct answer.
  2. The system shall log every login attempt
  3. The system shall display results in under 3 seconds
  4. The system shall support 500 concurrent users

Explanation

A business rule states an organizational policy or constraint that the system may enforce. The other statements describe behaviors or quality attributes of the software itself.

Question 18Software Requirements and Analysis

What does requirement 'validation' primarily ask?

  1. Does the code compile without errors?
  2. Are we building the right system for the stakeholders' actual needs? Correct answer.
  3. Is the requirement numbered correctly?
  4. Have all unit tests passed?

Explanation

Validation confirms that requirements describe the system the stakeholders truly need ('building the right thing'). Verification checks whether the product conforms to the requirements.

Question 19Software Requirements and Analysis

Which technique is most effective for resolving ambiguities in a draft requirements specification before approval?

  1. Adding more appendices without review
  2. Scheduling the approval meeting earlier
  3. Formal requirements review or inspection by multiple reviewers Correct answer.
  4. Increasing the document's font size

Explanation

Formal inspection by multiple reviewers detects ambiguities, omissions, and conflicts before they propagate. Cosmetic or scheduling changes do not improve requirement clarity.

Question 20Software Requirements and Analysis

In use case modeling, what is the relationship called when one use case incorporates the behavior of another as a mandatory step?

  1. Include Correct answer.
  2. Extend
  3. Generalization
  4. Association

Explanation

An include relationship means the base use case always incorporates the included behavior. Extend denotes optional or conditional behavior.

Question 21Software Requirements and Analysis

A team must specify a requirement for a safety-critical braking system. Which formulation is strongest?

  1. Brake pressure adjustments ought to be handled appropriately.
  2. The system shall manage wheel slip in a reasonable manner.
  3. The controller should respond quickly to wheel slip.
  4. When wheel slip exceeds 15%, the controller shall reduce brake pressure within 50 ms. Correct answer.

Explanation

Strong requirements are specific, measurable, and testable, with defined triggers and thresholds. Vague qualitative language cannot be verified in a safety-critical context.

Question 22Software Requirements and Analysis

What is the main risk of 'gold plating' during requirements analysis?

  1. Adding unrequested features that increase cost and complexity without stakeholder value Correct answer.
  2. Failing to document any requirements at all
  3. Choosing the wrong programming language
  4. Delaying stakeholder interviews

Explanation

Gold plating is the addition of features beyond what stakeholders requested, inflating scope and risk. It consumes resources without delivering corresponding value.

Question 23Software Requirements and Analysis

Which of the following best describes the purpose of a context diagram in requirements analysis?

  1. To show the class hierarchy of the software
  2. To list every internal function of the system
  3. To define the system boundary and its external entities and data flows Correct answer.
  4. To schedule project milestones

Explanation

A context diagram shows the system as a single process, its external entities, and the data exchanged, establishing scope boundaries. Internal detail and scheduling are out of scope.

Question 24Software Requirements and Analysis

An analyst writes: 'The system shall provide a 24/7 availability of 99.99%.' Which quality attribute category does this belong to?

  1. Reliability and availability Correct answer.
  2. Portability
  3. Maintainability
  4. Usability

Explanation

Availability targets are quality attributes of reliability and availability. They specify how consistently the system must remain operational.

Question 25Software Requirements and Analysis

Which situation best justifies using a formal specification language rather than natural language for requirements?

  1. A marketing website with frequently changing content
  2. A prototype intended only for demonstration
  3. A small internal tool with a two-week timeline
  4. A safety-critical system where precise, mathematically analyzable semantics are needed Correct answer.

Explanation

Formal specification provides unambiguous, analyzable semantics valuable where correctness is critical. Lightweight or rapidly changing projects rarely justify its overhead.

Question 26Software Requirements and Analysis

Which requirements elicitation technique involves observing users perform their actual work in their own environment?

  1. Ethnography Correct answer.
  2. Joint application development
  3. Document analysis
  4. Questionnaire survey

Explanation

Ethnography (observation) studies users in their real working context so analysts can capture tacit, implicit practices that users may not articulate. The other techniques gather stated information rather than observed behavior.

Question 27Software Requirements and Analysis

In a requirements specification, what distinguishes a functional requirement from a non-functional requirement?

  1. A functional requirement is mandatory, while a non-functional requirement is optional.
  2. A functional requirement describes a behavior or service the system must perform, while a non-functional requirement constrains how well it must perform it. Correct answer.
  3. A functional requirement applies to hardware, while a non-functional requirement applies to software.
  4. A functional requirement is written by developers, while a non-functional requirement is written by customers.

Explanation

Functional requirements define what the system does (services, behaviors, transformations), whereas non-functional requirements define quality attributes and constraints such as performance, security, or usability. Author, obligation, and hardware/software scope do not define the distinction.

Question 28Software Requirements and Analysis

An analyst must choose between two candidate designs for a new order-processing workflow. Which requirements artifact most directly supports comparing how each design handles the workflow steps?

  1. A stakeholder contact list
  2. A glossary of domain terms
  3. A business process or activity model of the current and proposed workflow Correct answer.
  4. A project risk register

Explanation

A process/activity model depicts the steps, decisions, and flows of a workflow, so alternative designs can be compared against it. The other artifacts do not represent workflow behavior.

Question 29Software Requirements and Analysis

A supplier proposes replacing a specified interface with a functionally equivalent but differently structured one. Which requirements management activity governs whether this change is accepted?

  1. Requirements change control through a defined change request and impact assessment process Correct answer.
  2. Requirements verification through test execution
  3. Requirements categorization by type and priority
  4. Requirements elicitation through additional stakeholder interviews

Explanation

Proposed changes to a baselined requirement are handled by change control: a formal request, impact analysis on affected requirements and design, and an approval decision. Elicitation, categorization, and verification do not authorize modifications to an agreed baseline.

Question 30Software Requirements and Analysis

A requirement states: 'The system shall allow a supervisor to approve a refund only after the refund amount has been validated against the original transaction.' Which characteristic does this statement most clearly demonstrate?

  1. It specifies a security classification level
  2. It specifies a precondition and ordering constraint on an operation Correct answer.
  3. It specifies a measurable performance target
  4. It specifies a user interface layout

Explanation

The statement constrains when approval may occur by tying it to a prior validation step, which is a precondition/ordering constraint on system behavior. It contains no timing metric, classification label, or interface layout detail.

Question 31Software Design and Architecture

Which SOLID principle states that a class should have only one reason to change?

  1. Liskov Substitution Principle
  2. Single Responsibility Principle Correct answer.
  3. Interface Segregation Principle
  4. Open/Closed Principle

Explanation

The Single Responsibility Principle holds that a module should be responsible to one, and only one, actor, so it has a single reason to change. The other principles address extension without modification, subtype substitutability, and interface granularity respectively.

Question 32Software Design and Architecture

In layered architecture, what is the primary purpose of the presentation layer?

  1. Managing transaction isolation levels
  2. Storing and retrieving persistent business records
  3. Handling user interaction and translating it into application calls Correct answer.
  4. Enforcing referential integrity across tables

Explanation

The presentation layer handles interaction with users or external clients and translates those interactions into requests to the application layer. Persistence, integrity, and transaction concerns belong to lower layers.

Question 33Software Design and Architecture

Which design pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation?

  1. Adapter
  2. Proxy
  3. Iterator Correct answer.
  4. Facade

Explanation

The Iterator pattern exposes sequential traversal of a collection while hiding its internal structure. Adapter, Proxy, and Facade are structural patterns that alter how objects are accessed or interfaced, not how collections are traversed.

Question 34Software Design and Architecture

What does the Dependency Inversion Principle primarily recommend?

  1. Dependencies should be resolved only at compile time
  2. Low-level modules should depend directly on high-level modules
  3. Every class should expose all of its dependencies as public fields
  4. High-level modules should depend on abstractions rather than on concrete low-level modules Correct answer.

Explanation

Dependency Inversion states that both high-level and low-level modules should depend on abstractions, and abstractions should not depend on details. This decouples policy from implementation, enabling substitution and testing.

Question 35Software Design and Architecture

Which UML diagram type is best suited to show the static structural relationships, such as associations and multiplicities, among a set of classes?

  1. Sequence diagram
  2. Class diagram Correct answer.
  3. State machine diagram
  4. Activity diagram

Explanation

Class diagrams depict static structure, including classes, attributes, operations, associations, and multiplicities. Sequence, state machine, and activity diagrams are behavioral and show interactions or flows over time.

Question 36Software Design and Architecture

Which architectural style organizes a system as a set of independently deployable services communicating over a network, each owning its own data?

  1. Shared-blackboard
  2. Microservices Correct answer.
  3. Monolithic layered
  4. Pipe-and-filter

Explanation

Microservices decompose a system into independently deployable services with bounded contexts and typically separate data ownership. Layered monoliths share a single deployable unit, and pipe-and-filter and blackboard styles are data-flow and shared-state styles.

Question 37Software Design and Architecture

In a REST architectural style, which property requires that responses explicitly indicate whether they may be cached by clients or intermediaries?

  1. Statelessness
  2. Uniform interface
  3. Cacheability Correct answer.
  4. Layered system

Explanation

Cacheability requires responses to be labeled as cacheable or non-cacheable so clients and intermediaries can reuse them appropriately. Statelessness concerns per-request self-containment, uniform interface concerns a consistent contract, and layered system concerns intermediary transparency.

Question 38Software Design and Architecture

Which principle of good modular design states that a module should hide its internal implementation details behind a stable interface?

  1. Inheritance
  2. Information hiding Correct answer.
  3. Overloading
  4. Polymorphism

Explanation

Information hiding, or encapsulation, keeps implementation details private so changes do not ripple to clients. Inheritance, polymorphism, and overloading are object-oriented mechanisms, not encapsulation principles.

Question 39Software Design and Architecture

A team wants to add new export formats to a reporting module without editing existing export classes. Which pattern best fits this requirement?

  1. Singleton
  2. Strategy Correct answer.
  3. Memento
  4. Flyweight

Explanation

Strategy encapsulates interchangeable algorithms behind a common interface, so new export formats are added as new strategy implementations without modifying existing ones. Singleton, Flyweight, and Memento address instance control, sharing, and state capture respectively.

Question 40Software Design and Architecture

An object must notify an unknown number of dependents whenever its state changes, without knowing their concrete types. Which pattern should be used?

  1. Observer Correct answer.
  2. Builder
  3. Decorator
  4. Bridge

Explanation

Observer defines a one-to-many dependency where subjects notify registered observers through an abstract interface, so the subject stays unaware of concrete observer types. Decorator, Builder, and Bridge address wrapping, construction, and abstraction-implementation separation.

Question 41Software Design and Architecture

A legacy class exposes an incompatible interface, and a client must use it through the interface the client already expects. Which pattern applies?

  1. Visitor
  2. Mediator
  3. Adapter Correct answer.
  4. Composite

Explanation

Adapter converts the interface of a class into another interface clients expect, allowing incompatible types to collaborate. Composite, Mediator, and Visitor address part-whole trees, centralized interaction, and operations over object structures.

Question 42Software Design and Architecture

Which code smell is indicated when a class accesses another object's data through a chain of getter calls to perform its own logic?

  1. Data class
  2. Feature envy Correct answer.
  3. Shotgun surgery
  4. Lazy class

Explanation

Feature envy occurs when a method is more interested in another class's data than its own, often visible as chained getter access. Shotgun surgery concerns scattered changes, lazy class concerns classes doing too little, and data class concerns classes holding only fields and accessors.

Question 43Software Design and Architecture

In hexagonal architecture, what role do ports and adapters play?

  1. Ports are database schemas and adapters are stored procedures
  2. Ports are UI widgets and adapters are event handlers
  3. Ports store configuration and adapters encrypt it
  4. Ports define technology-agnostic interfaces and adapters connect them to specific technologies Correct answer.

Explanation

Hexagonal architecture isolates the domain behind ports, which are technology-neutral interfaces, while adapters translate between those ports and concrete technologies such as databases or web frameworks. This keeps the core independent of external details.

Question 44Software Design and Architecture

A system must guarantee that a message is delivered exactly once to a consumer even when the consumer crashes after processing. Which design consideration is most relevant?

  1. Increasing the message payload size
  2. Idempotent consumers combined with durable message acknowledgment Correct answer.
  3. Using synchronous blocking calls only
  4. Removing all retry logic

Explanation

Exactly-once semantics generally require durable acknowledgment plus idempotent processing so redelivery after a crash does not duplicate effects. Payload size, blocking calls, and removing retries do not address duplicate delivery after failure.

Question 45Software Design and Architecture

Which of the following best describes the role of a sequence diagram in design documentation?

  1. It shows the order of messages exchanged among participants for a scenario Correct answer.
  2. It shows the inheritance hierarchy of classes
  3. It shows the states of a single object over time
  4. It shows the deployment of artifacts to physical nodes

Explanation

Sequence diagrams model behavioral interaction, focusing on the time-ordered exchange of messages among participants for a specific scenario. Deployment, class hierarchy, and state modeling are covered by other diagram types.

Question 46Software Design and Architecture

What is the key benefit of dependency injection over constructing collaborators inside a class?

  1. It guarantees thread safety automatically
  2. It removes all runtime errors
  3. It allows collaborators to be substituted, improving testability and configurability Correct answer.
  4. It eliminates the need for interfaces

Explanation

Dependency injection supplies collaborators from outside, so implementations can be swapped for tests or configuration without changing the class. It does not by itself provide thread safety, remove interfaces, or eliminate runtime errors.

Question 47Software Design and Architecture

Which architectural tactic most directly improves availability by masking component failures?

  1. Increasing code comments
  2. Active redundancy with failover Correct answer.
  3. Adding more unit tests
  4. Normalizing the database schema

Explanation

Availability tactics include redundancy and failover so a standby or replicated component can take over when one fails. Comments, schema normalization, and unit tests improve maintainability or correctness but do not mask runtime failures.

Question 48Software Design and Architecture

A pipeline of independent processing stages must be rearranged and reused in different combinations. Which architectural style best supports this?

  1. Pipe-and-filter Correct answer.
  2. Client-server
  3. Layered
  4. Peer-to-peer

Explanation

Pipe-and-filter composes independent filters connected by pipes, allowing stages to be reordered and reused in different configurations. Client-server, peer-to-peer, and layered styles do not emphasize free recomposition of processing stages.

Question 49Software Design and Architecture

Which pattern should be used to ensure a class has exactly one instance and a global access point to it?

  1. Singleton Correct answer.
  2. Factory Method
  3. Prototype
  4. Composite

Explanation

Singleton restricts instantiation to a single instance and provides a controlled access point. Prototype clones instances, Factory Method defers creation to subclasses, and Composite builds part-whole hierarchies.

Question 50Software Design and Architecture

A design review finds that a base class method assumes a non-null result, but a subtype overrides it to return null. Which principle is violated?

  1. Open/Closed Principle
  2. Interface Segregation Principle
  3. Liskov Substitution Principle Correct answer.
  4. Single Responsibility Principle

Explanation

Liskov Substitution requires subtypes to honor the contracts of their base types, including postconditions such as non-null results. Violating that contract breaks code written against the base type.