CSC302 Engineering Large Software Systems page 1/10 University of Toronto Faculty of Arts and Science Dept of Computer Science CSC302S – Engineering Large Software Systems April 2008 Instructor:Steve Easterbrook No Aids AllowedDuration: 2 hours Answer all questions. Make sure your examination booklet has 10 pages (including this one). Write your answers in the space provided. This examination counts for 35% of your final grade. Name: ______________________________________________________ (Please underline last name) Student Number:______________________________________________Question Marks 1______________ /20 2______________ /20 3______________ /20 4______________ /20 5______________ /20 Total __________ /100
CSC302 Engineering Large Software Systems page 2/10 1.[Short Questions; 20 marks total] (a) [Software Quality – 5 marks] What does “quality” mean with respect to software, and how would you measure it? Why is it difficult to predict the quality of software before you have finished building it?(b) [Verification Strategies – 5 marks]What is the difference between testing and static analysis? What are the advantages and disadvantages of each of these approaches to verification?
CSC302 Engineering Large Software Systems page 3/10 (c) [Requirements Analysis – 5 marks]Why is it useful to write down the requirements for a software project before attempting to design a solution? Why is it hard to do this well? (d) [Agile Development Practices – 5 marks]Agile practices are often considered to be appropriate only for small teams (e.g. less than 10 people). Which aspects of agile development can still be used effectively with larger teams, and which aspects fail to scale up?