Student Name: ______________________________ Student ID: ________________________ Brock University Department of Computer Science COSC 4P01: Software Engineering 1 Midterm Examination THIS EXAMINATION WILL NOT BE DEPOSITED IN THE LIBRARY RESERVE Date of examination: Oct 20th, 2021 Time of examination: 11:35 to 13:00 Duration of examination: 1 hour and 25 minutes Instructor: Prof. Naser Ezzati-Jivan Number of pages of test booklet: 6 pages including the title page Instructions: 1. Please keep your answer organized and clean. 2. Write all answers on test booklet (provided exam paper); you can also use the back of the sheets. 3. Attempt all questions. 4. It is a Closed Book exam. No examination aids, dictionaries, calculators, or other electronic devices are allowed. 5. Write your name and student ID in all exam sheets. 6. The test totals 100 marks. Student Name: ______________________________ Student ID: ________________________ Question 1-5 6 7 8 9 10 11 12 13 Total: Total 10 6 10 10 12 10 10 12 20 100 Mark 1 Student Name: ______________________________ Student ID: ________________________ True/False and Multiple-Choice Questions (10 pts): 1 T F Including some features to satisfy a customer requirement discovered after a project is deployed is an example of refactoring in XP. 2 What is the role of user stories in the agile methods? A) Define useful software features and functions delivered to end-users B) Determine a schedule used to deliver each software increment C) Provide a substitute to performing detailed scheduling of activities D) Used to estimate the effort required build the current increment E) A and D 3 Which of the following options is not an XP practice? A) Pair programming B) Writing test units C) Small releases D) Prototyping 4 Which one is not correct in Scrum? A) Team creativity and flexibility are allowed to a good extent B) Knowledge transfer is easier and faster than the waterfall method C) The project cost and completion date are set in advance D) It follows an incremental and iterative approach. 5 Which one is correct regarding the Sprint Retrospective and a Sprint Review? A) Sprint Retrospective occurs with the team and Sprint Review is with the stakeholders. B) Sprint Review occurs with the team and Sprint Retrospective is with the stakeholders C) Sprint Retrospective is held at the end of the Sprint to inspect the Increment. D) Sprint Review is used by the Scrum Team to implement the final product 2 Student Name: ______________________________ Student ID: ________________________ Essay Questions: 6. What is Software Engineering? What are the fundamental activities that are common to all software processes? (2 + 4 = 6 pts) 7. What are the essential attributes of good software? Explain briefly. (10 pts) 3 Student Name: ______________________________ Student ID: ________________________ 8. What are the differences between Plan-based incremental and agile-based incremental methods? Explain briefly. (10 pts) 9. For what types of system are agile approaches to development particularly likely to be successful and why? (12 pts) 10."Test-driven development" is one of the XP practices. Explain what does it mean and What are the possible problems of test-first development? (5 + 5 = 10 pts) 4 Student Name: ______________________________ Student ID: ________________________ 11. Why has the Scrum agile method been widely adopted in preference to methods such as XP. (10 pts) 12. List 3 types of non-functional requirement and give an example of each type. (12 pts) 5 Student Name: ______________________________ Student ID: ________________________ 13. You are to design a web-based Learning Management System (LMS) (Similar to Sakai). In this system, an instructor can create an individual website for each of his/her courses. Students can get different information about their courses, including lecture slides, assignments, announcements, gradebooks, etc. For the above LMS, give an example of: (10 * 2 =20 pts) • A functional requirement • A user requirement • A system requirement • A domain requirement • A performance requirement • A security requirement • A usability requirement • A portability requirement • An Interoperability requirement • A maintainability requirement 6