0% found this document useful (0 votes)
8 views41 pages

Unit 8

The document outlines various software process models, emphasizing their definitions, advantages, and disadvantages, with a focus on the Waterfall, Incremental, Spiral, Agile, and RAD models. It includes a summary table and 30 high-probability MCQs related to software process models. Additionally, it provides an overview of software testing, its objectives, types, levels, techniques, and tools, along with another set of 30 MCQs on the topic.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views41 pages

Unit 8

The document outlines various software process models, emphasizing their definitions, advantages, and disadvantages, with a focus on the Waterfall, Incremental, Spiral, Agile, and RAD models. It includes a summary table and 30 high-probability MCQs related to software process models. Additionally, it provides an overview of software testing, its objectives, types, levels, techniques, and tools, along with another set of 30 MCQs on the topic.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 41

Topic Importance

Software Process Models ⭐⭐⭐⭐⭐

Software Testing ⭐⭐⭐⭐⭐

SDLC Phases ⭐⭐⭐⭐⭐

Software Design Principles ⭐⭐⭐⭐

Software Requirements Engineering ⭐⭐⭐⭐

Software Maintenance ⭐⭐⭐

Software Quality and Metrics ⭐⭐⭐

CASE Tools ⭐⭐

Software Project Management ⭐⭐

🧠 TOPIC 1: Software Process Models

(⭐⭐⭐⭐⭐ – Most Frequently Asked in STET)

🔶 What is a Software Process Model?

A Software Process Model is a structured framework that outlines the stages and sequence
involved in developing software. It guides the team from requirement gathering to software
delivery and maintenance.

🔷 1. Waterfall Model

✅ Definition:
A linear and sequential development model. Each phase must be completed before the next
begins.

✅ Phases:

1. Requirement Analysis

2. System Design
3. Implementation

4. Testing

5. Deployment

6. Maintenance

✅ Advantages:

 Simple to understand and manage

 Good for small projects with fixed requirements

✅ Disadvantages:

 Inflexible to changes

 Late error discovery

✅ STET PYQ Tip:


Questions ask about phase sequence, rigidity, and limitations.

🔷 2. Incremental Model

✅ Definition:
Software is developed and delivered in small increments with each increment adding
functionality.

✅ Features:

 Prioritizes early delivery

 Suitable for systems needing partial implementation

✅ Advantages:

 Early feedback

 Lower initial delivery cost

✅ Disadvantages:

 Needs good planning

 Integration may become complex


✅ STET PYQ Tip:
Focus on how it differs from waterfall.

🔷 3. Spiral Model

✅ Definition:
Combines features of iterative development and risk analysis.

✅ Phases:

1. Planning

2. Risk Analysis

3. Engineering

4. Evaluation

✅ Key Focus:

 Risk management

 Iterative process

✅ Advantages:

 Ideal for high-risk projects

 Frequent customer feedback

✅ Disadvantages:

 Complex to manage

 Expensive

✅ STET PYQ Tip:


“Which model focuses most on risk assessment?”

🔷 4. Agile Model

✅ Definition:
Emphasizes iterative development, collaboration, and customer feedback.
✅ Key Principles (Agile Manifesto):

 Individuals over tools

 Working software over documentation

 Customer collaboration

 Responding to change

✅ Common Methods:

 Scrum

 Extreme Programming (XP)

✅ Advantages:

 Highly flexible

 Continuous delivery

✅ Disadvantages:

 Not suitable for large, complex projects

✅ STET PYQ Tip:


Agile vs Waterfall and iterative nature are common questions.

🔷 5. RAD (Rapid Application Development)

✅ Definition:
Focuses on rapid prototyping and quick feedback.

✅ Phases:

 Requirements Planning

 User Design

 Construction

 Cutover (deployment)

✅ Advantages:

 Fast delivery
 High user involvement

✅ Disadvantages:

 Requires strong team and tools

 Not suitable for large systems

✅ STET PYQ Tip:


Compare RAD with Waterfall or Agile in terms of speed and flexibility.

📘 Summary Table

Model Key Feature Advantage Disadvantage

Waterfall Sequential Simple Rigid, late error detection

Incremental Partial delivery Early feedback Integration complexity

Spiral Risk-driven Risk handling Complex & costly

Agile Iterative & flexible Customer collaboration Needs skilled team

RAD Rapid prototyping Fast delivery Not for large projects

🎯 30 High-Probability MCQs on Software Process Models

Q1. Which model is also known as a linear sequential model?


A. Waterfall ✔️
B. Spiral
C. Agile
D. RAD

Q2. Spiral model emphasizes:


A. Speed
B. Risk analysis ✔️
C. Testing
D. Design only

Q3. In Waterfall model, which phase comes immediately after design?


A. Requirement
B. Maintenance
C. Testing
D. Implementation ✔️

Q4. Which model is best suited for large, complex projects with changing requirements?
A. Agile
B. Spiral ✔️
C. Waterfall
D. RAD

Q5. Which of these is an iterative model?


A. Waterfall
B. Spiral ✔️
C. V-model
D. None

Q6. RAD model places high emphasis on:


A. Documentation
B. Cost
C. Prototyping ✔️
D. Risk analysis

Q7. Agile methodology is best suited for:


A. Static environments
B. Projects with frequent change ✔️
C. High-risk embedded systems
D. Government contracts

Q8. Which model involves high customer involvement?


A. Spiral
B. Agile ✔️
C. Waterfall
D. V-model

Q9. In Agile, what is the term for short, iterative development cycles?
A. Sprints ✔️
B. Loops
C. Spirals
D. Builds
Q10. Which model follows “Plan → Design → Build → Test → Deploy” strictly?
A. RAD
B. Waterfall ✔️
C. Agile
D. Spiral

Q11. Incremental model is based on:


A. Sequential flow
B. Parallel execution
C. Successive development ✔️
D. Risk-first design

Q12. The Agile Manifesto emphasizes:


A. Process over tools
B. Customer over contract ✔️
C. Working software less than documentation
D. Following strict plans

Q13. Which model includes user feedback after each release?


A. Incremental ✔️
B. Waterfall
C. Spiral
D. RAD

Q14. RAD is most suitable for:


A. Complex military systems
B. Large-scale ERP
C. Small, time-sensitive projects ✔️
D. Systems with no user interface

Q15. In Spiral model, risk analysis occurs in:


A. Every cycle ✔️
B. Final phase
C. Initial phase only
D. Testing phase

(15 More MCQs will be included in next message for length balance)

Would you like me to continue with the next 15 MCQs now or proceed to Topic 2: Software
Testing detailed notes?
You said:

complete the rest 15 MCQS

ChatGPT said:

Here are the remaining 15 high-probability MCQs for the topic Software Process Models (Bihar
STET Paper 2 – Computer Science):

🎯 MCQs (16–30): Continuation

Q16. Which software model uses “Working software over comprehensive documentation” as a
principle?
A. Spiral
B. Agile ✔️
C. Waterfall
D. Incremental

Q17. Which of the following is not an agile methodology?


A. Scrum
B. XP (Extreme Programming)
C. RAD ✔️
D. Crystal

Q18. One main drawback of the Waterfall model is:


A. It is fast
B. Cannot accommodate changes easily ✔️
C. Supports parallel development
D. Ideal for evolving requirements

Q19. Which model allows risk analysis and customer evaluation at each stage?
A. Agile
B. Spiral ✔️
C. V-model
D. RAD
Q20. Which model is least suitable for a project with frequent requirement changes?
A. Agile
B. Waterfall ✔️
C. Spiral
D. Incremental

Q21. Which is a key practice in Agile development?


A. End-of-cycle testing only
B. Customer feedback at every iteration ✔️
C. Ignoring documentation
D. Following strict plan

Q22. What is the main objective of the RAD model?


A. Low risk
B. Long development time
C. Rapid development ✔️
D. Complex planning

Q23. The basic idea of Incremental Development is:


A. Develop entire software in one go
B. Develop and deliver in parts ✔️
C. Risk-based planning
D. No feedback loop

Q24. What is a "Sprint" in Scrum methodology?


A. Final delivery
B. Client interview
C. A time-boxed development cycle ✔️
D. Risk estimation tool
Q25. Spiral model is best used when:
A. Budget is fixed
B. Requirements are static
C. Risk is high and evolving ✔️
D. Documentation is more important

Q26. Which model is most appropriate for developing mission-critical software (e.g., banking
systems)?
A. Spiral ✔️
B. Agile
C. RAD
D. Prototyping

Q27. The Agile model values:


A. Contracts over collaboration
B. Individuals over processes ✔️
C. Plans over flexibility
D. Heavy documentation

Q28. Which process model is best when the customer cannot define the complete requirements
at the start?
A. Waterfall
B. Spiral
C. Agile ✔️
D. V-model

Q29. Which methodology delivers software with each iteration?


A. Incremental ✔️
B. Waterfall
C. RAD
D. Spiral
Q30. The main goal of using software process models is to:
A. Reduce quality
B. Increase complexity
C. Provide structure to development ✔️
D. Avoid user involvement

🧠 SOFTWARE TESTING – In-Depth Notes (⭐⭐⭐⭐⭐)

🔶 1. What is Software Testing?

✅ Software Testing is the process of evaluating software to find and fix bugs before product
release.

✅ Key Objectives:

 Verification – Ensures the product is being built right.

 Validation – Ensures the right product is being built.

 Defect detection – Identify and fix errors early.

 Quality assurance – Deliver error-free and user-satisfactory software.

🔶 2. Types of Testing

✅ A. Manual Testing

Testing done by a human without using any automation tool.

 Example: GUI testing manually clicking buttons.

✅ B. Automated Testing

Tests are executed using tools (Selenium, QTP).

 Fast and repeatable.

🔶 3. Testing Levels

✅ Unit Testing

 Tests individual modules or functions.

 Done by developers.
 Tools: JUnit, NUnit.

✅ Integration Testing

 Combines units and tests interactions.

 Approaches: Top-down, Bottom-up, Big Bang.

✅ System Testing

 Tests the complete integrated system.

 Black-box testing used.

✅ Acceptance Testing

 Done by end users to check if it meets requirements.

 Types: Alpha and Beta testing.

🔶 4. Testing Techniques

✅ Black-Box Testing

 No knowledge of internal code.

 Tests based on inputs and outputs.

 Examples: Boundary value analysis, Equivalence partitioning.

✅ White-Box Testing

 Tester knows internal logic.

 Examples: Statement coverage, Branch coverage.

✅ Grey-Box Testing

 Partial knowledge of internal structure.

🔶 5. Static vs Dynamic Testing

Aspect Static Testing Dynamic Testing

Execution No code execution Code is executed


Aspect Static Testing Dynamic Testing

Performed by Developers/Reviewers Testers

Examples Reviews, walkthroughs Unit/System Testing

🔶 6. Alpha & Beta Testing

 Alpha Testing: Done by internal users in development environment.

 Beta Testing: Done by external users in real environment.

🔶 7. Regression Testing

 Performed after code changes to ensure no new bugs.

 Often automated.

🔶 8. Smoke & Sanity Testing

 Smoke Testing: Basic checks to ensure major functionalities work.

 Sanity Testing: Checks specific functionality after a bug fix.

🔶 9. Test Case & Test Plan

 Test Case: Detailed steps, inputs, and expected results for a test.

 Test Plan: Document describing test strategy, objectives, schedule.

🔶 10. Defect Life Cycle

1. New → 2. Assigned → 3. Open → 4. Fixed → 5. Retest → 6. Closed

🔶 11. Common Testing Tools

 Selenium – Web automation


 JUnit – Java unit testing

 QTP – Functional testing

 Bugzilla – Bug tracking

✅ Coming Up Next: 30 Top MCQs on Software Testing


Would you like to continue with the MCQs now?

You said:

yes

ChatGPT said:

Here are the 30 most probable MCQs on Software Testing, based on Bihar STET Paper 2 trend:

🎯 Top 30 MCQs on Software Testing (⭐⭐⭐⭐⭐)

🧠 MCQs 1–10: Fundamentals & Types

Q1. What is the main goal of software testing?


A. Speed up coding
B. Ensure error-free software ✔️
C. Increase UI design
D. Reduce hardware cost

Q2. Which testing type is done without executing the code?


A. Unit Testing
B. Static Testing ✔️
C. Dynamic Testing
D. Acceptance Testing

Q3. The process of evaluating the functionality of a software application without peeking into
its internal structures is:
A. White-box testing
B. Black-box testing ✔️
C. Unit testing
D. Load testing

Q4. Which of these is not a type of Black-box testing?


A. Boundary value analysis
B. Equivalence partitioning
C. Decision coverage ✔️
D. State transition testing

Q5. Unit testing is performed by:


A. End users
B. Testers
C. Developers ✔️
D. Clients

Q6. Which testing checks whether a new code change has affected existing functionality?
A. Regression Testing ✔️
B. Integration Testing
C. Sanity Testing
D. Load Testing

Q7. What is Sanity Testing?


A. Performance testing
B. Deep system-wide testing
C. Quick test after changes ✔️
D. Random testing

Q8. Which testing checks critical functionalities after build?


A. System Testing
B. Smoke Testing ✔️
C. Acceptance Testing
D. Usability Testing

Q9. Which is a white-box testing method?


A. Loop testing ✔️
B. Boundary testing
C. Stress testing
D. GUI testing

Q10. Alpha testing is done:


A. At end-user site
B. By external customers
C. In the development environment ✔️
D. At client location

🔄 MCQs 11–20: Testing Levels, Lifecycle, Tools

Q11. Which comes first in testing levels?


A. Integration
B. Unit ✔️
C. System
D. Acceptance

Q12. Which tool is used for bug tracking?


A. Selenium
B. Bugzilla ✔️
C. QTP
D. LoadRunner

Q13. In the defect life cycle, which is the correct order?


A. Fixed → Assigned → Retest
B. New → Assigned → Open ✔️
C. Closed → Retest → Open
D. Assigned → Fixed → New

Q14. What type of testing focuses on user interfaces and overall experience?
A. Usability Testing ✔️
B. Load Testing
C. Regression Testing
D. System Testing

Q15. Acceptance testing is generally performed by:


A. Testers
B. Developers
C. Clients/Users ✔️
D. Designers

Q16. Which testing ensures software performs under load?


A. Integration Testing
B. Load Testing ✔️
C. Unit Testing
D. Smoke Testing

Q17. Beta testing is done:


A. In-house
B. By developers
C. By end-users ✔️
D. During planning

Q18. What is the purpose of a test case?


A. Describe UI
B. Define project budget
C. Specify inputs, steps, expected results ✔️
D. Report bugs
Q19. Which testing is NOT dynamic?
A. Regression Testing
B. Load Testing
C. Walkthrough ✔️
D. Alpha Testing

Q20. Which of these is not a level of testing?


A. Unit
B. Integration
C. System
D. Structural ✔️

🧠 MCQs 21–30: Deep Concepts & Scenario-based

Q21. Equivalence partitioning means:


A. Divide inputs into valid/invalid groups ✔️
B. Execute all loops
C. Test boundary values
D. Simulate concurrent users

Q22. What’s the benefit of automation testing?


A. Increases manual work
B. Reduces test coverage
C. Speeds up repetitive testing ✔️
D. More bugs introduced

Q23. Which testing technique checks program logic?


A. Functional
B. Black-box
C. White-box ✔️
D. Regression
Q24. Smoke Testing is also called:
A. Final testing
B. Build verification ✔️
C. Monkey testing
D. Integration testing

Q25. A software testing technique that involves checking all possible combinations of input
values is:
A. Exhaustive testing ✔️
B. Black-box
C. Random testing
D. Alpha testing

Q26. Selenium is used for:


A. Performance testing
B. GUI automation ✔️
C. Manual testing
D. Data modeling

Q27. Which tool is best suited for unit testing in Java?


A. QTP
B. LoadRunner
C. JUnit ✔️
D. Selenium

Q28. In white-box testing, which of these is commonly used?


A. Statement coverage ✔️
B. Boundary testing
C. Stress testing
D. GUI testing

Q29. Which type of testing can be done without the actual program being run?
A. Dynamic
B. Functional
C. Static ✔️
D. Sanity

Q30. Retesting differs from regression testing in that:


A. Retesting is broad
B. Regression is narrow
C. Retesting checks fixed bugs ✔️
D. Regression tests only new features

🖥️ SOFTWARE DESIGN & ARCHITECTURE – In-Depth Notes (Bihar STET Paper 2 Focused)
(⭐⭐⭐ ⭐ – Important Topic)

🔶 1. What is Software Design?

✅ Definition:
Software Design is the process of transforming requirements into a blueprint for constructing
the software. It bridges requirements analysis and implementation.

✅ Levels of Design:

 High-Level Design (HLD):


– Defines system architecture and major components.
– Identifies modules, their interactions, and data flow.

 Low-Level Design (LLD):


– Details internal logic of each module.
– Specifies algorithms, data structures, and interfaces.

🔶 2. Design Principles

✅ (i) Modularity

 Definition: Divide system into discrete modules with well-defined interfaces.

 Benefit: Easier development, testing, and maintenance.

✅ (ii) Cohesion
 Definition: Degree to which elements of a module belong together.

 Types:

o Functional Cohesion (best) – Single well-defined task.

o Logical Cohesion (weaker) – Related tasks grouped.

✅ (iii) Coupling

 Definition: Degree of interdependence between modules.

 Types:

o Low Coupling (desired) – Modules communicate via simple interfaces.

o High Coupling (undesirable) – Tight interconnections.

✅ (iv) Abstraction & Encapsulation

 Abstraction: Hiding complexity by exposing only necessary details.

 Encapsulation: Bundling data and methods that operate on the data within a module.

✅ (v) Separation of Concerns

 Definition: Divide a program into distinct features with minimal overlap in functionality.

🔶 3. Architectural Styles & Patterns

✅ (i) Layered (n-Tier) Architecture

 Organizes system into layers (Presentation, Business, Data).

 Each layer has specific responsibility; communicates only with adjacent layers.

✅ (ii) Client-Server Architecture

 Client: Requests services.

 Server: Provides services.

 Example: Web applications (browser ↔ web server ↔ database server).

✅ (iii) MVC (Model-View-Controller)

 Model: Data and business logic.


 View: UI representation.

 Controller: Handles input, updates model/view.

✅ (iv) Microservices

 System as a suite of small, independent services working together.

 Each service runs in its own process and communicates via lightweight mechanisms
(e.g., REST).

🔶 4. Design Documentation

✅ Data Flow Diagrams (DFD):

 Show data movement between processes.

 Levels of DFD: Level 0 (Context Diagram), Level 1, etc.

✅ Entity-Relationship Diagrams (ERD):

 Model data entities, attributes, and relationships.

✅ UML Diagrams:

 Class Diagram: Shows classes, attributes, operations, and relationships.

 Use Case Diagram: Depicts actors and their interactions with the system.

 Sequence Diagram: Illustrates object interactions over time.

🔶 5. Design Metrics

✅ Cyclomatic Complexity (McCabe):

 Measures number of linearly independent paths through code.

 Formula: M = E – N + 2P (E = edges, N = nodes, P = connected components).

✅ Fan-in / Fan-out:

 Fan-in: Number of modules that call a given module.

 Fan-out: Number of modules called by a given module.


🔶 6. STET PYQ Tips

 Definitions & Differences: Cohesion vs. Coupling, HLD vs. LLD.

 Diagram Recognition: Identify DFD levels, UML symbols.

 Architecture Suitability: When to use MVC vs. Layered vs. Microservices.

 Metric Calculations: Simple cyclomatic complexity examples.

🎯 30 High-Probability MCQs on Software Design & Architecture

MCQs 1–10: Principles & Concepts

1. What does high cohesion indicate?


A) Modules perform many unrelated tasks
B) Elements within a module are strongly related ✔️
C) Modules are highly interdependent
D) System is loosely structured
Explanation: High cohesion means module elements focus on a single task.

2. Low coupling means:


A) Modules share many data items
B) Modules are tightly interdependent
C) Modules interact through simple interfaces ✔️
D) System has no modules
Explanation: Low coupling minimizes dependencies.

3. Which principle hides internal details of a module?


A) Modularity
B) Abstraction ✔️
C) Coupling
D) Cohesion
Explanation: Abstraction exposes only necessary features.

4. Which design level specifies algorithms and data structures?


A) HLD
B) LLD ✔️
C) Architectural design
D) Requirement design
Explanation: Low-Level Design details module internals.

5. MVC stands for:


A) Model-View-Component
B) Module-View-Controller
C) Model-View-Controller ✔️
D) Model-Visual-Controller
Explanation: MVC separates data, UI, and input handling.

6. In layered architecture, which layer handles database operations?


A) Presentation
B) Business
C) Data ✔️
D) UI
Explanation: Data layer manages persistence.

7. A class diagram is part of:


A) DFD
B) ERD
C) UML ✔️
D) Flowchart
Explanation: UML class diagrams model static structure.

8. Cyclomatic complexity measures:


A) Number of classes
B) Number of modules
C) Control flow paths ✔️
D) Data objects
Explanation: It counts independent execution paths.

9. Which architecture is best for highly scalable, independent services?


A) MVC
B) Layered
C) Monolithic
D) Microservices ✔️
Explanation: Microservices isolate functionality in services.

10. Fan-in of a module indicates:


A) How many modules it calls
B) How many modules call it ✔️
C) Number of functions inside
D) Number of lines of code
Explanation: Fan-in counts incoming calls.

MCQs 11–20: Diagrams & Documentation

11. Level 0 DFD is also called:


A) Detailed Diagram
B) Context Diagram ✔️
C) Internal Diagram
D) Physical Diagram
Explanation: Context shows system as one process.

12. An ERD shows:


A) Control flow
B) Data entities and relationships ✔️
C) Sequence of events
D) Module coupling
Explanation: ERD models data structure.

13. Which UML diagram depicts object interactions over time?


A) Class Diagram
B) Use Case Diagram
C) Sequence Diagram ✔️
D) Activity Diagram
Explanation: Sequence diagrams show message exchanges.

14. A use case diagram represents:


A) Data flow
B) Actors and system interactions ✔️
C) Class attributes
D) Deployment environment
Explanation: Use cases define functionality from user perspective.

15. Which symbol in UML denotes inheritance?


A) Dashed arrow
B) Solid line with hollow triangle ✔️
C) Solid line with filled diamond
D) Dashed line with circle
Explanation: Hollow triangle arrow shows generalization.

16. DFD process is represented by:


A) Rectangle
B) Circle (or rounded rectangle) ✔️
C) Arrow
D) Double rectangle
Explanation: Processes use circles or rounded rectangles.

17. Data store in DFD is shown as:


A) Arrow
B) Open-ended rectangle ✔️
C) Circle
D) Triangle
Explanation: Open-ended rectangle denotes a data store.

18. Which UML diagram shows system’s static structure?


A) Activity Diagram
B) Sequence Diagram
C) Class Diagram ✔️
D) State Diagram
Explanation: Class diagrams capture classes and relationships.

19. Activity diagrams are most similar to:


A) Flowcharts ✔️
B) ERDs
C) Use Cases
D) State Diagrams
Explanation: Both model workflow logic.

20. Which is NOT part of HLD?


A) Module identification
B) Database schema
C) Algorithm pseudocode ✔️
D) Interface specifications
Explanation: Pseudocode belongs to LLD.

MCQs 21–30: Architecture & Metrics


21. Client-Server model separates:
A) Presentation & Data ✔️
B) Control & Logic
C) UI & Hardware
D) User & Client
Explanation: Clients handle UI; servers manage data.

22. Separation of concerns improves:


A) Performance
B) Modularity ✔️
C) Coupling
D) Data size
Explanation: Distinct features reside in separate modules.

23. Encapsulation ensures:


A) Data and methods are hidden inside a module ✔️
B) Code runs faster
C) Modules communicate directly
D) High coupling
Explanation: Encapsulation hides internal state.

24. Which pattern is useful for decoupling UI from business logic?


A) Singleton
B) Factory
C) MVC ✔️
D) Adapter
Explanation: MVC separates view and logic.

25. Monolithic architecture means:


A) Single deployable unit ✔️
B) Multiple services
C) No database
D) Client-only app
Explanation: All modules in one executable.

26. Fan-out measures:


A) Incoming calls
B) Outgoing calls ✔️
C) Number of lines
D) Number of loops
Explanation: Fan-out counts modules this module calls.

27. Hollow diamond in UML indicates:


a) Aggregation ✔️
b) Composition
c) Inheritance
d) Association
Explanation: Aggregation uses hollow diamond.

28. Which architecture is most rigid and hard to scale?


A) Microservices
B) Layered
C) Monolithic ✔️
D) Client-Server
Explanation: Monoliths combine all components.

29. Cyclomatic complexity of a single-sequential program is:


A) 0
B) 1 ✔️
C) 2
D) 3
Explanation: A linear program has one path.

30. Abstract class in UML is shown by:


A) Italic name ✔️
B) Bold name
C) Underlined name
D) Dotted line
Explanation: Abstract class names are italicized

SDLC Phases ⭐⭐⭐⭐⭐ notes +25 MCQS

🔶 1. What is SDLC?

✅ Software Development Life Cycle (SDLC) is a structured process followed for


developing software applications. It outlines the various stages involved from inception
to deployment and maintenance, ensuring quality and efficiency.

✅ Purpose:

 To produce high-quality software that meets or exceeds customer expectations.


 To deliver software within time and budget.

🔶 2. Key Phases of SDLC

1. Requirement Gathering and Analysis

o Collect detailed functional and non-functional requirements from


stakeholders.

o Analyze feasibility and document Software Requirement Specification


(SRS).

2. System Design

o Create high-level (architecture) and low-level (detailed) design based on


SRS.

o Define system models, database design, interface design.

3. Implementation (Coding)

o Translate design into source code using suitable programming languages.

o Follow coding standards and guidelines.

4. Testing

o Verify the software against requirements.

o Types: Unit Testing, Integration Testing, System Testing, Acceptance


Testing.

o Aim to find and fix bugs.

5. Deployment

o Install the software in the production environment.

o Train users if necessary.

6. Maintenance

o Perform bug fixes, updates, and enhancements post-deployment.

o Corrective, adaptive, perfective, and preventive maintenance.


🔶 3. Models of SDLC

✅ Common Models:

 Waterfall Model: Sequential phase-wise execution. Simple but inflexible.

 Iterative Model: Repeated cycles, allows incremental improvements.

 V-Model: Verification and validation steps parallel to each phase.

 Agile Model: Iterative, flexible, emphasizes collaboration and rapid delivery.

🔶 4. Importance of SDLC

✅ Ensures structured and disciplined approach to software development.


✅ Helps in project planning, scheduling, and resource allocation.
✅ Improves software quality and reduces risks.
✅ Facilitates documentation and tracking.
✅ Enhances customer satisfaction by meeting requirements accurately.

🔶 5. Common Deliverables in SDLC

 Requirement Specification Document

 Design Document

 Test Plans and Test Cases

 Source Code

 User Manuals

 Maintenance Reports

🔶 25 MCQs on SDLC Phases

1. What is the primary objective of SDLC?


a) To design hardware
b) To develop high-quality software within time and budget
c) To test software only
d) To deploy software

2. Which phase involves collecting detailed user requirements?


a) Implementation
b) Testing
c) Requirement Gathering and Analysis
d) Maintenance

3. The SRS document is prepared in which SDLC phase?


a) System Design
b) Requirement Gathering
c) Testing
d) Deployment

4. Which SDLC model follows a strict sequential order?


a) Agile
b) Iterative
c) Waterfall
d) Spiral

5. What is the main focus of the Testing phase?


a) Writing code
b) Fixing bugs before deployment
c) Deploying software
d) Gathering requirements

6. Maintenance phase includes:


a) Coding new software only
b) Bug fixing, updates, and enhancements
c) User training only
d) Requirement analysis

7. Which SDLC model emphasizes collaboration and rapid delivery?


a) Waterfall
b) Agile
c) V-Model
d) Spiral

8. What does the System Design phase produce?


a) Source code
b) Test cases
c) Design specifications and models
d) Deployment plan

9. Which testing type verifies individual units or components?


a) System Testing
b) Unit Testing
c) Acceptance Testing
d) Integration Testing

10. In which phase is user training usually conducted?


a) Requirement Gathering
b) Implementation
c) Deployment
d) Maintenance

11. The iterative SDLC model allows:


a) Only one pass through phases
b) Multiple passes and incremental development
c) No testing
d) Skipping deployment

12. The V-Model is also known as:


a) Verification and Validation model
b) Waterfall model
c) Agile model
d) Incremental model

13. The document that outlines what the software should do is called:
a) Test Plan
b) SRS
c) Deployment Guide
d) Design Document
14. Which phase involves translating design into code?
a) Implementation
b) Testing
c) Maintenance
d) Requirement Analysis

15. What kind of maintenance is performed to improve software performance?


a) Corrective
b) Adaptive
c) Perfective
d) Preventive

16. Which SDLC phase comes after coding?


a) Deployment
b) Testing
c) Design
d) Requirement Gathering

17. What is the primary deliverable of the Testing phase?


a) Bug report
b) Source code
c) Requirement Document
d) Design Document

18. Agile SDLC mainly uses:


a) Long cycles
b) Iterative and incremental development
c) No documentation
d) Sequential process

19. Waterfall model is best suited for:


a) Projects with fixed and clear requirements
b) Projects with changing requirements
c) Large-scale projects only
d) Only web applications

20. Which phase focuses on installing software into the user environment?
a) Deployment
b) Maintenance
c) Testing
d) Requirement Analysis

21. What is the first phase in SDLC?


a) Testing
b) Requirement Gathering and Analysis
c) Design
d) Implementation

22. What does SRS stand for?


a) Software Requirements Specification
b) System Resource Scheduling
c) Software Runtime System
d) System Requirement Strategy

23. What is the primary goal of the Requirement Analysis phase?


a) Writing code
b) Understanding user needs and feasibility
c) Testing software
d) Deploying software

24. In which SDLC phase is the test plan prepared?


a) Design
b) Requirement Gathering
c) Testing
d) Implementation

25. Which model is flexible and allows changing requirements?


a) Waterfall
b) Agile
c) V-Model
d) Spiral

🖥️ SOFTWARE REQUIREMENTS ENGINEERING – In-Depth Notes


(⭐⭐⭐⭐ – 4-Star Topic Based on Bihar STET PYQ Trend)
🔶 1. What is Software Requirements Engineering (SRE)?

✅ Definition:
It is the process of eliciting, documenting, validating, and managing the needs and
functionalities of a software system.

✅ Purpose:
Ensure that the software product meets the expectations of stakeholders and is technically
feasible.

🔶 2. Types of Requirements

✅ (i) Functional Requirements (FR):

 Describe what the system should do.

 E.g., “The system shall send an email upon successful registration.”

✅ (ii) Non-Functional Requirements (NFR):

 Describe how the system performs a function.

 E.g., reliability, performance, security, usability.

✅ (iii) Domain Requirements:

 Derived from the application domain and may not be clearly stated.

🔶 3. Requirement Engineering Process

✅ Phases:

1. Feasibility Study:
– Analyze whether the system is practical and cost-effective.

2. Requirements Elicitation:
– Techniques: Interviews, questionnaires, observations, prototyping.

3. Requirements Analysis:
– Resolve conflicts, classify requirements, and prioritize.

4. Requirements Specification:
– Documenting requirements in SRS (Software Requirements Specification).
5. Requirements Validation:
– Check for consistency, completeness, correctness.

6. Requirements Management:
– Handle requirement changes throughout the project lifecycle.

🔶 4. Software Requirements Specification (SRS)

✅ Definition:
A formal document describing system functionalities, constraints, and interactions.

✅ Characteristics of a Good SRS:

 Correct

 Unambiguous

 Complete

 Consistent

 Verifiable

 Modifiable

 Traceable

✅ IEEE 830 Standard is commonly followed.

🔶 5. Requirements Elicitation Techniques

✅ Common techniques include:

 Interviews

 Brainstorming

 Focus Groups

 Prototyping

 Use Cases

 Scenarios
 Observation

 Document Analysis

🔶 6. Common Issues in Requirements Engineering

✅ Ambiguity
✅ Incompleteness
✅ Changing requirements
✅ Stakeholder conflicts
✅ Poor documentation

🎯 20 High-Probability MCQs – Software Requirements Engineering

1. Which type of requirement specifies what the system should do?


A) Non-functional
B) Functional ✔️
C) Domain
D) Performance
📝 Explanation: Functional requirements define expected behaviors.

2. Which document contains detailed software requirements?


A) Feasibility Report
B) User Manual
C) SRS ✔️
D) Test Plan
📝 Explanation: Software Requirements Specification (SRS) lists all requirements.

3. Which of the following is a non-functional requirement?


A) Print student report
B) Login validation
C) System response time < 1s ✔️
D) Search feature
📝 Explanation: Performance constraints are NFRs.

4. What is the main objective of requirements validation?


A) Prioritization
B) Error detection ✔️
C) Cost Estimation
D) Coding
📝 Explanation: Validation checks correctness and completeness.

5. Which IEEE standard is used for SRS?


A) IEEE 829
B) IEEE 830 ✔️
C) IEEE 1028
D) IEEE 1016
📝 Explanation: IEEE 830 is for Software Requirements Specification.

6. Changing requirements are best managed through:


A) Testing
B) Design
C) Configuration management ✔️
D) Maintenance
📝 Explanation: Configuration management tracks changes.

7. Which phase ensures that requirements are feasible and realistic?


A) Validation
B) Feasibility Study ✔️
C) Specification
D) Testing
📝 Explanation: Feasibility study checks cost/tech viability.
8. The requirement “System should be available 24/7” is:
A) Functional
B) Non-functional ✔️
C) Derived
D) Behavioral
📝 Explanation: It’s an availability constraint (NFR).

9. A requirement that originates from the business domain is:


A) Derived
B) Functional
C) Domain ✔️
D) Technical
📝 Explanation: Domain requirements relate to the application field.

10. Prototyping is used in which phase?


A) Validation
B) Specification
C) Elicitation ✔️
D) Testing
📝 Explanation: Helps in understanding user needs.

11. Which is NOT a requirement elicitation technique?


A) Interview
B) Use Case
C) Coding ✔️
D) Prototyping
📝 Explanation: Coding is part of implementation.

12. What makes a good requirement specification?


A) Abstract
B) Short
C) Unambiguous ✔️
D) Complex
📝 Explanation: Requirements should be clear and interpretable.

13. Requirement “user must log in before access” is:


A) Usability
B) Performance
C) Functional ✔️
D) Portability
📝 Explanation: Describes a specific function.

14. The process of obtaining requirements from users is called:


A) Specification
B) Elicitation ✔️
C) Validation
D) Design
📝 Explanation: Gathering requirements = elicitation.

15. “Maintainability” is what type of requirement?


A) Functional
B) Non-functional ✔️
C) Business
D) Operational
📝 Explanation: Maintainability relates to system performance over time.

16. Which issue is common during requirement analysis?


A) Debugging
B) Ambiguity ✔️
C) Compilation error
D) Regression
📝 Explanation: Requirements often lack clarity.
17. Use Case diagrams are used for:
A) Design
B) Implementation
C) Requirement Analysis ✔️
D) Testing
📝 Explanation: Use cases help in capturing user-system interaction.

18. Traceability in SRS helps in:


A) Execution
B) Performance
C) Tracking requirement origin ✔️
D) Security
📝 Explanation: Traceability helps manage requirement changes.

19. In the SRS, requirements should be:


A) Conflicting
B) Redundant
C) Testable ✔️
D) Broad
📝 Explanation: Testability ensures requirements can be validated.

20. Who is the primary stakeholder in requirement gathering?


A) Tester
B) End User ✔️
C) DBA
D) UI Designer
📝 Explanation: End users provide the functional needs.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy