Study Material

Software Engineering – SDLC, Analysis, Design, Testing & Project Management

Read the important current affairs of 15 July 2026 for SSC, Banking, UPSC, Railway and all competitive exams.

14 Sep 2026 5 Min Read Quizer Team 15 Views

14

September 2026


Below are exam-oriented notes + 60 important MCQs covering Software Development Life Cycle (SDLC), Software Analysis, Design, Testing, and Project Management. These topics are particularly useful for Bihar STET Computer Science and other competitive exams.


1. Software Engineering

Software Engineering is the systematic, disciplined and measurable approach to the development, operation and maintenance of software.

Main objectives

  • Develop quality software
  • Reduce development cost
  • Complete projects on time
  • Make software maintainable
  • Improve reliability
  • Meet user requirements

Characteristics of good software

A good software system should be:

  • Correct
  • Reliable
  • Efficient
  • Maintainable
  • Usable
  • Secure
  • Scalable
  • Portable

2. Software Development Life Cycle (SDLC)

SDLC is a systematic process used to develop software from the initial idea/requirements through deployment and maintenance.

Major phases

  1. Planning / Feasibility
  2. Requirement Analysis
  3. System Design
  4. Implementation / Coding
  5. Testing
  6. Deployment
  7. Maintenance

SDLC Flow

Planning → Analysis → Design → Coding → Testing → Deployment → Maintenance


3. Planning and Feasibility Study

Before development begins, the organization determines whether the proposed system is feasible.

Types of feasibility

1. Technical Feasibility

Determines whether the required:

  • Hardware
  • Software
  • Technology
  • Technical expertise

are available.

2. Economic Feasibility

Determines whether the project is economically worthwhile.

It compares:

Expected benefits vs. Development costs

3. Operational Feasibility

Determines whether the proposed system can operate effectively within the organization.

4. Schedule Feasibility

Determines whether the project can be completed within the required time.

5. Legal Feasibility

Checks compliance with applicable laws, regulations and contractual requirements.


4. Requirement Analysis

Requirement analysis determines what the software should do.

Requirements are collected from:

  • Customers
  • End users
  • Managers
  • Domain experts
  • Existing systems
  • Documents

Requirement Engineering

The major activities include:

  1. Elicitation
  2. Analysis
  3. Specification
  4. Validation
  5. Management

5. Functional Requirements

Functional requirements describe what the system should do.

Examples:

  • User can register.
  • User can log in.
  • System generates reports.
  • Customer can place an order.
  • Administrator can add users.

6. Non-Functional Requirements

Non-functional requirements describe how the system should perform or constraints on the system.

Examples:

  • Performance
  • Security
  • Reliability
  • Usability
  • Scalability
  • Availability
  • Maintainability

Example

Functional: User can upload a file.

Non-functional: File upload must complete within 5 seconds.


7. SRS

SRS = Software Requirements Specification

It is a formal document describing software requirements.

An SRS generally contains:

  • Functional requirements
  • Non-functional requirements
  • Interfaces
  • Constraints
  • Assumptions
  • External requirements

Characteristics of a good SRS

It should be:

  • Correct
  • Complete
  • Unambiguous
  • Consistent
  • Verifiable
  • Modifiable
  • Traceable

8. Software Design

Software design converts requirements into a blueprint for implementation.

Two important levels are:

High-Level Design (HLD)

Describes the overall system architecture.

Includes:

  • Major modules
  • Components
  • Database architecture
  • Interfaces
  • System architecture

Low-Level Design (LLD)

Describes the detailed internal design of individual modules.

Includes:

  • Algorithms
  • Classes
  • Functions
  • Data structures
  • Detailed interfaces

9. Modular Design

A complex software system is divided into smaller modules.

Advantages

  • Easier development
  • Easier testing
  • Easier maintenance
  • Better understanding
  • Reusability

10. Cohesion

Cohesion measures how closely related the responsibilities of elements within a module are.

High cohesion is desirable.

A highly cohesive module performs closely related tasks.

Types of cohesion

From generally weaker to stronger:

  1. Coincidental
  2. Logical
  3. Temporal
  4. Procedural
  5. Communicational
  6. Sequential
  7. Functional

Functional cohesion is generally considered the strongest.


11. Coupling

Coupling measures the degree of dependency between modules.

Low coupling is desirable.

A system with low coupling is easier to:

  • Modify
  • Test
  • Maintain
  • Reuse

Important principle

High Cohesion + Low Coupling = Good Design


12. Architectural Design

Software architecture defines the overall organization of the system.

Common architectures include:

Layered Architecture

System is divided into layers.

Example:

Presentation → Business Logic → Data Access → Database

Client-Server Architecture

Clients request services from servers.

Three-Tier Architecture

  1. Presentation Layer
  2. Application/Business Logic Layer
  3. Data Layer

13. UML

UML = Unified Modeling Language

UML is used for visualizing, specifying and documenting software systems.

Important UML diagrams:

  • Use Case Diagram
  • Class Diagram
  • Sequence Diagram
  • Activity Diagram
  • State Machine Diagram
  • Component Diagram
  • Deployment Diagram

14. Use Case Diagram

A use case diagram represents interactions between:

  • Actors
  • System

Actor

An actor is an external entity interacting with the system.

Example:

For an online banking system:

Customer → Login → Banking System


15. Class Diagram

A class diagram represents:

  • Classes
  • Attributes
  • Methods
  • Relationships

It is widely used in object-oriented design.


16. Sequence Diagram

A sequence diagram shows interactions between objects/components over time.

It focuses on the sequence of messages exchanged.


17. Software Development Models

Important SDLC models include:

  1. Waterfall Model
  2. Prototype Model
  3. Incremental Model
  4. Spiral Model
  5. V-Model
  6. Agile Model

18. Waterfall Model

The Waterfall model follows a largely sequential approach.

Typical flow:

Requirements → Design → Implementation → Testing → Deployment → Maintenance

Advantages

  • Simple
  • Easy to understand
  • Well-defined phases
  • Useful when requirements are stable

Disadvantages

  • Difficult to accommodate changing requirements
  • Testing occurs relatively late
  • Customer feedback may come late

19. Prototype Model

A prototype is an early working model of the system.

Useful when:

  • Requirements are unclear
  • User needs are not fully understood

Basic process

Requirements → Prototype → User Feedback → Refinement → Final System


20. Spiral Model

The Spiral Model emphasizes:

Risk analysis

Each cycle generally includes:

  1. Planning
  2. Risk analysis
  3. Engineering
  4. Evaluation

It is suitable for large and high-risk projects.


21. V-Model

The V-Model emphasizes verification and validation.

A simplified representation:

Requirements ↔ Acceptance Testing

System Design ↔ System Testing

Architecture Design ↔ Integration Testing

Module Design ↔ Unit Testing

Coding is at the bottom of the V.


22. Agile Development

Agile development emphasizes:

  • Iterative development
  • Incremental delivery
  • Customer collaboration
  • Continuous feedback
  • Responding to change

Instead of waiting until the entire product is finished, working software is delivered frequently.


23. Scrum

Scrum is a popular Agile framework.

Important roles:

  • Product Owner
  • Scrum Master
  • Developers

Important concepts:

  • Product Backlog
  • Sprint
  • Sprint Backlog
  • Increment
  • Daily Scrum
  • Sprint Review
  • Sprint Retrospective

Sprint

A Sprint is a fixed development period during which a usable increment is produced.


24. Software Testing

Software testing is the process of evaluating software to identify defects and determine whether requirements are satisfied.

Objectives

  • Find defects
  • Verify requirements
  • Validate behavior
  • Improve quality
  • Reduce risk

25. Verification vs Validation

Verification

"Are we building the product right?"

It checks whether software artifacts conform to specifications.

Examples:

  • Reviews
  • Inspections
  • Walkthroughs

Validation

"Are we building the right product?"

It checks whether the final software meets user needs.

Examples:

  • Testing the running software
  • Acceptance testing

26. Levels of Testing

Four important testing levels are:

  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Acceptance Testing

27. Unit Testing

Tests individual units/modules.

Usually performed by:

Developers

Example:

Testing a single login function.


28. Integration Testing

Tests interactions between integrated modules.

Example:

Testing whether:

Login Module ↔ User Database

works correctly.


29. System Testing

Tests the complete integrated system.

Usually evaluates the system against specified requirements.


30. Acceptance Testing

Determines whether the software is acceptable to the customer/user.

Common types:

  • User Acceptance Testing (UAT)
  • Alpha testing
  • Beta testing

31. Black-Box Testing

Tester focuses on:

Input → Output

without requiring knowledge of internal implementation.

Techniques include:

  • Equivalence partitioning
  • Boundary value analysis
  • Decision table testing
  • State transition testing

32. White-Box Testing

Tester examines the internal logic/code structure.

Techniques include:

  • Statement coverage
  • Branch coverage
  • Path coverage
  • Condition coverage

33. Regression Testing

Regression testing checks whether recent changes have introduced defects into previously working functionality.

It is especially important after:

  • Bug fixes
  • Feature additions
  • Code changes

34. Smoke Testing

Smoke testing is a preliminary test to determine whether a build is stable enough for more detailed testing.

It is often called:

Build Verification Testing


35. Sanity Testing

Sanity testing is focused testing performed after specific changes or fixes to verify that the affected functionality works correctly.


36. Alpha and Beta Testing

Alpha Testing

Usually performed in a controlled environment by the development organization or internal testers.

Beta Testing

Performed by selected external users/customers in a real or realistic environment.


37. Debugging

Testing identifies defects; debugging finds and fixes their causes.

Typical debugging process:

  1. Identify failure
  2. Locate defect
  3. Determine root cause
  4. Fix defect
  5. Retest
  6. Perform regression testing

38. Software Maintenance

After deployment, software requires maintenance.

Types:

Corrective Maintenance

Fixes discovered defects.

Adaptive Maintenance

Adapts software to changes in:

  • Operating system
  • Hardware
  • Regulations
  • External environment

Perfective Maintenance

Improves functionality or performance based on user needs.

Preventive Maintenance

Improves maintainability and reduces future problems.


39. Project Management

Software project management involves planning, organizing, monitoring and controlling software projects.

Major areas:

  • Scope
  • Schedule
  • Cost
  • Quality
  • Resources
  • Risk
  • Communication

40. Project Scope

Scope defines:

  • What is included
  • What is excluded
  • Project boundaries
  • Deliverables

Scope creep occurs when project requirements expand without appropriate control.


41. Work Breakdown Structure (WBS)

WBS divides a project into smaller manageable tasks/work packages.

Example:

Website Project

→ Requirement Analysis
→ UI Design
→ Backend Development
→ Database
→ Testing
→ Deployment


42. Gantt Chart

A Gantt chart visually represents:

  • Tasks
  • Start dates
  • End dates
  • Duration
  • Progress

It is commonly used for project scheduling.


43. PERT

PERT = Program Evaluation and Review Technique

PERT is useful when task duration estimates are uncertain.

Three estimates:

  • Optimistic (O)
  • Most Likely (M)
  • Pessimistic (P)

Expected time:

TE = (O + 4M + P) / 6


44. Critical Path Method (CPM)

CPM identifies the critical path in a project.

The critical path determines the minimum project completion time.

Activities on the critical path generally have:

Zero total float/slack.

A delay in a critical-path activity can delay the entire project.


45. Risk Management

Risk management involves:

  1. Risk Identification
  2. Risk Analysis
  3. Risk Response/Planning
  4. Risk Monitoring

Common software risks

  • Requirement changes
  • Technology failure
  • Schedule delays
  • Budget overruns
  • Staff turnover
  • Security problems

46. Risk Exposure

A commonly used simplified formula is:

Risk Exposure = Probability × Impact

Example:

If probability = 0.2 and impact = ₹1,00,000:

Risk Exposure = 0.2 × 1,00,000 = ₹20,000


47. COCOMO

COCOMO = Constructive Cost Model

It is used for estimating software development effort, cost and schedule.

The model was developed by:

Barry Boehm

Basic COCOMO

Effort is commonly represented as:

Effort = a × (KLOC)^b

where:

KLOC = Thousand Lines of Code


48. Software Quality

Important software quality attributes include:

  • Correctness
  • Reliability
  • Usability
  • Efficiency
  • Maintainability
  • Portability
  • Security

49. Important Formulas

PERT

TE = (O + 4M + P) / 6

Risk Exposure

RE = Probability × Impact

Basic COCOMO

Effort = a × (KLOC)^b


Bihar STET Most Important One-Liners

For quick revision, remember these:

  • SDLC → Software Development Life Cycle
  • SRS → Software Requirements Specification
  • Functional requirement → What the system does
  • Non-functional requirement → Quality/constraint of the system
  • HLD → High-Level Design
  • LLD → Low-Level Design
  • Good design → High cohesion + Low coupling
  • UML → Unified Modeling Language
  • Use Case → Actors + System interactions
  • Class Diagram → Classes, attributes, methods
  • Sequence Diagram → Interaction over time
  • Waterfall → Sequential model
  • Spiral → Risk-oriented model
  • Prototype → Useful when requirements are unclear
  • V-Model → Verification + Validation
  • Agile → Iterative + Incremental + adaptive
  • Scrum → Agile framework
  • Sprint → Fixed development iteration
  • Unit Testing → Individual module
  • Integration Testing → Interaction between modules
  • System Testing → Complete system
  • Acceptance Testing → Customer/user acceptance
  • Black-box → No need to know internal code
  • White-box → Internal code/logic
  • Regression Testing → Checks impact of changes
  • Smoke Testing → Basic build stability
  • Debugging → Finds and fixes defect causes
  • Verification → "Building the product right"
  • Validation → "Building the right product"
  • Corrective maintenance → Fix defects
  • Adaptive maintenance → Environmental changes
  • Perfective maintenance → Improve functionality/performance
  • Preventive maintenance → Reduce future problems
  • WBS → Work Breakdown Structure
  • Gantt Chart → Project schedule
  • PERT → Handles uncertain activity times
  • CPM → Critical Path
  • Critical path → Determines minimum project duration
  • Risk Exposure → Probability × Impact
  • COCOMO → Software cost/effort estimation
  • KLOC → Thousand Lines of Code
Why Quizer.in is Important?

Quizer.in is your complete one-stop platform for daily current affairs, interactive quizzes, and exam-focused study material. Whether you are preparing for SSC, Banking, Railway, UPSC, State PSC or Teaching exams, regular practice on Quizer.in helps you:

  • Stay updated with the latest current affairs
  • Improve accuracy and speed through daily quizzes
  • Strengthen your General Awareness section
  • Build consistency and stay ahead of the competition
Quizer Team
About the Author

Quizer Team

Passionate about current affairs, competitive exams, and helping aspirants succeed.

📢 Join Our WhatsApp Channel

Get Daily GK, Current Affairs, Amazing Facts & Quiz Updates.

🚀 Join Now

Related Articles

View All
Study Material
14 Sep 2026 17
Read More
Study Material
14 Sep 2026 20
Read More
Study Material
14 Sep 2026 16
Read More