Supplementary Summer Examination – 2023 Course: B. Tech. Branch: Computer Engineering Semester: Fifth Subject Code & Name: BTCOC503 Software Engineering Max Marks: 60 Date: 11 August 2023 Duration: 3 Hr. Instructions to the Students: 1. All the questions are compulsory. 2. The level of question/expected answer as per OBE or the Course Outcome (CO) on which the question is based is mentioned in ( ) in front of the question. 3. The use of non-programmable scientific calculators is allowed. 4. Assume suitable data wherever necessary and mention it clearly. (Level/CO) Marks Q. 1 Solve Any Two of the following. 12 A) What is object-oriented programming (OOP)? Describe the fundamental Understand 6 principles of OOP and how they contribute to software design and development. B) Provide an OO design for the following specifications. Analyse 6 “Build a software system that stores customers' contact detailssuch as mobile number, WhatsApp number, mail ID and date ofbirth. The system should give birthday greetings and festivalgreetings to the customers.” The OO design should include classes, relationships and methods. Draw aclass diagram in UML. C) Compare and contrast agile and waterfall software development Remember 6 methodologies. Highlight the advantages and disadvantages of each approach. Q.2 Solve Any Two of the following. 12 A) Define software testing and its importance in the development process. Analyse 6 Describe at least three different types of testing and provide scenarios where each type would be most effective B) Explain the significance of continuous development and continuous Analyse 6 integration in the DevOps project pipeline C) Suggest an appropriate process model for the projects. Justify your Analyse 6 answers. 1. IOT-based water-level monitoring system. 2. Website development for a restaurant 3. A Mobile application to track students’ attendance Q. 3 Solve Any Two of the following. 12 A) Given a scenario, design a class diagram for a library management system Create 6 that includes classes for books, library members, and transactions. Include associations, attributes, and methods. B) Give the syntax of the following commands and explain their purpose in Remember 6 the context of GitHub. (1) fork, (2) merge, (3) pull request, (4) cloning a repository C) Consider a scenario where you are developing software for a medical Remember 6 clinic. Identify and categorize three functional and three non-functional requirements for the software. Explain why each requirement is important for the successful implementation of the system. Q.4 Solve Any Two of the following. 12 A) Imagine you're developing a banking application. Describe how you Analyse 6 would handle concurrent access to a shared bank account to ensure data consistency and avoid conflicts. B) Define the following quality attributes : (1) Modifiability, (2) Portability, Remember 6 (3) Scalability, (4) Reliability C) Analyse a recent software project failure and identify the key reasons Remember 6 behind its failure. Discuss what could have been done differently to prevent or mitigate these issues. Q. 5 Solve the following. 12 A) Write pseudocode for a function that takes a list of integers as input and Remember 6 returns the sum of all even numbers in the list. B) Define the following quality attributes : (1) Cohesion (2) Coupling (3) Create 6 LOC (4) Fan-in and Fan-out C) What is Hyrum’s law? Explain with an example Remember 6 *** End ***