1. What is the primary goal of software engineering?
A) To write as much code as possible
B) To produce high-quality, reliable, and maintainable software that meets user needs
C) To minimize documentation
D) To maximize the use of programming languages
Answer: B) Software engineering is the systematic application of engineering principles to
software development, aiming for quality and reliability.
2. Which of the following is a key characteristic of software?
A) Software is physical and tangible
B) Software does not wear out but can deteriorate due to changes
C) Software has a high manufacturing cost
D) Software is always error-free
Answer: B) Unlike hardware, software does not physically wear out but can degrade in quality
due to changes and maintenance.
3. What is the difference between "software engineering" and "programming"?
A) Programming is a subset of software engineering that focuses on coding; software
engineering encompasses the entire development lifecycle
B) Software engineering is a subset of programming
C) They are the same
D) Programming is more important than software engineering
Answer: A) Software engineering includes requirement analysis, design, testing, project
management, and maintenance in addition to coding.
4. What is a "software development life cycle" (SDLC)?
A) A process for writing code quickly
B) A framework for planning, creating, testing, and deploying software
C) A method for debugging software
D) A tool for designing user interfaces
Answer: B) The SDLC provides a structured approach to software development.
5. Which of the following is a common SDLC model?
A) Waterfall model
B) Agile model
C) Spiral model
D) All of the above
Answer: D) Many SDLC models exist, each with its own strengths and weaknesses.
,6. What is the "Waterfall model" characterized by?
A) Iterative and incremental development
B) A linear, sequential approach where each phase must be completed before the next begins
C) Continuous feedback and adaptation
D) Rapid prototyping
Answer: B) The Waterfall model is a traditional, rigid approach.
7. What is a major disadvantage of the Waterfall model?
A) It is too flexible
B) It does not easily accommodate changes once a phase is complete
C) It is too slow
D) It requires too many developers
Answer: B) The Waterfall model's rigidity makes it difficult to adapt to changing requirements.
8. What is the "Agile model" characterized by?
A) A linear, sequential approach
B) Iterative development, flexibility, and collaboration with customers
C) A focus on documentation
D) A rigid plan that cannot change
Answer: B) Agile methodologies (e.g., Scrum, Kanban) emphasize adaptability and customer
involvement.
9. What is a "sprint" in Agile (Scrum) development?
A) A fixed-length iteration (usually 1-4 weeks) during which a set of work is completed
B) A long-term planning phase
C) A debugging session
D) A testing phase
Answer: A) Sprints produce a potentially shippable product increment.
10. What is the "Scrum Master" responsible for?
A) Managing the product backlog
B) Facilitating the Scrum process and removing impediments for the team
C) Writing the code
D) Testing the software
Answer: B) The Scrum Master is a servant-leader for the Scrum team.
11. What is the "Product Owner" in Scrum responsible for?
A) Managing the development team
B) Defining and prioritizing the product backlog
C) Writing the code
, D) Testing the software
Answer: B) The Product Owner represents the stakeholders and is the voice of the customer.
12. What is "requirement engineering"?
A) The process of defining, documenting, and maintaining software requirements
B) The process of writing code
C) The process of testing software
D) The process of deploying software
Answer: A) Requirements engineering is a critical early phase in software development.
13. What is a "functional requirement"?
A) A requirement that describes a specific function or behavior the software must perform
B) A requirement that describes performance, security, or usability constraints
C) A requirement that is optional
D) A requirement that is not testable
Answer: A) Functional requirements define what the system should do.
14. What is a "non-functional requirement"?
A) A requirement that describes a specific function or behavior
B) A requirement that describes quality attributes (e.g., performance, security, reliability)
C) A requirement that is mandatory
D) A requirement that is testable
Answer: B) Non-functional requirements constrain how the system should do it.
15. What is "software design"?
A) The process of defining the architecture and components of a software system
B) The process of writing code
C) The process of testing software
D) The process of deploying software
Answer: A) Software design translates requirements into a blueprint for construction.
16. What is "high-level design" (HLD)?
A) The design of individual modules
B) The overall system architecture, including modules, interfaces, and data flow
C) The design of user interfaces
D) The design of databases
Answer: B) HLD provides a broad view of the system.
17. What is "low-level design" (LLD)?
A) The overall system architecture
B) The detailed design of individual modules, components, and algorithms