পরীক্ষা আর্কাইভ

৪৯তম বিসিএস ⎯ কম্পিউটার সায়েন্স (CSE) [৯৭১]

পরীক্ষা৪৯তম বিসিএস ⎯ কম্পিউটার সায়েন্স (CSE) [৯৭১]তারিখতারিখ অনির্ধারিতসময়30 minutes
মোট প্রশ্ন৫০
সিলেবাস
Exam 10 SDLC phases; software design models (Waterfall, Spiral, Agile); Requirement analysis; design; implementation; Testing; validation; software cost estimation (COCOMO); quality assurance; maintenance [Source: Class–8 and relevant books]
ঘনত্ব
উত্তর
উত্তরিতবর্তমানপুনরায় দেখুনঅসম্পূর্ণ

৪৯তম বিসিএস ⎯ কম্পিউটার সায়েন্স (CSE) [৯৭১]

৪৯তম বিসিএস ⎯ কম্পিউটার সায়েন্স (CSE) [৯৭১] · তারিখ অনির্ধারিত · ৫০ প্রশ্ন

.
What is software engineering?
  1. Writing code only
  2. The application of engineering principles to software development
  3. Testing software only
  4. Software documentation
সঠিক উত্তর:
The application of engineering principles to software development
উত্তর
সঠিক উত্তর:
The application of engineering principles to software development
ব্যাখ্যা

Answer: B
Explanation:  Software engineering involves applying systematic, disciplined, and quantifiable approaches (engineering principles) to software development. This includes requirement analysis, design, coding, testing, maintenance, and management.
Incorrect options:
A) Writing code is just a part of software engineering.
C) Testing is only one phase.
D) Documentation is necessary but not the definition of software engineering.

.
Which model is linear and sequential in software development?
  1. Spiral Model
  2. RAD Model
  3. Agile Model
  4. Waterfall Model
সঠিক উত্তর:
Waterfall Model
উত্তর
সঠিক উত্তর:
Waterfall Model
ব্যাখ্যা

Answer: D
Explanation: The Waterfall model is linear and sequential, meaning each phase must be completed before moving to the next. The Waterfall model progresses sequentially through requirements → design → implementation → testing → maintenance.

Spiral Model 

•    Focuses on risk-driven iterative development.
•    Software is developed in spirals (iterations), with repeated planning, risk analysis, engineering, and evaluation.
•    Not linear: Phases are repeated in cycles rather than sequential.
•    Advantage: Flexible and reduces risk.

 Agile Mode
•    Agile is iterative and incremental, focusing on collaboration, customer feedback, and adaptability.
•    Development occurs in sprints, with frequent delivery of working software.
•    Not linear: Agile embraces continuous iteration rather than a sequential flow.

 RAD (Rapid Application Development) Model
•    RAD focuses on rapid prototyping and user feedback to accelerate development.
•    Phases are overlapping, using reusable components and prototypes.
•    Not linear: Emphasizes speed and iterative prototyping rather than sequential flow.

.
Software project management primarily deals with:
  1. Coding only
  2. Planning, scheduling, monitoring, and controlling
  3. Software installation
  4. User training
সঠিক উত্তর:
Planning, scheduling, monitoring, and controlling
উত্তর
সঠিক উত্তর:
Planning, scheduling, monitoring, and controlling
ব্যাখ্যা

Answer: B
Explanation: Project management ensures that software projects are completed on time, within budget, and with required quality.

.
Which activity comes first in requirements engineering?
  1. Requirements validation
  2. Requirements elicitation
  3. Requirements specification
  4. Requirements management
সঠিক উত্তর:
Requirements elicitation
উত্তর
সঠিক উত্তর:
Requirements elicitation
ব্যাখ্যা

Answer: B) Requirements elicitation
Explanation:

 Requirements Elicitation 

Definition: Requirements elicitation is the process of gathering information about what the system should do from stakeholders such as users, customers, domain experts, and other relevant parties.

Purpose: To understand business needs, user expectations, and constraints.

Methods: Interviews→ Questionnaires→  Workshops→  Observation Prototyping

Why it comes first:

You cannot validate, specify, or manage requirements before knowing what they are.

It forms the foundation for all subsequent requirements engineering activities.

 

Summary Flow of Requirements Engineering:

Requirements Elicitation: Gather needs →

Requirements Analysis: Resolve conflicts, prioritize →

Requirements Specification: Document requirements (SRS) →

Requirements Validation: Verify correctness, completeness →

Requirements Management: Track and control changes

.
What is software prototyping?
  1. Final product delivery
  2. Testing the software only
  3. Creating an executable model to understand requirements
  4. Documenting requirements
সঠিক উত্তর:
Creating an executable model to understand requirements
উত্তর
সঠিক উত্তর:
Creating an executable model to understand requirements
ব্যাখ্যা

Answer: C
Explanation: Software prototyping = early working model of the system → helps stakeholders visualize, refine, and validate requirements before investing in full development.

Final product delivery 

Final delivery happens after the entire software development life cycle (SDLC), not during prototyping.
Prototyping produces a model, not the finished system.
 
 Testing the software only

Testing validates correctness, performance, and reliability of developed software.
Prototyping is about exploring requirements and design ideas, not testing the final system.
 
 Documenting requirements 

Documentation (like SRS) is part of requirements specification.
Prototyping goes beyond d

.
Which software process model emphasizes risk analysis?
  1. Spiral
  2. Waterfall
  3. V-Model
  4. Incremental
সঠিক উত্তর:
Spiral
উত্তর
সঠিক উত্তর:
Spiral
ব্যাখ্যা

Answer: A
Explanation:
    Spiral model is iterative and focuses on risk assessment at each cycle. It’s suitable for large, complex, and high-risk projects.
 Incorrect options:
   B) Waterfall is linear with little risk analysis.
   C) V-Model focuses on verification/validation.
   D) Incremental focuses on delivering functionality in incremen

.
Which activity ensures software is built according to specification?
  1. Validation
  2. Testing
  3. Maintenance
  4. Verification
সঠিক উত্তর:
Verification
উত্তর
সঠিক উত্তর:
Verification
ব্যাখ্যা

Answer: D
Explanation:
           Verification ensures the software meets specifications (“Are we building it right?”).
Incorrect options:
  A) Validation ensures software meets user needs (“Are we building the right thing?”).
  B) Testing is part of verification and validation
  C) Maintenance occurs after deployment.

.
Software reliability measures:
  1. Correctness
  2. Probability of failure-free operation under given conditions
  3. Maintainability
  4. Cost efficiency
সঠিক উত্তর:
Probability of failure-free operation under given conditions
উত্তর
সঠিক উত্তর:
Probability of failure-free operation under given conditions
ব্যাখ্যা

Answer: B
Explanation:
          Reliability is the probability that software will perform its intended function without failure in a specified environment.

  Incorrect options:

    A) Correctness is related but does not include probability over time.
    C) Maintainability is a separate quality metric.
    D) Cost efficiency is unrelated to reliability

.
A Context Diagram shows:
  1. System as a single process and interactions with external entities
  2. Internal data flow between modules
  3. Detailed algorithm for processes
  4. Class hierarchy
সঠিক উত্তর:
System as a single process and interactions with external entities
উত্তর
সঠিক উত্তর:
System as a single process and interactions with external entities
ব্যাখ্যা

Answer: A
Explanation:
                  Context diagrams represent the system as a single entity (process) and show how it interacts with external actors (users, other systems, devices). It provides a high-level view without internal detail.

 Incorrect options:

   B ) Internal data flow is shown in detailed DFDs, not context diagrams.
   C ) Algorithms are not part of system modeling.
   D ) Class hierarchy belongs to object modeling (UML), not context diagrams.

১০.
Which diagram primarily represents processes, data stores, and data flow?
  1. Class Diagram
  2. Sequence Diagram
  3. State Diagram
  4. Data Flow Diagram (DFD)
সঠিক উত্তর:
Data Flow Diagram (DFD)
উত্তর
সঠিক উত্তর:
Data Flow Diagram (DFD)
ব্যাখ্যা

Answer D
Explanation:
              DFDs illustrate how data moves through a system, what transformations occur, and where data is stored. They help in understanding system functionality and information flow.

 Incorrect options:
     A) Class diagrams focus on objects, attributes, and relationships.
     B) Sequence diagrams focus on interaction order over time
     C) State diagrams focus on state changes of an object..

১১.
In DFDs, a data store is represented by:
  1. Circle
  2. Arrow
  3. Double rectangle
  4. Triangle
সঠিক উত্তর:
Double rectangle
উত্তর
সঠিক উত্তর:
Double rectangle
ব্যাখ্যা

Answer: C
Explanation:
A data store (file or database) is shown as a double rectangle, indicating where data is held within the system.

 Incorrect options:
    A) Circle = process.
    B ) Arrow = data flow.
    D ) Triangle is not used in standard DFD notation

১২.
What is the main purpose of a behavioral model?
  1. To show object relationships
  2. To capture system dynamic behavior and response to events
  3. To design user interface
  4. To calculate software cost
সঠিক উত্তর:
To capture system dynamic behavior and response to events
উত্তর
সঠিক উত্তর:
To capture system dynamic behavior and response to events
ব্যাখ্যা

 Answer: B
Explanation:
         Behavioral models (like state diagrams) capture system responses to events, states, transitions, and triggers. They are essential for real-time and reactive systems.

Incorrect options
:
 A ) Object relationships are static models (class diagrams).
 C ) UI design is part of interface design, not behavioral modeling.
 D ) Cost calculation is unrelated.

১৩.
A State Diagram shows:
  1. States of an object and transitions triggered by events
  2. How data flows between processes
  3. Sequence of user interface screens
  4. Class inheritance
সঠিক উত্তর:
States of an object and transitions triggered by events
উত্তর
সঠিক উত্তর:
States of an object and transitions triggered by events
ব্যাখ্যা

Answer: A
Explanation:
           State diagrams represent all possible states of a system or object and transitions due to events, showing dynamic behavior.

Incorrect options
:
    B) Data flow is for DFDs.
    C) UI screens sequence is different from state transitions.
    D) Inheritance is part of class diagrams.

১৪.
Object models focus on:
  1. Only functional behavior
  2. Entities (objects), attributes, and relationships
  3. Algorithm optimization
  4. Data flow exclusively
সঠিক উত্তর:
Entities (objects), attributes, and relationships
উত্তর
সঠিক উত্তর:
Entities (objects), attributes, and relationships
ব্যাখ্যা

 Answer: B
Explanation:
      Object models define classes, objects, attributes, methods, and relationships (association, inheritance, aggregation), forming the static structure.
Incorrect options:
    a) Functional behavior is captured in use cases and behavioral models.
    c) Algorithm optimization is part of implementation.
    d) Data flow is DFD concern, not object modeling

১৫.
Objects are instances of:
  1. Process
  2. Data flow
  3. Class
  4. State
সঠিক উত্তর:
Class
উত্তর
সঠিক উত্তর:
Class
ব্যাখ্যা

Answer: C

Explanation:
Objects are concrete instances of classes, having attributes and behavior defined by the class.

Incorrect options:

      A) Processes are procedural elements, not objects.
      B) Data flows are not objects.
      D) State represents condition, not object

১৬.
Behavioral modeling is essential for:
  1. Batch systems only
  2. Real-time and interactive systems
  3. Documentation only
  4. Database normalization
সঠিক উত্তর:
Real-time and interactive systems
উত্তর
সঠিক উত্তর:
Real-time and interactive systems
ব্যাখ্যা

Answer: B
Explanation:
        Real-time and interactive systems require modeling of event-driven behavior to ensure correct responses under time constraints.

Incorrect options:
    A) Batch systems are less dynamic.
    C) Documentation is not the primary purpose.
    D) Database normalization is unrelated

১৭.
What is the primary goal of object-oriented design (OOD)?
  1. To write code quickly
  2. To focus on testing
  3. To model only data flow
  4. To structure software using objects, classes, and their interactions
সঠিক উত্তর:
To structure software using objects, classes, and their interactions
উত্তর
সঠিক উত্তর:
To structure software using objects, classes, and their interactions
ব্যাখ্যা

Answer: D
Explanation:
               OOD aims to design software around objects, which encapsulate data (attributes) and behavior (methods). It supports modularity, reuse, and maintainability.

 Incorrect options
:
    A) Speed is secondary; maintainability and clarity are primary.
    B) Testing is a separate phase and not the design focus.
    C) Data flow modeling is procedural, not object-oriented.
    

১৮.
In OOD, encapsulation refers to:
  1. Hiding implementation details inside objects and exposing interfaces
  2. Inheriting features from parent classes
  3. Splitting system into modules
  4. Running code faster
সঠিক উত্তর:
Hiding implementation details inside objects and exposing interfaces
উত্তর
সঠিক উত্তর:
Hiding implementation details inside objects and exposing interfaces
ব্যাখ্যা

Answer: A
Explanation:
Encapsulation ensures that an object’s internal state is hidden and only accessible through public methods (interfaces). This improves modularity and protects against unintended interference.
 
 Incorrect options:
B) Inheritance is different; it’s about deriving properties from a parent.
C) Splitting into modules is modular design, not encapsulation.
D) Running speed is unrelated.

১৯.
Which design principle ensures high cohesion and low coupling?
  1. Encapsulation and inheritance
  2. Single Responsibility Principle & modularity
  3. Polymorphism only
  4. Functional decomposition
সঠিক উত্তর:
Single Responsibility Principle & modularity
উত্তর
সঠিক উত্তর:
Single Responsibility Principle & modularity
ব্যাখ্যা

Answer: B
Explanation:
      Single Responsibility Principle (SRP) & Modularity

High Cohesion:

Cohesion = how closely related the tasks within a module/class are.
High cohesion = a class/module does one well-defined job (SRP ensures this).
Example: A User Manager class that only handles user-related operations, not payment or logging.
Low Coupling:

Coupling = how much one module depends on others.
Low coupling = minimal interdependencies, so a change in one module has little impact on others.
Achieved through modularity, interfaces, dependency inversion.


Incorrect options:

    A) Encapsulation and inheritance help design but don’t guarantee cohesion/coupling.
    C) Polymorphism helps flexibility but not cohesion directly.
    D) Functional decomposition splits functions, not always objects; cohesion/coupling may vary.

২০.
Real-time system tasks are often classified as:
  1. CPU-intensive and memory-intensive
  2. Periodic, aperiodic, and sporadic
  3. Synchronous and asynchronous
  4. Abstract and concrete
সঠিক উত্তর:
Periodic, aperiodic, and sporadic
উত্তর
সঠিক উত্তর:
Periodic, aperiodic, and sporadic
ব্যাখ্যা

Answer: B
Explanation:
        Periodic tasks run at fixed intervals; aperiodic are irregular but scheduled; sporadic occur unpredictably.

Incorrect options:

    A) CPU/memory use is unrelated to timing classification.
    C) Synchronous/asynchronous is execution mode, not timing.
    D) Abstract/concrete is OOD classification.

২১.
 Coupling refers to:
  1. Degree of dependency between modules/classes
  2. Number of methods in a class
  3. Reuse of code
  4. Documentation completeness
সঠিক উত্তর:
Degree of dependency between modules/classes
উত্তর
সঠিক উত্তর:
Degree of dependency between modules/classes
ব্যাখ্যা

Answer: A
Coupling (Correct Option)

        Coupling is the measure of how much one module/class depends on or interacts with another.
High Coupling:

Modules/classes are tightly linked.
A change in one module often forces changes in others.
Example: Class A directly accessing the internal data of Class B.
Low Coupling (preferred):

Modules/classes are more independent.
Communication is through well-defined interfaces.

  Incorrect options:
    B) Number of methods is class size.
    C) Reuse can be independent of coupling.
    D) Documentation is unrelated.

২২.
Real-time system design challenges include:
  1. Meeting strict deadlines
  2. Handling concurrency and synchronization
  3. Designing predictable behavior under all conditions
  4. All of the above
সঠিক উত্তর:
Handling concurrency and synchronization
উত্তর
সঠিক উত্তর:
Handling concurrency and synchronization
ব্যাখ্যা

Answer: D
Explanation:
                 Real-time systems must satisfy all these challenges to ensure reliability, timeliness, and safety.•  

  A/B/C are correct individually but incomplete; the comprehensive challenge is all of the above

২৩.
System design with reuse primarily aims to:
  1. Reduce development time and cost by reusing existing components
  2. Increase coupling
  3. Avoid testing
  4. Eliminate documentation
সঠিক উত্তর:
Reduce development time and cost by reusing existing components
উত্তর
সঠিক উত্তর:
Reduce development time and cost by reusing existing components
ব্যাখ্যা

Answer: A
Explanation:
                   Reusing existing, tested components reduces development effort, cost, and likelihood of introducing defects.
Incorrect options:
    b) Good reuse reduces coupling.
    c) Testing is still necessary to ensure compatibility.
    d) Documentation remains important.

২৪.
Fault tolerance in software means:
  1. Software avoids testing
  2. Software cannot fail at all
  3. Software can continue operating correctly even if some faults occur
  4. Software is faster
সঠিক উত্তর:
Software can continue operating correctly even if some faults occur
উত্তর
সঠিক উত্তর:
Software can continue operating correctly even if some faults occur
ব্যাখ্যা

Answer: C
Explanation:
           Fault-tolerant systems detect and recover from faults to maintain operation without total failure.
 
Incorrect options:
   A) Testing is always required.
   B) Absolute failure-free operation is unrealistic.
   D) Speed is unrelated.

২৫.
Software availability is:
  1. Probability that a system is operational at a given time
  2. Speed of execution
  3. Number of users supported
  4. Lines of code
সঠিক উত্তর:
Probability that a system is operational at a given time
উত্তর
সঠিক উত্তর:
Probability that a system is operational at a given time
ব্যাখ্যা

Answer: A
Explanation:
           Availability is influenced by reliability and maintainability; it represents the readiness of a system for use.

 Incorrect options:
   B) Speed is performance, not availability.
   C) User capacity may affect load, not availability metric directly.
   A) LOC is irrelevant.

২৬.
Failure rate in software is:
  1. Speed of execution
  2. Number of failures per unit of time or operation
  3. Code size
  4. Amount of documentation
সঠিক উত্তর:
Number of failures per unit of time or operation
উত্তর
সঠিক উত্তর:
Number of failures per unit of time or operation
ব্যাখ্যা

Answer: B
Explanation:
            Failure rate is a key metric in reliability analysis; it quantifies how often failures occur.
   
Incorrect options:
    B) Speed is performance.
    C) Code size does not measure failures.
    D) Documentation is unrelated.

২৭.
Software maintenance is primarily concerned with:
  1. Designing software
  2. Documentation only
  3. Testing software only
  4. Modifying software after delivery to correct faults, improve performance, or adapt to changes
সঠিক উত্তর:
Modifying software after delivery to correct faults, improve performance, or adapt to changes
উত্তর
সঠিক উত্তর:
Modifying software after delivery to correct faults, improve performance, or adapt to changes
ব্যাখ্যা

Answer: D
Explanation:
           Maintenance is the process of updating software after deployment, including corrective, adaptive, perfective, and preventive maintenance.
   
Incorrect options:
    A) Design is pre-deployment.
    B) Documentation supports maintenance but is not the main activity.
    C) Testing is part of maintenance but not the entire process.

২৮.
Preventive maintenance aims to:
  1. Avoid future failures
  2. Correct existing faults
  3. Add new features
  4. Document code
সঠিক উত্তর:
Avoid future failures
উত্তর
সঠিক উত্তর:
Avoid future failures
ব্যাখ্যা

Answer: A
Explanation:
         Preventive maintenance reduces likelihood of future faults by improving code structure, design, and maintainability.

Incorrect options:
    B) Corrective addresses current faults.
    C) Adding features is perfective.
    D) Documentation is supportive but not the primary goal

২৯.
In critical systems, specification errors can lead to:
  1. Minor delays
  2. Catastrophic failures
  3. Faster coding
  4. Easier testing
সঠিক উত্তর:
Catastrophic failures
উত্তর
সঠিক উত্তর:
Catastrophic failures
ব্যাখ্যা

Answer: B
Explanation:
        In critical systems (avionics, medical devices), incorrect specifications can lead to system hazards, injury, or loss of life.

Incorrect options:
    A) Effects are usually severe, not minor.
    C) Coding speed is irrelevant.
    D) Errors complicate testing, not ease it

৩০.
The V-Model of development emphasizes:
  1. Iterative prototyping
  2. Verification and validation at each development stage
  3. Only coding
  4. Random testing
সঠিক উত্তর:
Verification and validation at each development stage
উত্তর
সঠিক উত্তর:
Verification and validation at each development stage
ব্যাখ্যা

Answer : B
Explanation:
           Each development phase has a corresponding testing or validation phase, ensuring early detection of defects.

Incorrect options:
    A) Iterative prototyping is a different model.
    C) Coding alone ignores specification/testing.
    D) Testing is structured, not random

৩১.
Verification in software engineering ensures:
  1. The system meets user needs and requirements
  2. The system is built correctly according to specifications
  3. The system runs fast
  4. The system has no bugs
সঠিক উত্তর:
The system is built correctly according to specifications
উত্তর
সঠিক উত্তর:
The system is built correctly according to specifications
ব্যাখ্যা

Answer: B
Explanation:
       Verification checks whether the software was implemented according to the design and specifications. It answers the question: “Are we building the system right?”

 Incorrect options:

    A) This is validation.
    C) Performance is separate.
    D) Verification reduces errors but cannot guarantee bug-free software.

৩২.
Unit testing focuses on:
  1. Testing individual modules or components
  2. Testing integration of multiple modules
  3. Testing the entire system end-to-end
  4. Testing user acceptance
সঠিক উত্তর:
Testing individual modules or components
উত্তর
সঠিক উত্তর:
Testing individual modules or components
ব্যাখ্যা

Answer: A
Explanation:
            Unit tests verify that each component or function works correctly in isolation.

Incorrect options:
   B) Integration testing comes next.
   C) System testing is for the complete system.
   D) User acceptance testing is the final step.

৩৩.
Acceptance testing ensures:
  1. Only critical components are tested
  2. Developers are satisfied
  3. System is free from syntax errors only
  4. Software is acceptable to the end-user and satisfies requirements
সঠিক উত্তর:
Software is acceptable to the end-user and satisfies requirements
উত্তর
সঠিক উত্তর:
Software is acceptable to the end-user and satisfies requirements
ব্যাখ্যা

Answer: D
Explanation:
             Acceptance testing is performed by the client or end-user to confirm that the delivered software meets their needs.
   
Incorrect options:
      A) All functional requirements are tested, not only critical components.
      B) Developers’ satisfaction is internal, not user acceptance.
      C) Syntax errors are too basic.

৩৪.
Validation ensures:
  1. Software meets the specifications
  2. Software fulfills the intended purpose and user requirements
  3. Software has no code comments
  4. Software is reusable
সঠিক উত্তর:
Software fulfills the intended purpose and user requirements
উত্তর
সঠিক উত্তর:
Software fulfills the intended purpose and user requirements
ব্যাখ্যা

 Answer: B
Explanation:
                  Validation checks if the right product is built to meet user needs. It answers: “Are we building the right system?”

Incorrect options:

    a) Checking specifications is verification.
    c) Comments are unrelated.
    d) Reusability is a design goal, not validation.

৩৫.
White-box testing primarily:
  1. Examines internal logic, code structure, and paths
  2. Tests functionality without knowing code
  3. Only checks user interfaces
  4. Tests system deployment
সঠিক উত্তর:
Examines internal logic, code structure, and paths
উত্তর
সঠিক উত্তর:
Examines internal logic, code structure, and paths
ব্যাখ্যা

Answer: A
Explanation:
           White-box testing (structural testing) verifies internal code paths, branches, loops, and logic.

Incorrect options:
   B) That is black-box testing.
    C/D) UI and deployment are unrelated.

৩৬.
Alpha testing:
  1. Performed after deployment only
  2. Conducted by end-users externally
  3. Conducted by developers within the organization
  4. Only for unit testing
সঠিক উত্তর:
Conducted by developers within the organization
উত্তর
সঠিক উত্তর:
Conducted by developers within the organization
ব্যাখ্যা

Answer: C
Explanation:
           Alpha testing is a type of internal acceptance testing performed by the organization’s developers and testers before the software is released to external users.
When it happens: After system testing, but before beta testing.
Purpose:
To identify bugs internally before handing the software to real users.
To simulate user environment as closely as possible.
Characteristics:
Done by developers, testers, and sometimes in-house users.
Typically includes white-box + black-box testing.



Incorrect options:
     A)Alpha testing is pre-release, not post-deployment
     B) This actually describes Beta Testing 
     D) Alpha testing involves system-level evaluation.

৩৭.
Fault injection testing:
  1. Introduces faults deliberately to verify system response
  2. Avoids all errors
  3. Measures software speed only
  4. Is unnecessary in real-time systems
সঠিক উত্তর:
Introduces faults deliberately to verify system response
উত্তর
সঠিক উত্তর:
Introduces faults deliberately to verify system response
ব্যাখ্যা

 Answer: A
Explanation:
           Fault injection is a testing technique that deliberately introduces faults (hardware, software, network, environment, or timing faults) into a system to verify that the system detects them, tolerates them, recovers correctly, and fails safely when necessary.
 
Incorrect options:
   B) Faults are introduced intentionally.
   C) Speed measurement is separate.
   D) Fault injection is critical in real-time systems.

৩৮.
"Verification is a static process, Validation is a dynamic process." This means:
  1. Verification involves execution, Validation does not
  2. Verification is based on reviews/analysis, Validation requires execution
  3. Both require code execution
  4. Neither requires code execution
সঠিক উত্তর:
Verification is based on reviews/analysis, Validation requires execution
উত্তর
সঠিক উত্তর:
Verification is based on reviews/analysis, Validation requires execution
ব্যাখ্যা

Answer: B) Verification is based on reviews/analysis, Validation requires execution

Explanation:

Verification = Static (review docs, design, code → no execution).

Validation = Dynamic (execute software, test against requirements).

Option A (Wrong): Reverse meaning Verification ≠ execution.

Option C (Wrong): Only validation requires execution.

৩৯.
Testing a login page with valid/invalid usernames and passwords is:
  1. White-box testing
  2. Black-box testing
  3. Mutation testing
  4. Path coverage
সঠিক উত্তর:
Black-box testing
উত্তর
সঠিক উত্তর:
Black-box testing
ব্যাখ্যা

Answer: B ) Black-box testing

Explanation:

Login page test checks functionality as per requirements → user enters inputs, tester validates outputs. No internal code knowledge required.

White-box would require checking authentication function’s code paths.

৪০.
The primary goal of software cost estimation is:
  1. To predict the effort, time, and resources required to develop software
  2. To increase project cost
  3. To avoid testing
  4. To reduce coding complexity
সঠিক উত্তর:
To predict the effort, time, and resources required to develop software
উত্তর
সঠিক উত্তর:
To predict the effort, time, and resources required to develop software
ব্যাখ্যা

Answer: A
Explanation:
         Cost estimation helps project managers plan resources, schedule, and budget, ensuring realistic expectations.

 Incorrect options:
   B) Estimation aims to predict, not inflate cost.
   C) Testing is independent; estimation does not avoid it.
   D) Coding complexity is not the primary goal; it may influence effort but is not the focus.

৪১.
COCOMO stands for:
  1. Constructive Coding Model
  2. Constructive Cost Model
  3. Comprehensive Cost Optimization Model
  4. Code Complexity Model
সঠিক উত্তর:
Constructive Cost Model
উত্তর
সঠিক উত্তর:
Constructive Cost Model
ব্যাখ্যা

Answer: B) Constructive Cost Model

Explanation:

     COCOMO = Constructive Cost Model, introduced by Barry Boehm (1981). It is a mathematical model for estimating cost, effort, and time required to develop software.

৪২.
COCOMO is used to:
  1. Automatically generate code
  2. Calculate code speed
  3. Measure code readability
  4. Estimate software development effort, time, and cost based on project size
সঠিক উত্তর:
Estimate software development effort, time, and cost based on project size
উত্তর
সঠিক উত্তর:
Estimate software development effort, time, and cost based on project size
ব্যাখ্যা

Answer: D
Explanation:
         COCOMO uses lines of code (LOC) or function points and project type (organic, semi-detached, embedded) to predict effort in person-months, schedule, and staffing.
 
Incorrect Options:
    A) COCOMO is an estimation model, not a code generator.
    B) Execution speed is unrelated.
    C) Readability is subjective and not measured by COCOMO.

৪৩.
What is the input basis for COCOMO estimation?
  1. Use case points
  2. Function points
  3. Lines of code (KLOC)
  4. Cyclomatic complexity
সঠিক উত্তর:
Lines of code (KLOC)
উত্তর
সঠিক উত্তর:
Lines of code (KLOC)
ব্যাখ্যা

Answer: c) Lines of code (KLOC)

Explanation:

           Original COCOMO bases effort estimation on size of software in KLOC.

Option A/B (Wrong): Use case points and function points are alternative estimation methods (not original COCOMO).

Option D (Wrong): Cyclomatic complexity is for testing effort, not project effort estimation.

৪৪.
Software Quality Assurance (SQA) includes:
  1. Process standards, reviews, audits, testing strategies
  2. Coding only
  3. Developer recruitment
  4. Marketing
সঠিক উত্তর:
Process standards, reviews, audits, testing strategies
উত্তর
সঠিক উত্তর:
Process standards, reviews, audits, testing strategies
ব্যাখ্যা

Answer: A
Explanation:
       SQA ensures software quality through defined processes, verification, validation, standards, and audits.
   
Incorrect options:
    B) Coding is only one activity in software lifecycle.
    C) Recruitment is HR, not SQA.
    D) Marketing is unrelated.

৪৫.
Which of the following is NOT a phase of SDLC?
  1. Requirement analysis
  2. Design
  3. Coding
  4. Marketing campaign
সঠিক উত্তর:
Marketing campaign
উত্তর
সঠিক উত্তর:
Marketing campaign
ব্যাখ্যা

Answer: D) Marketing campaign

Explanation:

       Marketing is not part of Software Development Life Cycle (SDLC).

SDLC Phases: Requirement analysis → System design → Implementation (coding) → Testing → Deployment → Maintenance.

৪৬.
UML stands for:
  1. Unified Modeling Language
  2. Universal Markup Language
  3. Unified Method Language
  4. User Modeling Logic
সঠিক উত্তর:
Unified Modeling Language
উত্তর
সঠিক উত্তর:
Unified Modeling Language
ব্যাখ্যা

Answer: A) Unified Modeling Language

Explanation:

         UML = Unified Modeling Language, a standard visual modeling language for object-oriented system design.

Option B (Wrong): “Markup” relates to HTML/XML, not UML.

Option C (Wrong): Not “Method Language.”

Option D (Wrong): Misleading expansion.

৪৭.
which of the following is a CASE tool?
  1. Compiler
  2. Debugger
  3. Project Mangement Software
  4. Software Coding tools
সঠিক উত্তর:
Project Mangement Software
উত্তর
সঠিক উত্তর:
Project Mangement Software
ব্যাখ্যা

Answer: C

Project Development Software

This refers to Computer-Aided Software Engineering (CASE) tools that support one or more phases of the software development life cycle (SDLC).
They help with:

Requirement analysis
System design
Documentation
Code generation
Testing support

৪৮.
Which SDLC model is best suited for small projects with well-defined requirements?
  1. Spiral
  2. Agile
  3. Waterfall
  4. RAD
সঠিক উত্তর:
Waterfall
উত্তর
সঠিক উত্তর:
Waterfall
ব্যাখ্যা

Answer: C) Waterfall
Waterfall = simple, structured, works best when requirements are clear and unlikely to change.
Spiral/Agile/RAD = better for large or evolving projects.

৪৯.
Which of the following correctly represents the typical phases of SDLC in order?
  1. Requirement → Design → Testing → Coding → Deployment → Maintenance
  2. Requirement → Design → Coding → Testing → Deployment → Maintenance
  3. Coding → Requirement → Design → Testing → Deployment → Maintenance
  4. Design → Requirement → Coding → Deployment → Testing → Maintenance
সঠিক উত্তর:
Requirement → Design → Coding → Testing → Deployment → Maintenance
উত্তর
সঠিক উত্তর:
Requirement → Design → Coding → Testing → Deployment → Maintenance
ব্যাখ্যা

Answer B) Requirement → Design → Coding → Testing → Deployment → Maintenance

৫০.
Regression testing is primarily related to: 
  1. Functional testing
  2. Development testing
  3. Data flow testing
  4. Maintenance testing
সঠিক উত্তর:
Maintenance testing
উত্তর
সঠিক উত্তর:
Maintenance testing
ব্যাখ্যা

Answer: D)  Maintenance testing

Regression Testing is the process of re-testing existing software after changes (like bug fixes, enhancements, or updates) to ensure previously working features still function correctly.

Why it’s maintenance-related:

After software is deployed, it may require modifications or enhancements.

Regression testing ensures maintenance changes do not break existing functionality.

Maintenance phase includes corrective, adaptive, perfective, and preventive changes, all of which can trigger regression testing.