- August 13, 2020
COMP2120 SOFTWARE ENGINEERING Semester 2, 2020 HOMEWORK 1 Due 17:00 Tuesday 18 August 2020 Instructions • This HOMEWORK 1 will be your own, individual work. • This HOMEWORK 1 will be marked out of 20 and scaled down to a mark out of 2 for your overall assessment. You will mark your homework yourself using the marking guide supplied and upload your mark to the feedback site on Wattle. The marking guide will be made available after the submission date of Homework 1 has passed. • You must submit your HOMEWORK 1 to the Turnitin submission site (on Wattle) as a single PDF document before the due date and time. Late submissions will not be accepted. • Your submission to Turnitin must not reproduce this homework sheet or any of the homework questions. (This is so that we can more easily run similarity checks on submissions.) Submissions that do reproduce the homework questions will be invalid and will get zero marks. PART A: QUESTIONS 1-6 For Questions 1-6, unless the instructions of that question say otherwise, you need to pick (i) the best alternative from the multiple-choice answers, and then (ii) write a short explanation as to why your best alternative is better than the second-best alternative. Your answer will be invalid if – You mention more than two alternatives – Your short explanation is too long. It cannot be any longer than a short paragraph in length (certainly 100 words at the very maximum) Question 1 (2 marks) If you write software that is “delivered to a paying customer” will your software always be “custom” or might it sometimes be “generic”? (Choose the best alternative and explain why it is better than the second-best alternative.) a) Most likely custom, but either custom or generic, depending on how much the customer is paying. b) Most likely custom, but either custom or generic depending on whether the customer plans to on- sell the software as a generic application. c) Most likely generic, but either custom or generic depending on whether your software uses Java generic types. d) Generic. e) Custom. Question 2 (2 marks) In terms of the nature of its life-cycle management process, what is the big difference between construction engineering (perhaps for building bridges) and software engineering? (Choose the best alternative and explain why it is better than the second-best alternative.) a) Construction engineering has no documentation. b) Bridges usually don’t need as much maintenance as software does. c) Construction engineering has no requirements. d) Software engineering is always undertaken by small, agile teams. e) Software is easy to plagiarise and get away with it. Question 3 (2 marks) Imagine that you are working on a helpdesk to help customers work with software that you know to be a little-bit buggy. According to the ACS code of ethics, what is the best approach you should adopt to help these customers? (Choose the best alternative and explain why it is better than the second-best alternative.) a) Tell them that the bugs are not really bugs but that they, the customers, are too dumb to use the software properly. b) Tell them about your philosophy of life, explaining that sometimes we win and sometimes all of us lose. c) Tell them that your company and the software is really terrible and you are about to leave your job. d) Choose to follow parts of a management-provided script that seem most relevant. Ask what the details of the customers’ problems are, and provide them with workarounds, if you are able to, or refer their problems to management if you cannot. e) Tell them about a competing product from another company that is much more reliable. f) Closely follow a management-provided script without deviating from it and refer the customer to a FAQ page. Question 4 (2 marks) Weather information systems collect sensor data from the environment. Such software systems need fewer updates than business information systems because of one of the following reasons. (Choose the best alternative and explain why it is better than the second-best alternative.) a) The natural environment changes more slowly than the business environment. b) Weather information systems use free software. c) Weather information systems are unregulated by government. d) Weather information systems have fewer features. Question 5 (2 marks) Which of the following software process methodologies is most associated with the jargon phrase “continuous delivery”? (Choose the best alternative and explain why it is better than the second-best alternative.) a) XP b) Scrum c) Kanban d) UP Question 6 (2 marks) Which of the following XP practices could be least easily incorporated into a Waterfall process? (Choose the best alternative and explain why it is better than the second-best alternative.) a) Pair programming b) Regression testing d) User stories e) Lack of documentation PART B: QUESTIONS 7 AND 8 Questions 7 and 8 expect you to write medium-length answers in your own words. Your answers should be well written and be about half a page (maybe two or three paragraphs) in length. Question 7 (4 marks) Discuss benefits and drawbacks of the use of (i) “Evolutionary Prototyping” and (ii) “Operational Prototyping” for the development of a custom web site for senior management. (See the article by Davis for descriptions of these processes.) Question 8 (4 marks) Imagine that you and your team are developing a custom web site for a senior management team and the following circumstances apply. • The team wants to have a fixed-price contract for this development. • Your team includes a number of new graduate recruits. • The system is for highly secure communication and planning between members of the management team. Discuss what aspects of this project would lean either towards a plan-driven or an agile approach and why.