0% found this document useful (0 votes)
4 views6 pages

Software Engineering

The document provides key definitions related to software engineering, including concepts such as software process models, requirements engineering, testing types, and maintenance strategies. It also includes 30 multiple-choice questions (MCQs) that test knowledge on these topics, with correct answers provided for each question. Overall, it serves as a concise reference for fundamental software engineering principles and practices.

Uploaded by

jamesmoris0001
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views6 pages

Software Engineering

The document provides key definitions related to software engineering, including concepts such as software process models, requirements engineering, testing types, and maintenance strategies. It also includes 30 multiple-choice questions (MCQs) that test knowledge on these topics, with correct answers provided for each question. Overall, it serves as a concise reference for fundamental software engineering principles and practices.

Uploaded by

jamesmoris0001
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

🧩 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

You might also like