🧩 Software Engineering — Key Definitions + 30 MCQs
📘 Important Short Definitions with Examples
1. Software Engineering:
The systematic application of engineering principles to software development to ensure
reliability and efficiency.
Example: Following Agile methodology for developing a banking app.
2. Software Process Model:
A structured sequence of activities in software development (e.g., analysis, design,
coding, testing).
Example: Waterfall, Spiral, Agile.
3. Waterfall Model:
A linear sequential model where each phase must be completed before the next begins.
Example: Requirement → Design → Implementation → Testing → Maintenance.
4. Agile Model:
Iterative and incremental development model focusing on collaboration and flexibility.
Example: Scrum and Kanban.
5. Requirement Engineering:
The process of gathering, analyzing, documenting, and validating software requirements.
Example: Conducting interviews to gather system needs.
6. Functional Requirement:
Defines what a system should do.
Example: “System should allow user login.”
7. Non-Functional Requirement:
Defines how a system should perform.
Example: “System must load within 2 seconds.”
8. SRS (Software Requirement Specification):
A formal document describing all functional and non-functional requirements of a
system.
9. Cohesion:
The degree to which elements of a module belong together.
Example: High cohesion → module does one specific task.
10. Coupling:
The degree of interdependence between modules.
Example: Low coupling = easier maintenance.
11. UML (Unified Modeling Language):
A visual modeling language to describe system design.
Example: Use Case, Class, and Sequence diagrams.
12. Use Case Diagram:
Shows system functionality and interaction between users (actors) and the system.
13. Sequence Diagram:
Shows interaction between objects in a time sequence.
14. Modularity:
Dividing software into smaller, manageable parts (modules).
15. Software Testing:
Process to verify software meets requirements.
Example: Unit testing each function.
16. Unit Testing:
Testing individual components in isolation.
17. Integration Testing:
Testing combined modules to ensure they work together.
18. System Testing:
Testing the entire integrated system.
19. Acceptance Testing:
Final testing done by end-users to verify system meets their needs.
20. Black Box Testing:
Tests functionality without knowing internal code.
Example: Input/output testing.
21. White Box Testing:
Tests internal logic and code structure.
22. Software Maintenance:
Modifying and updating software after delivery to fix bugs or improve performance.
23. Corrective Maintenance:
Fixing bugs found in the software.
24. Preventive Maintenance:
Improving code to prevent future issues.
25. Configuration Management:
Controlling changes in software versions and documents.
Example: Git version control.
26. Software Metrics:
Quantitative measures to assess software quality.
Example: LOC (Lines of Code), Defect Density.
27. Risk Management:
Identifying, analyzing, and minimizing project risks.
28. Project Scheduling:
Planning tasks and timelines for project activities.
Example: Using Gantt charts or PERT/CPM.
29. Software Quality Assurance (SQA):
Ensures processes and standards are followed during software development.
30. Version Control System:
Tracks changes in source code over time.
Example: Git, SVN.
🎯 30 Multiple Choice Questions (MCQs)
1. Which of the following best defines software engineering?
a) Writing code
b) Applying engineering principles to software development
c) Debugging code
d) Creating websites
Answer: b
2. The Waterfall model is:
a) Iterative
b) Sequential
c) Random
d) Cyclic
Answer: b
3. In the Agile model, development is:
a) Sequential
b) Incremental and Iterative
c) One-time process
d) Rigid
Answer: b
4. Functional requirements define:
a) Performance of the system
b) What the system should do
c) User interface
d) Design
Answer: b
5. A non-functional requirement example is:
a) Login authentication
b) Password reset
c) Response time under 2 seconds
d) User registration
Answer: c
6. The SRS document is prepared during:
a) Design phase
b) Requirement analysis
c) Coding
d) Testing
Answer: b
7. High cohesion means:
a) Module performs multiple tasks
b) Module performs one specific task
c) Modules are tightly coupled
d) Poor design
Answer: b
8. Low coupling means:
a) Modules are highly dependent
b) Modules are independent
c) Modules are not interacting
d) System failure
Answer: b
9. The diagram showing actors and system interactions is:
a) Class diagram
b) Use Case diagram
c) Sequence diagram
d) Activity diagram
Answer: b
10. Which UML diagram shows time-based interactions?
a) Sequence diagram
b) Use case
c) Activity
d) Deployment
Answer: a
11. Black-box testing focuses on:
a) Internal code
b) Functionality
c) Performance
d) Source structure
Answer: b
12. White-box testing focuses on:
a) Output behavior
b) Internal logic
c) User experience
d) Functionality only
Answer: b
13. Unit testing is performed by:
a) Developer
b) Tester
c) End-user
d) Manager
Answer: a
14. Integration testing ensures:
a) Each function works alone
b) Modules work together
c) System works on network
d) Software runs fast
Answer: b
15. Acceptance testing is conducted by:
a) Developer
b) Client/end user
c) Tester
d) Designer
Answer: b
16. Corrective maintenance refers to:
a) Adding new features
b) Fixing bugs
c) Optimizing code
d) Documentation
Answer: b
17. Preventive maintenance is done to:
a) Add new modules
b) Prevent future issues
c) Fix errors
d) Test integration
Answer: b
18. The goal of SQA is:
a) Increase cost
b) Maintain quality
c) Reduce maintenance
d) Improve design only
Answer: b
19. Software metric is used to:
a) Estimate project duration
b) Measure software quality
c) Define requirements
d) Generate reports
Answer: b
20. LOC metric stands for:
a) Line of Comments
b) Lines of Code
c) Length of Code
d) Logic of Code
Answer: b
21. Configuration management mainly deals with:
a) Hardware
b) Changes in software
c) User management
d) Testing
Answer: b
22. Which model is most flexible?
a) Waterfall
b) Spiral
c) V-model
d) Agile
Answer: d
23. In Spiral model, each loop represents:
a) A testing phase
b) A prototype
c) A development iteration
d) A deployment
Answer: c
24. The main purpose of risk management is:
a) Avoiding software
b) Identifying and mitigating risks
c) Coding optimization
d) Improving testing
Answer: b
25. PERT/CPM charts are used for:
a) Coding
b) Scheduling and planning
c) Designing UML
d) Writing SRS
Answer: b
26. Modularity helps in:
a) Debugging and maintenance
b) Increasing coupling
c) Decreasing cohesion
d) None
Answer: a
27. Which of the following is a software process activity?
a) Planning
b) Design
c) Validation
d) All of the above
Answer: d
28. Agile methodology uses:
a) Long-term planning
b) Short sprints
c) No testing
d) Only documentation
Answer: b
29. Version control systems like Git are used for:
a) Managing changes in code
b) Debugging
c) Scheduling
d) Design diagrams
Answer: a
30. The main objective of software engineering is:
a) Develop software faster
b) Develop quality software efficiently
c) Focus on design only
d) Avoid testing
Answer: b