1 Lecture
CS504
Midterm & Final Term Short Notes
Introduction to Software Engineering
"Introduction to Software Engineering" is a concise and comprehensive guide that provides a solid foundation in the principles and practices of software engineering. It covers key topics like requirements engineering, software design, testing, a
Important Mcq's
Midterm & Finalterm Prepration
Past papers included
Download PDF
What is software engineering? a) Developing software without following any process b) Applying engineering principles to software development c) Designing hardware systems d) Managing software maintenance only Answer: b) Applying engineering principles to software development
Which of the following is not a software development process model? a) Waterfall model b) Agile model c) Spiral model d) Parallel model Answer: d) Parallel model
What is the purpose of requirements engineering? a) To design the software architecture b) To analyze and document user requirements c) To write the source code d) To perform software testing Answer: b) To analyze and document user requirements
What is the main goal of software testing? a) To eliminate all bugs from the software b) To ensure the software meets user requirements c) To write test cases for documentation purposes d) To verify the software development process Answer: b) To ensure the software meets user requirements
Which type of software maintenance involves fixing bugs and errors in the software? a) Corrective maintenance b) Adaptive maintenance c) Perfective maintenance d) Preventive maintenance Answer: a) Corrective maintenance
What is the purpose of a software development life cycle (SDLC)? a) To manage software projects b) To document software requirements c) To plan software testing activities d) To provide a structured approach to software development Answer: d) To provide a structured approach to software development
What does the acronym 'CI/CD' stand for in software engineering? a) Continuous Integration/Continuous Deployment b) Complete Installation/Complete Deployment c) Continuous Improvement/Continuous Deployment d) Complete Integration/Complete Deployment Answer: a) Continuous Integration/Continuous Deployment
Which software engineering approach focuses on breaking a large software system into smaller, manageable modules? a) Waterfall modelWhat is software engineering? a) Developing software without following any process b) Applying engineering principles to software development c) Designing hardware systems d) Managing software maintenance only Answer: b) Applying engineering principles to software development Which of the following is not a software development process model? a) Waterfall model b) Agile model c) Spiral model d) Parallel model Answer: d) Parallel model What is the purpose of requirements engineering? a) To design the software architecture b) To analyze and document user requirements c) To write the source code d) To perform software testing Answer: b) To analyze and document user requirements
Subjective Short Notes
Midterm & Finalterm Prepration
Past papers included
Download PDF
Define software engineering. Answer: Software engineering is the application of engineering principles and practices to systematically develop, design, test, and maintain software systems.
What are the main activities involved in the software development life cycle (SDLC)? Answer: The main activities in the SDLC include requirements gathering and analysis, system design, coding, testing, deployment, and maintenance.
Explain the difference between functional and non-functional requirements. Answer: Functional requirements define what the software system should do, while non-functional requirements define how the system should perform, such as reliability, usability, performance, and security.
What is the importance of software testing in the software development process? Answer: Software testing helps identify defects, ensures that the software meets the specified requirements, and improves the overall quality and reliability of the software system.
Discuss the advantages and disadvantages of using the agile software development methodology. Answer: Agile methodology promotes flexibility, customer collaboration, and iterative development. However, it may face challenges in terms of documentation and scope creep if not managed properly.
Describe the concept of software maintenance and its different types. Answer: Software maintenance involves modifying and updating software after its initial release. The different types of software maintenance include corrective, adaptive, perfective, and preventive maintenance.
Explain the concept of software configuration management (SCM). Answer: Software configuration management is the process of tracking and controlling changes to software artifacts throughout the software development life cycle, ensuring version control and maintaining the integrity of the software system.
What is the role of requirements engineering iDefine software engineering. Answer: Software engineering is the application of engineering principles and practices to systematically develop, design, test, and maintain software systems. What are the main activities involved in the software development life cycle (SDLC)? Answer: The main activities in the SDLC include requirements gathering and analysis, system design, coding, testing, deployment, and maintenance. Explain the difference between functional and non-functional requirements. Answer: Functional requirements define what the software system should do, while non-functional requirements define how the system should perform, such as reliability, usability, performance, and security.