Joint Programme Examinations 2018/19 EBU5304 Software Engineering
Time allowed 2 hours
Answer ALL questions
Complete the information below about yourself very carefully.
Copyright By PowCoder代写 加微信 powcoder
QM student number BUPT student number Class number
NOT allowed: electronic calculators and electronic dictionaries.
For examiners’ use only
INSTRUCTIONS
1. You must NOT take answer books, used or unused, from the examination room.
2. Write only with a black or blue pen and in English.
3. Do all rough work in the answer book – do not tear out any pages.
4. If you use Supplementary Answer Books, tie them to the end of this book.
5. Write clearly and legibly.
6. Read the instructions on the inside cover.
Dr , Dr Gokop Goteng, Dr Matthew Huntbach, Dr Karen Shoop
Copyright © Beijing University of Posts and Telecommunications & © Queen Mary University of London 2018
Filename: 1819_EBU5304_A No answer book required
Before the start of the examination
Instructions
1) Place your BUPT and QM student cards on the corner of your desk so that your picture is visible.
2) Put all bags, coats and other belongings at the back/front of the room. All small items in your pockets, including wallets, mobile phones and other electronic devices must be placed in your bag in advance. Possession of mobile phones, electronic devices and unauthorised materials is an offence.
3) Please ensure your mobile phone is switched off and that no alarm will sound during the exam. A mobile phone causing a disruption is also an assessment offence.
4) Do not turn over your question paper or begin writing until told to do.
During the examination
1) You must not communicate with or copy from another student.
2) If you require any assistance or wish to leave the examination room for any reason, please raise your hand to attract the attention of the invigilator.
3) If you finish the examination early you may leave, but not in the first 30 minutes or the last 10 minutes.
4) For 2 hour examinations you may not leave temporarily.
5) For examinations longer than 2 hours you may leave temporarily but not in the first 2 hours or the
last 30 minutes.
At the end of the examination
1) You must stop writing immediately – if you continue writing after being told to stop, that is an assessment offence.
2) Remain in your seat until you are told you may leave.
EBU5304 Paper A
Question 1
a) Answer the following questions:
i) Explain portability in software development.
ii) Suggest the most appropriate software process model that might be used as a basis for developing
an interactive travel planning system that helps users plan journeys. Give your reasons.
iii) Fill in the blanks.
To capture the requirements, we focus on the ________________ view of the system, we must use the language of ____________ to describe these results.
In analysis, the focus shifts to the ________________ view of the system, we must use the language of ____________ to describe these results.
iv) Whatisanintegrationbuildplan?
Do not write in this column
[11 marks] (2 marks)
Page 3 of 16
EBU5304 Paper A 2018/19
b) Answer the following questions about requirements:
i) One of the problems of having a customer closely involved with a software development team is that they are influenced by the development team and lose sight of their real needs. One approach to avoid this problem is to use a different customer at each development stage. Discuss the advantages and disadvantages of this approach.
ii) An Agile team is developing an automated ticketing system. The user story they are going to assess in the current iteration is “collecting pre-paid rail tickets”. The user story is written as below:
An automated ticket machine can be used to collect pre-paid rail tickets. Users first press “Collect” on the touch screen, then they are prompted to insert the credit card they used to pay for the ticket. After that, users need to type in the unique Collection Reference Number they received. The machine checks the validity of the credit card and the Collection Reference Number. The ticket will then be dispensed.
Write three questions that the Agile team could discuss during the meeting in order to discover ambiguities or omissions in this story.
iii) Write two non-functional requirements for the above automated ticketing system, setting out its expected reliability and response time.
Do not write in this column
[14 marks]
Page 4 of 16
EBU5304 Paper A 2018/19
c) Answer the following questions about using JUnit in testing:
i) Explain how the use of automated tests and a testing framework such as JUnit simplify regression testing.
ii) A Student class should have a checkRegistration()method to return the registration status of the student. This method should take the String studentID as input parameter and return true if the student is registered.
The student id “2015123456” is known as registered and the student id “2015654321” is known as unregistered. Write the test code using assertTrue and assertFalse method for these two test cases. Figure 1 show the API of the assertTrue and assertFalse method.
assertTrue
public static void assertTrue(boolean conditione)
Assert that the supplied condition is true.
assertFalse
public static void assertFalse(boolean conditione) Assert that the supplied condition is not true.
iii) Write the method declaration of the checkRegistration()method correctly to pass the tests in ii).
Page 5 of 16
EBU5304 Paper A
Do not write in this column
Question marking: 11 14 8 33
Page 6 of 16
EBU5304 Paper A 2018/19
Question 2
a) A software product is in the final validation testing phase before being released to the general market. This software product has 9 functions that are accessible through 3 main menus. The validation testing is to verify whether the software product has met all requirements that were captured during the requirements gathering phase. Answer the following questions:
[12 marks]
i) What is the type of this software product and why?
ii) Who should perform the tests and what testing technique should be used at this phase? Explain.
iii) What will a successful validation testing show? iv) Design a testing policy for this validation testing.
(2 marks) (5 marks) (2 marks) (3 marks)
Do not write in this column
Page 7 of 16
EBU5304 Paper A 2018/19
b) An online exam system was released for operational use and was used for the first time to conduct an automated online exam for a university. There was no preparation for an alternative paper-based exam in case the automated online exam fails. After the online exam was conducted, there were errors in the questions and some students complained that the user interface was not good and the system was not easy to use. Answer the following questions:
[11 marks]
i) Using appropriate software engineering management strategies and terms, discuss how the problems encountered above could have been professionally identified, managed and avoided.
ii) Describe how to ensure that the online exam system is “good enough” so that it can be used in future exams.
Do not write in this column
Page 8 of 16
EBU5304 Paper A 2018/19
Answer the following questions about open source software:
i) Define open source and open source software (OSS).
ii) The analyst firm “Vision Mobile” has developed a way of measuring the openness of OSS
projects, and claimed “Android” showed the least openness of the major OSS projects they investigated. State three reasons for “Vision Mobile” giving this result.
[10 marks] (4 marks)
Do not write in this column
Question marking: 12 11 10 33
Page 9 of 16
EBU5304 Paper A
Question 3
a) Suppose we have a Java class OurGame which has a constructor with this signature: public OurGame(Information inf)
and several methods including one with this signature:
public boolean move(Character c, Position p) Also a class Account that has a method with the following signature:
public boolean withdraw(int amount)
We want a modified version of OurGame called PayedGame that has a variable of type int called cost and a variable of type Account called acc. The values of these variables are set by the constructor of PayedGame. It represents a form of game where making a move has to be paid for, so the method move needs to be changed to implement that.
Paying for the move is given by the method call acc.withdraw(cost). If that call returns false, then no move can be made, so the call to the method move should return false without doing anything else. Otherwise the call move should work the same as the call move in the class OurGame, and every other method in PayedGame should work like the same method in OurGame.
The class PayedGame could be implemented just by copying the code from OurGame, changing the name of the class to PayedGame, and changing the code inside it to provide the extra features required. Explain why this is not a good way of providing the PayedGame class, particularly if it is part of a large project which already makes use of the OurGame class.
Do not write in this column
Page 10 of 16
EBU5304 Paper A
b) Explain how inheritance could be used to provide class PayedGame.
[10 marks]
Do not write in this column
Page 11 of 16
EBU5304 Paper A
c) Write the code that implements the class PayedGame in b) using inheritance.
[10 marks]
Do not write in this column
Page 12 of 16
EBU5304 Paper A 2018/19
d) AnalternativewayofimplementingPayedGamewouldbetousetheDecoratordesignpattern. Explain how this could be done. Explain how it differs in the way it can be used from the implementation of PayedGame using inheritance.
Your explanation should be on the basis that there is an interface type called Game which has all the method signatures of class OurGame, and class OurGame is declared as implements Game.
Do not write in this column
Page 13 of 16
Questionmarking: 61010834
EBU5304 Paper A
Use this section for rough work
Do not write in this column
2018-2019 Rough Working Page 14 of 16
Page 14 of 16
EBU5304 Paper A
Use this section for rough work
Do not write in this column
2018-2019 Rough Working Page 15 of 16
Page 15 of 16
EBU5304 Paper A
Use this section for rough work
Do not write in this column
2018-2019 Rough Working Page 16 of 16
Page 16 of 16
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com